MODBUS/TCP協(xié)議是作為一種(實(shí)際的)自動(dòng)化標(biāo)準(zhǔn)發(fā)行的。Modbus協(xié)議是一種已廣泛應(yīng)用于當(dāng)今工業(yè)控制領(lǐng)域的通用通訊協(xié)議。通過(guò)此協(xié)議,控制器相互之間、或控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))可以和其它設(shè)備之間進(jìn)行通信。Modbus協(xié)議使用的是主從通訊技術(shù),即由主設(shè)備主動(dòng)查詢和操作從設(shè)備。一般將主控設(shè)備方所使用的協(xié)議稱為Modbus Master,從設(shè)備方使用的協(xié)議稱為Modbus Slave。典型的主設(shè)備包括工控機(jī)和工業(yè)控制器等;典型的從設(shè)備如PLC可編程控制器等。Modbus通訊物理接口可以選用串口(包括RS232和RS485),也可以選擇以太網(wǎng)口。其通信遵循以下的過(guò)程:
● 主設(shè)備向從設(shè)備發(fā)送請(qǐng)求
● 從設(shè)備分析并處理主設(shè)備的請(qǐng)求,然后向主設(shè)備發(fā)送結(jié)果
● 如果出現(xiàn)任何差錯(cuò),從設(shè)備將返回一個(gè)異常功能碼
Modbus協(xié)議具有以下幾個(gè)特點(diǎn):
(1)標(biāo)準(zhǔn)、開(kāi)放,用戶可以免費(fèi)、放心地使用Modbus協(xié)議,不需要交納許可證費(fèi),也不會(huì)侵犯知識(shí)產(chǎn)權(quán)。目前,支持Modbus的廠家超過(guò)400家,支持Modbus的產(chǎn)品超過(guò)600種。
(2)Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無(wú)線等。
(3)Modbus的幀格式簡(jiǎn)單、緊湊,通俗易懂。用戶使用容易,廠商開(kāi)發(fā)簡(jiǎn)單。
MODBUS支持的部分功能代碼:
以十進(jìn)制表示。功能碼可以分為位操作和字操作兩類。位操作的最小單位為BIT,字操作的最小單位為兩個(gè)字節(jié)。
【位操作指令】 讀線圈狀態(tài)01H,讀(離散)輸入狀態(tài)02H,寫單個(gè)線圈06H和寫多個(gè)線圈0FH。
【字操作指令】 讀保持寄存器03H,寫單個(gè)寄存器06H,寫多個(gè)保持寄存器10H。
MODBUS報(bào)文模型
這里要明白兩個(gè)縮略詞:“ADU”“PDU”
ADU: 應(yīng)用數(shù)據(jù)單元
PDU: 協(xié)議數(shù)據(jù)單元
Modbus協(xié)議兩種傳輸方式
常用的MODBUS通訊規(guī)約有兩種,一種是MODBUS ASCII,一種是MODBUS RTU。每個(gè)設(shè)備必須都有相同的傳輸模式。所有設(shè)備都支持RTU模式,ASCII傳輸模式是選項(xiàng)。
(1)ASCII傳輸方式
Modbus串行鏈路的設(shè)備被配置為使用ASCII模式通信時(shí),報(bào)文中的每8位字節(jié)以兩個(gè)ASCII字符發(fā)送。例:字節(jié)0X5B會(huì)被編碼為兩個(gè)字符:0x35和0x42進(jìn)行傳送(ASCII編碼0x35="5",0x42="B"),這樣傳輸效率會(huì)降低。
在ASCII模式,報(bào)文用特殊的字符區(qū)分幀起始和幀結(jié)束。一個(gè)報(bào)文必須以一個(gè)‘冒號(hào)’(:)(ASCII十六進(jìn)制3A)起始,以‘回車-換行’(CRLF)對(duì)(ASCII十六進(jìn)制0D和0A)結(jié)束。設(shè)備連續(xù)的監(jiān)視總線上的‘冒號(hào)’字符。當(dāng)收到這個(gè)字符后,每個(gè)設(shè)備解碼后續(xù)的字符一直到幀結(jié)束。報(bào)文中字符間的時(shí)間間隔可以達(dá)一秒。如果有更大的間隔,則接受設(shè)備認(rèn)為發(fā)生了錯(cuò)誤。
(2)RTU傳輸方式
當(dāng)設(shè)備使用RTU(RemoteTerminalUnit)模式在Modbus串行鏈路通信,報(bào)文中每個(gè)8位字節(jié)含有兩個(gè)4位十六進(jìn)制字符。這種模式的主要優(yōu)點(diǎn)是較高的數(shù)據(jù)密度,在相同的波特率下比ASCII模式有更高的傳輸效率。每個(gè)報(bào)文必須以連續(xù)的字符流傳送。
四信公眾號(hào)
四信方案庫(kù)
服務(wù)電話