跳到內容
返回官網

串列通訊擷取

提供讀寫序列埠功能,用來透過指定格式和本機序列埠通訊,取得或寫入序列埠資料。

(1) 進入 CommBridge 頁面的【智慧孿生】,在左側點選切換至【裝置智聯】。

(2) 依次拖曳 串列通訊、資料處理和 MQTT 上傳外掛到外掛工作區,分別產生三個節點。

(3) 依次連線三個節點,連線順序:串列通訊 → 資料處理 → MQTT 上傳。

(1) 按兩下【串列通訊】,點選【新增方案】按鈕。

(2) 填寫連線設定,點選【下一步】。

(3) 點選【新增設定】,填寫設定資訊,點選【確認】。

(4) 點選下一步,成功進入資料訊框解析頁面。

(5) 點選【新增解析】,填寫點位資料,點選【確認】。

(6) 點選【完成】,成功新增擷取方案。

(7) 開啟方案的開關,點選【儲存】。

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

(2) 點選切換至【智慧孿生】,滑鼠移動至【串列通訊】節點,彈出節點資訊清單。

(3) 點選方案,檢視該方案下各分組的點位即時資料和歷史資料。

擷取即時資料的值為 16 進位制

參數 描述 格式 舉例 備註
方案名稱 使用者自訂該方案的名稱 非空 擷取溫溼度
介面 根據具體裝置上的實際序列埠決定 ttyS0、ttyS1 ttyO3 一般執行在 RS485,取決於 usb 插入的順序
資料位元 表示一組資料實際包含的資料位元數 7、8 8
停止位元 用於表示單個包的最後一位 1、2 1
同位檢查位元 序列埠通訊中一種簡單的驗錯方式 Odd、Even 或 None None
鮑率 衡量符號傳輸速率的參數,表示每秒傳送的符號的個數 11520、57600、38400、19200、9600 或 4800 19200
參數 前提 描述 格式 舉例 備註
名稱 使用者自訂名稱 非空,不能以數字開頭,不能包含.,[]{}();= 距離分組一
訊框模式 資料訊框傳輸模式 HEX 、 ASCII HEX ASCII 運用很少
資料訊框格式 訊框模式決定 正則: ^(?:[0-9a-fA-F]{2} )*[0-9a-fA-F]{2}$ 以空格間隔的十六進位制字串 0f 03 00 00 00 01 85 24
迴圈時間 (ms) 數字 1000
使能 若選擇 disabled,則在資料訊框解析中不能出現,且進行設定 disabled 、 enabled enabled

注意:Serial 一次性只能讀取 20 條資料。

參數 描述 格式 舉例 備註
名稱 使用者自訂名稱 非空 H
解析 byte[3]byte[4]
使能 若選擇 disabled,則在資料訊框解析中不能出現,且進行設定 disabled 、 enabled enabled

訊框模式:

  • HEX:十六進位制,表示 16 種不同的 0~F 的字元
  • ASCII:字符集,能夠表示 128 個不同的字元

ASCII 和 Hex 的主要區別在於它們表示的字元範圍不同。

以下以 Modbus RTU 讀取保持暫存器(功能碼 0x03)的 HEX 請求為例:

裝置位址[1 位元組] 功能碼[1 位元組] 起始位址[2 位元組] 暫存器數量[2 位元組] CRC 檢查[2 位元組]
address 03 AddrH AddrL NumH NumL CRCL CRCH

其中,CRC(循環冗餘檢查)採用 CRC-16/MODBUS,多項式為 X16+X15+X2+1,檢查值低位元組先傳輸。

例如:01 03 00 10 00 01 85 CF

指令 01 03 00 10 00 01 85 CF
說明 裝置位址 讀指令 暫存器起始位址高 暫存器起始位址低 讀取數量高位 讀取數量低位 CRCL CRCH

以下以 Modbus ASCII 讀取保持暫存器(功能碼 0x03)的請求為例。每個原始位元組編碼為兩個 ASCII 十六進位制字元;下表不含起始字元“:”及結束字元 CR/LF:

裝置位址[2 字元] 功能碼[2 字元] 起始位址[4 字元] 暫存器數量[4 字元] LRC 檢查[2 字元]
address 03 AddrH AddrL NumH NumL LRC 的兩個十六進位制字元

其中,LRC(縱向冗餘檢查)將位址、功能碼及資料的原始位元組相加,捨棄超出 8 位元的進位,再取二補數,得到一個位元組的檢查值。計算不包含起始字元「:」及結束字元 CR/LF。