現(xiàn)在工業(yè)場(chǎng)通信方式非常豐富,因此每種通信方式都對(duì)應(yīng)著一種通信協(xié)議,我在學(xué)習(xí)可編程控制器(PLC)控制技術(shù)和變頻器控制技術(shù)的時(shí)候,往往需要這兩者進(jìn)行通訊,在這些工控設(shè)備中可以走很多通信協(xié)議,其中Modbus通信是比較常用的一種通信方式。今天我們來說說關(guān)于Modbus通信的一些內(nèi)容。
Modbus的由來
我們平時(shí)在日常生活中進(jìn)行交流主要是通過聽和說來完成,這里主要是通過語言來傳達(dá)信息。在說者和聽者之間是遵循著一些約定成俗的“約定”,因此雙方是能夠聽懂對(duì)方所講的內(nèi)容。下面我們要說的Modbus通信協(xié)議其實(shí)它也是一個(gè)約定,這個(gè)“約定”其實(shí)就是一種通信協(xié)議,這個(gè)通信協(xié)議是由當(dāng)時(shí)莫迪康(Modicon)公司于1979年開發(fā)的,現(xiàn)在這個(gè)公司已經(jīng)被施耐德( Schneider)電氣公司收購了。Modbus通信協(xié)議剛開發(fā)之初就是專門為可編程控制器(PLC)通訊準(zhǔn)備的,到目前為止它已經(jīng)成為現(xiàn)代工業(yè)控制領(lǐng)域的通訊標(biāo)準(zhǔn),它已經(jīng)廣泛應(yīng)用在工控設(shè)備與設(shè)備之間的通訊上了。
Modbus的優(yōu)點(diǎn)
Modbus之所以被廣泛使用,我認(rèn)為是由于它具有以下幾個(gè)方面的優(yōu)點(diǎn)吧。首先是Modbus通信協(xié)議標(biāo)準(zhǔn)是一個(gè)開放性的,沒有版權(quán)要求,大家可以免費(fèi)使用,這是它被廣泛使用的主要原因之一;其次是它支持多種物理通訊接口,比如我們常用的RS232接口、RS485接口以及基于工業(yè)以太網(wǎng)的TCP/IP接口;再次是在使用RS485兩線制的時(shí)候,可以在兩根總線上實(shí)現(xiàn)一個(gè)主站多個(gè)從站的通訊方式,如果我們使用處理速度快的芯片時(shí),在理論上可以掛接255個(gè)從站;最后是Modbus通信協(xié)議格式非常簡單,我們?cè)趯W(xué)習(xí)和理解時(shí)都比較容易。
Modbus的特點(diǎn)
Modbus是一個(gè)串行通信協(xié)議,在架構(gòu)組成上它是一個(gè)主/從架構(gòu),主站可以根據(jù)站地址向各個(gè)從站發(fā)出命令,從站也可以向主站返回命令,但是從站之間是不能相互傳達(dá)命令的,只有通過主站才能相互傳達(dá)命令,這是Modbus通信協(xié)議的規(guī)定。因此在Modbus通信中,只能由主機(jī)發(fā)出請(qǐng)求從機(jī)進(jìn)行應(yīng)答,而不能由從機(jī)主動(dòng)發(fā)起通訊,從機(jī)之間也是不能互相發(fā)起通信的。
Modbus的分類及報(bào)文
Modbus是一種基于串口通信的方式,它可以分為Modbus RTU 和Modbus ASCII兩類。一般來說Modbus RTU比較常用,對(duì)于支持Modbus ASCII通信方式的設(shè)備也一定支持Modbus RTU通信模式。另外現(xiàn)在使用基于以太網(wǎng)的Modbus TCP也使用非常廣泛了,比如聚英電子、西門子和施耐德的工控產(chǎn)品都是采用了Modbus TCP通信模式。
關(guān)于Modbus的報(bào)文是指在Modbus的通信協(xié)議中幾個(gè)約定好內(nèi)容的字節(jié),比如一號(hào)設(shè)備向二號(hào)設(shè)備發(fā)送的8個(gè)字節(jié),二號(hào)設(shè)備接收到了這8個(gè)字節(jié)后,它就會(huì)根據(jù)Modbus通信協(xié)議約定的功能去執(zhí)行相應(yīng)的動(dòng)作。而這8個(gè)字節(jié)就是我們所說的報(bào)文了。一般我們可以用串口調(diào)試助手就可以發(fā)送Modbus報(bào)文了。