加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • ??簡(jiǎn)介
    • 如何解決協(xié)議轉(zhuǎn)換中的"痛點(diǎn)"
    • ? 零基礎(chǔ)EsDA入門
    • ? 使用EsDA完成Modbus轉(zhuǎn)CANopen協(xié)議實(shí)驗(yàn)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

【EsDA協(xié)議轉(zhuǎn)換】Modbus轉(zhuǎn)CANopen協(xié)議

2023/08/02
2004
閱讀需 10 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

??簡(jiǎn)介

IIoT(Industrial Internet of Things)是工業(yè)物聯(lián)網(wǎng)的簡(jiǎn)稱,它將具有感知、監(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)場(chǎng),由于某些特定需求或者歷史原因,會(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)場(chǎng)協(xié)議各種各樣,傳統(tǒng)網(wǎng)關(guān)未必能做到同時(shí)支持多種所需協(xié)議,即便找到合適的設(shè)備硬件成本也相當(dāng)高昂。但使用EsDA家族中的AWFlow?Designer(嵌入式應(yīng)用開發(fā)利器——【EsDA】AWFlow)與配套硬件可輕松解決該"痛點(diǎn)"。對(duì)比傳統(tǒng)網(wǎng)關(guān)方案其主要有以下優(yōu)點(diǎn):

靈活性高支持二次開發(fā),傳統(tǒng)網(wǎng)關(guān)一般功能比較單一或難以實(shí)現(xiàn)復(fù)雜邏輯,使用EsDA方案,可以使用AWFlow Designer對(duì)硬件進(jìn)行可視化配置,且可根據(jù)實(shí)際需求自由更改應(yīng)用邏輯(且大多數(shù)情況無需重新編譯和燒寫固件),可同時(shí)做多種協(xié)議的轉(zhuǎn)換器,甚至可以做協(xié)議轉(zhuǎn)換之外的業(yè)務(wù)。

二次開發(fā)簡(jiǎn)單,使用AWFlow Designer簡(jiǎn)單"拖拽、連線"即可完成二次開發(fā)。

可復(fù)用性強(qiáng)、模塊化程度高,AWFlow將常用模塊封裝為"節(jié)點(diǎn)",高度模塊化,并支持自定義節(jié)點(diǎn)。

硬件成本比傳統(tǒng)方案低。

? 零基礎(chǔ)EsDA入門

若是剛開始接觸 EsDA ,可先閱讀 EsDA MPC-ZC1系列文章,從零開始搭建環(huán)境和掌握基本開發(fā)流程,已有基礎(chǔ)的可以跳過:

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

? 使用EsDA完成Modbus轉(zhuǎn)CANopen協(xié)議實(shí)驗(yàn)

在實(shí)際項(xiàng)目中,有時(shí)會(huì)遇到需要讀取Modbus從設(shè)備的數(shù)據(jù)到不支持Modbus的設(shè)備的情況,本文以實(shí)現(xiàn)Modbus轉(zhuǎn)CANopen協(xié)議轉(zhuǎn)換器為目標(biāo)(即讀取Modbus從設(shè)備數(shù)據(jù)并發(fā)送到指定CANopen設(shè)備以完成轉(zhuǎn)換),展開講解,介紹如何通過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è)備;

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

在PC機(jī)上打開USBCAN-E-P CANopen主站卡的工具軟件,讀取來自協(xié)議轉(zhuǎn)換器的數(shù)據(jù)。

1.1 PC機(jī)軟件安裝

下載并安裝ModbusSlave(Modbus從機(jī)模擬工具);

附:https://www.modbustools.com/modbus_slave.html

下載USBCAN-E-P CANopen主站卡的工具軟件,并安裝。

附:https://www.zlg.cn/can/down/down/id/30.html

1.2 硬件準(zhǔn)備工作

1.2.1 準(zhǔn)備一塊EPC6450-AWI開發(fā)板,并按照下圖所示連接好硬件(電源與網(wǎng)口接到PC機(jī)上,CAN_1兩根線接到USBCAN-E-P CANopen 主站卡上,Debug調(diào)試口可不接)。

1.2.2 將第一步的CAN_1線連接到USBCAN-E-P CANopen主站卡的CANH與CANL,USB線接PC。

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 打開剛才安裝的Modbus?Slave軟件。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è)備對(duì)應(yīng)寄存器的值如下圖。

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ù)通過CANopen接口發(fā)送到USBCAN-E-P CANopen 主站卡。

2.1 應(yīng)用流圖繪制

2.1.1 依次將畫布拖出modbus_master_in(Modbus主設(shè)備讀取從設(shè)備數(shù)據(jù)節(jié)點(diǎn))、modbus_parse_in、fscript、log、canopen_slave_out(CAN發(fā)送數(shù)據(jù))節(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ù)解析方式(配置為僅解析地址03的數(shù)據(jù)),并點(diǎn)擊完成。2.1.5 在fscript節(jié)點(diǎn)編寫腳本,將從Modbus設(shè)備讀取到的數(shù)據(jù)寫入buff,并使用canopen_slave_out發(fā)送節(jié)點(diǎn)發(fā)送buff中的數(shù)據(jù)。

//創(chuàng)建CANopen發(fā)送緩沖區(qū),將從Modbus讀取到的數(shù)據(jù)寫入
buf?=?wbuffer_create()
wbuffer_write_int8(buf,0)//主索引高字節(jié)
wbuffer_write_int8(buf,33)?//主索引低字節(jié)
wbuffer_write_int8(buf,1)?//子索引
wbuffer_write_int8(buf,1)?//每個(gè)子索引多少個(gè)字節(jié)
wbuffer_write_int8(buf,1)//數(shù)據(jù)長(zhǎng)度
wbuffer_write_int8(buf,msg.payload)//數(shù)據(jù)msg.payload=wbuffer_get_data(buf)

2.1.6 雙擊canopen_slave_out節(jié)點(diǎn),進(jìn)行配置。

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

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

3. 實(shí)驗(yàn)現(xiàn)象

打開USBCAN-E-P CANopen 主站卡的工具軟件,加載對(duì)應(yīng)EDS文件,并搜索設(shè)備,即可查看在當(dāng)前總線上的CANopen從設(shè)備,TPDO1第一個(gè)字節(jié)與之前我們配置的Modbus Slave軟件的Modbus從設(shè)備的數(shù)據(jù)(第03個(gè)字節(jié))一致,實(shí)驗(yàn)成功。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
USB3320C-EZK 1 SMSC Interface Circuit, 5 X 5 MM, 0.90 MM HEIGHT, ROHS COMPLIANT, QFN-32
$2.09 查看
KSZ9031RNXIA 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER

ECAD模型

下載ECAD模型
$8.49 查看
NCV7344D10R2G 1 onsemi CAN FD Transceiver, High Speed, Low Power with NC, long filter time, 3000-REEL
$0.82 查看

相關(guān)推薦

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