1、Modbus簡介
Modbus通信協(xié)議由Modicon公司(現(xiàn)已經(jīng)為施耐德公司并購,成為其旗下的子品牌)于1979年發(fā)明的,是全球最早用于工業(yè)現(xiàn)場的總線規(guī)約。由于其免費(fèi)公開發(fā)行,該協(xié)議免費(fèi)使用,Modbus通信協(xié)議采用的是主從通信模式(Master/Slave)。在控制方面應(yīng)用廣泛,促進(jìn)Modbus協(xié)議在全球得到了很好的發(fā)展。

Modbus通信協(xié)議具有多個(gè)變種,具有支持串口(主要是RS-485總線),以太網(wǎng)多個(gè)版本,其中最著名的是ModbusTCP,ModbusASCII和ModbusRTU三種。其中ModbusRTU與ModbusASCII均為支持RS-485總線的通信協(xié)議。
2、ModbusRTU
ModbusRTU由于其采用二進(jìn)制表現(xiàn)形式以及緊湊數(shù)據(jù)結(jié)構(gòu),通信效率較高,應(yīng)用比較廣泛。而ModbusASCII由于采用ASCII碼傳輸,并且利用特殊字符作為其字節(jié)的開始與結(jié)束標(biāo)識(shí),其傳輸效率低于ModbusRTU協(xié)議,一般只有在通信數(shù)據(jù)量較小的情況下才考慮使用ModbusASCII通信協(xié)議。在工業(yè)現(xiàn)場一般都是采用ModbusRTU協(xié)議,通俗來說,基于串口通信的Modbus通信協(xié)議都是指ModbusRTU通信協(xié)議。
RTU協(xié)議中的指令由功能碼(一個(gè)字節(jié)),起始地址(兩個(gè)字節(jié)),地址碼(一個(gè)字節(jié)),數(shù)據(jù)(N個(gè)字節(jié)),校驗(yàn)碼(兩個(gè)字節(jié))五個(gè)部分組成,其中數(shù)據(jù)又由數(shù)據(jù)長度(兩個(gè)字節(jié),表示的是寄存器個(gè)數(shù),假定內(nèi)容為M)和數(shù)據(jù)正文(M乘以2個(gè)字節(jié))組成。

而RTU協(xié)議是采用3.5個(gè)字節(jié)的空閑時(shí)間作為指令的起始和結(jié)束,一般而言,只有當(dāng)從機(jī)返回?cái)?shù)據(jù)或者主機(jī)寫操作的時(shí)候,才會(huì)有數(shù)據(jù)正文,而其他時(shí)候比如主機(jī)讀操作指令的時(shí)候,沒有數(shù)據(jù)正文,只需要數(shù)據(jù)長度即可。
3、ModbusTCP
ModbusTCP協(xié)議則是在ModbusRTU協(xié)議上加一個(gè)MBAP報(bào)文頭,由于TCP是基于可靠連接的服務(wù),RTU協(xié)議中的CRC校驗(yàn)碼就不再需要,所以在ModbusTCP協(xié)議中是沒有CRC校驗(yàn)碼,這個(gè)MBAP報(bào)文頭共七個(gè)字節(jié)長度,除了第五、六個(gè)字節(jié)外,其余的基本上都是不變。

表中指令說明:從地址碼為01(TCP協(xié)議單元標(biāo)志為00)的模塊0x18E(018E)寄存器地址開始寫(10)一個(gè)(0001)寄存器,具體數(shù)據(jù)長度為2個(gè)字節(jié)(02),數(shù)據(jù)正文內(nèi)容為0000(0000)。
4、結(jié)語
通過上述的關(guān)于ModbusRTU協(xié)議和ModbusTCP協(xié)議的說明,很直觀的了解到兩者的差異,有無校驗(yàn)、報(bào)文頭差異、以及地址碼差異等。簡單就了解了相關(guān)特點(diǎn)。
審核編輯:湯梓紅
-
通信協(xié)議
+關(guān)注
關(guān)注
28文章
1077瀏覽量
41892 -
MODBUS
+關(guān)注
關(guān)注
28文章
2392瀏覽量
82364 -
TCP
+關(guān)注
關(guān)注
8文章
1418瀏覽量
83086 -
RTU
+關(guān)注
關(guān)注
0文章
447瀏覽量
30455
發(fā)布評(píng)論請(qǐng)先 登錄
淺談Modbus通信協(xié)議
Modbus TCP轉(zhuǎn)Modbus RTU的實(shí)現(xiàn)
modbus協(xié)議講解modbus-rtu以及modbus-tcp協(xié)議詳解
Modbus-RTU協(xié)議模式學(xué)習(xí)下載
STM32--MODBUS 通訊篇 精選資料分享
了解一下MODBUS通信協(xié)議
如何快速實(shí)現(xiàn)Modbus RTU和Modbus TCP協(xié)議轉(zhuǎn)換?
淺析ModBus通信協(xié)議的相關(guān)知識(shí)
Modbus RTU和Modbus TCP的區(qū)別
ModBus RTU 與 ModBus TCP
Modbus網(wǎng)關(guān)如何實(shí)現(xiàn)Modbus RTU與Modbus TCP協(xié)議的數(shù)據(jù)采集?
Modbus TCP 到 RTU:輕松轉(zhuǎn)換指南!

ModBus RTU與ModBus TCP通信協(xié)議詳解
評(píng)論