分布式遠程IO系統(tǒng)耦合器BL200 Modbus現(xiàn)場總線通信
分布式遠程IO系統(tǒng)耦合器BL200 Modbus現(xiàn)場總線通信
Modbus現(xiàn)場總線通信
Modbus 是一種獨立于制造商的開放式現(xiàn)場總線標準協(xié)議,適用于制造和過程自動化中的各種應(yīng)用。
MODBUS 是一種應(yīng)用層消息傳遞協(xié)議,位于 OSI 模型的第 7 層,可以在不同類型的總線或網(wǎng)絡(luò)上連接的設(shè)備之間進行客戶端/服務(wù)器通信。
幾種常用的網(wǎng)絡(luò)如下:
TCP/IP over Ethernet。
多種媒體異步串行傳輸(有線:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A;光纖、無線電等)。
MODBUS PLUS,高速令牌。
MODBUS 是一種請求/應(yīng)答協(xié)議,提供由功能代碼指定的服務(wù)。
MODBUS 協(xié)議允許在所有類型的網(wǎng)絡(luò)架構(gòu)內(nèi)輕松通信。
圖 1:Modbus 網(wǎng)絡(luò)架構(gòu)
MODBUS 協(xié)議定義了一個獨立于底層通信層的簡單協(xié)議數(shù)據(jù)單元 (PDU)。 MODBUS 協(xié)議在特定總線或網(wǎng)絡(luò)上的映射可以在應(yīng)用數(shù)據(jù)單元(ADU)上引入一些附加字段。
圖 2:Modbus數(shù)據(jù)幀
更多關(guān)于 Modbus 開放協(xié)議規(guī)范的細節(jié)可以在網(wǎng)站www.modbus.org查看。
Modbus TCP
Modbus TCP協(xié)議是Modbus協(xié)議的一種變體,該協(xié)議經(jīng)過優(yōu)化,可通過TCP/IP連接進行通信。該協(xié)議設(shè)計用于現(xiàn)場級的數(shù)據(jù)交換(即用于過程映像中的 I/O 數(shù)據(jù)交換)。在服務(wù)端,所有數(shù)據(jù)包都通過端口號為 502 的 TCP 連接發(fā)送。
一般 Modbus TCP 報文如下:
字節(jié) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - n |
定義 | 事務(wù)標識符 | 協(xié)議標識符 (始終為00) | 字段長度 | 從機地址 | Modbus 功能碼 | 數(shù)據(jù) |
Modbus數(shù)據(jù)編碼
MODBUS對地址和數(shù)據(jù)項使用“大端”表示。這意味著當傳輸大于單個字節(jié)的數(shù)字量時,首先發(fā)送最高有效字節(jié)。
Modbus數(shù)據(jù)類型
modbus協(xié)議基于以下基礎(chǔ)數(shù)據(jù)類型:
數(shù)據(jù)類型 | 對象類型 | 訪問類型 | 描述 |
數(shù)字輸入 | 1 bit | 只讀 | 數(shù)字輸入 |
線圈 | 1 bit | 讀/寫 | 數(shù)字輸出 |
輸入寄存器 | 16 bit (word) | 只讀 | 模擬輸入 |
保持寄存器 | 16 bit (word) | 讀/寫 | 模擬輸出 |
表 2:Modbus基礎(chǔ)數(shù)據(jù)類型
對于每個基礎(chǔ)數(shù)據(jù)類型,都定義了一個或多個功能碼。這些功能碼允許數(shù)字或模擬的輸入和輸出數(shù)據(jù),以及內(nèi)部變量被設(shè)置或直接從現(xiàn)場總線節(jié)點中讀取。