實施IIoT,協議轉換在某些場合下必不可少。本文介紹如何通過EsDA開發套件,快速完成一個Modbus轉CAN的協議轉換器。 ?簡介工業物聯網感知層的數據來源非常多樣,通常來自各種多源異構設備和系統,因此如何從這些設備和系統中獲取數據,是工業物聯網面臨的第一道門檻。
但實際上在工業現場,會采用不同廠商生產的設備,而這些設備也可能采用不同的工業協議。有些時候,由于有些設備甚至已經使用了若干年,出于系統穩定性和集成時間的考慮,更換設備并非上策。因此實施IIoT,協議轉換在某些場合下必不可少。
?如何解決協議轉換中的"痛點"
工業現場協議各種各樣,傳統網關未必能做到同時支持多種所需協議,即便找到合適的設備硬件成本也相當高昂。但使用EsDA 家族中的AWFlow Designer(嵌入式應用開發利器——【EsDA】AWFlow)與配套硬件可輕松解決該"痛點"。對比傳統網關方案其主要有以下優點:
- 靈活性高支持二次開發,傳統網關一般功能比較單一或難以實現復雜邏輯,使用EsDA方案,可以使用AWFlow Designer對硬件進行可視化配置,且可根據實際需求自由更改應用邏輯(且大多數情況無需重新編譯和燒寫固件),可同時做多種協議的轉換器,甚至可以做協議轉換之外的業務;
- 二次開發簡單,使用AWFlow Designer簡單"拖拽、連線"即可完成二次開發;
- 可復用性強、模塊化程度高,AWFlow將常用模塊封裝為"節點",高度模塊化,并支持自定義節點;
- 硬件成本比傳統方案低。
?零基礎EsDA入門若是剛開始接觸EsDA,可先閱讀EsDA MPC-ZC1系列文章,從零開始搭建環境和掌握基本開發流程,已有基礎的可以跳過:
EsDA MPC-ZC1 入門(一)—— 軟件安裝
EsDA MPC-ZC1 入門(二)—— LED 控制
EsDA MPC-ZC1 應用——串口服務器(一)
- EsDA MPC-ZC1 應用——串口服務器(二)
?使用EsDA完成Modbus轉CAN協議實驗在實際項目中,有時會遇到需要讀取Modbus從設備的數據到不支持Modbus的設備的情況,本文以實現Modbus轉CAN協議轉換器為目標(即讀取Modbus從設備數據并發送到指定CAN設備以完成轉換),展開講解,介紹如何通過EsDA家族中的AWFlow Designer和EPC6450-AWI開發板套件,進行圖形化低代碼應用開發,快速完成一個協議轉換器。
1. 本次實驗主要步驟
準備準備一塊EPC6450-AWI開發板與USBCANFD-200U CANFD 接口卡,并接線;
在PC機上配置Modbus模擬從設備;
業務開發,使用EsDA家族中的AWFlow Designer,進行圖形化開發完成轉換器業務;
- 在PC機上打開ZCANPRO軟件(USBCANFD-200U CANFD 接口卡上位機軟件),讀取來自協議轉換器的數據。
1.1 PC機軟件安裝1.1.1 下載并安裝ModbusSlave(Modbus從機模擬工具)
1.2 硬件準備工作
1.2.1 準備一塊EPC6450-AWI開發板,并按照下圖所示連接好硬件(電源與網口接到PC機上,CAN_1兩根線接到USBCANFD-200U接口卡上,Debug調試口可不接)。
1.2.2 將第一步的CAN_1線連接到USBCANFD-200U CANFD 接口卡的CAN0,USB線接PC。1.3 配置PC機注意:需要將PC機與開發板設置為同一網段(例如本實驗選用EPC6450-AWI開發板的ip為169.254.240.77故需要將PC機的ip改為169.254.240.xx),否則實驗可能會失敗,本文的PC機ip更改為169.254.240.136。1.3.1 配置模擬Modbus從設備1.2.1.1 打開剛才安裝的Modbus Slave軟件。
1.2.1.2依次點擊Connection–>Connection Setup,并根據圖5配置從設備參數,并點擊OK保存設置。
1.2.1.3按F8彈出Slave Definition界面,并如圖6所示進行配置,點擊OK保存。1.2.1.4?配置Modbus從設備對應寄存器的值如下圖。
2.EsDA業務開發
本次實驗選用的開發板為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) 2.1.6 雙擊CAN節點,進行配置。 至此,"轉換器"業務流圖已經開發完成。 2.1.7 將開發板與AWFlow Designer建立連接并將應用流圖下載到開發板。 3.實驗現象 打開USBCANFD-200U上位機軟件(CAN-bus-ZCANPRO),選擇打開設備(本實驗所用的是USB-CAN FD-200U),即可查看CAN卡讀取的數據,與之前我們配置的Modbus Slave軟件的Modbus從設備的數據一致,實驗成功。
//從Modbus從設備讀取到的數據包(八字節)data=msg.payloadfor(var i=0;i
-
CAN
+關注
關注
57文章
2774瀏覽量
464477 -
Modbu
+關注
關注
0文章
7瀏覽量
6430
發布評論請先 登錄
相關推薦
使用Modbus、樓宇自控、電力協議轉Modbus協議網關實現生產設備的遠程監控和管理
![使用<b class='flag-5'>Modbus</b>、樓宇自控、電力<b class='flag-5'>協議</b><b class='flag-5'>轉</b><b class='flag-5'>Modbus協議</b>網關實現生產設備的遠程監控和管理](https://file1.elecfans.com/web2/M00/02/3D/wKgaoma0j6aAabKEAABfbT8ov5M473.png)
Modbus、樓宇自控、電力協議轉Modbus協議轉換網關用于MThings部署
![<b class='flag-5'>Modbus</b>、樓宇自控、電力<b class='flag-5'>協議</b><b class='flag-5'>轉</b><b class='flag-5'>Modbus協議</b><b class='flag-5'>轉換</b>網關用于MThings部署](https://file1.elecfans.com/web2/M00/FE/C9/wKgaomafXmSAcpWXAAB_wXLaXrs288.png)
巴圖自動化Modbus協議轉Profinet協議網關模塊連智能儀表與PLC通訊
![巴圖自動化<b class='flag-5'>Modbus協議</b><b class='flag-5'>轉</b>Profinet<b class='flag-5'>協議</b>網關模塊連智能儀表與PLC通訊](https://file1.elecfans.com/web2/M00/F8/17/wKgZomaGbdaALAXnAAH20fmFdAA215.png)
巴圖自動化PN轉Modbus RTU協議轉換網關模塊快速配置
![巴圖自動化PN<b class='flag-5'>轉</b><b class='flag-5'>Modbus</b> RTU<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>網關模塊快速配置](https://file1.elecfans.com/web2/M00/F8/09/wKgZomaGQPeAKvtGAAJq3USW_90806.png)
Profibus協議轉Modbus協議網關模塊在船舶中的應用
![Profibus<b class='flag-5'>協議</b><b class='flag-5'>轉</b><b class='flag-5'>Modbus協議</b>網關模塊在船舶中的應用](https://file1.elecfans.com/web2/M00/F4/95/wKgaomZ9LJ6AdngTAAlpguPxels218.png)
Modbus協議轉Profibus協議網關接溫控表與PLC通訊
![<b class='flag-5'>Modbus協議</b><b class='flag-5'>轉</b>Profibus<b class='flag-5'>協議</b>網關接溫控表與PLC通訊](https://file1.elecfans.com/web2/M00/F1/67/wKgZomZ08smAbec3AA5eJfpsCBk206.png)
Modbus轉EtherCAT協議支持開發定制
![<b class='flag-5'>Modbus</b><b class='flag-5'>轉</b>EtherCAT<b class='flag-5'>協議</b>支持開發定制](https://file1.elecfans.com//web2/M00/E9/85/wKgZomZT_SuALNESAABSOn-jiY8322.jpg)
評論