從Modbus開(kāi)始說(shuō)現(xiàn)場(chǎng)總線(一)
PLC應(yīng)用,在了解了硬件配置和邏輯編程之后,很大一部分工作就是處理現(xiàn)場(chǎng)通訊了。各式各樣的現(xiàn)場(chǎng)總線,其實(shí)還是有一定的規(guī)律的。我們?cè)诂F(xiàn)場(chǎng)最常見(jiàn)到的現(xiàn)場(chǎng)總線協(xié)議,恐怕就是的Modbus了。
我在剛接觸Modbus的時(shí)候,還順便學(xué)會(huì)了一個(gè)單詞De facto ,查了很多詞典才知道是“事實(shí)上的”,Modbus也確實(shí)可以稱(chēng)之為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。Modbus是Modicon公司(該公司幾經(jīng)收購(gòu),最后并入現(xiàn)在的施耐德電氣 Schneider Electric,目前Modicon還作為施耐德某些PLC的系列名稱(chēng))于1979年為使用可編程邏輯控制器(PLC)通信而開(kāi)發(fā)。為了顯示樓主學(xué)識(shí)淵博(愛(ài)好八卦),這里猜測(cè)一下這個(gè)詞的由來(lái),方便大家記憶。Modicon大概是Modular Control的縮寫(xiě),Modbus作為Modicon的第一代通訊總線,理解成Modular bus:“模塊化的總線”好像有些牽強(qiáng),理解為Modicon的通訊總線Modicon Bus大概比較像吧。Modbus能夠成為工業(yè)領(lǐng)域通信協(xié)議的事實(shí)標(biāo)準(zhǔn)(De facto standard),樓主擅自猜測(cè),主要的原因大概有兩個(gè):一是Modicon做PLC比較(最)早,另外一個(gè),估計(jì)是“簡(jiǎn)單”。
Modbus協(xié)議后來(lái)還出了升級(jí)版本Modbus Plus(MB+)但因?yàn)镸odicon公司沒(méi)有公開(kāi)協(xié)議,所以沒(méi)有流行開(kāi)來(lái),但仍然在工業(yè)現(xiàn)場(chǎng)大量使用。
最早的Modbus是基于串行通訊的(EIA/TIA)RS232/485/422技術(shù),協(xié)議簡(jiǎn)單易用,硬件消耗很少,所有逐步超出PLC通訊的范圍,廣泛用于各種工業(yè)通訊,很多儀器儀表、控制器都支持該協(xié)議,配電領(lǐng)域的斷流器也加入其中。后來(lái)隨著工業(yè)以太網(wǎng)的普及,Modbus協(xié)議也作為應(yīng)用層的協(xié)議搭上了以太網(wǎng)的快車(chē),仍然出現(xiàn)在各種工業(yè)和民用現(xiàn)場(chǎng)。對(duì)網(wǎng)絡(luò)通訊協(xié)議模型有了解的同行,通過(guò)下圖可以清楚的了解Modbus協(xié)議的位置和作用。
下面詳細(xì)介紹Modbus協(xié)議的內(nèi)容,希望以這個(gè)“事實(shí)上的工業(yè)標(biāo)準(zhǔn)”為例,帶您認(rèn)識(shí)五花八門(mén)的通訊標(biāo)準(zhǔn)。
我們每天都離不開(kāi)的通訊網(wǎng)絡(luò),或許您并不陌生,但對(duì)于其工作原理,大概就只有少數(shù)人了解了。我在網(wǎng)上看到一個(gè)用訂外賣(mài)過(guò)程來(lái)說(shuō)明國(guó)際標(biāo)準(zhǔn)化組織定義的標(biāo)準(zhǔn)化網(wǎng)絡(luò)模型(OSI)的結(jié)構(gòu),很貼切,您有空可以看看。
一文簡(jiǎn)單理解OSI網(wǎng)絡(luò)模型:
https://www.versatek.com/blog/you-wont-believe-what-the-osi-model-and-pizza-have-in-common/
樓主把幾種常見(jiàn)的網(wǎng)絡(luò)(模型)做了一個(gè)比對(duì),方便大家理解。當(dāng)然其中電話網(wǎng)的內(nèi)容,并不嚴(yán)謹(jǐn),僅供參考。
從Modbus開(kāi)始說(shuō)現(xiàn)場(chǎng)總線(二)
Modbus作為一個(gè)應(yīng)用層的協(xié)議,最初是為了實(shí)現(xiàn)PLC間通訊的,所以基礎(chǔ)的協(xié)議內(nèi)容相對(duì)簡(jiǎn)單,傳輸?shù)臄?shù)據(jù)主要分為四類(lèi):離散量(開(kāi)關(guān)量)輸入,離散量(開(kāi)關(guān)量,線圈)輸出,輸入寄存器,保持寄存器。對(duì)應(yīng)電力系統(tǒng)中的術(shù)語(yǔ),分別是:遙信,遙控,遙測(cè),遙調(diào)。實(shí)際使用中因?yàn)橐粋€(gè)保持寄存器可以作為十六個(gè)開(kāi)關(guān)量使用,而且讀和寫(xiě)都支持,大家都習(xí)慣通過(guò)讀/寫(xiě)保持寄存器來(lái)搞定一切。
最初的Modbus協(xié)議基于RS-232/485鏈路,有兩種編碼方式,RTU和ASCII。這也是為什么有時(shí)候看到“Modbus RTU”說(shuō)法的由來(lái),后面我們介紹的幀格式就是RTU格式,ASCII格式已經(jīng)很少用了。
其實(shí)Modbus的通訊格式非常容易理解,主站給從站發(fā)送一條報(bào)文,大概相當(dāng)于網(wǎng)友問(wèn)支付寶:
支付寶(從站地址),內(nèi)定的錦鯉(數(shù)據(jù)類(lèi)型,保持寄存器)第二名(寄存器地址)是多少(讀數(shù)據(jù),暗號(hào)03)啊(校驗(yàn)碼)?報(bào)文格式如下(16進(jìn)制):
支付寶回復(fù)網(wǎng)友:
支付寶(從站地址),這個(gè)嘛(重復(fù)讀數(shù)據(jù)功能碼),沒(méi)有(返回?cái)?shù)據(jù)長(zhǎng)度,二),是0017這廝(返回?cái)?shù)據(jù)),真沒(méi)有(校驗(yàn)碼):
這樣,Modbus主機(jī)就完成了一次對(duì)從機(jī)數(shù)據(jù)的讀操作,是不是很簡(jiǎn)單?最常用的兩個(gè)功能碼就是上面介紹的0x03(讀連續(xù)多個(gè)保持寄存器)和0x10(十進(jìn)制16,寫(xiě)多個(gè)保持寄存器),其他的功能碼,基本類(lèi)似,無(wú)非是類(lèi)型(離散量,寄存器,…)數(shù)量(單個(gè),連續(xù)多個(gè))的不同組合。當(dāng)然還少不了錯(cuò)誤處理等細(xì)節(jié),詳細(xì)內(nèi)容見(jiàn)參考文獻(xiàn)。
寄存器地址是從0000開(kāi)始的,對(duì)應(yīng)于Modicon(施耐德)PLC中的40001,如果是寄存器地址從0001開(kāi)始,并直接對(duì)應(yīng)寄存器地址40001,Modbus RTU協(xié)議就有了一個(gè)別名JBUS,可以理解為JBUS是Modbus的一個(gè)常用功能子集。另外,有的廠商在返回?cái)?shù)據(jù)時(shí),數(shù)據(jù)長(zhǎng)度不是按字節(jié)計(jì)算,而是按字計(jì)算,也無(wú)法和標(biāo)準(zhǔn)Modbus協(xié)議兼容。
把Modbus報(bào)文去掉地址和CRC校驗(yàn)碼嵌入到以太網(wǎng)的數(shù)據(jù)幀中,就成了TCP-Modbus,如下圖。這樣串行設(shè)備(我們前面講的斷路器,多數(shù)都是通過(guò)附件成為一個(gè)串行設(shè)備)就可以很方便的接入以太網(wǎng)了,當(dāng)然這個(gè)“嵌入”的過(guò)程,是由網(wǎng)關(guān)完成的。
Modbus協(xié)議的主要內(nèi)容就介紹完了,我們會(huì)發(fā)現(xiàn),作為一個(gè)應(yīng)用層協(xié)議,Modbus并沒(méi)有定義數(shù)據(jù)的格式和含義。例如,讀一個(gè)保持寄存器的值,我們得到一個(gè)16位的數(shù),至于這個(gè)數(shù)是每一位代表一個(gè)開(kāi)關(guān)量的狀態(tài),還是一個(gè)無(wú)符號(hào)整數(shù),或者是32位浮點(diǎn)數(shù)的高字節(jié)或者低字節(jié),就要靠通訊雙方自行定義了。所以實(shí)現(xiàn)Modbus通訊的很大一部分工作就是按照雙方的通訊數(shù)據(jù)表逐個(gè)處理。
-
控制器
+關(guān)注
關(guān)注
112文章
16382瀏覽量
178322 -
電氣
+關(guān)注
關(guān)注
18文章
1167瀏覽量
53149
原文標(biāo)題:干貨丨從Modbus開(kāi)始說(shuō)現(xiàn)場(chǎng)總線!
文章出處:【微信號(hào):gkongbbs,微信公眾號(hào):工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論