跳到內容
返回官網

Modbus RTU 擷取 Modbus Slave 的資料

使用 Modbus Slave 模擬工具模擬 Modbus RTU 從站裝置,使用 Modbus 用戶端【主站】外掛的 Modbus RTU 協定擷取模擬器的資料,將擷取到的資料進行處理之後,即時展示資料。

  • 模擬器

Modbus Slave:從裝置模擬器,主要用來模擬 Modbus 從站裝置,接收主站的命令包,回送資料包。

模擬的連線和點位資訊如下:

key name
協定(Connection) Serial Port
鮑率 19200
資料位元 8
同位檢查位元 None
停止位元 1
Slave ID 1
暫存器型別 Holding Registers
資料型別 Unsigned
  • 裝置

    RSB-3720 裝置

  • 外掛

    Modbus 用戶端【主站】、資料處理外掛、MQTT 上傳外掛

(1)使用 usb 線連線電腦和裝置

(2)Modbus Slave 模擬三個點位資料

- 協定為 Modbus RTU;
- 暫存器型別 Holding Register;
- 資料型別為 uint16;
- 位元組順序為大端模式(AB);
- 點位位址是 0、1 和 2;

(3)使用 Modbus RTU 協定擷取三個 Modbus 點位,資料名稱分別為“X”、“Y”和“Z”,其中“X”計算公式為 {X}/10+8,“Y”計算公式為 {Y}*3.1412,“Z”計算公式為({Z}-10)*5;

(4)根據上述規則的提供的連線方案如下:

(1) Modbus Slave 的模擬設定

a. 開啟【Modbus slave】 → 點選【File】 → 點選【New】,新增一個 Mbslave

  • No Connection:未與任何裝置連線
  • ID=1:從裝置的 Slave ID 為 1,可自訂設定
  • F=3:Function 為 03 Holding Registers(4x),選擇的值與擷取外掛中擷取設定的資料暫存器型別一致
  • 左側的數字 0-7:表示資料的位址。

b. 點選【Connection】 → 點選【Connect…】 → 填寫相關參數 → 點選【OK】

  • Connection:目前 Modbus Slave 模擬的連線協定為 Serial Port;
  • Serial Settings:連線序列埠的設定,
  • 序列埠:Prolific PL2303GT USB Serial COM Port (COM8);
  • 鮑率:19200 Baud;
  • 資料位元:8 Data bits;
  • 同位檢查位元:None Parity;
  • 停止位元:1 Stop Bit

c. 點選【SetUp】 → 點選【Slave Definition…】 → 填寫相關參數 → 點選【OK】

  • Slave ID:從及裝置位址 ID,預設為 1
  • Funtion:暫存器型別,選擇為 03 Holding Register(4x)
  • Address:起始位址,填寫為 0
  • Quantity:暫存器數量個數,填寫為 3

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

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

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

(2) Modbus 用戶端【主站】的擷取設定

a. 連線設定(注:方案名稱必填)

根據 Modbus Slave 模擬器的參數,設定如下:

  • 方案名稱:擷取 rtu
  • 協定:Modbus RTU
  • 介面:ttyUSB5
  • 鮑率:19200
  • 資料位元:8
  • 同位檢查位元:None
  • 停止位元:1
  • 同步擷取:Yes
  • 擷取週期(ms):1000
  • 超時時間:500
  • 擷取時效性(ms):500

b. 新增分組

點選【新增分組】→【填寫資料】→ 點選【完成】,設定如下:

  • 分組名稱:分組一
  • Slave ID:1

注意: IP、埠和 Slave ID 與 Modbus Slave 模擬器保持一致,其中 IP 位址就算模擬器所在裝置的 IP 位址。

c. 新增點位

點選【新增資料】→【填寫資料】→ 點選【確認】,設定如下:

  • 資料別名:X
  • 位址:0
  • 暫存器型別:Holding Registers
  • 資料型別:uint16
  • 暫存器數量:1
  • 位元組順序:AB
  • 讀寫模式:r
  • 計算:{X}/10+8

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

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

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