MODBUS/TCP是簡單的、中立廠商的用于管理和控制自動化設(shè)備的MODBUS系列通訊協(xié)議的派生產(chǎn)品。顯而易見,它覆蓋了使用TCP/IP協(xié)議的 “Intranet”和“Internet”環(huán)境中MODBUS報(bào)文的用途。協(xié)議的最通用用途是為諸如PLC’s,I/O模塊,以及連接其它簡單域總線或 I/O模塊的網(wǎng)關(guān)服務(wù)的。
Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個(gè)品牌)在1979年發(fā)明的,是全球第一個(gè)真正用于工業(yè)現(xiàn)場的總線協(xié)議。為更好地普及和推動Modbus在基于以太網(wǎng)上的分布式應(yīng)用,目前施耐德公司已將Modbus協(xié)議的所有權(quán)移交給IDA(Interface for Distributed Automation,分布式自動化接口)組織,并成立了Modbus-IDA組織,為Modbus今后的發(fā)展奠定了基礎(chǔ)。在我國,Modbus已經(jīng)成為國家標(biāo)準(zhǔn)GB/T19582-2008。據(jù)不完全統(tǒng)計(jì):截止到2007年,Modbus的節(jié)點(diǎn)安裝數(shù)量已經(jīng)超過了1000萬個(gè)。
Modbus 協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。此協(xié)議定義了一個(gè)控制器能認(rèn)識使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。它描述了一控制器請求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請求,以及怎樣偵測錯(cuò)誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。
MODBUS/TCP協(xié)議是作為一種(實(shí)際的)自動化標(biāo)準(zhǔn)發(fā)行的。Modbus協(xié)議是一種已廣泛應(yīng)用于當(dāng)今工業(yè)控制領(lǐng)域的通用通訊協(xié)議。通過此協(xié)議,控制器相互之間、或控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))可以和其它設(shè)備之間進(jìn)行通信。Modbus協(xié)議使用的是主從通訊技術(shù),即由主設(shè)備主動查詢和操作從設(shè)備。一般將主控設(shè)備方所使用的協(xié)議稱為Modbus Master,從設(shè)備方使用的協(xié)議稱為Modbus Slave。典型的主設(shè)備包括工控機(jī)和工業(yè)控制器等;典型的從設(shè)備如PLC可編程控制器等。Modbus通訊物理接口可以選用串口(包括RS232和RS485),也可以選擇以太網(wǎng)口。其通信遵循以下的過程:
● 主設(shè)備向從設(shè)備發(fā)送請求
● 從設(shè)備分析并處理主設(shè)備的請求,然后向主設(shè)備發(fā)送結(jié)果
● 如果出現(xiàn)任何差錯(cuò),從設(shè)備將返回一個(gè)異常功能碼
Modbus 通信協(xié)議特點(diǎn)
Modbus 協(xié)議定義了一個(gè)控制器能夠認(rèn)識使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。因此,底層通信方式可以使用 RS232,RS485 等串行鏈路,也可以使用 TCP/IP 以太網(wǎng)鏈路。現(xiàn)在 Modbus 網(wǎng)絡(luò)上通信時(shí),控制器必須要知道該網(wǎng)絡(luò)中其他設(shè)備的地址,才能識別按地址發(fā)來的消息,并作出相應(yīng)行為。
簡單來說,Modbus 通信協(xié)議具有以下幾個(gè)特點(diǎn):
Modbus 協(xié)議標(biāo)準(zhǔn)開放、公開發(fā)布且無版稅要求,用戶可以免費(fèi)獲取并使用 Modbus 協(xié)議,不需要繳納許可證費(fèi)用;
Modbus 最開始使用 RS232,RS485 等串行鏈路作為底層通信方式,串行總線的接口芯片成本低,而且布線也簡單方便;
Modbus 協(xié)議只支持多種電氣接口,如 RS232、RS485、TCP/IP 等,還可以在各種介質(zhì)上傳輸,如雙絞線、光纖、紅外、無線電等;
Modbus 是簡單的應(yīng)用層協(xié)議,其協(xié)議消息格式簡單、緊湊、通俗易懂,便于用戶理解和使用、廠商開發(fā)和集成,方便形成工業(yè)控制網(wǎng)絡(luò)。
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會被編碼為兩個(gè)字符:0x35和0x42進(jìn)行傳送(ASCII編碼0x35="5",0x42="B"),這樣傳輸效率會降低。
在ASCII模式,報(bào)文用特殊的字符區(qū)分幀起始和幀結(jié)束。一個(gè)報(bào)文必須以一個(gè)‘冒號’(:)(ASCII十六進(jìn)制3A)起始,以‘回車-換行’(CRLF)對(ASCII十六進(jìn)制0D和0A)結(jié)束。設(shè)備連續(xù)的監(jiān)視總線上的‘冒號’字符。當(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ù)的字符流傳送。
Modbus物聯(lián)網(wǎng)云平臺在設(shè)備和用戶之間建立開箱即用的云平臺和云應(yīng)用,實(shí)現(xiàn)數(shù)據(jù)采集、實(shí)時(shí)控制、數(shù)據(jù)可視化、開放 API,構(gòu)建靈活強(qiáng)大的物聯(lián)網(wǎng)應(yīng)用。Modbus云平臺支持市場上99%以上Modbus設(shè)備接入,比如工業(yè)儀器儀表,工業(yè)傳感器,Modbus PLC設(shè)備等。用戶可以在任何地方遠(yuǎn)程訪問任何地方的Modbus設(shè)備,并對遠(yuǎn)程設(shè)備的數(shù)據(jù)進(jìn)行實(shí)時(shí)采集監(jiān)控、遠(yuǎn)程控制、智能音響小度、天貓精靈、小愛同學(xué)語音控制、診斷、通訊及調(diào)試等。
Modbus物聯(lián)網(wǎng)云平臺是一個(gè)開放的物聯(lián)網(wǎng)云平臺,用戶只需按步驟完成注冊即可免費(fèi)使用Modbus物聯(lián)網(wǎng)云平臺 。支持PC、Android、iOS多平臺終端。用戶可以在任何地方遠(yuǎn)程訪問任何地方的串口設(shè)備,并對遠(yuǎn)程設(shè)備的數(shù)據(jù)進(jìn)行實(shí)時(shí)采集監(jiān)控、遠(yuǎn)程控制、診斷、通訊及調(diào)試等。Modbus物聯(lián)網(wǎng)云平臺支持微信關(guān)聯(lián),用戶可以借助手機(jī)端的微信公眾號進(jìn)行遠(yuǎn)程查看設(shè)備的運(yùn)行狀態(tài),通訊數(shù)據(jù)和報(bào)警信息等,實(shí)現(xiàn)隨時(shí)隨地輕松掌控,方便快捷。