加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

【EsDA協(xié)議轉(zhuǎn)換】Modbus轉(zhuǎn)CAN/CANFD協(xié)議

2023/07/30
2550
閱讀需 11 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

實施IIoT,協(xié)議轉(zhuǎn)換在某些場合下必不可少。本文介紹如何通過EsDA開發(fā)套件,快速完成一個Modbus轉(zhuǎn)CAN的協(xié)議轉(zhuǎn)換器。

簡介

工業(yè)物聯(lián)網(wǎng)感知層的數(shù)據(jù)來源非常多樣,通常來自各種多源異構(gòu)設備和系統(tǒng),因此如何從這些設備和系統(tǒng)中獲取數(shù)據(jù),是工業(yè)物聯(lián)網(wǎng)面臨的第一道門檻。

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

如何解決協(xié)議轉(zhuǎn)換中的"痛點"

工業(yè)現(xiàn)場協(xié)議各種各樣,傳統(tǒng)網(wǎng)關未必能做到同時支持多種所需協(xié)議,即便找到合適的設備硬件成本也相當高昂。但使用EsDA 家族中的AWFlow Designer(嵌入式應用開發(fā)利器——【EsDA】AWFlow)與配套硬件可輕松解決該"痛點"。對比傳統(tǒng)網(wǎng)關方案其主要有以下優(yōu)點:

    靈活性高支持二次開發(fā),傳統(tǒng)網(wǎng)關一般功能比較單一或難以實現(xiàn)復雜邏輯,使用EsDA方案,可以使用AWFlow Designer對硬件進行可視化配置,且可根據(jù)實際需求自由更改應用邏輯(且大多數(shù)情況無需重新編譯和燒寫固件),可同時做多種協(xié)議的轉(zhuǎn)換器,甚至可以做協(xié)議轉(zhuǎn)換之外的業(yè)務;二次開發(fā)簡單,使用AWFlow Designer簡單"拖拽、連線"即可完成二次開發(fā);可復用性強、模塊化程度高,AWFlow將常用模塊封裝為"節(jié)點",高度模塊化,并支持自定義節(jié)點;硬件成本比傳統(tǒng)方案低。

零基礎EsDA入門

若是剛開始接觸?EsDA?,可先閱讀EsDA MPC-ZC1系列文章,從零開始搭建環(huán)境和掌握基本開發(fā)流程。

使用EsDA完成Modbus轉(zhuǎn)CAN協(xié)議實驗

在實際項目中,有時會遇到需要讀取Modbus從設備的數(shù)據(jù)到不支持Modbus的設備的情況,本文以實現(xiàn)Modbus轉(zhuǎn)CAN協(xié)議轉(zhuǎn)換器為目標(即讀取Modbus從設備數(shù)據(jù)并發(fā)送到指定CAN設備以完成轉(zhuǎn)換),展開講解,介紹如何通過EsDA家族中的AWFlow Designer和EPC6450-AWI開發(fā)板套件,進行圖形化低代碼應用開發(fā),快速完成一個協(xié)議轉(zhuǎn)換器。

1. 本次實驗主要步驟

準備準備一塊EPC6450-AWI開發(fā)板與USBCANFD-200U CANFD 接口卡,并接線;

在PC機上配置Modbus模擬從設備;

業(yè)務開發(fā),使用EsDA家族中的AWFlow Designer,進行圖形化開發(fā)完成轉(zhuǎn)換器業(yè)務;

在PC機上打開ZCANPRO軟件(USBCANFD-200U CANFD 接口卡上位機軟件),讀取來自協(xié)議轉(zhuǎn)換器的數(shù)據(jù)。

1.1 PC機軟件安裝1.1.1 下載并安裝ModbusSlave(Modbus從機模擬工具)
附:https://www.modbustools.com/modbus_slave.html1.1.2 下載USBCANFD-200U接口卡驅(qū)動和上位機軟件(CAN-bus-ZCANPRO),并安裝。附:http://www.zlgcan.com/zlgcan-usbcanfd-200u/927/

1.2 硬件準備工作

1.2.1 準備一塊EPC6450-AWI開發(fā)板,并按照下圖所示連接好硬件(電源與網(wǎng)口接到PC機上,CAN_1兩根線接到USBCANFD-200U接口卡上,Debug調(diào)試口可不接)。

1.2.2 將第一步的CAN_1線連接到USBCANFD-200U CANFD 接口卡的CAN0,USB線接PC。

1.3 配置PC機注意:?需要將PC機與開發(fā)板設置為同一網(wǎng)段(?例如本實驗選用EPC6450-AWI開發(fā)板的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,并根據(jù)圖5配置從設備參數(shù),并點擊OK保存設置。

1.2.1.3?按F8彈出Slave Definition界面,并如圖6所示進行配置,點擊OK保存。

1.2.1.4?配置Modbus從設備對應寄存器的值如下圖。

2.?EsDA業(yè)務開發(fā)

本次實驗選用的開發(fā)板為EPC6450-AWI,其作為一個協(xié)議轉(zhuǎn)換器,其業(yè)務主要分為兩大部分:

從PC機模擬的Modbus設備讀取數(shù)據(jù);

將讀取到的數(shù)據(jù)通過CAN接口發(fā)送到USBCANFD-200U CANFD 接口卡。

2.1 應用流圖繪制

2.1.1 依次將畫布拖出modbus_master_in(Modbus主設備讀取從設備數(shù)據(jù)節(jié)點)、modbus_parse_in、fscript、log、canfd_out(CAN發(fā)送數(shù)據(jù))節(jié)點,并依次連線。

2.1.2 雙擊modbus_master_in節(jié)點,對應之前在PC機上Modbus Slave模擬軟件的參數(shù),進行配置。

2.1.3 配置modbus_master_in節(jié)點連接參數(shù)與數(shù)據(jù)讀取方式,并點擊完成。

2.1.4 配置modbus_parse_in節(jié)點,配置Modbus數(shù)據(jù)解析方式,并點擊完成。

2.1.5 在fscript節(jié)點編寫腳本,將從Modbus設備讀取到的數(shù)據(jù)寫入buff,并使用CAN發(fā)送節(jié)點發(fā)送buff中的數(shù)據(jù)。

//具體腳本如下:buf = wbuffer_create()//CAN配置包(前16個字節(jié))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從設備讀取到的數(shù)據(jù)包(八字節(jié))data=msg.payloadfor(var i=0;i<data.size,i++){//將數(shù)據(jù)寫入CAN發(fā)送buffwbuffer_write_int8((buf, array_get(data,i))}msg.payload = wbuffer_get_data(buf)//3 * 8 = 24個字節(jié)msg.payloadLength = 24

2.1.6 雙擊CAN節(jié)點,進行配置。

至此,"轉(zhuǎn)換器"業(yè)務流圖已經(jīng)開發(fā)完成。

2.1.7 將開發(fā)板與AWFlow Designer建立連接并將應用流圖下載到開發(fā)板。

3.?實驗現(xiàn)象

打開USBCANFD-200U上位機軟件(CAN-bus-ZCANPRO),選擇打開設備(本實驗所用的是USB-CAN FD-200U),即可查看CAN卡讀取的數(shù)據(jù),與之前我們配置的Modbus Slave軟件的Modbus從設備的數(shù)據(jù)一致,實驗成功。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
TJA1055T/3/1J 1 NXP Semiconductors TJA1055 - Enhanced fault-tolerant CAN transceiver SOIC 14-Pin

ECAD模型

下載ECAD模型
$1.06 查看

相關推薦

電子產(chǎn)業(yè)圖譜