
Modbus 轉 MQTT

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, Czech Republic
文件編號 APP-0087-EN,12 年 2023 月 XNUMX 日修訂。
Modbus 到 MQTT 路由器應用程式
© 2023 Advantech Czech sro 未經書面同意,不得以任何形式或任何方式(電子或機械)複製或傳播本出版物的任何部分,包括攝影、錄音或任何資訊儲存和檢索系統。 本手冊中的資訊如有更改,恕不另行通知,並且並不代表研華的承諾。
Advantech Czech sro 對因提供、執行或使用本手冊而造成的意外或間接損失不承擔任何責任。
本手冊中使用的所有品牌名稱均為其各自所有者的註冊商標。本出版品所使用的商標或其他名稱僅供參考,並不構成商標持有人的認可。
使用的符號
| 危險 – 有關用戶安全或路由器潛在損壞的信息。 | |
| 注意 – 在特定情況下可能出現的問題。 | |
| 資訊——有用的提示或特別感興趣的資訊。 | |
| Examp樂 – 前amp函數、命令或腳本的文件。 |
變更日誌
- Modbus 到 MQTT 變更日誌
v2.0.5
• 將openssl (1.0.2u) 改為靜態函式庫。
v2.0.6
• 新增Azure SAS 令牌產生選項。
• 需要安裝Python3 使用者模組。
• 新增資料類型:雙重世界-框架。
• 在 csv 中新增「位元組交換」字段 file.
• 新增支援的資料類型「String」。
• 為字串資料類型新增「字交換」和「位元組交換」。
v2.0.7
• 在連線/中斷功能中新增顯示mosquitto 錯誤代碼和錯誤訊息。
v2.0.8
• 為AWS 新增上傳本機憑證和本機關鍵功能。
v2.0.9
• 將 modbus 指令最大值從 100 改為 500。
v2.0.10
• 新增每5秒輪詢一次使用者模組進程,如果使用者模組崩潰,它將再次運作。
v2.0.11
• 在 csv 中新增「Custom2 Field」字段 file.
• 在 csv 中新增「傳送群組」字段 file,用於 MQTT 發送群組功能。
• 在csv 中新增「傳送間隔」字段 file,用於 MQTT 發送群組功能。
v2.0.12
• 新增Azure SAS 令牌產生(無需Python3 使用者模組)。 當安裝Python3用戶模組時,它將使用Python產生SAS令牌。
v2.0.13
• 新增了編輯 CSV、CA 憑證、本機憑證和本機私鑰的功能 WebUI。
v2.0.14
• 修正了韌體更新後路由器應用程式 mb2mqtt 載入預設配置時的問題。
v2.0.15
• 修正了在「映射表」頁面中顯示空間值的問題。
• 修正了當配置值為空時映射表頁面中顯示舊值的問題。 v2.0.16
• 對於WADMP:修正了預設值有空格的問題。
v2.0.17
• 支援 2 位元組大小的整數(例如ample:將 0xFFFF 轉換為 -1)。
• 將所有權限設定為 755 file在用戶模組中。
v2.0.18
• 修正了整數到浮點轉換的問題。
• 為MQTT 值新增更多日誌訊息。
v2.0.19
• 將自訂欄位增加到 10 個(CSV 配置欄位:Q、R、UAB)
v2.0.20
修正了設定註解導致管理系統 WADMP 出現問題的問題。
模組說明
此路由器應用程式不包含在標準路由器韌體中。 在設定手冊中描述了此路由器應用程式的上傳(請參閱相關文件一章)。
路由器應用程式與 v2 路由器平台相容。
Modbus to MQTT 是一款路由器應用程序,用於在 Modbus/TCP 設備和 MQTT 設備之間提供無縫通訊。 Modbus to MQTT 作為 Modbus/TCP 主站與 Modbus/TCP 設備通信,並作為 MQTT 發布者/訂閱者與 MQTT 代理通信。
Web 介面
模組安裝完成後,可以透過點擊路由器的 Router Apps 頁面上的模組名稱來呼叫模組的 GUI web 介面.
此 GUI 的左側部分包含具有路由器選單部分的選單。 返迴路由器選單部分從模組的 web 路由器的頁面 web 配置頁面。 模塊GUI主菜單如圖1所示。

- 路由器
永不設置
此路由器應用程式的設定可以在「路由器」選單部分下的「設定」頁面上完成。 設定配置頁面的所有配置項目如下表所示。
物品 描述 服務啟用 啟用,模組的 Modbus 到 MQTT APN 功能已開啟。 記錄啟用 APN 啟用服務日誌。 經紀商地址 輸入遠端代理伺服器位址。 代理伺服器連接埠 輸入代理伺服器連接埠號碼 (1-65535)。 MQTT 保持活動 輸入 MQTT 保活間隔 (1-3600)。 MQTT 服務品質 輸入 MQTT QoS 值 (0,1,2)。 MQTT 保留 啟用訊息保留。 客戶ID 輸入客戶端 ID。 MQTT 匿名 啟用 MQTT 匿名 MQTT 使用者名稱 輸入 MQTT 使用者名稱。 MQTT密碼 輸入 MQTT 密碼。 MQTT TLS 啟用 MQTT TLS。 間隔(毫秒) 輸入 Modbus TCP 輪詢間隔。 超時(毫秒) 輸入 Modbus TCP 逾時。 CSV 配置 上傳 file 此處包含您的 CSV 配置。 CA證書 在此上傳您的 CA 憑證。 本地證書 在此處上傳您的本機憑證。 本地私鑰 在此處上傳您的本機私鑰。 表 1:設定範例amp文件 項目 描述
1.2 配置 file
在Modbus to MQTT中,使用者透過CSV配置Modbus/TCP和MQTT之間的映射 file。 在 csv 中 file,字段分隔符號(定界符)是逗號。

物品 描述 話題 MQTT主題 姓名 用於標識映射的名稱。 IP Modbus 設備 IP 位址。 港口 遠端 Modbus 從裝置的 TCP 連接埠號碼。 設備ID Modbus/TCP 從站 ID。 功能碼 Modbus 功能代碼 (FC)。 在Modbus轉MQTT中,支援的功能碼有:1
01:讀取線圈;
02:讀取離散量輸入;
03:讀保持暫存器;
04:讀輸入暫存器;
05:寫單線圈;
06:寫單一暫存器;
15:寫入多個線圈;
16:寫多個暫存器。地址 指定 Modbus 註冊表的讀取/寫入起始位址。 資料長度 當FC=1、2、5或15時,單位為bit(s)
當FC=3、4、6或16時,單位為字Modbus 資料類型 Modbus 資料類型。
選項:布林值、整數、無符號整數、浮點型資料交換 資料交換欄位決定接收/傳送資料的特定位元組的傳送順序。
None:不交換; 字:0x01、0x02 變成 0x02、0x01;
雙字:0x01、0x02、0x03、0x04 變成 0x04、0x03、0x02、0x01。
雙字 – 幀:0x01、0x02、0x03、0x04 變成 0x04、0x03、0x02、0x01。
四字:0x01、0x02、0x03、0x04、0x05、0x06、0x07980 變成 0x07980、0x05、0x06、0x03、0x04、0x01、0x02。字節交換 選項:真、假
當選項為 True 時:0x01、0x02 變為 0x01、0x02。
0x01、0x02、0x03、0x04 變成 0x01、0x02、0x03、0x04。MQTT 資料類型 MQTT 資料型態。
選項:布林值、整數、無符號整數、浮點型、長整數、無符號乘數 用於乘以資料值的值。 抵銷 用於加/減去資料值的值。 輪詢間隔(毫秒) Modbus 輪詢間隔,單位:毫秒。
取值範圍:1 10000000更改時發送 選擇當modbus從站發生變化時立即發送資料。
選項:是、否自訂字段 自訂值 自訂2字段 自訂值 發送群組 將 MQTT 多條訊息的群組號碼設定為一則訊息。
取值範圍為0~500。值為0時,此功能關閉。發送間隔 為群組發送 MQTT 訊息間隔(以秒為單位)。 值範圍為 1 至 10000 秒。 表2:配置項說明
CSV file 可在路由器應用程式設定中導入研華路由器 WEB 頁。 導入 CSV 後 file 點擊「儲存」按鈕,新的映射配置將立即生效。
1.3映射表
Modbus/TCP 到 MQTT 的對應將顯示在映射表中 WEB 頁。
1.4MQTT資料格式
當 Modbus/TCP FC 為 1、2、3 或 4 時,Modbus to MQTT 將作為 MQTT 發布者將 JSON 格式的 Modbus/TCP 資料發佈到 MQTT 代理。 當Modbus/TCP FC為5、6、15或16時,Modbus to MQTT將作為MQTT訂閱者詢問訂閱訊息,並將數據轉發到Modbus/TCP設備。
這是前任amp從 Modbus 發佈到 MQTT 的 MQTT 資料檔。
請注意,Modbus 到 MQTT 僅驗證接收到的訂閱資訊的主題、名稱和值欄位。

您可以在 Engineering Portal 上取得產品相關文件: 研華網 地址。
若要取得路由器的快速入門指南、使用手冊、設定手冊或韌體,請造訪 路由器型號 頁面,找到所需型號,然後分別切換到「手冊」或「韌體」標籤。
Router Apps 安裝套件和手冊可在 路由器應用程式 頁。
如需開發文檔,請訪問 開發區 頁。
Modbus 轉 MQTT 手冊
文件/資源
![]() |
研華 Modbus 至 MQTT 路由器應用程式 [pdf] 使用者指南 Modbus 至 MQTT 路由器應用程式、Modbus、至 MQTT 路由器應用程式、MQTT 路由器應用程式、路由器應用程式 |




