引言
在工業(yè)自動化領(lǐng)域,實時數(shù)據(jù)采集對于優(yōu)化生產(chǎn)流程和提高設(shè)備效率至關(guān)重要。Modbus RTU作為一種廣泛應(yīng)用的工業(yè)通信協(xié)議,因其簡單可靠而備受青睞。Node-Red作為一款強(qiáng)大的可視化編程工具,能夠極大地簡化數(shù)據(jù)流的創(chuàng)建與管理,使其成為實現(xiàn)設(shè)備間互聯(lián)互通的理想選擇。
本文將詳細(xì)介紹如何在鋇錸技術(shù)的ARMxy工業(yè)計算機(jī)上使用Node-Red工具,通過Modbus RTU協(xié)議來采集M160T IO模塊的數(shù)據(jù)。通過具體的步驟演示,我們將展示從配置環(huán)境到成功讀取IO模塊信息的全過程。無論您是剛剛接觸工業(yè)物聯(lián)網(wǎng)的新手,還是尋求提升現(xiàn)有系統(tǒng)功能的專業(yè)技術(shù)人員,本文都將為您提供實用的操作指南,幫助您快速掌握這一關(guān)鍵技術(shù)的應(yīng)用技巧。
1 案例說明
案例功能:使用 node-red 工具通過 Modbus/RTU 協(xié)議采集 M160T IO 模塊數(shù)據(jù),再經(jīng)過 MQTT 協(xié)議的轉(zhuǎn)換上傳到上位機(jī)Ubuntu?;?node-red 部署程序,實現(xiàn)獲取 M160T IO 模塊數(shù)據(jù)上傳到上位機(jī)。
圖 1
7.2 案例測試
本案例使用 node-red 工具、M160T IO 模塊和上位機(jī) Ubuntu 通信。請通過網(wǎng)線將設(shè)備 ETH1、上位機(jī)和 M160T 模塊 連接至公網(wǎng),確??烧TL問互聯(lián)網(wǎng)。
下表提供了可用的在線公共 MQTT 服務(wù)器,可根據(jù)需要自行切換。
表 1
服務(wù)器名稱 | Broker地址 | TCOPP端口 | web socket |
HiveMQ | broker.hivemq.com | 1883 | 8000 |
Mosquitto | test.mosquitto.org | 1883 | 80 |
Eclipse | mqtt.eclipseprojects.io | 1883 | 80/443 |
EMQX(國內(nèi)) | Broker-cn.e mqx.io | 1883 | 8083/8084 |
請按下圖所示使用網(wǎng)線連接?M160T ETHERNET?網(wǎng)口,并將電源連接到?DC/IN?接口。
圖?2
1)獲取從機(jī)?IP?地址及端口號
打開“ MxxxT_E?配置軟件?V1.5.1_t?”軟件,執(zhí)行以下操作查詢到?M160T?設(shè)備的?IP?地址和配置端口號。本次查詢?到的 IP 地址是 192.168.1.4,端口號配置為?502。我司提供的“ MxxxT_E?配置軟件?V1.5.1_t ”軟件位于產(chǎn)品資料?“ 程序相關(guān)ToolsWindows?”目錄下。
圖?3
圖?4
找到并雙擊?M160T?設(shè)備。
圖?5
設(shè)備默認(rèn)密碼為?1234。
圖?6
彈出窗口點擊確定。
圖?7
點擊讀取配置選項,獲取當(dāng)前設(shè)備信息。
圖?8
彈出窗口,點擊確定。
圖?9
選取網(wǎng)絡(luò)配置選項。
圖?10
獲取到當(dāng)前設(shè)備?IP?地址為?192.168.1.4,將監(jiān)聽端口配置為?502,連接模式選擇Modbus TCP?模式。
圖?11
點擊寫入配置選項,將配置信息寫入設(shè)備。
圖?12
彈出窗口,提示數(shù)據(jù)保存成功。
圖?13
點擊重啟設(shè)備,重新載入配置。
圖?14
圖?15
2)?Mosquitto工具安裝
Mosquitto 是一款開源的 MQTT 消息代理(服務(wù)器)軟件,提供輕量級的、支持可發(fā)布/可訂閱的的消息推送模?式。本文?node_mqtt.json?案例采用?node-red?與?Mosquitto 工具演示 MQTT 通信協(xié)議的通信功能。由于上位機(jī) Ubun?tu?系統(tǒng)作為通信對象,因此需在 Ubuntu 終端執(zhí)行如下命令安裝 Mosquitto 工具。
Host#????sudo apt-get install mosquitto-clients
圖?14
3)設(shè)備發(fā)布/上位機(jī)訂閱
設(shè)備啟動,執(zhí)行?node-red?程序,將上位機(jī)登錄到?node-red?部署系統(tǒng)。
使用的依賴模塊有:“ node-red-dashboard ??”、“ node-red-contrib-modbus ??”以及自帶的?mqtt?模塊。請參考上方“安裝依賴模塊?”步驟安裝上相應(yīng)依賴模塊。
在上位機(jī)執(zhí)行如下命令,使用mosquitto_sub?工具訂閱?MQTT?主題。
Host#????mosquitto_sub ?-h ?broker.hivemq.com ?-p??1883 ?-t ?modbus/data
參數(shù)解析:
-h: ?指定 MQTT?服務(wù)器;
-p: ?指定 MQTT 服務(wù)器?TCP?端口;
-t: ?定義 MQTT 主題,可自定義命名。
圖?15
為便于測試,我司提供的經(jīng)驗證的?Modbus/TCP?與?MQTT?通信協(xié)議為案例“ node-rednode_red_mqtt?”目錄下的?modbus_mqtt.json 文件。請參考上方“導(dǎo)入節(jié)點文件?”步驟導(dǎo)入對應(yīng)節(jié)點文件。
導(dǎo)入文件成功后,點擊右上角部署按鈕,啟動程序。
圖?16
部署成功后,node-red?將通過?modbus/tcp?協(xié)議采集?M160T IO?模塊數(shù)據(jù)上傳到?MQTT?服務(wù)器,上位機(jī)將從 MQTT?服務(wù)器接收到對應(yīng)的消息。
圖?17
?