

Modbus的前世
我們平時(shí)在日常生活中進(jìn)行交流主要是通過聽和說來完成,這里主要是通過語言來傳達(dá)信息,。在說者和聽者之間是遵循著一些約定成俗的“約定”,,因此雙方是能夠聽懂對(duì)方所講的內(nèi)容,就好比上海人說上海話,,浙江人福建人說閩南語,,各地區(qū)有不同的方言,而我們?nèi)珖y(tǒng)一的標(biāo)準(zhǔn)語言是普通話,,不管哪里人,,說普通話大家都能很好的溝通,,要是你用方言跟別人講,,好好的說話,還可能意思理解不對(duì),,要擰巴打起來,。下面我們要說的Modbus通信協(xié)議其實(shí)它也是一種“普通話”,這個(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è)開放性,,免費(fèi)的,沒有版權(quán)要求,,不需要交納許可證費(fèi),,這是它被廣泛使用的主要原因之一;其次是它支持多種物理通訊接口,,比如我們常用的RS232接口,、RS485接口以及基于工業(yè)以太網(wǎng)的TCP/IP接口;再次是可在各種介質(zhì)上傳送,,如雙絞線,、光纖、無線,,如果我們使用處理速度快的芯片時(shí),,在理論上可以掛接255個(gè)從站;最后是Modbus幀格式簡(jiǎn)單格式非常簡(jiǎn)單,,用戶使用容易,,廠商開發(fā)簡(jiǎn)單。這也是Modbus通信協(xié)議所給定的,,如下圖所示,。
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)文了。