一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【EsDA 應用】Modbus RTU Master 轉 MQTT

ZLG致遠電子 ? 2023-11-23 08:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著物聯網的迅速發(fā)展,越來越多的工業(yè)自動化設備需要上報數據到云。本文將基于EsDA開發(fā)套件快速實現將Modbus RTU協議的數據轉換為MQTT格式,實現更靈活的數據傳輸和遠程控制。

af193894-8996-11ee-9788-92fbcf53809c.jpg ?項目簡介

在物聯網領域中,Modbus RTU是一種串行通信協議通常用于工業(yè)自動化領域,MQTT則是基于發(fā)布/訂閱模式的消息傳遞的協議,并廣泛應用于物聯網設備間的通信。本文將介紹如何使用 EPC6450-AWI開發(fā)板 ,以及圖形化設計工具AWFlow Designer將Modbus RTU協議轉換為MQTT協議,實現物聯網設備的數據傳輸與遠程控制。
af29da8c-8996-11ee-9788-92fbcf53809c.jpg ?項目概述

本項目主要將Modbus RTU數據轉換為MQTT消息,然后通過MQTT協議將Modbus采集到的數據以主題消息的形式發(fā)送到MQTT服務器(在PC本地自搭建的emqx代理服務器),最后在PC端的MQTTX客戶端上顯示(MQTTX訂閱相關主題的消息后,即可收到由MQTT服務器轉發(fā)的Modbus數據主題的消息)。具體可以分為以下幾個步驟:

  • Modbus RTU數據采集:通過modbus_master_in節(jié)點去采集Modbus RTU從站設備的數據;
  • 數據轉換:將采集到的Modbus RTU從站設備的數據,通過modbus_parse_in和fscript節(jié)點轉換為有效且能被mqtt_out節(jié)點接收的數據;
  • MQTT發(fā)布:mqtt_out節(jié)點可發(fā)布Modbus主題消息到MQTT云端服務器;
  • MQTT訂閱:由MQTTX客戶端工具訂閱Modbus相關主題,接收并顯示發(fā)布的Modbus主題消息。

af2e0fda-8996-11ee-9788-92fbcf53809c.png

af29da8c-8996-11ee-9788-92fbcf53809c.jpg ?項目準備

客戶可閱讀以下相關文章,對Modbus協議和MQTT協議在EsDA上的使用操作上可以有更多的了解:

  • ModbusRTUMaster轉TCPServer
  • ModbusTCPMaster轉ZWS云
  • IO設備接入MQTT
  • EsDAMPC-ZC1應用——串口服務器(一)

1. 硬件準備

  • 在標有絲印為TF Card 絲印的卡槽處,插入SD卡。
  • 在標有絲印為UTX5和URX5的模塊上,將TTL轉USB串口模塊的TX與板子絲印為RXD連接,TTL轉USB串口模塊的RX與板子絲印為TXD相連;并將串口模塊的USB端口接入電腦。
  • 在標有絲印為Type-C接口處,插上Type-C線,并將Type-C的USB端口插入電腦。
  • 在標有絲印為NET0或 NET1的RJ45網絡插座處,插上網線水晶頭,另一端的網線水晶頭插在PC的網絡插座上。

af3ed90a-8996-11ee-9788-92fbcf53809c.jpg

2. 軟件準備

2.1 網絡搭建因為MQTT服務器是在PC端本地搭建的,所以與開發(fā)板通信的網口網絡和PC的以太網網絡在同一局域網下即可,不需要接入互聯網。出廠固件的NET0默認網口IP為:192.168.137.251,NET1默認網口IP為:192.168.137.252。所以配置PC上的以太網的IP與開發(fā)板的IP地址在同一局域網下如圖所示。

af5254bc-8996-11ee-9788-92fbcf53809c.png

PC端的網口配置成功后,執(zhí)行電腦ping開發(fā)板的操作。

af5d4a70-8996-11ee-9788-92fbcf53809c.png

在應用開發(fā)中,可以使用shell命令行,執(zhí)行開發(fā)板ping電腦的操作。硬件連接上將絲印為DUART的調試串口上接TTL轉USB的串口設備,TTL轉USB設備另一端接PC電腦上(TX接RX,RX接TX);軟件上打開第三方串口助手工具,在設備管理器中查看調試串口的端口信息,在串口助手工具上配置相對應的端口號和波特率(115200)等串口參數,就可以在輸入窗口輸入相關的shell命令了,也可在輸出框查看打印信息。輸入ping + PC設備的IP地址(本機電腦的IP地址是192.168.137.223),在輸出框中可以看到開發(fā)板是可以ping通電腦的(若ping不通可以將電腦端的防火墻關閉了再試試)。至此開發(fā)板和電腦之間互ping結束,網絡搭建完成。

af667910-8996-11ee-9788-92fbcf53809c.png

2.2 MQTT服務器搭建2.2.1 下載EMQX。進入EMQX官網下載EMQX(開源物聯網的MQTT消息服務器),選擇Windows系統(tǒng)下的服務器版壓縮包,點擊下載。af6a79e8-8996-11ee-9788-92fbcf53809c.png2.2.2?對下載的壓縮包解壓后,cmd到bin目錄下執(zhí)行 emqx start 指令啟動MQTT服務器。af786d78-8996-11ee-9788-92fbcf53809c.png2.2.3?在瀏覽器上輸入 http://localhost:18083網址登錄MQTT服務器的網站,可以在此查看和配置MQTT服務器相關的參數,初始用戶名是admin,初始密碼是public。
af809494-8996-11ee-9788-92fbcf53809c.png2.3 MQTTX客戶端使用

用戶可以在【EsDA應用】IO設備接入MQTT 文章中的3.1.1 下載MQTTX章節(jié)查看相關內容,在此不再贅述。

2.4 ModbusSlave安裝并使用2.4.1 下載并安裝Modbus Slave(Modbus從機模擬工具,軟件可以免費試用30天)。

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

af85ee12-8996-11ee-9788-92fbcf53809c.png

2.4.2配置ModbusSlave工具

打開剛才安裝的Modbus Slave軟件。點擊Connection–>Connection Setup,根據用戶實際使用情況配置Modbus串行通信的設備參數,隨后點擊OK即可保存設置。

af919820-8996-11ee-9788-92fbcf53809c.png

點擊Setup->Slave Definition,根據用戶實際使用情況配置Modbus通信協議的從設備參數,點擊OK保存。afab711e-8996-11ee-9788-92fbcf53809c.png配置Modbus從設備對應寄存器的值如下圖。afaf815a-8996-11ee-9788-92fbcf53809c.png
af29da8c-8996-11ee-9788-92fbcf53809c.jpg ?項目實施本項目主要分為以下四個部分:

  1. Modbus RTU Master采集Modbus從站設備寄存器的值;
  2. 將Modbus數據轉換為MQTT協議消息內容的主體;
  3. 開發(fā)板上搭建的MQTT客戶端發(fā)送Modbus主題消息到MQTT服務器;
  4. MQTT服務器將消息轉發(fā)給訂閱Modbus主題的MQTT客戶端。

1. 流圖繪制

添加modbus_master_in,modbus_parse_in,fscript和mqtt_out節(jié)點到畫布中并連線如下圖。

afc52fb4-8996-11ee-9788-92fbcf53809c.png

2. 節(jié)點配置

雙擊modbus_master_in節(jié)點,配置需要讀取的Modbus從機ID和寄存器的參數,該節(jié)點的相關屬性需要與前面配置的Modbus Slave模擬從機工具的參數一致。點擊完成即可保存配置。

afd0c1b2-8996-11ee-9788-92fbcf53809c.png

雙擊modbus_master_in節(jié)點的主機參數配置屬性旁邊的鉛筆圖標配置Modbus主機的參數配置,根據用戶實際需要選擇相關參數。本項目主要是使用rtu傳輸數據,EPC6450-AWI開發(fā)板用絲印為UTX/RX5的串口設備與從站進行Modbus通信。點擊更新即可保存配置。afd495ee-8996-11ee-9788-92fbcf53809c.png雙擊modbus_parse_in節(jié)點,根據用戶實際需要選擇進行數據轉換的方式,該節(jié)點接收modbus輸入形節(jié)點的原始數據,支持將不同數量的寄存器地址的值按序向其消費者節(jié)點進行輸出。點擊完成即可保存配置。afe2b836-8996-11ee-9788-92fbcf53809c.png

雙擊fscript節(jié)點,將讀到的Modbus從站寄存器的值轉換為mqtt_out節(jié)點可以接收的數據類型的值。點擊完成即可保存配置。

var a = "modbus data is "
for(var i=0; i1) { a = join(",",a,array_get(msg.payload, i))}

wb = wbuffer_create()wbuffer_write_string(wb,a)output.payload = wbuffer_get_data(wb)output.payloadLength = len(a)

雙擊mqtt_out節(jié)點,填寫需要發(fā)布的主題名。點擊完成即可保存配置。affcc410-8996-11ee-9788-92fbcf53809c.png雙擊mqtt_out節(jié)點的配置屬性旁邊的鉛筆圖標,相關參數根據用戶實際使用情況填寫,需注意的是主機地址填寫與開發(fā)板網口進行MQTT通信的以太網IP地址,若使用emqx服務器則端口號通用為1883。點擊更新按鈕即可保存配置。

b00c2040-8996-11ee-9788-92fbcf53809c.png

3. 下載驗證

下載AWFlow流圖到核心板中。

用戶在MQTTX上位機上創(chuàng)建一個隨機的MQTT客戶端如下所示,點擊連接按鈕。

b010be20-8996-11ee-9788-92fbcf53809c.png打開EMQX服務器網址,可以看到所有客戶端的連接情況。由下圖可知EPC6450-AWI開發(fā)板上的MQTT客戶端和MQTTX上位機創(chuàng)建的MQTT客戶端都已連接到EMQX服務器上了。b01faf34-8996-11ee-9788-92fbcf53809c.png在MQTTX上創(chuàng)建的客戶端上訂閱開發(fā)板上發(fā)布的Modbus主題名,就可以收到來自MQTT服務器轉發(fā)的Modbus主題消息如下圖所示。至此,Modbus Master RTU轉MQTT協議的項目就已實現。b02bcbf2-8996-11ee-9788-92fbcf53809c.png

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

    關注

    28

    文章

    2123

    瀏覽量

    79606
  • ESDA
    +關注

    關注

    0

    文章

    28

    瀏覽量

    7804
  • RTU
    RTU
    +關注

    關注

    0

    文章

    435

    瀏覽量

    29549
  • MQTT
    +關注

    關注

    5

    文章

    682

    瀏覽量

    23723
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于 DeviceNet MODBUS RTU 協議的施耐德 PLC 與 ABB 電機驅動器倉儲堆垛機的定位控制優(yōu)化方案?

    基于 DeviceNet MODBUS RTU 協議的施耐德 PLC 與 ABB 電機驅動器倉儲堆垛機的定位控制優(yōu)化方案? 案例背景? 物流倉儲中心的自動化程度不斷提升,大量設備協同作業(yè)以實現
    發(fā)表于 05-03 10:45

    Modbus RTUCC-link協議網關(Modbus RTUCC-link)

    特JM-CCLK-RTU應用于支持Modbus RTU接口的變頻器、儀表、上位機、馬保等等。在紡紗設備領域,Modbus RTU
    的頭像 發(fā)表于 09-10 10:28 ?958次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>轉</b>CC-link協議網關(<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>轉</b>CC-link)

    Modbus RTUCC-Link協議網關(CC-LinkModbus RTU

    遠創(chuàng)智控YC-CCLK-RTU型網關實現了CC-Link從站和Modbus RTU主站(從站)。網關作為CC-Link從站接入到CC-Link網絡中,比如連接到三菱PLC。CCLK-RTU
    的頭像 發(fā)表于 09-07 14:59 ?764次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>轉</b>CC-Link協議網關(CC-Link<b class='flag-5'>轉</b><b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>)

    EtherNet/IPModbus-RTU主站網關(EtherNet/IPModbus-RTU

    ,用戶的變頻器采用Modbus RTU通信,耐用通信EtherNet/IPModbus RTU網關作為兩者之間的橋梁,實現PLC對變頻器的
    的頭像 發(fā)表于 09-04 10:55 ?652次閱讀
    EtherNet/IP<b class='flag-5'>轉</b><b class='flag-5'>Modbus-RTU</b>主站網關(EtherNet/IP<b class='flag-5'>轉</b><b class='flag-5'>Modbus-RTU</b>)

    鋇錸技術ModbusMQTT網關:橋接Modbus協議與MQTT協議

    提供了一鍵對接亞馬遜云平臺的解決方案。 BL101網關是鋇錸技術研發(fā)的一款高性能工業(yè)物聯網設備,通過橋接Modbus協議與MQTT通信協議,實現了工業(yè)設備與云端平臺之間的高效互聯。支持Modbus
    的頭像 發(fā)表于 07-30 16:28 ?733次閱讀
    鋇錸技術<b class='flag-5'>Modbus</b><b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關:橋接<b class='flag-5'>Modbus</b>協議與<b class='flag-5'>MQTT</b>協議

    鋇錸ModbusMQTT網關BL101快速對接SCADA系統(tǒng)

    MODBUSMQTT網關設備快速接入SCADA的過程涉及多個步驟,本文將對其進行一個詳細的說明。 1.MODBUS
    的頭像 發(fā)表于 07-30 15:33 ?588次閱讀
    鋇錸<b class='flag-5'>Modbus</b><b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關BL101快速對接SCADA系統(tǒng)

    ModbusMQTT網關輕松將Modbus設備數據轉為MQTT格式,實現與云端平臺的無縫對接

    鋇錸技術ModbusMQTT網關BL101,為一鍵集成ThingsBoard、Ignition、Zabbix等物聯網平臺提供了高效、便捷的解決方案。Modbus
    的頭像 發(fā)表于 07-30 14:02 ?2049次閱讀
    <b class='flag-5'>Modbus</b><b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關輕松將<b class='flag-5'>Modbus</b>設備數據轉為<b class='flag-5'>MQTT</b>格式,實現與云端平臺的無縫對接

    利用鋇錸ModbusMQTT網關實現數據高效上傳至華為云平臺

    云平臺。 一、ModbusMQTT網關 BL101是鋇錸技術精心打造的一款工業(yè)級ModbusMQTT
    的頭像 發(fā)表于 07-30 13:53 ?691次閱讀
    利用鋇錸<b class='flag-5'>Modbus</b><b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關實現數據高效上傳至華為云平臺

    鋇錸Modbus?MQTT網關BL101

    BL101是一款工業(yè)級ModbusMQTT網關,支持Modbus RTU
    的頭像 發(fā)表于 07-30 12:01 ?490次閱讀
    鋇錸<b class='flag-5'>Modbus</b>?<b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關BL101

    基于MQTT協議云平臺的ModbusMQTT網關

    鋇錸ModbusMQTT網關BL100是一款高性能、高性價比的物聯網網關,它支持將Modbus協議(包括Modbus
    的頭像 發(fā)表于 07-29 17:59 ?1140次閱讀
    基于<b class='flag-5'>MQTT</b>協議云平臺的<b class='flag-5'>Modbus</b><b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關

    鋇錸ModbusMQTT網關BL100支持一鍵對接阿里云平臺

    RTU串口設備一鍵對接阿里云 ,為工業(yè)自動化與遠程監(jiān)控提供了高效、可靠的解決方案! 一、BL100網關概述 BL100是鋇錸技術專門針對MQTT協議云平臺、阿里云、華為云等研發(fā)的Modbus
    的頭像 發(fā)表于 07-29 17:37 ?682次閱讀
    鋇錸<b class='flag-5'>Modbus</b><b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關BL100支持一鍵對接阿里云平臺

    MODBUSMQTT網關集成32 位高性能微處理器,實現modbusmqtt

    鋇錸ModbusMQTT網關BL100,是一款基于4G全網通的MODBUSMQTT網關設備,
    的頭像 發(fā)表于 07-29 14:33 ?919次閱讀
    <b class='flag-5'>MODBUS</b><b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關集成32 位高性能微處理器,實現<b class='flag-5'>modbus</b><b class='flag-5'>轉</b><b class='flag-5'>mqtt</b>

    鋇錸MODBUSMQTT網關BL100一鍵解決私有云平臺設備接入量瓶頸

    當大量采用Modbus協議的智能儀表接入時,傳統(tǒng)的輪詢機制導致的數據采集速度慢、服務器負載高、流量消耗大等一系列問題接踵而來。為了解決這些瓶頸,鋇錸技術推出的MODBUSMQTT網關
    的頭像 發(fā)表于 07-29 13:55 ?560次閱讀
    鋇錸<b class='flag-5'>MODBUS</b><b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關BL100一鍵解決私有云平臺設備接入量瓶頸

    PLC協議、Modbus RTU TCP 、DL T645、IEC101-104、BACnet Modbus TCP RTU、OPC UA、MQTT、BACnet IP協議網關

    ,可同時采集不同協議,可定制二次開發(fā),滿足不同場景個性化需求。 二、協議支持 下行采集協議:各種PLC協議、Modbus RTU MasterModbus TCP
    的頭像 發(fā)表于 07-24 16:04 ?1150次閱讀
    PLC協議、<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>  TCP 、DL T645、IEC101-104、BACnet <b class='flag-5'>轉</b><b class='flag-5'>Modbus</b> TCP <b class='flag-5'>RTU</b>、OPC UA、<b class='flag-5'>MQTT</b>、BACnet IP協議網關

    Modbus RTU、Modbus TCPMQTT網關實現Modbus設備與云平臺的無縫通信

    鋇錸ModbusMQTT網關,簡而言之,就是通過將Modbus協議(包括Modbus RTU
    的頭像 發(fā)表于 07-23 16:58 ?4534次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>、<b class='flag-5'>Modbus</b> TCP<b class='flag-5'>轉</b><b class='flag-5'>MQTT</b>網關實現<b class='flag-5'>Modbus</b>設備與云平臺的無縫通信