第一篇 串行鏈路上MODBUS協(xié)議應用簡介
Modbus 是由Modicon(現(xiàn)在的施耐德電氣公司)在 1979 年發(fā)明的,是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議。Modbus網(wǎng)絡是一個工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統(tǒng)結構既包括硬件、也包括軟件。Modbus 協(xié)議是應用于電子控制器上的一種通信語言。通過此協(xié)議,控制器互相之間、控制器經(jīng)由網(wǎng)絡和其它設備之間可以通信。它已經(jīng)成為一通用工業(yè)標準。不同廠商生產(chǎn)的控制設備可以連成工業(yè)網(wǎng)絡,進行集中監(jiān)控。
Modbus可以在基于串行鏈路和以太TCP/IP網(wǎng)絡上進行通信。串行鏈路和 TCP/IP 上的 Modbus 是根據(jù)相應 ISO 層模型說明的兩個通信規(guī)程。
下圖強調指出了該標準的主要部分。綠色方框表示規(guī)范?;疑娇虮硎疽延械膰H標準。
01 傳輸模式
本文主要介紹在基于串行鏈路上常用的兩種傳輸模式(ASCII和RTU),Modbus 串行鏈路協(xié)議是一個主-從協(xié)議,在同一時刻,只有一個主節(jié)點,一個或多個子節(jié)點連接于同一串行總線。子節(jié)點不會主動發(fā)送數(shù)據(jù),只有在收到來自主節(jié)點的請求時才會發(fā)送,主節(jié)點在同一時刻只會發(fā)起一個Modbus事務處理。
為了方便理解,我們將主節(jié)點以及子節(jié)點分別稱為主設備和從設備。
主設備可單獨與從設備通信,也能以廣播方式和所有從設備通信。如果是單獨通信,從設備返回消息作為回應;如果是廣播方式查詢的,則不作任何回應。
當數(shù)據(jù)幀到達終端設備(從設備)時,它通過一個簡單的“端口”進入被尋址到的設備,該設備去掉數(shù)據(jù)幀的“信封”(數(shù)據(jù)頭),讀取數(shù)據(jù),如果沒有錯誤,就執(zhí)行數(shù)據(jù)所請求的任務,然后將自己生成的數(shù)據(jù)加入到取得的“信封”中,把數(shù)據(jù)幀返回給發(fā)送者。返回的響應數(shù)據(jù)中包含了以下內(nèi)容:終端從機地址、被執(zhí)行了的命令、執(zhí)行命令生成的被請求數(shù)據(jù)和一個校驗碼。發(fā)生任何錯誤都不會有成功的響應,或者返回一個錯誤指示幀。
Modbus總線拓撲結構
02 MODBUS消息幀
Modbus 協(xié)議定義了一個與基礎通信層無關的簡單協(xié)議數(shù)據(jù)單元(PDU)。特定總線或網(wǎng)絡上的 Modbus 協(xié)議映射能夠在應用數(shù)據(jù)單元(ADU)上引入一些附加域。
通用MODBUS幀
用戶選擇想要的模式,包括串口通信參數(shù)(波特率、校驗方式等),在配置每個控制器的時候,在一個 Modbus 網(wǎng)絡上所有設備都必須選擇相同的傳輸模式和串口參數(shù)。
兩種模式分類
ASCII消息幀結構
RTU消息幀結構
所選的 ASCII 或 RTU 方式僅適用于標準的 Modbus 網(wǎng)絡,它定義了在這些網(wǎng)絡上連續(xù)傳輸?shù)南⒍蔚拿恳晃唬约皼Q定怎樣將信息打包成消息域和如何解碼。
地址域在幀的開始部分,由一個字節(jié)(8 位二進制)組成,十進制位 0255,在我們系統(tǒng)中只使用 1147,其它地址保留。這些位標明了用戶指定的從設備的地址,該設備將接受來自與之相連主設備數(shù)據(jù)。每個從設備的地址必須是唯一的,僅僅被尋址到的從設備會響應包含了該地址的查詢。當從設備發(fā)送回一個響應,響應中的從設備地址數(shù)據(jù)便告訴了主設備是哪臺設備與之進行通信。
功能碼的作用是指明從設備要執(zhí)行的動作。
數(shù)據(jù)域包括附加信息,從設備使用這個信息執(zhí)行功能碼定義的操作。這個域還包括離散項目和寄存器地址、處理的項目數(shù)量以及域中的實際數(shù)據(jù)字節(jié)數(shù)。在某種請求中,數(shù)據(jù)域可以是不存在的(0 長度),在此情況下服務器不需要任何附加信息,功能碼僅說明操作。
錯誤校驗域是對報文內(nèi)容執(zhí)行“冗余校驗”的計算結果。根據(jù)不同的傳輸模式(RTU 或 ASCII)使用兩種不同的計算方法。
-
控制器
+關注
關注
114文章
17067瀏覽量
183762 -
計算機
+關注
關注
19文章
7650瀏覽量
90563 -
MODBUS
+關注
關注
28文章
2091瀏覽量
79340 -
RTU
+關注
關注
0文章
435瀏覽量
29438 -
總線協(xié)議
+關注
關注
0文章
128瀏覽量
15223
發(fā)布評論請先 登錄

Modbus協(xié)議Modbus M16程序及Modbus協(xié)議文檔幾篇
modbus協(xié)議筆記
Modbus協(xié)議是什么?Modbus協(xié)議主要有哪些應用?
Modbus是什么?Modbus協(xié)議有哪些優(yōu)點
介紹Modbus協(xié)議在STM32平臺上的移植
Modbus協(xié)議的介紹和應用及錯誤檢查方法的資料說明

物聯(lián)網(wǎng)網(wǎng)關中的MQTT協(xié)議和Modbus協(xié)議介紹

溫濕度傳感器之RS485通信和Modbus協(xié)議的介紹

評論