
但實際上在工業現場,會采用不同廠商生產的設備,而這些設備也可能采用不同的工業協議。有些時候,由于有些設備甚至已經使用了若干年,出于系統穩定性和集成時間的考慮,更換設備并非上策。因此實施IIoT,協議轉換在某些場合下必不可少。

工業現場協議各種各樣,傳統網關未必能做到同時支持多種所需協議,即便找到合適的設備硬件成本也相當高昂。但使用EsDA 家族中的AWFlow Designer(嵌入式應用開發利器——【EsDA】AWFlow)與配套硬件可輕松解決該"痛點"。對比傳統網關方案其主要有以下優點:
- 靈活性高支持二次開發,傳統網關一般功能比較單一或難以實現復雜邏輯,使用EsDA方案,可以使用AWFlow Designer對硬件進行可視化配置,且可根據實際需求自由更改應用邏輯(且大多數情況無需重新編譯和燒寫固件),可同時做多種協議的轉換器,甚至可以做協議轉換之外的業務;
- 二次開發簡單,使用AWFlow Designer簡單"拖拽、連線"即可完成二次開發;
- 可復用性強、模塊化程度高,AWFlow將常用模塊封裝為"節點",高度模塊化,并支持自定義節點;
- 硬件成本比傳統方案低。

-
EsDA MPC-ZC1 入門(一)—— 軟件安裝
-
EsDA MPC-ZC1 入門(二)—— LED 控制
-
EsDA MPC-ZC1 應用——串口服務器(一)
- EsDA MPC-ZC1 應用——串口服務器(二)

-
在PC機上配置Modbus模擬從設備;
-
業務開發,使用EsDA家族中的AWFlow Designer,進行圖形化開發完成轉換器業務;
- 在PC機上打開ZCANPRO軟件(USBCANFD-200U CANFD 接口卡上位機軟件),讀取來自協議轉換器的數據。
附:https://www.modbustools.com/modbus_slave.html1.1.2 下載USBCANFD-200U接口卡驅動和上位機軟件(CAN-bus-ZCANPRO),并安裝。附:http://www.zlgcan.com/zlgcan-usbcanfd-200u/927/
1.2 硬件準備工作
1.2.1 準備一塊EPC6450-AWI開發板,并按照下圖所示連接好硬件(電源與網口接到PC機上,CAN_1兩根線接到USBCANFD-200U接口卡上,Debug調試口可不接)。




本次實驗選用的開發板為EPC6450-AWI,其作為一個協議轉換器,其業務主要分為兩大部分:
-
從PC機模擬的Modbus設備讀取數據;
-
將讀取到的數據通過CAN接口發送到USBCANFD-200U CANFD 接口卡。
2.1 應用流圖繪制
2.1.1 依次將畫布拖出modbus_master_in(Modbus主設備讀取從設備數據節點)、modbus_parse_in、fscript、log、canfd_out(CAN發送數據)節點,并依次連線。
2.1.2 雙擊modbus_master_in節點,對應之前在PC機上Modbus Slave模擬軟件的參數,進行配置。
2.1.3 配置modbus_master_in節點連接參數與數據讀取方式,并點擊完成。
2.1.4 配置modbus_parse_in節點,配置Modbus數據解析方式,并點擊完成。
2.1.5 在fscript節點編寫腳本,將從Modbus設備讀取到的數據寫入buff,并使用CAN發送節點發送buff中的數據。

//具體腳本如下:
buf = wbuffer_create()
//CAN配置包(前16個字節)
wbuffer_write_int8(buf, 202)
wbuffer_write_int8(buf, 150)
wbuffer_write_int8(buf, 9)
wbuffer_write_int8(buf, 124)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 1)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 0)
wbuffer_write_int8(buf, 1)
//從Modbus從設備讀取到的數據包(八字節)
data=msg.payload
for(var i=0;i<data.size,i++)
{
//將數據寫入CAN發送buff
wbuffer_write_int8((buf, array_get(data,i))
}
msg.payload = wbuffer_get_data(buf)
//3 * 8 = 24個字節
msg.payloadLength = 24
2.1.6 雙擊CAN節點,進行配置。
至此,"轉換器"業務流圖已經開發完成。
2.1.7 將開發板與AWFlow Designer建立連接并將應用流圖下載到開發板。
3.實驗現象
打開USBCANFD-200U上位機軟件(CAN-bus-ZCANPRO),選擇打開設備(本實驗所用的是USB-CAN FD-200U),即可查看CAN卡讀取的數據,與之前我們配置的Modbus Slave軟件的Modbus從設備的數據一致,實驗成功。



【版權聲明】本文為ZLG開發者社區用戶原創內容,未經授權不得轉載。歡迎更多用戶到社區交流互動、創作博文,一經采用,可獲得百元京東E卡。
-
致遠電子
+關注
關注
13文章
412瀏覽量
31927
原文標題:【EsDA協議轉換】Modbus轉CAN/CANFD協議
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
DeviceNet轉Modbus RTU協議轉換網關在石油開采行業的應用
CAN轉Modbus TCP工具的應用案例
CAN轉Modbus TCP主站協議網關(YC-CAN-TCP)

Modbus轉OPC UA協議網關BL121實現高效、安全、可靠的跨協議通信

利用MODBUS、樓宇自控、電力協議轉MODBUS協議網關使暖通空調順利對接HMI

使用Modbus、樓宇自控、電力協議轉Modbus協議網關實現生產設備的遠程監控和管理

Modbus、樓宇自控、電力協議轉Modbus協議轉換網關用于MThings部署

BACnet協議轉Modbus網關通過協議轉換將設備數據轉發至InTouch

BACnet協議轉Modbus網關:BACnet設備數據一鍵對接KEPServerEX系統

CAN轉Modbus-RTU協議轉換網關模塊的配置及應用詳解

評論