ModBus RTU與ModBus TCP通訊協議詳解
1、Modbus簡介
由Modicon公司(現已經為施耐德公司併購,成為其旗下的子品牌)於1979年發明的,是全球最早用於工業現場的匯流排規約。由於其免費公開發行,該協議免費使用,Modbus通訊協議採用的是主從通訊模式(Master/Slave)。在控制方面應用廣泛,促進Modbus協議在全球得到了很好的發展。
Modbus通訊協議具有多個變種,具有支援串列埠(主要是 ),乙太網多個版本,其中最著名的是Modbus TCP , Modbus ASCII和Modbus RTU三種。其中Modbus RTU與Modbus ASCII均為支援RS-485匯流排的通訊協議。
2、Modbus RTU
由於其採用二進位制表現形式以及緊湊資料結構,通訊效率較高,應用比較廣泛。而ModbusASCII由於採用ASCII碼傳輸,並且利用特殊字元作為其位元組的開始與結束標識,其傳輸效率低於Modbus RTU協議,一般只有在通訊資料量較小的情況下才考慮使用Modbus ASCII通訊協議。在工業現場一般都是採用Modbus RTU協議,通俗來說,基於串列埠通訊的Modbus通訊協議都是指Modbus RTU通訊協議。
RTU協議中的指令由功能碼(一個位元組),起始地址(兩個位元組),地址碼(一個位元組),資料(N個位元組),校驗碼(兩個位元組)五個部分組成,其中資料又由資料長度(兩個位元組,表示的是暫存器個數,假定內容為M)和資料正文(M乘以2個位元組)組成。
而RTU協議是採用3.5個位元組的空閒時間作為指令的起始和結束,一般而言,只有當從機返回資料或者主機寫操作的時候,才會有資料正文,而其他時候比如主機讀操作指令的時候,沒有資料正文,只需要資料長度即可。
3、Modbus TCP
Modbus TCP協議則是在Modbus RTU協議上加一個MBAP報文頭,由於TCP是基於可靠連線的服務,RTU協議中的CRC校驗碼就不再需要,所以在Modbus TCP協議中是沒有CRC校驗碼,這個MBAP報文頭共七個位元組長度,除了第五、六個位元組外,其餘的基本上都是不變。
表中指令說明:從地址碼為01(TCP協議單元標誌為00)的模組0x18E(01 8E)暫存器地址開始寫(10)一個(00 01)暫存器,具體資料長度為2個位元組(02),資料正文內容為00 00(00 00)。
4、結語
透過上述的關於Modbus RTU協議和Modbus TCP協議的說明,很直觀的瞭解到兩者的差異,有無校驗、報文頭差異、以及地址碼差異等。簡單就瞭解了相關特點。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016116/viewspace-2936946/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 Neuron 接入 Modbus TCP 及 Modbus RTU 協議裝置TCP協議
- modbus通訊協議協議
- 一種MODBUS RTU擴充套件串列埠通訊協議套件串列埠協議
- modbus tcp通訊TCP
- 物通博聯Modbus RTU轉 Modbus TCP閘道器有什麼功能TCP
- Modbus協議協議
- Modbus常用功能碼協議詳解協議
- 【.NET6+Modbus】Modbus TCP協議解析、模擬環境以及基於.NET實現基礎通訊TCP協議
- 網路通訊協議-TCP協議詳解!協議TCP
- 通訊協議轉換Modbus轉Profinet閘道器協議
- 使用Modbus4J進行RTU模式串列埠通訊模式串列埠
- Modbus通訊協議中的四種位元組順序協議
- 模擬C#與PLC Modbus TCP通訊,報文解析C#TCP
- C#Modbus Rtu的實現C#
- Modbus協議轉Profibus協議閘道器模組連PLC與鐳射發射器通訊協議
- 巴圖自動化Profinet協議轉Modbus協議模組接稱重模組與PLC通訊協議
- 工業控制領域的Modbus Rtu協議讀寫器都有什麼特點協議
- 一文講透Modbus協議協議
- MODBUS協議整理——功能碼簡述協議
- c#使用Modbus TCPC#TCP
- 物聯網 - 工業物聯 modbus 通訊協議介紹與測試經驗分享協議
- C# Modbus協議 幾種常用格式C#協議
- TCP協議詳解TCP協議
- 巴圖制自動化Profinet協議轉Modbus協議模組連線PLC和電錶通訊協議
- 網路基礎 Modbus協議學習總結協議
- Qt 使用第三方modbus-c庫實現Modbus通訊QT
- Modbus RTU(Remote Terminal Unit 遠端終端單元)REM
- 網路通訊協議-ICMP協議詳解!協議
- 網路通訊協議-HTTP協議詳解!協議HTTP
- 網路通訊協議-SMTP協議詳解!協議
- C#ModBus Tcp 報文解析C#TCP
- C# modbus RTU 中使用到的 ushort[] 轉 int 與 int 轉 ushort[]C#
- modbus和tcp有什麼區別?TCP
- TCP傳輸協議詳解TCP協議
- 詳解通訊資料協議ProtoBuf協議
- tcp/ip協議和opc協議對比詳解TCP協議
- Modbus TCP轉Profinet閘道器配置案例TCP
- 基於WebSocket的modbus通訊(一)- 伺服器Web伺服器