
Modbus協議是應用非常廣泛的一種通信協議規約,也是最早應用在工業現場的協議。
早在1979年出現工業串行鏈路以來,Modbus的應用就開始普遍起來,它使得各種自動化設備之間的互相通信得到實現,做嵌入式產品開發的朋友應該不會陌生,Modbus的身影是隨處可見的。并且在中國Modbus都已經形成了規范的標準,都有相應的國標的文件可以查閱到的。
有興趣的朋友可以查閱標準文件:
(資料圖片僅供參考)
《GBT 19582.1-2008 基于Modbus協議的工業自動化網絡規范 第1部分:Modbus應用協議》
《GBT 19582.2-2008 基于Modbus協議的工業自動化網絡規范 第2部分:Modbus協議在串行鏈路上的實現指南》
《GBT 19582.3-2008 基于Modbus協議的工業自動化網絡規范 第3部分:Modbus協議在TCP∕IP上的實現指南》
雖然有標準文件的存在,查閱也很方便,但是對初學者和從沒接觸過Modbus的朋友來說,想要用于開發需要花費不少的時間去研究國標文件,費時間也費腦子。所以我想根據自己在項目開發中使用Modbus協議的經驗對該協議進行拆解,有順序的講解Modbus的重要內容,幫助大家快速理解Modbus協議,可以做到快速應用于項目中進行協議的開發。
靈魂一問:Modbus是什么?
Modbus本質上是一種應用層上的報文協議,屬于OSI模型上的應用層,它可以支持在多種不同類型總線上的設備之間進行通信,當然也一樣支持以太網中應用。看下面的圖片:
Modbus協議在設備端上實現的是一種主/從的通信協議結構,即請求/應答的通信模型。這怎么理解呢?其實就是使用了Modbus協議進行通信的設備中有一個設備要作為主機,其他的都作為從機,通信就是在主機和從機之間進行的。示意圖如下:
Modbus常見的通信鏈路
Modbus應用很廣泛,幾乎可以應用在任何能夠進行數據交互的場景中。在設備之間應用Modbus協議時,對使用何種物理鏈路進行數據流動并沒有限制。
比如常用的有線方式:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A、光纖、網線等。以及很多的無線方式等等的。實現的都是串行鏈路上的異步通信方式,同一時刻允許數據流向某一端的設備,不能同時出現兩端流動。Modbus的通信棧如下:
Modbus應用中常見的一些專業名詞
在應用Modbus的時候經常可以看到一些專業名詞以及英文縮寫,它們都是有著專業的含義和代表意義的。常見的縮略語如下:
ADU :應用數據單元 HDLC :高級數據鏈路控制 HMI :人機界面 IETF :因特網工程工作組 I/O :輸入/輸出設備 IP :互連網協議 MAC :介質訪問控制 MB :MODBUS 協議 MBAP :MODBUS 協議 PDU :協議數據單元 PLC:可編程邏輯控制器TCP :傳輸控制協議 2W :在 “電氣接口” 一章中定義的兩線制配置,或其中的一個接口。 4W :在 “電氣接口” 一章中定義的四線制配置,或其中的一個接口。 2W+2W :在兩線制系統中使用四線制接口的特殊配置。(需要時可參見 Schneider Electric Momentum 文件 870 USE 101 10)。 AUI :連接單元接口 (Attachment Unit Interface) 公共端 :EIA/TIA 標準中的信號公共端 (Common)。在兩線制或四線制 RS485Modbus 網絡中, 信號和可選的電源的公共端。Power Supply 公共端 DCE :一個 Modbus 設備。例如, 實現了 RS232數據電路設備 (Data-Circuit Equipment) 的 可編程序控制器適配器。也稱作數據通信設備(Data Communication Equipment)。 設備 :Modbus 設備 驅動器:發生器,或發送器 DTE:一個 Modbus 設備。例如, 實現了 RS232 數據終端設備 (Data Terminal Equipment)編程終端或 PC ITr :干纜側的物理總線接口 (Interface on Trunk Side)。 IDv :設備側的物理總線接口 (Interface on Derivation Side)。 LT :線路終端(Line Termination)。 Modbus :設備 實現了 Modbus 串行鏈路并遵循技術規范的設備。 RS232 :EIA/ TIA -232 標準。 RS485 :EIA/ TIA -485 標準。 RS485 :Modbus 與該技術標準一致的兩線制或四線制網絡
標簽: