基於MThings實現MODBUS寄存器中位數據的讀寫操作

背景


寄存器中按位定義數據的方法存在於很多廠家設備的MODBUS數據協議中。區別於線圈狀態(RW)和離散輸入(RO),寄存器中通過定義組合位數據,更有利於高效傳輸狀態信息和設置開關量。

由於位數據被定義在寄存器中,其讀寫操作必須遵循寄存器的讀寫流程。RO位數據要求從機以拼裝的方式同時上報相關的位數據,而在向RW位數據寫入位數據時,主機需要攜帶其他位數據的當前值一併下發至從機。這些處理過程相比較線圈狀態(RW)和離散輸入(RO)的讀寫操作更加複雜。

目前普通的MODBUS調試調測軟件都不具備這種情形下的主從機模擬能力。

MThings提供的能力


  1. 讀寫寄存器位數據(BIT),同時支持輸入寄存器和保持寄存器。

  2. 不僅支持單BIT數據,而且支持寄存器範圍內的多BIT定義。

  3. 支持BIT數據定義跨寄存器。

  4. 支持位數據仿真模擬。

  5. 支持位數據曲線繪製。

寄存器位數據的設計約束


  1. 寄存器位數據的傳輸類型必須爲無符號整形。

  2. 寄存器位數據的呈現類型必須爲十進制整形。

  3. 位數據的位數 < 寄存器個數*16。

  4. 基於寄存器所配置的字節序或字序,位序的編號從0開始,0代表最低位。

數據配置方法


寄存器數據中增加“位偏移”、“位數”配置項。

位偏移即爲起始位號,默認爲0;位數代表該數據所佔用BIT數據,默認爲寄存器個數*16。

數據配置默認狀態下非啓用位數據,需要用戶編輯指定。

示例:

寄存器位數據可以解決什麼問題


  1. MThings提供的位數據讀寫方法可以直觀的將寄存器位數據拆分爲獨立數據進行操作,工具軟件保證了各項操作的準確性。
  2. 將寄存器位數據同等視爲一項協議數據,提供對等的服務支持,包含曲線、仿真模擬等。
  3. 獨立的位數據操作不影響輪詢性能,MThings後臺智能組合位數據,不會額外增加交互次數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章