Modbus TCP 擷取 Modbus Slave 的資料
使用 Modbus Slave 模擬工具模擬 Modbus TCP 從站裝置,使用 Modbus 用戶端【主站】外掛的 Modbus TCP 協定擷取模擬器的資料,將擷取到的資料進行處理之後,即時展示資料。
2. 使用模擬器、裝置和外掛
Section titled “2. 使用模擬器、裝置和外掛”- 模擬器
Modbus Slave:從裝置模擬器,主要用來模擬 Modbus 從站裝置,接收主站的命令包,回送資料包。
模擬的連線和點位資訊如下:
| key | name |
|---|---|
| 協定(Connection) | Modbus TCP/IP |
| IP 位址 | 0.0.0.0 |
| 埠號 | 502 |
| Slave ID | 1 |
| 暫存器型別 | Holding Registers |
| 資料型別 | Unsigned |
-
裝置
RSB-3720 裝置
-
外掛
Modbus 用戶端【主站】、資料處理外掛、MQTT 上傳外掛
(1) Modbus Slave 模擬三個點位資料
- 協定為 Modbus TCP;- 暫存器型別 Holding Register;- 資料型別為 uint16;- 位元組順序為大端模式(AB);- 點位位址是 0、1 和 2;(2) 使用 Modbus TCP 協定擷取三個 Modbus 點位,資料名稱分別為“X”、“Y”和“Z”,其中“X”計算公式為 {X}/10,“Y”計算公式為 {Y}**3,“Z”計算公式為{Z}*3.1412;
(3) 根據上述規則的提供的連線方案如下:

4. 關鍵步驟
Section titled “4. 關鍵步驟”(1) Modbus Slave 的模擬設定

1). 開啟【Modbus slave】 → 點選【File】 → 點選【New】,新增一個 Mbslave
- No Connection:未與任何裝置連線
- ID=1:從裝置的 Slave ID 為 1,可自訂設定
- F=3:Function 為 03 Holding Registers(4x),選擇的值與擷取外掛中擷取設定的資料暫存器型別一致
- 左側的數字 0-7:表示資料的位址。

2). 點選【Connection】 → 點選【Connect…】 → 填寫相關參數 → 點選【OK】
- Connection:目前 Modbus Slave 模擬的連線協定為 Modbus TCP/IP;
- IP Address:填寫模擬裝置的 IP,預設為 0.0.0.0(外掛實際連線時應該填寫模擬器所在的 PC 的 IP 位址);
- Port:填寫模擬裝置的埠號,預設為 502

3). 點選【SetUp】 → 點選【Slave Definition…】 → 填寫相關參數 → 點選【OK】
- Slave ID:從及裝置位址 ID,預設為 1
- Funtion:暫存器型別,選擇為 03 Holding Register(4x)
- Address:起始位址,填寫為 0
- Quantity:暫存器數量個數,填寫為 3

4). 選擇三個點位資料 → 點選【Didplay】 → 選擇【Unsigned】

5). 按兩下第一行資料 → 填寫 value 為 88 → 點選【OK】

6). 依次填寫第二個和第三點位為 12 和 35

(2) Modbus 用戶端【主站】的擷取設定
1). 連線設定(注:方案名稱必填)
根據 Modbus Slave 模擬器的參數,設定如下:
- 方案名稱:擷取 slave
- 協定:Modbus TCP
- 同步擷取:Yes
- 擷取週期(ms):1000
- 超時時間:500
- 擷取時效性(ms):500

2). 新增分組
點選【新增分組】→【填寫資料】→ 點選【完成】,設定如下:
- 分組名稱:分組一
- Slave ID:1
- IP:172.21.78.157
- 埠:502
注意: IP、埠和 Slave ID 與 Modbus Slave 模擬器保持一致,其中 IP 位址就算模擬器所在裝置的 IP 位址。

3). 新增點位
點選【新增資料】→【填寫資料】→ 點選【確認】,設定如下:
- 資料別名:X
- 位址:0
- 暫存器型別:Holding Registers
- 資料型別:uint16
- 暫存器數量:1
- 位元組順序:AB
- 讀寫模式:r
- 計算:{X}/10

(1) 點選【裝置智聯】的【部署】按鈕,部署成功。

(2) 切換至【智慧孿生】,滑鼠移動到 Modbus 用戶端【主站】節點 → 點選【擷取 slave】→ 檢視擷取到的【即時資料】。

(3) 滑鼠移動到資料處理節點 → 點選【擷取 slave】→ 檢視處理後的【即時資料】.
