Modbus的前世
我們平時在日常生活中進行交流主要是通過聽和說來完成,,這里主要是通過語言來傳達信息。在說者和聽者之間是遵循著一些約定成俗的“約定”,,因此雙方是能夠聽懂對方所講的內(nèi)容,,就好比上海人說上海話,浙江人福建人說閩南語,,各地區(qū)有不同的方言,,而我們?nèi)珖y(tǒng)一的標準語言是普通話,不管哪里人,,說普通話大家都能很好的溝通,,要是你用方言跟別人講,好好的說話,,還可能意思理解不對,,要擰巴打起來,。下面我們要說的Modbus通信協(xié)議其實它也是一種“普通話”,,這個“約定”其實就是一種通信協(xié)議,這個通信協(xié)議是由當時莫迪康(Modicon)公司于1979年開發(fā)的,,現(xiàn)在這個公司已經(jīng)被施耐德( Schneider)電氣公司收購了,。Modbus通信協(xié)議剛開發(fā)之初就是專門為可編程控制器(PLC)通訊準備的,到目前為止它已經(jīng)成為現(xiàn)代工業(yè)控制領(lǐng)域的通訊標準,,它已經(jīng)廣泛應用在工控設備與設備之間的通訊上了,。
Modbus的優(yōu)點
Modbus之所以被廣泛使用,我認為是由于它具有以下幾個方面的優(yōu)點,。首先是Modbus通信協(xié)議標準是一個開放性,,免費的,沒有版權(quán)要求,,不需要交納許可證費,,這是它被廣泛使用的主要原因之一;其次是它支持多種物理通訊接口,,比如我們常用的RS232接口,、RS485接口以及基于工業(yè)以太網(wǎng)的TCP/IP接口;再次是可在各種介質(zhì)上傳送,,如雙絞線,、光纖,、無線,如果我們使用處理速度快的芯片時,,在理論上可以掛接255個從站,;最后是Modbus幀格式簡單格式非常簡單,用戶使用容易,,廠商開發(fā)簡單,。這也是Modbus通信協(xié)議所給定的,如下圖所示,。
Modbus的特點
Modbus是一個串行通信協(xié)議,,在架構(gòu)組成上它是一個主/從架構(gòu),主站可以根據(jù)站地址向各個從站發(fā)出命令,,從站也可以向主站返回命令,,但是從站之間是不能相互傳達命令的,只有通過主站才能相互傳達命令,,這是Modbus通信協(xié)議的規(guī)定,。因此在Modbus通信中,只能由主機發(fā)出請求從機進行應答,,而不能由從機主動發(fā)起通訊,,從機之間也是不能互相發(fā)起通信的。
Modbus的分類及報文
Modbus是一種基于串口通信的方式,,它可以分為Modbus RTU 和Modbus ASCII兩類,。一般來說Modbus RTU比較常用,對于支持Modbus ASCII通信方式的設備也一定支持Modbus RTU通信模式,。另外現(xiàn)在使用基于以太網(wǎng)的Modbus TCP也使用非常廣泛了,,比如我在工作中使用的西門子和施耐德的工控產(chǎn)品都是采用了Modbus TCP通信模式。
關(guān)于Modbus的報文是指在Modbus的通信協(xié)議中幾個約定好內(nèi)容的字節(jié),,比如一號設備向二號設備發(fā)送的8個字節(jié),,二號設備接收到了這8個字節(jié)后,它就會根據(jù)Modbus通信協(xié)議約定的功能去執(zhí)行相應的動作,。而這8個字節(jié)就是我們所說的報文了,。一般我們可以用串口調(diào)試助手就可以發(fā)送Modbus報文了。