18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> PLC基礎及應用 >> 正文

深入理解Modbus協議的數據模型和地址模型,西門子plc的通訊

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2022-04-01

在使用Modbus協議編程的時候,會(hui) 遇到諸如40001、10001之類的地址,比如前麵的文章《實例:S7-200 SMART通過Modbus-RTU讀取溫濕度傳(chuan) 感器數據》,讀取溫濕度傳(chuan) 感器的寄存器地址用的是40001,這究竟是代表什麽(me) 意思呢?今天這篇文章,我們(men) 來談談Modbus協議的數據模型和地址模型,這樣大家就能理解這個(ge) 問題。

深入理解Modbus協議的數據模型和地址模型,西門子plc的通訊
1、Modbus協議的數據模型

數據模型是對可訪問數據的一種抽象,Modbus協議的數據模型定義(yi) 了四種可訪問的數據,分別是:

離散量輸入(Discrete Input);
線圈(Coils);
輸入寄存器(Input registers);
保持寄存器(Holding registers);
其中,離散量輸入和線圈隻支持以位(bit)的方式進行訪問,輸入寄存器和保持寄存器隻支持以字(WORD)的方式進行訪問;離散量輸入和輸入寄存器隻支持以隻讀的方式進行訪問,而線圈和保持寄存器既可以讀也可以寫(xie) ;

數據模型中成員的特點如下麵的表格所示:

 
既然數據模型是一種抽象,在實際使用時必須將其映射到真實的物理存儲(chu) 區才能被訪問。

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

Modbus數據模型映射到不同的存儲(chu) 
圖1:Modbus數據模型映射到不同的存儲(chu) 區塊

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

Modbus數據模型映射到同一區塊 
圖2:Modbus數據模型映射到同一區塊

數據模型中的每一種數據都最多允許有65536個(ge) 元素(編號1~65536),元素的地址編號從(cong) 0開始,因此地址的範圍為(wei) :0~65535;

需要說明的是:65536隻是協議允許的最大元素範圍,但並不要求全部實現。Modbus協議允許設備根據自己的實際情況實現部分元素,甚至不要求實現模型中全部四種數據;

2、Modbus協議的地址模型

為(wei) 了簡化數據模型與(yu) 設備存儲(chu) 區的對應關(guan) 係,引入了一種地址模型。該模型通過編號的方式對不同類型數據進行區分,各數據的地址編號請看下麵的表格:

modbus地址模型 
Modbus地址模型的編號從(cong) 1開始。

由於(yu) 每一種數據都最大支持65536個(ge) 元素,因此理論上,

對於(yu) 線圈型數據來說,其地址範圍為(wei) :000001~065536;

類似的,

離散量輸入,其地址範圍為(wei) :100001~165536;

輸入寄存器,其地址範圍為(wei) :300001~365536;

保持寄存器,其地址範圍為(wei) :400001~465536;

由於(yu) 65536是比較大的數值,實際應用一般不需要這麽(me) 大的存儲(chu) 區,因此PLC廠家普遍采用的是10000以內(nei) 的地址範圍,即:

線圈地址範圍:00001~09999;

離散量輸入地址範圍:10001~19999;

輸入寄存器地址範圍:30001~39999;

保持寄存器地址範圍:40001~49999;

有了該地址模型,我們(men) 就可以從(cong) Modbus寄存器的地址判斷要訪問的區塊的類型。比如本文開頭提到到地址40001就是保持存儲(chu) 器的第一個(ge) 值的地址,而10001就是離散量輸入的第一個(ge) 值的地址;要注意的是,保持寄存器和輸入寄存器的每個(ge) 值的大小為(wei) 16bits(字),而線圈和離散量輸入每個(ge) 值的大小為(wei) 1bit(位);

各PLC廠家根據PLC的實際情況,將Modbus的地址模型映射到實際的存儲(chu) 區。一般來說,線圈對應過程輸出映像區(Q);離散量輸入對應過程輸入映像區(I);輸入寄存器對應模擬量輸入(AI);保持寄存器對應數據塊或V存儲(chu) 區或M存儲(chu) 區。以西門子S7-200 SMART為(wei) 例,其Modbus地址與(yu) 存儲(chu) 器地址的對應關(guan) 係如下表所示:

modbus地址對應的s7-200存儲(chu) 
Modbus地址模型對於(yu) Modbus-RTU/ASCII和Modbus-TCP協議都是適用的。

Tags:Modbus協議  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢