首頁 | 收藏本站 | 免費注冊|申請VIP會員|固定排名|廣告服務
中國電氣自動化網首頁
PLC | 電  機 | 變 頻 器 | 人機界面 | 運動伺服 | 控制傳動 | 自動化軟件
DCS | 傳感器 | 通信網絡 | 現場總線 | 數據采集 | 電氣開關 | 數傳測控
電源 | 嵌入式 | 儀器儀表 | 低壓電器 | 機器視覺 | 工業安全 | 工控機
模具 | 電線電纜 | 電子元件 | 成套設備 | 液壓氣動 | 制 冷
機床 | 電力能源 | 機械設備 | 石油化工 | 礦業冶金 | 水工業
物流 | 軌道交通 | 汽車電子 | 工程機械 | 輸 配 電 | 電 梯
產品 企業 供求 新聞
下載 視頻 招聘 期刊 會展 培訓 庫存 論壇 訪談 維修  
熱詞:嵌入式 傳感器 電源 主板 工控機 PLC 人機界面 變頻器

您現在的位置:中國電氣自動化網首頁 >> 文庫首頁>>詳細信息

以SimpleWiFi串口轉WiFi為例說明Modbus TCP 與 Modbus RTU的區別 
(發布日期:2018-9-26 18:00:17) 來源:
 
   

Modbus TCP Modbus RTU的區別

Modbus通信協議由Modicon公司(現已經為施耐德公司并購,成為其旗下的子品牌)于1979年發明的,是全球最早用于工業現場的總線規約。由于其免費公開發行,使用該協議的廠家無需繳納任何費用,Modbus通信協議采用的是主從通信模式(即Master/Slave通信模式),其在分散控制方面應用極其廣泛,從而使得Modbus協議在全球得到了廣泛的應用。

Modbus通信協議具有多個變種,其具有支持串口(主要是RS-485總線),以太網多個版本,其中最著名的是Modbus RTU,Modbus ASCII和Modbus TCP三種。其中Modbus RTU與Modbus ASCII均為支持RS-485總線的通信協議,其中Modbus RTU由于其采用二進制表現形式以及緊湊數據結構,通信效率較高,應用比較廣泛。而Modbus ASCII由于采用ASCII碼傳輸,并且利用特殊字符作為其字節的開始與結束標識,其傳輸效率要遠遠低于Modbus RTU協議,一般只有在通信數據量較小的情況下才考慮使用Modbus ASCII通信協議,在工業現場一般都是采用Modbus RTU協議,一般而言,大家說的基于串口通信的Modbus通信協議都是指Modbus RTU通信協議。

在此我們著重討論Modbus RTU協議,而Modbus TCP協議則是在RTU協議上加一個MBAP報文頭,由于TCP是基于可靠連接的服務,RTU協議中的CRC校驗碼就不再需要,所以在Modbus TCP協議中是沒有CRC校驗碼,用一句比較通俗的話說就是:Modbus TCP協議就是Modbus RTU協議在前面加上五個0以及一個6,然后去掉兩個CRC校驗碼字節就OK.雖然這句話說得不是特別準確,但是也基本上把RTU與TCP之間的區別說得比較清楚了。

RTU協議中的指令由地址碼(一個字節),功能碼(一個字節),起始地址(兩個字節),數據(N個字節),校驗碼(兩個字節)五個部分組成,其中數據又由數據長度(兩個字節,表示的是寄存器個數,假定內容為M)和數據正文(M乘以2個字節)組成,而RTU協議是采用3.5個字節的空閑時間作為指令的起始和結束,一般而言,只有當從機返回數據或者主機寫操作的時候,才會有數據正文,而其他時候比如主機讀操作指令的時候,沒有數據正文,只需要數據長度即可。(本章的討論只涉及寄存器的讀寫,其他比如線圈的讀寫指令我們暫時不涉及)。在此我們通過兩個指令(0x03H:讀多個寄存器指令以及0x10H:寫多個寄存器指令)來解釋Modbus RTU協議。我們使用的RTU設備是北京博安瑞通科技的SimpleWiFi串口轉WiFi模塊。

S2W-M02采用UAER進行通訊,支持串口轉WiFi,我們只講述通過WiFi網絡讀取開關量輸出的狀態以及通過WiFi寫指令控制開關量的輸出。其中儲存開關量輸出狀態的四個寄存器分別:0x18E,0x18F,0x190,0x191。在此我們假設模塊的地址為默認的0x01,當我們要去讀取開關量輸出對應的四個寄存器的狀態的時候,我們下發的十六進制的指令為:“01 03 01 8E 00 04 25 DE”,其中“01”為模塊的地址碼,“03”為功能碼,即表示讀寄存器,“01 8E”為寄存器地址,即從該寄存器地址開始讀取數據,“00 04”則表示讀取4個寄存器,而“25 DE”則為前面“01 03 01 8E 00 04”的CRC校驗碼,該數值通過CRC16校驗算法計算出來的,我們會在其他文章中闡述。該指令的完整解讀就是,在地址碼為“01”的模塊中,從“01 8E”寄存器開始,讀取4個寄存器的數據返回至主機。在此,我們可以看到,讀取指令中并沒有什么數據正文,因為它只是讀取相應數量的寄存器,并不需要數據正文,而寫操作指令則相反,我們會在后面講到。

模塊返回的指令是:“01 03 08 00 01 00 01 00 01 00 01 28 D7”,返回的指令內容解讀就是:“01”表示模塊的地址碼,“03”表示該指令是讀操作返回的指令,“08”表示數據長度,在此表示的是8個字節數據正文(即4個寄存器,每個寄存器兩個字節表示),“00 01 00 01 00 01 00 01”是數據正文,表示四個寄存器的狀態,“28 D7”就是CRC16校驗碼。

同樣的當我們執行寫操作的是,我們舉例寫第一個開關量輸出,即寄存器“0x18E”,主機下發的指令為:“01 10 01 8e 00 01 02 00 00 A8 7E”,該指令的解讀就是:“01”表示模塊的地址,“10”表示該指令為寫寄存器,“01 8E”表示從該寄存器地址開始執行寫操作指令“00 01”表示寫多少個寄存器,在此為寫1個寄存器,“02”表示數據長度,表示數據長度為兩個字節,“00 00”表示寫入寄存器的數據,在此表示連通,“A8 7E”為CRC校驗碼。模塊返回的指令和讀取寄存器的返回的指令類似。

前文所述,Modbus TCP協議是在RTU協議前面添加MBAP報文頭,共七個字節長度,其分別的意義是:1.傳輸標志,兩個字節長度,標志Modbus詢問/應答的傳輸,一般默認是00 00。2.協議標志,兩個字節長度,0表示是Modbus,1表示UNI-TE協議,一般默認也是00 00。3.后續字節計數,兩個字節長度,其實際意義就是后面的字節長度,具體情況詳見下文。4.單元標志,一個字節長度,一般默認為00,單元標志對應于Modbus RTU協議中的地址碼,當RTU與TCP之間進行協議轉換的時候,特別是Modbus網關轉換協議的時候,在TCP協議中,該數據就是對應RTU協議中的地址碼,具體情況詳見下文。

通過上面的描述我們差不多能夠理解Modbus RTU協議,我們再說說Modbus TCP通信協議,前面就已經說過TCP協議就是在RTU協議的基礎上去掉校驗碼以及加上五個0和一個6,當是讀取相關寄存器的時候,該說法是沒有錯的,比如上文的“01 03 01 8E 00 04 25 DE”讀取指令,用TCP協議來表述的話,指令是“00 00 00 00 00 06 00 03 01 8E 00 04”,由于TCP是基于TCP連接的,不存在所謂的地址碼,所以06后面一般都是“00”(當其作為Modbus網關服務器掛接多個RTU設備的時候,數值從01-FF).即“00 03 01 8E 00 04”對應的是RTU中去掉校驗碼的指令,前面則是五個0以及一個6。其中6表示的是數據長度,即“00 03 01 8E 00 04”有6個字節長度。而當其為寫操作指令的時候,其指令是“00 00 00 00 00 09 01 10 01 8e 00 01 02 00 00”,其中“00 09”表示后面有9個字節。

Modbus RTU與Modbus TCP讀指令對比:

ModBus1.png


指令的涵義:從地址碼為01(TCP協議單元標志為00)的模塊0x18E(01 8E)寄存器地址開始讀(03)四個(00 04)寄存器。

Modbus RTU與Modbus TCP寫指令對比

 Modbus2.png

指令的涵義:從地址碼為01(TCP協議單元標志為00)的模塊0x18E(01 8E)寄存器地址開始寫(10)一個(00 01)寄存器,具體數據長度為2個字節(02),數據正文內容為00 00(00 00)。

通過串口抓包我們知道了,Modbus TCP與Modbu RTU的區別。我們可以看出在SimpleWiFi系列的串口轉WiFi模塊S2W-M02以及S2W-M03內部的Modbus支持,就是按照上述協議進行轉換。主要完成了WiFi接收到網絡層的modbus協議后,將modbus TCP頭部的幾個自己去掉。然后在數據包的結尾增加CRC的校驗即可。


 
北京博安瑞通科技有限責任公司
所在區域: 北京.北京 郵編: 100070
公司地址: 豐臺區新村四里 聯系人:張民 先生 ()
辦公電話: 010-61223246 傳真: 沒填
移動電話: 15601091495 電郵: 登錄查看或通過本網留言
公司主頁: http://www.bo-antech.com
通過中國電氣自動化網在線聯系該用戶:
關于:
需求意向:
* 驗證碼: 點擊可刷新
 
用戶: 密碼:  
如果您還不是中國電氣自動化網(www.0551114.cn)的注冊用戶,立刻免費注冊

   企業新聞 更多
· 皮爾磁:讓工業燃燒器更加安全智能...
· 皮爾磁:當機械安全遇上工業信息安...
· 皮爾磁:全新的生命周期平臺能帶來...
· 皮爾磁:SIL 4級FNmux獲...
· 皮爾磁重磅亮相2025廣州應急安...
· 皮爾磁:安全是新能源時代的通行證...
· 皮爾磁:工業自動化網絡架構的“新...
· 皮爾磁:CE認證新規:用戶不可不...
  產品新聞 更多
· 皮爾磁:一把“小門鎖”,輕松拿捏...
· 皮爾磁:安全與可持續性相輔相成...
· 皮爾磁:IO-Link Safe...
· 皮爾磁:模塊化安全繼電器功能升級...
· 皮爾磁:安全光幕的“人貨區分”功...
· 皮爾磁:卷出新高度,安全開關都開...
· 皮爾磁:如何駕馭氫能這把“雙刃劍...
· 皮爾磁:工業安全新“勢力”——安...

廣告服務 | 關于我們 | 網站地圖 | 分類索引 | 服務條款 | VIP會員服務 |《電氣自動化企業大全》| 版權聲明

客服專線:0898-68552405     媒體合作QQ:910167442
中國電子商務服務聯盟成員單位 瓊ICP備17003754號
中國電氣自動化網 版權所有 © Copyright By Electric Automation of China

主站蜘蛛池模板: 18禁超污无遮挡无码网址| 亚洲午夜理论无码电影| 婷婷色色狠狠爱| 日本午夜精品一区二区三区电影 | 2021国产精品成人免费视频| 亚洲国产成人久久精品软件| 国产96在线 | 韩国| 99国精品午夜福利视频不卡99| 久久国产精品福利一区二区三区 | 少妇爽到呻吟的视频| 国产午夜福利在线视频| 久久国产av影片| 国产SUV精品一区二区四| 日韩一区精品视频一区二区| 少妇人妻偷人激情视频| 国产品无码一区二区三区在线| 黑人巨茎大战欧美白妇免费| 国产成人精品中文字幕| 九九99久久精品在免费线18| 中文字幕国产在线精品| 免费久久99精品国产自在现| 伊人色综合一区二区三区影院视频 | 一区二区国产高清视频在线| av午夜福利一片免费看久久| 国产av一区二区三区| 内射精品无码中文字幕| 国产精品国产三级国产a| а√8天堂中文官网资源| 99福利一区二区视频| 中文字幕乱码视频32| 久久久亚洲欧洲日产国码606| 国产三区在线成人av| 2019亚洲午夜无码天堂| 亚洲人妻中文字幕一区| 久久成人 久久鬼色| 色老大久久综合网天天| 性无码专区无码| 精品免费国产一区二区三区四区介绍| 狠狠色丁香婷婷综合尤物 | 女被啪到深处喷水gif动态图| 精品中文人妻在线不卡|