Modbus通訊協(xié)議是什么?詳解分析
工業(yè)控制已從單機(jī)控制走向集中監(jiān)控、集散控制,如今已進(jìn)入網(wǎng)絡(luò)時(shí)代,工業(yè)控制器連網(wǎng)也為網(wǎng)絡(luò)管理提供了方便。Modbus就是工業(yè)控制器的網(wǎng)絡(luò)協(xié)議中的一種。
丨Modbus通信協(xié)議簡(jiǎn)介
Modbus協(xié)議,首先從字面理解它包括Mod和Bus兩部分,首先它是一種bus,即總線協(xié)議,和I2C、SPI類似,總線就意味著有主機(jī),有從機(jī),這些設(shè)備在同一條總線上。
Modbus支持單主機(jī),多個(gè)從機(jī),最多支持247個(gè)從機(jī)設(shè)備。關(guān)于Mod,因?yàn)檫@種協(xié)議最早被用在PLC控制器中,準(zhǔn)確的說是Modicon公司的PLC控制器,這也是Mod-Bus名稱的由來。
后來Modicon被施耐德(Schneider)收購,Modbus協(xié)議廣泛應(yīng)用在工業(yè)控制器、HMI和傳感器上,逐漸被其他廠商所接受,成為了一種主流的通訊協(xié)議,用于和外圍設(shè)備進(jìn)行通訊。
Modbus在7層OSI參考模型中屬于第七層應(yīng)用層,數(shù)據(jù)鏈路層有兩種:基于標(biāo)準(zhǔn)串口協(xié)議和TCP協(xié)議,物理層可使用3線232、2線485、4線422,或光纖、網(wǎng)線、無線等多種傳輸介質(zhì)。
Modbus協(xié)議是一種請(qǐng)求/應(yīng)答方式的交互過程,主機(jī)主動(dòng)發(fā)起通訊請(qǐng)求,從機(jī)響應(yīng)主機(jī)的請(qǐng)求,從機(jī)在沒有收到主機(jī)的請(qǐng)求時(shí),不會(huì)主動(dòng)發(fā)送數(shù)據(jù),從機(jī)之間不會(huì)進(jìn)行通訊。
目前關(guān)于Modbus比較權(quán)威的官方標(biāo)準(zhǔn)文檔有兩個(gè):
1.modbus_application_protocol_specification_v1.1b3.pdf
2.基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范 GB-T19582.1-2008.pdf
丨Modbus 通信協(xié)議特點(diǎn)
(1)標(biāo)準(zhǔn)、開放,用戶可以免費(fèi)、放心地使用Modbus協(xié)議,不需要交納許可證費(fèi),也不會(huì)侵犯知識(shí)產(chǎn)權(quán)。
(2)Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無線等。
(3)Modbus的幀格式簡(jiǎn)單、緊湊,通俗易懂。用戶使用容易,廠商開發(fā)簡(jiǎn)單。
丨Modbus4種數(shù)據(jù)類型
Modbus協(xié)議規(guī)定,進(jìn)行讀寫操作的數(shù)據(jù)類型,按照讀寫屬性和類型可分為以下4種:
1.離散量輸入(Discretes Input ):1位,只讀
2.線圈(Coils):1位,讀寫
3.輸入寄存器(Input Registers ):16位,只讀
4.保持寄存器(Holding Registers):16位,讀寫
Modbus協(xié)議已經(jīng)成為工業(yè)自動(dòng)化領(lǐng)域中最為流行的通信協(xié)議之一。許多工業(yè)設(shè)備,包括PLC、DCS、智能儀表等都在使用Modbus協(xié)議作為它們之間的通信標(biāo)準(zhǔn)。截止到2007年,Modbus的節(jié)點(diǎn)安裝數(shù)量已經(jīng)超過了1000萬個(gè),這表明該協(xié)議已經(jīng)得到了廣泛的應(yīng)用和認(rèn)可。
Modbus是一種基于串行通信的通信協(xié)議,旨在為工業(yè)現(xiàn)場(chǎng)提供一種通用的通信標(biāo)準(zhǔn),以實(shí)現(xiàn)不同設(shè)備之間的數(shù)據(jù)交換和控制。該協(xié)議最初由Modicon公司開發(fā),現(xiàn)屬于施耐德電氣公司。Modbus協(xié)議是一種應(yīng)用層協(xié)議,它定義了一種通用的消息格式,使得不同的設(shè)備之間可以進(jìn)行數(shù)據(jù)交換和控制。該協(xié)議支持不同的物理層,如RS-232、RS-422、RS-485和以太網(wǎng),因此可以應(yīng)用于不同的設(shè)備和網(wǎng)絡(luò)。
Modbus是一個(gè)主/從通信協(xié)議,提供功能碼規(guī)定的服務(wù)。互聯(lián)網(wǎng)組織使用TCP/IP棧上的保留系統(tǒng)端口502訪問Modbus。Modbus Plus是一種高速令牌傳遞網(wǎng)絡(luò),Modbus的工作過程:
1. Modbus通信始于主站向從站發(fā)送查詢請(qǐng)求。
2. 從站接收到請(qǐng)求并解析請(qǐng)求內(nèi)容。
3. 從站根據(jù)請(qǐng)求內(nèi)容執(zhí)行相應(yīng)的操作(例如讀取寄存器或?qū)懭爰拇嫫?,并將響應(yīng)數(shù)據(jù)發(fā)送回主站。
4. 主站接收到響應(yīng)數(shù)據(jù)并解析響應(yīng)內(nèi)容。
5. 主站處理響應(yīng)數(shù)據(jù)并根據(jù)需要發(fā)送更多的查詢請(qǐng)求。
6. 這個(gè)過程一直持續(xù)到通信完成或發(fā)生錯(cuò)誤。
MODBUS通訊協(xié)議是工業(yè)自動(dòng)化領(lǐng)域中廣泛使用的一種串行通信協(xié)議。它由美國Modicon公司于1979年開發(fā),現(xiàn)在已經(jīng)成為工業(yè)電子設(shè)備之間通信的標(biāo)準(zhǔn)。MODBUS協(xié)議支持主從結(jié)構(gòu),允許多個(gè)設(shè)備通過串行線纜進(jìn)行通信。根據(jù)不同的傳輸方式和數(shù)據(jù)格式,MODBUS協(xié)議可以分為多種類型。
一、MODBUS RTU(MODBUS Real-time Unit)
MODBUS RTU是MODBUS協(xié)議的一種形式,它采用二進(jìn)制數(shù)據(jù)格式進(jìn)行通信。在RTU模式下,數(shù)據(jù)幀中的每個(gè)字節(jié)之間沒有分隔符,字節(jié)之間通過停止位進(jìn)行區(qū)分。MODBUS RTU支持半雙工通信,即在一個(gè)方向上的數(shù)據(jù)傳輸完成后,需要切換到另一個(gè)方向進(jìn)行數(shù)據(jù)傳輸。它適用于長(zhǎng)距離、低速率的通信場(chǎng)合。
二、MODBUS ASCII(MODBUS ASCII)
MODBUS ASCII是MODBUS協(xié)議的另一種形式,它采用ASCII字符格式進(jìn)行通信。在ASCII模式下,數(shù)據(jù)幀中的每個(gè)字節(jié)之間有一個(gè)分隔符,字節(jié)之間通過空格進(jìn)行區(qū)分。MODBUS ASCII支持半雙工通信,它適用于需要傳輸文本信息或者需要查看通信數(shù)據(jù)的場(chǎng)合。
三、MODBUS TCP/IP(MODBUS over TCP/IP)
MODBUS TCP/IP是MODBUS協(xié)議在以太網(wǎng)上的實(shí)現(xiàn),它采用TCP/IP協(xié)議進(jìn)行通信。在TCP/IP模式下,MODBUS設(shè)備通過IP地址和端口號(hào)進(jìn)行標(biāo)識(shí),主機(jī)設(shè)備可以通過網(wǎng)絡(luò)接口與MODBUS設(shè)備進(jìn)行通信。MODBUS TCP/IP支持全雙工通信,即兩個(gè)方向上的數(shù)據(jù)傳輸可以同時(shí)進(jìn)行。它適用于需要遠(yuǎn)程控制和監(jiān)控的場(chǎng)合。
四、MODBUS串行(MODBUS Serial)
MODBUS串行是MODBUS協(xié)議的基本形式,它采用串行線纜進(jìn)行通信。在串行模式下,數(shù)據(jù)幀中的每個(gè)字節(jié)之間有一個(gè)起始位和一個(gè)停止位,字節(jié)之間通過電平的跳變進(jìn)行區(qū)分。MODBUS串行支持半雙工通信,它適用于近距離、高速率的通信場(chǎng)合。根據(jù)傳輸線的類型和電平的不同,MODBUS串行可以分為多種不同的物理層接口,如RS-485、RS-422、RS-232等。
五、其他類型
除了上述四種類型外,還有一些其他類型的MODBUS協(xié)議。例如,MODBUS Plus是一種適用于以太網(wǎng)的MODBUS協(xié)議,它采用令牌環(huán)方式進(jìn)行通信;MODBUS ProfiNet是一種適用于工業(yè)以太網(wǎng)的MODBUS協(xié)議,它采用TCP/IP協(xié)議進(jìn)行通信;MODBUS-IDA是一種適用于工業(yè)自動(dòng)化的MODBUS協(xié)議,它支持多種不同的總線接口和數(shù)據(jù)格式。
六、總結(jié)
綜上所述,MODBUS通訊協(xié)議有多種類型,每種類型都有其特定的應(yīng)用場(chǎng)景和特點(diǎn)。在實(shí)際應(yīng)用中,需要根據(jù)具體的需求選擇合適的協(xié)議類型和接口形式進(jìn)行通信。