Modbus調試工具用於測試網關能否串連指定的Modbus裝置,同時也可以測試該Modbus裝置所屬產品的物模型是否配置正確。
前提條件
操作步驟
- 登入邊緣計算控制台。
- 在左側導覽列中單擊邊緣執行個體。找到已指派Modbus裝置的執行個體,單擊對應操作欄中的查看。
- 在執行個體詳情頁面裝置與驅動頁簽,單擊全部驅動下的Modbus驅動,再單擊裝置名稱右側的調試。說明 若調試功能為灰色不可用時,請在執行個體詳情頁面右上方單擊重設,重設邊緣執行個體。
- 在通訊通道調試頁面,單擊添加屬性點,配置調試。
- 線圈配置參數說明如下所示。
表 1. 線圈參數說明 參數 描述 地址 線圈的地址。十六進位,以 0x
開頭。根據您自己裝置的屬性地址設定線圈地址。例如,要調試溫度屬性,您裝置的溫度屬性地址為1,則線圈地址可設定為
0x1
。屬性名稱 方便閱讀的功能名稱。 設定屬性名稱,並儲存配置後,在該調試裝置所屬產品的產品詳情頁面功能定義頁簽自訂功能地區框中,功能名稱一列中可看到已設定的屬性名稱。
讀取功能碼 用於讀取或輸入該線圈狀態的功能碼。 寫入功能碼 用於寫入該線圈的功能碼。 說明 讀取功能碼設定為0x02
(輸入狀態)的線圈不支援此功能。當前值 顯示被調試的Modbus裝置所屬產品物模型中設定的測量值,例如光照度、溫度、濕度等的當前值。 操作 - 讀取:向網關發送讀取測量值的指令。網關會嘗試向該裝置發送讀取指令並將結果返回到當前值一欄。
- 寫入:向網關發送寫入測量值的指令。網關會嘗試向該裝置發送寫入指令,並根據結果更新當前值一欄。 說明 讀取功能碼設定為
0x02
(輸入狀態)時不支援寫入指令。 - 刪除:從裝置所屬產品的物模型中刪除此線圈。 重要 執行刪除操作,並儲存配置後,該操作會影響此產品下的所有裝置。
- 寄存器配置參數說明如下所示。
表 2. 寄存器參數說明 參數 描述 地址 屬性的起始地址。十六進位,以 0x
開頭。重要 添加多個配置項時寄存器地址不可重疊,若產生重疊,在儲存配置時會提示配置異常。根據您自己裝置的屬性地址設定寄存器地址。例如,要調試溫度屬性,您裝置的溫度屬性地址為1,則寄存器地址可設定為
0x1
。屬性名稱 方便閱讀的功能名稱。 讀取功能碼 用於讀取該寄存器的功能碼。 寫入功能碼 用於寫入該寄存器的功能碼。 說明- 讀取功能碼設定為
0x04
(輸入寄存器)的寄存器不支援此功能。 - 對於除int16和uint16之外的資料類型,如果想要寫入保持寄存器,請選擇
0x10
功能碼。
資料類型 寄存器的資料類型,可選資料類型有int16、uint16、int32、uint32、int64、uint64、float、double。不同資料類型使用的寄存器個數不同,如本文下方“各資料類型寄存器個數說明”表格所示。 單位 選擇被調試Modbus裝置的測量值單位。 當前值 顯示被調試Modbus裝置的所屬產品物模型中設定的測量值,例如光照度、溫度、濕度等的當前值。 操作 - 讀取:向網關發送讀取測量值的指令。網關會嘗試向該裝置發送讀取指令並將結果返回到當前值一欄。
- 寫入:向網關發送寫入指令,輸入十進位數字。網關會嘗試向該裝置發送寫入指令,並根據結果更新當前值一欄。 說明 讀取功能碼設定為
0x04
(輸入寄存器)時不支援寫入指令。 - 進階:為寄存器配置更多配置項,參數說明請參考本文下方“進階參數配置說明”表格。
- 刪除:從裝置所屬產品的物模型中刪除此寄存器。 重要 執行刪除操作,並儲存配置後,該操作會影響此產品下的所有裝置。
表 3. 進階參數配置說明 參數 描述 交換位元組 此開關控制解析寄存器內部的位元組順序。系統預設使用大端序(big-endian)的解析方式。 - true:使用小端序(little-endian)的解析方式。
- false:使用大端序的解析方式。
樣本1,當寫入12345時,對應的十六進位值為0x3039,當該功能設定為false時,發送/接收順序為30 39;設定為true時,發送/接收順序為39 30。
樣本2,若使用0x10功能碼向slaveID為1的從站發送寫入保持寄存器的RTU報文,當該功能設定為false時,報文完整內容是:01 10 02 00 01 30 39 F7 E1;設定為true時,報文完整內容是:01 10 02 00 01 39 30 33 14。
交換寄存器 此開關控制解析寄存器的順序(僅在除int16、uint16的資料類型中有效)。系統預設認為較高位的數值在較低地址的寄存器中,因此先解析較低地址的寄存器,即先發送較高位的資料。 例如,發送int64資料類型的資料:0x1234567890ABCDEF到裝置端,會拆分成4個寄存器發送(假設上文中交換位元組設定為false),當該功能設定為false時,發送順序為12 34 56 78 90 AB CD EF;設定為true時,發送順序為CD EF 90 AB 56 78 12 34。
縮放因子 設定如何縮放裝置的未經處理資料。通常情況下,浮點運算效能較差時會以整數型表示浮點型,如果裝置使用此方案,則可以使用縮放因子縮放裝置的未經處理資料。 例如裝置使用1234表示12.34時,縮放因子參數應當設定為0.01。此時所有向該裝置設定的數值,會被自動乘以100並發送到裝置上,當雲端或控制台設定12.34數值時,驅動會自動將12.34轉換為1234發送到裝置上。反過來,裝置發送的1234也會被驅動轉換為12.34發送到雲端或其他裝置上。
表 4. 各資料類型寄存器個數說明 資料類型 暫用寄存器個數 描述 int16 1 16位有符號整型 uint16 1 16位無符號整型 int32 2 32位有符號整型 uint32 2 32位無符號整型 int64 4 64位有符號整型 uint64 4 64位無符號整型 float 2 單精確度浮點型(32位) double 4 雙精確度浮點型(64位) - 讀取功能碼設定為
- 線圈配置參數說明如下所示。
- 配置調試完成後,單擊儲存配置,將產品的功能定義更新到伺服器中。 系統彈出儲存成功的提示,表示資料已經儲存到伺服器中。說明 儲存配置後,配置項所設定的內容會在該調試裝置所屬產品的產品詳情頁面功能定義頁簽的自訂功能地區框中,產生一條自訂功能,該條自訂功能中的標識符,是在儲存配置後系統自動產生的標識符。產生原理如下所示。
標識符是物模型中Identifier參數的值,Identifier參數是由
寄存器類型_4位十六進位地址
該規範產生。例如,設定配置項中的讀取功能碼為01時,寄存器類型為coilStatus;設定地址為0x00,則4位十六進位地址是0000,因此Identifier的值(即標識符)為coilStatus_0000。
其他動作
- 重設:在配置調試頁面左下方單擊重設,可重設當前已配置的內容
- 通道設定:在配置調試頁面右上方單擊通道設定,可修改該Modbus通訊通道的參數,設定完成後需單擊確定儲存修改。
- 調試日誌:在通訊通道調試頁面單擊調試日誌,可查看調試日誌資訊;單擊清屏可清除該頁面日誌資訊。
功能碼與寄存器/線圈類型對應表
類型 | 功能碼 | 對應操作類型(operateType) |
線圈(線圈狀態) | 0x01 | coilState |
輸入狀態(輸入線圈) | 0x02 | inputState |
保持寄存器 | 0x03 | holdingRegister |
輸入寄存器 | 0x04 | inputRegister |