實(shí)施IIoT,協(xié)議轉(zhuǎn)換在某些場合下必不可少。本文介紹如何通過EsDA開發(fā)套件,快速完成一個(gè)Modbus TCP Master轉(zhuǎn)TCP Client的協(xié)議轉(zhuǎn)換器。
?簡介IIoT(Industrial Internet of Things)是工業(yè)物聯(lián)網(wǎng)的簡稱,它將具有感知、監(jiān)控能力的各類采集、控制傳感器或控制器,以及移動(dòng)通信、智能分析等技術(shù)不斷融入到工業(yè)生產(chǎn)過程各個(gè)環(huán)節(jié),從而大幅提高制造效率,改善產(chǎn)品質(zhì)量,降低產(chǎn)品成本和資源消耗,最終實(shí)現(xiàn)將傳統(tǒng)工業(yè)提升到智能化的新階段。工業(yè)物聯(lián)網(wǎng)感知層的數(shù)據(jù)來源非常多樣,通常來自各種多源異構(gòu)設(shè)備和系統(tǒng),因此如何從這些設(shè)備和系統(tǒng)中獲取數(shù)據(jù),是工業(yè)物聯(lián)網(wǎng)面臨的第一道門檻。然而,實(shí)際在工業(yè)現(xiàn)場,由于某些特定需求或者歷史原因,會(huì)采用不同廠商生產(chǎn)的設(shè)備,而這些設(shè)備也可能采用不同的工業(yè)協(xié)議。有些設(shè)備已經(jīng)使用了若干年,出于系統(tǒng)穩(wěn)定性和集成時(shí)間的考慮,更換設(shè)備并非上策,但使用不同協(xié)議設(shè)備通常無法直接互聯(lián),在上述情景下,協(xié)議轉(zhuǎn)換必不可少。
如何解決協(xié)議轉(zhuǎn)換中的"痛點(diǎn)"
工業(yè)現(xiàn)場協(xié)議各種各樣,傳統(tǒng)網(wǎng)關(guān)未必能做到同時(shí)支持多種所需協(xié)議,即便找到合適的設(shè)備硬件成本也相當(dāng)高昂。但使用EsDA家族中的AWFlow Designer(嵌入式應(yīng)用開發(fā)利器 —【EsDA】AWFlow)與配套硬件可輕松解決該"痛點(diǎn)"。對比傳統(tǒng)網(wǎng)關(guān)方案其主要有以下優(yōu)點(diǎn):
- 靈活性高支持二次開發(fā),傳統(tǒng)網(wǎng)關(guān)一般功能比較單一或難以實(shí)現(xiàn)復(fù)雜邏輯,使用EsDA方案,可以使用AWFlow Designer對硬件進(jìn)行可視化配置,且可根據(jù)實(shí)際需求自由更改應(yīng)用邏輯(且大多數(shù)情況無需重新編譯和燒寫固件),可同時(shí)做多種協(xié)議的轉(zhuǎn)換器,甚至可以做協(xié)議轉(zhuǎn)換之外的業(yè)務(wù);
- 二次開發(fā)簡單,使用AWFlow Designer簡單"拖拽、連線"即可完成二次開發(fā);
- 可復(fù)用性強(qiáng)、模塊化程度高,AWFlow將常用模塊封裝為"節(jié)點(diǎn)",高度模塊化,并支持自定義節(jié)點(diǎn);
- 硬件成本比傳統(tǒng)方案低。
零基礎(chǔ)EsDA入門
若是剛開始接觸 EsDA ,可先閱讀EsDA MPC-ZC1系列文章,從零開始搭建環(huán)境和掌握基本開發(fā)流程,已有基礎(chǔ)的可以跳過:
EsDAMPC-ZC1入門(一)——軟件安裝
EsDAMPC-ZC1入門(二)——LED控制
EsDAMPC-ZC1應(yīng)用——串口服務(wù)器(一)
EsDAMPC-ZC1應(yīng)用——串口服務(wù)器(二)
?使用EsDA完成Modbus轉(zhuǎn)TCP協(xié)議實(shí)驗(yàn)
在實(shí)際項(xiàng)目中,有時(shí)會(huì)遇到需要讀取Modbus從設(shè)備的數(shù)據(jù)到并發(fā)送到TCP服務(wù)器的情況,本文以實(shí)現(xiàn)Modbus轉(zhuǎn)TCP協(xié)議轉(zhuǎn)換器為目標(biāo),展開講解,介紹如何通過EsDA家族中的AWFlow Designer和EPC6450-AWI開發(fā)板套件,進(jìn)行圖形化低代碼應(yīng)用開發(fā),快速完成一個(gè)協(xié)議轉(zhuǎn)換器。
1. 本次實(shí)驗(yàn)主要步驟
- 準(zhǔn)備一塊EPC6450-AWI開發(fā)板并接線;
- 在PC機(jī)上配置Modbus模擬從設(shè)備;
- 在PC機(jī)上打開sscom創(chuàng)建TCP服務(wù)器,準(zhǔn)備讀取來自協(xié)議轉(zhuǎn)換器的數(shù)據(jù);
- 業(yè)務(wù)開發(fā),使用EsDA家族中的AWFlow Designer,進(jìn)行圖形化開發(fā)完成轉(zhuǎn)換器業(yè)務(wù)。
1.1 PC機(jī)軟件安裝
1.1.1 下載并安裝ModbusSlave(Modbus從機(jī)模擬工具)
1.1.2 下載SSCOM調(diào)試軟件(可用于模擬TCP服務(wù)器),并安裝
1.2 硬件準(zhǔn)備工作
準(zhǔn)備一塊EPC6450-AWI開發(fā)板,并按照下圖所示連接好硬件(電源與網(wǎng)口接到PC機(jī)上,Debug調(diào)試口可不接)
1.3 配置PC機(jī)
注意:需要將PC機(jī)與開發(fā)板設(shè)置為同一網(wǎng)段(例如本實(shí)驗(yàn)選用EPC6450-AWI開發(fā)板的ip為169.254.240.77故需要將PC機(jī)的ip改為169.254.240.xx),否則實(shí)驗(yàn)可能會(huì)失敗,本文的PC機(jī)ip更改為169.254.240.136 。
1.3.1 配置模擬Modbus從設(shè)備
1.3.1.1 打開剛才安裝的ModbusSlave軟件
1.3.1.2依次點(diǎn)擊Connection–>Connection Setup,并根據(jù)圖5配置從設(shè)備參數(shù),并點(diǎn)擊OK保存設(shè)置。
1.3.1.3按F8彈出Slave Definition界面,并如圖6所示進(jìn)行配置,點(diǎn)擊OK保存。
1.3.1.4配置Modbus從設(shè)備對應(yīng)寄存器的值如下圖。
1.3.2 配置TCP服務(wù)器1.3.2.1 打開SSCOM調(diào)試軟件,并如下圖配置TCP服務(wù)器。
2. EsDA業(yè)務(wù)開發(fā)
本次實(shí)驗(yàn)選用的開發(fā)板為EPC6450-AWI,其作為一個(gè)協(xié)議轉(zhuǎn)換器,其業(yè)務(wù)主要分為兩大部分:
- 從PC機(jī)模擬的Modbus設(shè)備讀取數(shù)據(jù);
- 將讀取到的數(shù)據(jù)通過TCP客戶端發(fā)送。
2.1 應(yīng)用流圖繪制
2.1.1 依次將畫布拖出modbus_master_in(Modbus主設(shè)備讀取從設(shè)備數(shù)據(jù)節(jié)點(diǎn))、modbus_parse_in(用于解析來自modbus_master_in節(jié)點(diǎn)的數(shù)據(jù))、tojson(將數(shù)據(jù)轉(zhuǎn)換為json字符串節(jié)點(diǎn))、tcp_client_out(TCP客戶端節(jié)點(diǎn))節(jié)點(diǎn),并依次連線。
2.1.2雙擊modbus_master_in節(jié)點(diǎn),對應(yīng)之前在PC機(jī)上Modbus Slave模擬軟件的參數(shù),進(jìn)行配置。
2.1.3配置modbus_master_in節(jié)點(diǎn)連接參數(shù)與數(shù)據(jù)讀取方式,并點(diǎn)擊完成。
2.1.4 配置modbus_parse_in節(jié)點(diǎn),配置Modbus數(shù)據(jù)解析方式(配置為僅解析地址03的數(shù)據(jù)),并點(diǎn)擊完成。
2.1.5配置tcp_client_out節(jié)點(diǎn)。
至此,"轉(zhuǎn)換器"業(yè)務(wù)流圖已經(jīng)開發(fā)完成。
2.1.6將開發(fā)板與AWFlow Designer建立連接并將應(yīng)用流圖下載到開發(fā)板。
3. 實(shí)驗(yàn)現(xiàn)象
成功下載流圖后,可以看到SSCOM調(diào)試軟件中的TCP服務(wù)器會(huì)接收到來自開發(fā)板的數(shù)據(jù)(Modbus數(shù)據(jù)),其中payload為有效數(shù)據(jù),數(shù)值為3,和先前在Modbus Slave(Modbus從機(jī)模擬工具)的數(shù)據(jù)是一致的,實(shí)驗(yàn)成功!
-
MODBUS
+關(guān)注
關(guān)注
28文章
1815瀏覽量
77148 -
TCP
+關(guān)注
關(guān)注
8文章
1374瀏覽量
79159
發(fā)布評論請先 登錄
相關(guān)推薦
EtherCAT轉(zhuǎn)Modbus TCP總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)
![EtherCAT<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>總線<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b>網(wǎng)關(guān)](https://file1.elecfans.com//web2/M00/08/13/wKgZomb01rOAdprgAAB3kgC2iTY669.jpg)
MODBUS TCP 轉(zhuǎn) CANOpen
![<b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b> <b class='flag-5'>轉(zhuǎn)</b> CANOpen](https://file1.elecfans.com/web2/M00/08/97/wKgaombyRnmAZrAyAAGHzRG0j8s875.png)
EtherCAT轉(zhuǎn)Modbus TCP協(xié)議網(wǎng)關(guān)(JM-ECT-TCP)
![EtherCAT<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(JM-ECT-<b class='flag-5'>TCP</b>)](https://file1.elecfans.com//web2/M00/06/95/wKgaombcF0eAWT_5AACzT-rtvJE451.jpg)
EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議轉(zhuǎn)換網(wǎng)關(guān)
![EtherNet/IP<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus-TCP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b>網(wǎng)關(guān)](https://file1.elecfans.com/web2/M00/06/76/wKgaombawvCAByIzAAEsl9KcMkg136.png)
EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)(EtherNet/IP轉(zhuǎn)Modbus-TCP)
![EtherNet/IP<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus-TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(EtherNet/IP<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus-TCP</b>)](https://file1.elecfans.com/web2/M00/05/1E/wKgaombMIuGAMqO0AAK22mjr9qA153.png)
Profinet主站轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)(Profinet轉(zhuǎn)Modbus-TCP)
![Profinet主站<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus-TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(Profinet<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus-TCP</b>)](https://file1.elecfans.com/web2/M00/05/00/wKgZombWaxSAYY3NAAFCCn6Oo7s933.png)
Modbus-TCP轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)換網(wǎng)關(guān)(JM-TCP-PN)
![<b class='flag-5'>Modbus-TCP</b><b class='flag-5'>轉(zhuǎn)</b>Profinet<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b>網(wǎng)關(guān)(JM-<b class='flag-5'>TCP</b>-PN)](https://file1.elecfans.com/web2/M00/04/67/wKgaombEED6AVSP6AALUob6D_LQ368.png)
EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)(JM-EIP-TCP)
![EtherNet/IP<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus-TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(JM-EIP-<b class='flag-5'>TCP</b>)](https://file1.elecfans.com/web2/M00/05/1E/wKgaombMIuGAMqO0AAK22mjr9qA153.png)
EtherCAT主站轉(zhuǎn)Modbus TCP從站協(xié)議網(wǎng)關(guān)(JM-ECTM-TCP)
![EtherCAT主站<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>從站<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(JM-ECTM-<b class='flag-5'>TCP</b>)](https://file1.elecfans.com/web2/M00/04/8A/wKgaombFUlSAGgRZAAKh3tAvK04112.png)
Modbus(TCP)轉(zhuǎn)Profinet從站協(xié)議網(wǎng)關(guān)(JM-TCP-PN)
![<b class='flag-5'>Modbus</b>(<b class='flag-5'>TCP</b>)<b class='flag-5'>轉(zhuǎn)</b>Profinet從站<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(JM-<b class='flag-5'>TCP</b>-PN)](https://file1.elecfans.com/web2/M00/04/67/wKgaombEED6AVSP6AALUob6D_LQ368.png)
Modbus(TCP)轉(zhuǎn)Profinet從總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)(JM-TCP-PN)
![<b class='flag-5'>Modbus</b>(<b class='flag-5'>TCP</b>)<b class='flag-5'>轉(zhuǎn)</b>Profinet從總線<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b>網(wǎng)關(guān)(JM-<b class='flag-5'>TCP</b>-PN)](https://file1.elecfans.com/web2/M00/03/D6/wKgaoma-teKAT0IDAAMUO8RWAYc731.png)
EtherCAT從站轉(zhuǎn)Modbus TCP總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)(JM-ECT-TCP)
![EtherCAT從站<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>總線<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b>網(wǎng)關(guān)(JM-ECT-<b class='flag-5'>TCP</b>)](https://file1.elecfans.com/web2/M00/02/C8/wKgZoma9yoyABunTAAaz3E2enmI577.png)
PLC協(xié)議、Modbus RTU TCP 、DL T645、IEC101-104、BACnet 轉(zhuǎn)Modbus TCP RTU、OPC UA、MQTT、BACnet IP協(xié)議網(wǎng)關(guān)
![PLC<b class='flag-5'>協(xié)議</b>、<b class='flag-5'>Modbus</b> RTU <b class='flag-5'>TCP</b> 、DL T645、IEC101-104、BACnet <b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> RTU、OPC UA、MQTT、BACnet IP<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)](https://file1.elecfans.com/web2/M00/FE/1F/wKgZomagni6AaKw1AAJphE4qBiY785.png)
Modbus RTU、Modbus TCP轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)Modbus設(shè)備與云平臺的無縫通信
![<b class='flag-5'>Modbus</b> RTU、<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>轉(zhuǎn)</b>MQTT網(wǎng)關(guān)實(shí)現(xiàn)<b class='flag-5'>Modbus</b>設(shè)備與云平臺的無縫通信](https://file1.elecfans.com/web2/M00/FD/E4/wKgZomafa62AHtzCAAKmcyMNOwg385.png)
Modbus TCP轉(zhuǎn)Profinet網(wǎng)關(guān)配置案例
![<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>轉(zhuǎn)</b>Profinet網(wǎng)關(guān)配置案例](https://file1.elecfans.com/web2/M00/EA/0A/wKgaomZRvG-ACsmOAAjySlMRkU8935.png)
評論