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