Modbus現場(chǎng)總線(xiàn)通訊協(xié)議
Modbus協(xié)議是應用于電子控制器上的一種通用語(yǔ)言。通過(guò)此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò )(例如以太網(wǎng))和其它設備之間可以通信。它已經(jīng)成為一通用工業(yè)標準。有了它,不同廠(chǎng)商生產(chǎn)的控制設備可以連成工業(yè)網(wǎng)絡(luò ),進(jìn)行集中監控。此協(xié)議定義了一個(gè)控制器能認識使用的消息結構,而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò )進(jìn)行通信的。它描述了一控制器請求訪(fǎng)問(wèn)其它設備的過(guò)程,如何回應來(lái)自其它設備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內容的公共格式。
當在一Modbus網(wǎng)絡(luò )上通信時(shí),此協(xié)議決定了每個(gè)控制器須要知道它們的設備地址,識別按地址發(fā)來(lái)的消息,決定要產(chǎn)生何種行動(dòng)。如果需要回應,控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其它網(wǎng)絡(luò )上,包含了Modbus協(xié)議的消息轉換為在此網(wǎng)絡(luò )上使用的幀或包結構。這種轉換也擴展了根據具體的網(wǎng)絡(luò )解決節地址、路由路徑及錯誤檢測的方法。
此協(xié)議支持傳統的RS-232、RS-422、RS-485和以太網(wǎng)設備。許多工業(yè)設備,包括PLC,DCS,智能儀表等都在使用Modbus協(xié)議作為他們之間的通訊標準.
Modbus具有以下幾個(gè)特點(diǎn):
(1)標準、開(kāi)放,用戶(hù)可以免費、放心地使用Modbus協(xié)議,不需要交納許可證費,也不會(huì )侵犯知識產(chǎn)權。目前,支持Modbus的廠(chǎng)家超過(guò)400家,支持Modbus的產(chǎn)品超過(guò)600種。
(2)Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線(xiàn)、光纖、無(wú)線(xiàn)等。
(3)Modbus的幀格式簡(jiǎn)單、緊湊,通俗易懂。用戶(hù)使用容易,廠(chǎng)商開(kāi)發(fā)簡(jiǎn)單。
在Modbus網(wǎng)絡(luò )上傳輸
標準的Modbus口是使用一RS-232C兼容串行接口,它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗??刂破髂苤苯踊蚪?jīng)由Modem組網(wǎng)。
控制器通信使用主—從技術(shù),即僅一設備(主設備)能初始化傳輸(查詢(xún))。其它設備(從設備)根據主設備查詢(xún)提供的數據作出相應反應。典型的主設備:主機和可編程儀表。典型的從設備:可編程控制器。
主設備可單獨和從設備通信,也能以廣播方式和所有從設備通信。如果單獨通信,從設備返回一消息作為回應,如果是以廣播方式查詢(xún)的,則不作任何回應。Modbus協(xié)議建立了主設備查詢(xún)的格式:設備(或廣播)地址、功能代碼、所有要發(fā)送的數據、一錯誤檢測域。
從設備回應消息也由Modbus協(xié)議構成,包括確認要行動(dòng)的域、任何要返回的數據、和一錯誤檢測域。如果在消息接收過(guò)程中發(fā)生一錯誤,或從設備不能執行其命令,從設備將建立一錯誤消息并把它作為回應發(fā)送出去。
在其它類(lèi)型網(wǎng)絡(luò )上傳輸
在其它網(wǎng)絡(luò )上,控制器使用對等技術(shù)通信,故任何控制都能初始和其它控制器的通信。這樣在單獨的通信過(guò)程中,控制器既可作為主設備也可作為從設備。提供的多個(gè)內部通道可允許同時(shí)發(fā)生的傳輸進(jìn)程。
在消息位,Modbus協(xié)議仍提供了主—從原則,盡管網(wǎng)絡(luò )通信方法是“對等”。如果一控制器發(fā)送一消息,它只是作為主設備,并期望從從設備得到回應。同樣,當控制器接收到一消息,它將建立一從設備回應格式并返回給發(fā)送的控制器。
查詢(xún)—回應周期
(1)查詢(xún)
查詢(xún)消息中的功能代碼告之被選中的從設備要執行何種功能。數據段包含了從設備要執行功能的任何附加信息。例如功能代碼03是要求從設備讀保持寄存器并返回它們的內容。數據段必須包含要告之從設備的信息:從何寄存器開(kāi)始讀及要讀的寄存器數量。錯誤檢測域為從設備提供了一種驗證消息內容是否正確的方法。
(2)回應
如果從設備產(chǎn)生一正常的回應,在回應消息中的功能代碼是在查詢(xún)消息中的功能代碼的回應。數據段包括了從設備收集的數據:象寄存器值或狀態(tài)。如果有錯誤發(fā)生,功能代碼將被修改以用于指出回應消息是錯誤的,同時(shí)數據段包含了描述此錯誤信息的代碼。錯誤檢測域允許主設備確認消息內容是否可用。
Modbus現場(chǎng)總線(xiàn)實(shí)現
Modbus現場(chǎng)總線(xiàn)實(shí)現
幾乎所有的實(shí)現都是官方標準的某種變體。不同的供應商設備之間可能無(wú)法正確的通信。一些主要的變化有:
數據類(lèi)型
IEEE標準的浮點(diǎn)數
32 位整型數
8位數據
混合數據類(lèi)型
整數中的位域
multipliers to change data to/from integer. 10, 100, 1000, 256 ...
協(xié)議擴展
16位元的從站地址
32位的數據大?。?個(gè)地址 = 返回32位數據)
字交換數據
評論