0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

ZLG致遠(yuǎn)電子 ? 2023-04-25 14:59 ? 次閱讀

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

746959ee-df83-11ed-ad0d-dac502259ad0.jpg ?簡介

IIoT(Industrial Internet of Things)是工業(yè)物聯(lián)網(wǎng)的簡稱,它將具有感知、監(jiān)控能力的各類采集、控制傳感器控制器,以及移動通信、智能分析等技術(shù)不斷融入到工業(yè)生產(chǎn)過程各個環(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ǎn)的設(shè)備,而這些設(shè)備也可能采用不同的工業(yè)協(xié)議。有些設(shè)備已經(jīng)使用了若干年,出于系統(tǒng)穩(wěn)定性和集成時間的考慮,更換設(shè)備并非上策,但使用不同協(xié)議設(shè)備通常無法直接互聯(lián),在上述情景下,協(xié)議轉(zhuǎn)換必不可少。

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

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

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

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

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

74a219fa-df83-11ed-ad0d-dac502259ad0.jpg ?零基礎(chǔ)EsDA入門

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

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

74a219fa-df83-11ed-ad0d-dac502259ad0.jpg ?使用EsDA完成Modbus轉(zhuǎn)CANopen協(xié)議實(shí)驗(yàn)

在實(shí)際項目中,有時會遇到需要讀取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ā),快速完成一個協(xié)議轉(zhuǎn)換器。

74d5edb6-df83-11ed-ad0d-dac502259ad0.png

1. 本次實(shí)驗(yàn)主要步驟

準(zhǔn)備一塊EPC6450-AWI開發(fā)板與USBCAN-E-P CANopen 主站卡,并接線;

在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ī)模擬工具);

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

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)試口可不接)。

74f797a4-df83-11ed-ad0d-dac502259ad0.jpg

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

7511d92a-df83-11ed-ad0d-dac502259ad0.png

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)可能會失敗,本文的PC機(jī)ip更改為169.254.240.136。

1.3.1 配置模擬Modbus從設(shè)備

1.3.1.1 打開剛才安裝的ModbusSlave軟件。754b4250-df83-11ed-ad0d-dac502259ad0.png1.3.1.2?依次點(diǎn)擊Connection–>ConnectionSetup,并根據(jù)圖5配置從設(shè)備參數(shù),并點(diǎn)擊OK保存設(shè)置。75605cbc-df83-11ed-ad0d-dac502259ad0.png1.3.1.3 按F8彈出Slave Definition界面,并如圖6所示進(jìn)行配置,點(diǎn)擊OK保存。75770d0e-df83-11ed-ad0d-dac502259ad0.png1.3.1.4 配置Modbus從設(shè)備對應(yīng)寄存器的值如下圖。

7585617e-df83-11ed-ad0d-dac502259ad0.png

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

74d5edb6-df83-11ed-ad0d-dac502259ad0.png

本次實(shí)驗(yàn)選用的開發(fā)板為EPC6450-AWI,其作為一個協(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),并依次連線。

75b38de2-df83-11ed-ad0d-dac502259ad0.png

2.1.2 雙擊modbus_master_in節(jié)點(diǎn),對應(yīng)之前在PC機(jī)上Modbus Slave模擬軟件的參數(shù),進(jìn)行配置。75c53ba0-df83-11ed-ad0d-dac502259ad0.png2.1.3 配置modbus_master_in節(jié)點(diǎn)連接參數(shù)與數(shù)據(jù)讀取方式,并點(diǎn)擊完成。

75da2f9c-df83-11ed-ad0d-dac502259ad0.png

75fe5b42-df83-11ed-ad0d-dac502259ad0.png

76134de0-df83-11ed-ad0d-dac502259ad0.png2.1.4 配置modbus_parse_in節(jié)點(diǎn),配置Modbus數(shù)據(jù)解析方式(配置為僅解析地址03的數(shù)據(jù)),并點(diǎn)擊完成。7626000c-df83-11ed-ad0d-dac502259ad0.png2.1.5 在fscript節(jié)點(diǎn)編寫腳本,將從Modbus設(shè)備讀取到的數(shù)據(jù)寫入buff,并使用canopen_slave_out發(fā)送節(jié)點(diǎn)發(fā)送buff中的數(shù)據(jù)。763798f8-df83-11ed-ad0d-dac502259ad0.png

//創(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)//每個子索引多少個字節(jié)
wbuffer_write_int8(buf,1)//數(shù)據(jù)長度
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)行配置。

7647d72c-df83-11ed-ad0d-dac502259ad0.png

765c45d6-df83-11ed-ad0d-dac502259ad0.png767252ea-df83-11ed-ad0d-dac502259ad0.png

至此,"轉(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 主站卡的工具軟件,加載對應(yīng)EDS文件,并搜索設(shè)備,即可查看在當(dāng)前總線上的CANopen從設(shè)備,TPDO1第一個字節(jié)與之前我們配置的Modbus Slave軟件的Modbus從設(shè)備的數(shù)據(jù)(第03個字節(jié))一致,實(shí)驗(yàn)成功。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2762

    瀏覽量

    464015
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1815

    瀏覽量

    77156
收藏 人收藏

    評論

    相關(guān)推薦

    2025必備知識,CANopen轉(zhuǎn)EtherCAT協(xié)議允許配備啥協(xié)議的電氣設(shè)備

    CANopen轉(zhuǎn)EtherCAT穩(wěn)聯(lián)技術(shù)(WL-COP-ECAT)協(xié)議允許配備 CANopen 的設(shè)備在基于 EtherCAT 的工業(yè)以太網(wǎng)網(wǎng)絡(luò)上使用。
    的頭像 發(fā)表于 12-29 09:50 ?135次閱讀
    2025必備知識,<b class='flag-5'>CANopen</b><b class='flag-5'>轉(zhuǎn)</b>EtherCAT<b class='flag-5'>協(xié)議</b>允許配備啥<b class='flag-5'>協(xié)議</b>的電氣設(shè)備

    三格電子-MODBUS TCP轉(zhuǎn)CANOpen網(wǎng)關(guān)

    Modbus TCP轉(zhuǎn)CANopen網(wǎng)關(guān) 型號:SG-TCP-COE-210 產(chǎn)品用途 本網(wǎng)關(guān)可以實(shí)現(xiàn)將CANOpen接口設(shè)備連接到MODBUS
    的頭像 發(fā)表于 11-26 11:21 ?155次閱讀
    三格電子-<b class='flag-5'>MODBUS</b> TCP<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>CANOpen</b>網(wǎng)關(guān)

    MODBUS TCP 轉(zhuǎn) CANOpen

    產(chǎn)品概述 SG-TCP-COE-210 網(wǎng)關(guān)可以實(shí)現(xiàn)將 CANOpen 接口設(shè)備連接到 MODBUS TCP 網(wǎng)絡(luò)中。用戶不需要了解具體的 CANOpenModbus TCP
    的頭像 發(fā)表于 09-24 13:59 ?300次閱讀
    <b class='flag-5'>MODBUS</b> TCP <b class='flag-5'>轉(zhuǎn)</b> <b class='flag-5'>CANOpen</b>

    使用Modbus、樓宇自控、電力協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)實(shí)現(xiàn)生產(chǎn)設(shè)備的遠(yuǎn)程監(jiān)控和管理

    對不同協(xié)議設(shè)備的可靠數(shù)據(jù)采集;上行轉(zhuǎn)發(fā)協(xié)議方面支持Modbus RTU和Modbus TCP,為用戶提供靈活的上行通信選擇,實(shí)現(xiàn)不同協(xié)議設(shè)備
    的頭像 發(fā)表于 08-08 17:29 ?409次閱讀
    使用<b class='flag-5'>Modbus</b>、樓宇自控、電力<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus協(xié)議</b>網(wǎng)關(guān)實(shí)現(xiàn)生產(chǎn)設(shè)備的遠(yuǎn)程監(jiān)控和管理

    Modbus、樓宇自控、電力協(xié)議轉(zhuǎn)Modbus協(xié)議轉(zhuǎn)換網(wǎng)關(guān)用于MThings部署

    Modbus樓宇自控電力協(xié)議轉(zhuǎn)Modbus協(xié)議轉(zhuǎn)換網(wǎng)關(guān)BL120ML在MThings中的應(yīng)用需要根據(jù)具體需求和系統(tǒng)環(huán)境進(jìn)行定制化的配置和部署
    的頭像 發(fā)表于 08-08 13:46 ?306次閱讀
    <b class='flag-5'>Modbus</b>、樓宇自控、電力<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b>網(wǎng)關(guān)用于MThings部署

    鋇錸協(xié)議網(wǎng)關(guān)輕松實(shí)現(xiàn)Modbus轉(zhuǎn)MQTT協(xié)議

    效的數(shù)據(jù)交換。本文從Modbus協(xié)議轉(zhuǎn)換為MQTT協(xié)議的必要性為出發(fā)點(diǎn),分析鋇錸Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)BL101的優(yōu)勢。 一、
    的頭像 發(fā)表于 07-23 15:51 ?391次閱讀
    鋇錸<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)輕松實(shí)現(xiàn)<b class='flag-5'>Modbus</b><b class='flag-5'>轉(zhuǎn)</b>MQTT<b class='flag-5'>協(xié)議</b>

    巴圖自動化Modbus協(xié)議轉(zhuǎn)Profinet協(xié)議網(wǎng)關(guān)模塊連智能儀表與PLC通訊

    通過巴圖自動化Modbus轉(zhuǎn)Profinet協(xié)議網(wǎng)關(guān)模塊,實(shí)現(xiàn)PLC對儀表設(shè)備的遠(yuǎn)程監(jiān)控和數(shù)據(jù)傳輸,提高生產(chǎn)效率和運(yùn)行穩(wěn)定性。巴圖自動化Modbus
    的頭像 發(fā)表于 07-04 18:29 ?2685次閱讀
    巴圖自動化<b class='flag-5'>Modbus協(xié)議</b><b class='flag-5'>轉(zhuǎn)</b>Profinet<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)模塊連智能儀表與PLC通訊

    巴圖自動化PN轉(zhuǎn)Modbus RTU協(xié)議轉(zhuǎn)換網(wǎng)關(guān)模塊快速配置

    揮著重要作用。由于現(xiàn)實(shí)工業(yè)場景中存在Profinet協(xié)議設(shè)備和Modbus協(xié)議設(shè)備進(jìn)行通訊的情況,將Modbus協(xié)議轉(zhuǎn)換為Profinet協(xié)議
    的頭像 發(fā)表于 07-04 14:40 ?507次閱讀
    巴圖自動化PN<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus</b> RTU<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b>網(wǎng)關(guān)模塊快速配置

    巴圖制自動化Profinet協(xié)議轉(zhuǎn)Modbus協(xié)議模塊連接PLC和電表通信

    協(xié)議轉(zhuǎn)Modbus協(xié)議模塊(BT-MDPN10)是一種將Profinet協(xié)議轉(zhuǎn)換Modbus協(xié)議
    的頭像 發(fā)表于 07-03 21:17 ?382次閱讀
    巴圖制自動化Profinet<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus協(xié)議</b>模塊連接PLC和電表通信

    Profibus協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)模塊在船舶中的應(yīng)用

    本文主要介紹了Profibus協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)模塊(XD-MDPB100)在船舶中的應(yīng)用。 Profibus轉(zhuǎn)Modbus網(wǎng)關(guān)能實(shí)
    的頭像 發(fā)表于 06-27 17:25 ?536次閱讀
    Profibus<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>Modbus協(xié)議</b>網(wǎng)關(guān)模塊在船舶中的應(yīng)用

    Modbus協(xié)議轉(zhuǎn)Profibus協(xié)議網(wǎng)關(guān)接溫控表與PLC通訊

    Modbus協(xié)議轉(zhuǎn)Profibus協(xié)議網(wǎng)關(guān)(XD-MDPB100)則是實(shí)現(xiàn)這一通訊的重要工具。Modbus轉(zhuǎn)Profibus網(wǎng)關(guān)的主要功能是
    的頭像 發(fā)表于 06-21 11:31 ?1952次閱讀
    <b class='flag-5'>Modbus協(xié)議</b><b class='flag-5'>轉(zhuǎn)</b>Profibus<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)接溫控表與PLC通訊

    Modbus協(xié)議轉(zhuǎn)Profinet協(xié)議網(wǎng)關(guān)與氣體監(jiān)測系統(tǒng)配置案例

    Modbus協(xié)議轉(zhuǎn)換為Profinet協(xié)議,以實(shí)現(xiàn)不同設(shè)備之間的數(shù)據(jù)交換和通訊。本文將結(jié)合Modbus協(xié)議轉(zhuǎn)Profinet
    的頭像 發(fā)表于 06-13 17:50 ?1438次閱讀
    <b class='flag-5'>Modbus協(xié)議</b><b class='flag-5'>轉(zhuǎn)</b>Profinet<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)與氣體監(jiān)測系統(tǒng)配置案例

    通訊協(xié)議轉(zhuǎn)換Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)

    Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)是工業(yè)通信轉(zhuǎn)換設(shè)備,能夠?qū)崿F(xiàn)Modbus協(xié)議與Profinet協(xié)議之間的有效
    的頭像 發(fā)表于 06-13 14:07 ?515次閱讀
    通訊<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b><b class='flag-5'>Modbus</b><b class='flag-5'>轉(zhuǎn)</b>Profinet網(wǎng)關(guān)

    Modbus轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)換網(wǎng)關(guān):快速配置實(shí)踐指南

    Modbus轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)換網(wǎng)關(guān)(XD-MDPN100/300/600)是一種設(shè)備,用于實(shí)現(xiàn)Modbus通訊
    的頭像 發(fā)表于 06-13 09:56 ?636次閱讀
    <b class='flag-5'>Modbus</b><b class='flag-5'>轉(zhuǎn)</b>Profinet<b class='flag-5'>協(xié)議</b><b class='flag-5'>轉(zhuǎn)換</b>網(wǎng)關(guān):快速配置實(shí)踐指南

    ProfiNet轉(zhuǎn)RS485/Modbus Rtu協(xié)議網(wǎng)關(guān)

    網(wǎng)關(guān)實(shí)現(xiàn)PN轉(zhuǎn)rs485、profinet轉(zhuǎn)RS485、Modbus轉(zhuǎn)profinet、RS485轉(zhuǎn)PN、profinet
    的頭像 發(fā)表于 06-13 08:55 ?754次閱讀
    ProfiNet<b class='flag-5'>轉(zhuǎn)</b>RS485/<b class='flag-5'>Modbus</b> Rtu<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)