簡(jiǎn)介隨著工業(yè)互聯(lián)網(wǎng)和產(chǎn)業(yè)數(shù)字化的加速推進(jìn),工業(yè)企業(yè)的IT(Information Technology)系統(tǒng)與OT(Operation Technology)系統(tǒng)也在加速融合。但OT/IT系統(tǒng)中的設(shè)備使用了各種不同的通訊協(xié)議,如何將它們互聯(lián)起來(lái),讓所有的信息能夠?qū)崿F(xiàn)共享,是當(dāng)前工業(yè)互聯(lián)網(wǎng)的一大難點(diǎn)。如圖1,在實(shí)際項(xiàng)目中可能會(huì)存在這么一種場(chǎng)景,需要采集支持各種標(biāo)準(zhǔn)或非標(biāo)準(zhǔn)協(xié)議的工業(yè)設(shè)備的數(shù)據(jù)并將其發(fā)送到支持OPC UA/OPC DA協(xié)議的SCADA(Supervisory Control And Data Acquisition數(shù)據(jù)采集與監(jiān)視控制)系統(tǒng)中。但由于SCADA系統(tǒng)支持的是OPC UA/OPC DA協(xié)議,這些設(shè)備不能直接接入到系統(tǒng),這個(gè)時(shí)候就需要一個(gè)"轉(zhuǎn)換器"。
圖1若需要采集數(shù)據(jù)的設(shè)備僅支持Modbus協(xié)議,此時(shí)就需要一個(gè)Modbus轉(zhuǎn)OPC UA /OPC DA的"轉(zhuǎn)換器",如下圖2,本文以實(shí)現(xiàn)Modbus轉(zhuǎn)OPC UA /OPC DA協(xié)議"轉(zhuǎn)換器"為目標(biāo),展開(kāi)講解,介紹如何通過(guò)EsDA家族中的AWFlow Designer和EPC6450-AWI開(kāi)發(fā)板套件,進(jìn)行圖形化低代碼應(yīng)用開(kāi)發(fā),快速完成一個(gè)"轉(zhuǎn)換器"。
圖21. 本次實(shí)驗(yàn)主要步驟
-
在PC機(jī)上配置Modbus模擬從設(shè)備;
-
業(yè)務(wù)開(kāi)發(fā),使用EsDA家族中的AWFlow Designer,進(jìn)行圖形化開(kāi)發(fā)完成"轉(zhuǎn)換器"業(yè)務(wù);
-
在PC機(jī)上打開(kāi)OPC UA Client模擬軟件,讀取OPC UA服務(wù)器數(shù)據(jù)。
"轉(zhuǎn)換器"的傳統(tǒng)的解決方案是采購(gòu)一個(gè)協(xié)議轉(zhuǎn)換網(wǎng)關(guān),但與傳統(tǒng)方案相比,使用EsDA家族中的AWFlow Designer(嵌入式應(yīng)用開(kāi)發(fā)利器——【EsDA】AWFlow)與配套開(kāi)發(fā)板方案主要有以下優(yōu)點(diǎn):
-
靈活性高支持二次開(kāi)發(fā),傳統(tǒng)網(wǎng)關(guān)一般功能比較單一,使用EsDA方案,可以使用AWFlow Designer對(duì)硬件進(jìn)行可視化配置,且可根據(jù)實(shí)際需求自由更改應(yīng)用邏輯(且大多數(shù)情況無(wú)需重新編譯和燒寫(xiě)固件),可同時(shí)做多種協(xié)議的"轉(zhuǎn)換器",盡可能降低成本,甚至可以做協(xié)議轉(zhuǎn)換之外的其它業(yè)務(wù);
-
二次開(kāi)發(fā)簡(jiǎn)單,使用AWFlow Designer簡(jiǎn)單"拖拽、連線"即可完成二次開(kāi)發(fā);
-
可復(fù)用性強(qiáng)、模塊化程度高,AWFlow將常用模塊封裝為"節(jié)點(diǎn)",高度模塊化,并支持自定義節(jié)點(diǎn);
-
硬件成本比傳統(tǒng)方案低。
零基礎(chǔ)EsDA入門(mén)若是剛開(kāi)始接觸EsDA,可先閱讀EsDA MPC-ZC1系列文章,從零開(kāi)始搭建環(huán)境和掌握基本開(kāi)發(fā)流程,已有基礎(chǔ)的可以跳過(guò):-
EsDA MPC-ZC1 入門(mén)(一)—— 軟件安裝
-
EsDA MPC-ZC1 入門(mén)(二)—— LED 控制
-
EsDA MPC-ZC1 應(yīng)用——串口服務(wù)器(一)
- EsDA MPC-ZC1 應(yīng)用——串口服務(wù)器(二)
1. 實(shí)驗(yàn)準(zhǔn)備工作
1.1 PC機(jī)軟件安裝
-
下載并安裝OPC UA Demo Client(OPC UA客戶端模擬工具)
https://pan.baidu.com/s/1wiIv8eKsX7ypvr4nnYyB7w?pwd=pit2 - 下載并安裝ModbusSlave(Modbus從機(jī)模擬工具)https://pan.baidu.com/s/1JWDGgQbGPEMpDXcx4oHNwg?pwd=cyr2
1.2 硬件準(zhǔn)備工作
如圖3,準(zhǔn)備一塊EPC6450-AWI開(kāi)發(fā)板,并按照下圖所示連接好硬件(另一端接到PC機(jī)上)。
圖3
1.3 配置PC機(jī)
注意:需要將PC機(jī)與開(kāi)發(fā)板設(shè)置為同一網(wǎng)段(例如本實(shí)驗(yàn)選用EPC6450-AWI開(kāi)發(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 打開(kāi)剛才安裝的Modbus Slave軟件,如下圖4。

圖4
1.3.1.2 依次點(diǎn)擊Connection–>Connection Setup,并根據(jù)圖5配置從設(shè)備參數(shù),并點(diǎn)擊OK保存設(shè)置。
圖5
1.3.1.3 按F8彈出Slave Definition界面,并如圖6所示進(jìn)行配置,點(diǎn)擊OK保存。
圖6
1.3.1.4 雙擊紅框位置,配置Modbus從設(shè)備對(duì)應(yīng)寄存器的值,如圖7所示。
圖72. EsDA業(yè)務(wù)開(kāi)發(fā)
本次實(shí)驗(yàn)主要完成的是上圖紅框部分,即EPC6450-AWI作為一個(gè)"轉(zhuǎn)換器",其業(yè)務(wù)主要分為兩大部分:
-
從Modbus設(shè)備讀取數(shù)據(jù);
- 啟動(dòng)OPC UA服務(wù)器,創(chuàng)建變量,并將上一步讀取到的數(shù)據(jù)的值寫(xiě)入(讓OPC UA模擬客戶端讀取)。
2.1 應(yīng)用流圖繪制
2.1.1 依次將畫(huà)布拖出modbus_master_in、modbus_parse_in、fscript、log、opc_ua_server節(jié)點(diǎn),并依次連線。

2.1.2 雙擊modbus_master_in節(jié)點(diǎn),對(duì)應(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ù)解析方式,并點(diǎn)擊完成。

2.1.5 在fscript節(jié)點(diǎn)編寫(xiě)腳本,配置OPC UA服務(wù)器初始參數(shù),并將從Modbus設(shè)備讀取到的數(shù)據(jù)寫(xiě)入OPC UA服務(wù)器。


//腳本如下:
if (state == 0) {
//opcua_server:新建一個(gè)文件夾:my_modbus_test
opcua_server_add_folder(1, "my_modbus_test");
//opcua_server:在文件夾zlg_gateway1里新建一個(gè)對(duì)象com1.m1
opcua_server_add_object(1, "dev1", "my_modbus_test");
//opcua_server:在對(duì)象dev1里新建一個(gè)變量test_data,類型Uint32,只讀
opcua_server_add_variable(1, "test_data", "UInt32", "dev1");
//標(biāo)記已經(jīng)初始化過(guò)了
state = state + 1;
msg.payload = "opcua server creat variable";
}
else if (state == 1)
{
var moudbus_read = msg.payload
var data = iformat("%d",moudbus_read)
//將讀取到的數(shù)據(jù)寫(xiě)入opcua_server的test_data變量中
opcua_server_variable_write(1, "test_data",data)
}
至此,"轉(zhuǎn)換器"業(yè)務(wù)流圖已經(jīng)開(kāi)發(fā)完成。2.1.6 將開(kāi)發(fā)板與AWFlow Designer建立連接并將應(yīng)用流圖下載到開(kāi)發(fā)板。


?
??實(shí)驗(yàn)結(jié)果
2. 雙擊打開(kāi)對(duì)話配置菜單,輸入服務(wù)器地址,并建立連接。




3. 查看轉(zhuǎn)換器創(chuàng)建的文件夾與數(shù)據(jù),數(shù)值為18正是之前所配置的Modbus從設(shè)備寄存器中的數(shù)值。



4. 修改Modbus模擬從設(shè)備的數(shù)值為38,片刻后,OPC UA Client模擬軟件上的數(shù)值也變?yōu)?8,實(shí)驗(yàn)成功。


關(guān)聯(lián)產(chǎn)品
技術(shù)交流群長(zhǎng)按識(shí)別如下二維碼可加入“EsDA嵌入式系統(tǒng)設(shè)計(jì)自動(dòng)化交流群”,與志同道合的朋友交流,并有專業(yè)技術(shù)人員為您答疑解惑,如有問(wèn)題可以咨詢小致微信:zlgmcu-888。
?【版權(quán)聲明】本文為ZLG開(kāi)發(fā)者社區(qū)用戶原創(chuàng)內(nèi)容,未經(jīng)授權(quán)不得轉(zhuǎn)載。歡迎更多用戶到社區(qū)交流互動(dòng)、創(chuàng)作博文,一經(jīng)采用,可獲得百元京東E卡。



-
致遠(yuǎn)電子
+關(guān)注
關(guān)注
13文章
422瀏覽量
32555
原文標(biāo)題:【EsDA協(xié)議轉(zhuǎn)換】Modbus轉(zhuǎn)OPC UA協(xié)議
文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
OPC UA協(xié)議深度剖析
opc ua設(shè)備數(shù)據(jù) 轉(zhuǎn) SNMP項(xiàng)目案例
實(shí)現(xiàn)華為UPS的SNMP轉(zhuǎn)Modbus協(xié)議接入監(jiān)控平臺(tái)項(xiàng)目案例
opc da 服務(wù)器數(shù)據(jù) 轉(zhuǎn) SNMP項(xiàng)目案例
DTL698電表數(shù)據(jù) 轉(zhuǎn) SNMP協(xié)議項(xiàng)目案例
如何實(shí)現(xiàn)與OPC UA協(xié)議遠(yuǎn)程通訊?
化工廠SCADA系統(tǒng)OPC DA數(shù)據(jù)轉(zhuǎn)Modbus TCP接入全廠監(jiān)控平臺(tái)項(xiàng)目案例
樓宇照明BACnet轉(zhuǎn)OPC UA網(wǎng)關(guān)的功能作用
opc ua設(shè)備數(shù)據(jù) 轉(zhuǎn)IEC104項(xiàng)目案例
Modbus協(xié)議轉(zhuǎn)HTTP協(xié)議,實(shí)現(xiàn)JSON格式對(duì)接MES等系統(tǒng)平臺(tái)
OPC UA數(shù)采網(wǎng)關(guān)具備哪些功能
opc ua設(shè)備數(shù)據(jù) 轉(zhuǎn) HJ212項(xiàng)目案例
DTL698電表數(shù)據(jù) 轉(zhuǎn)EthernetIP協(xié)議項(xiàng)目案例
opc ua設(shè)備數(shù)據(jù) 轉(zhuǎn) EthernetIP項(xiàng)目案例
DTL698電表數(shù)據(jù) 轉(zhuǎn) EthernetIP協(xié)議項(xiàng)目案例
【EsDA協(xié)議轉(zhuǎn)換】Modbus轉(zhuǎn)OPC UA協(xié)議
評(píng)論