自動控制網—學習自動控制技術電氣自動化技術從這里開始!
當前位置: 自動控制網 > 工業通訊 >

MODBUS協議的數據模型

時間:2020-08-14 18:13來源:www.yangxinkx.com 編輯:自動控制網
數據模型是對可訪問數據的一種抽象,MODBUS協議的數據模型定義了四種可訪問的數據,分別是: ◆離散量輸入(Discrete Input); ◆線圈(Coils); ◆輸入寄存器(Input registers); ◆保持寄存器(Holding registers); 其中,離散量輸入和線圈只支持以位(bit)的

數據模型是對可訪問數據的一種抽象,MODBUS協議的數據模型定義了四種可訪問的數據,分別是:
◆離散量輸入(Discrete Input);
◆線圈(Coils);
◆輸入寄存器(Input registers);
◆保持寄存器(Holding registers);
其中,離散量輸入和線圈只支持以位(bit)的方式進行訪問,輸入寄存器和保持寄存器只支持以字(WORD)的方式進行訪問;離散量輸入和輸入寄存器只支持以只讀的方式進行訪問,而線圈和保持寄存器既可以讀也可以寫。

本文來自www.yangxinkx.com


數據模型中成員的特點如下面的表格所示:
MODBUS協議定義的數據模型

自動控制網www.yangxinkx.com版權所有


區塊               訪問長度      訪問方式    說明
離散量輸入     位(bit)         只讀            數據由IO系統提供
線圈               位(bit)         讀/寫           可通過應用程序改寫
輸入寄存器     字(word)     只讀            數據由IO系統提供
保持寄存器     字(word)     讀/寫           可通過應用程序改寫
既然數據模型是一種抽象,在實際使用時必須將其映射到真實的物理存儲區才能被訪問。

自動控制網www.yangxinkx.com版權所有


MODBUS協議允許設備將四種數據分別映射到不同的存儲區塊中,各個區塊之間相互獨立,使用不同的功能碼可讀取到不同的數值,如下圖所示:
MODBUS數據模型映射到不同的存儲區塊
圖1 MODBUS數據模型映射到不同的存儲區塊

MODBUS協議也允許設備將四種數據映射到同一存儲區塊中,這樣通過不同的功能碼讀取數據可能會得到相同的數據(比如:輸入寄存器和保持寄存器為同一物理區塊),如下圖所示:
MODBUS數據模型映射到同一區塊
圖2 MODBUS數據模型映射到同一區塊

數據模型中的每一種數據都最多允許有65536個元素(編號1-65536),元素的地址編號從0開始,因此地址的范圍為:0-65535。需要說明的是:65536只是協議允許的最大元素范圍,但并不要求全部實現。MODBUS協議允許設備根據自己的實際情況實現部分元素,甚至不要求實現模型中全部四種數據; 自動控制網www.yangxinkx.com版權所有
本文已影響