掃一掃,微信關(guān)注我們
主營(yíng)產(chǎn)品:電子精密天平,電子分析天平,防爆稱(chēng),報警稱(chēng),打印稱(chēng),電子地磅,汽車(chē)衡,叉車(chē)稱(chēng),吊秤
EXD隔爆顯示器帶RS485MODBUS通訊RTU協(xié)議
協(xié)議MODBUS從設備回應數據包格式
(1)回應的數據包與主機查詢(xún)的數據包格式一致;
(2)正?;貞?,功能碼與主機發(fā)送時(shí)的功能碼一致(1-127);
(3)異常的回應時(shí),功能碼要在收到的功能碼的基礎上加128
MODBUS從機協(xié)議實(shí)現
(1)硬件上具備串口(485接口)
(2)硬件上需要一個(gè)精確的毫秒級別的定時(shí)器
STM32編程實(shí)現一個(gè)MODBUS從機協(xié)議
MODBUS通訊的硬件層及底層通訊準備
Modbus 協(xié)議簡(jiǎn)介
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ò )解決節地址、路由路徑及錯誤檢測的方法。
在Modbus網(wǎng)絡(luò )上轉
標準的Modbus口是使用一RS-232C兼容串行接口,它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗??刂破髂苤苯踊蚪?jīng)由Modem組網(wǎng)。
控制器通信使用主—從技術(shù),即僅一設備(主設備)能初始化傳輸(查詢(xún))。其它設備(從設備)根據主設備查詢(xún)提供的數據作出相應反應。典型的主設備:主機和可編程儀表。典型的從設備:可編程控制器。
主設備可單獨和從設備通信,也能以廣播方式和所有從設備通信。如果單獨通信,從設備返回一消息作為回應,如果是以廣播方式查詢(xún)的,則不作任何回應。Modbus協(xié)議建立了主設備查詢(xún)的格式:設備(或廣播)地址、功能代碼、所有要發(fā)送的數據、一錯誤檢測域。
EXD隔爆顯示器帶RS485MODBUS通訊RTU協(xié)議
從設備回應消息也由Modbus協(xié)議構成,包括確認要行動(dòng)的域、任何要返回的數據、和一錯誤檢測域。如果在消息接收過(guò)程中發(fā)生一錯誤,或從設備不能執行其命令,從設備將建立一錯誤消息并把它作為回應發(fā)送出去。
2、在其它類(lèi)型網(wǎng)絡(luò )上轉輸
在其它網(wǎng)絡(luò )上,控制器使用對等技術(shù)通信,故任何控制都能初始和其它控制器的通信。這樣在單獨的通信過(guò)程中,控制器既可作為主設備也可作為從設備。提供的多個(gè)內部通道可允許同時(shí)發(fā)生的傳輸進(jìn)程。
在消息位,Modbus協(xié)議仍提供了主—從原則,盡管網(wǎng)絡(luò )通信方法是“對等"。如果一控制器發(fā)送一消息,它只是作為主設備,并期望從從設備得到回應。同樣,當控制器接收到一消息,它將建立一從設備回應格式并返回給發(fā)送的控制器。
3、查詢(xún)—回應周期
(1)查詢(xún)
查詢(xún)消息中的功能代碼告之被選中的從設備要執行何種功能。數據段包含了從設備要執行功能的任何附加信息。例如功能代碼03是要求從設備讀保持寄存器并返回它們的內容。數據段必須包含要告之從設備的信息:從何寄存器開(kāi)始讀及要讀的寄存器數量。錯誤檢測域為從設備提供了一種驗證消息內容是否正確的方法。
(2)回應
如果從設備產(chǎn)生一正常的回應,在回應消息中的功能代碼是在查詢(xún)消息中的功能代碼的回應。數據段包括了從設備收集的數據:象寄存器值或狀態(tài)。如果有錯誤發(fā)生,功能代碼將被修改以用于指出回應消息是錯誤的,同時(shí)數據段包含了描述此錯誤信息的代碼。錯誤檢測域允許主設備確認消息內容是否可用。
二、兩種傳輸方式
控制器能設置為兩種傳輸模式(ASCII或RTU)中的任何一種在標準的Modbus網(wǎng)絡(luò )通信。用戶(hù)選擇想要的模式,包括串口通信參數(波特率、校驗方式等),在配置每個(gè)控制器的時(shí)候,在一個(gè)Modbus網(wǎng)絡(luò )上的所有設備都必須選擇相同的傳輸模式和串口參數。