目前,Modbus協(xié)議已成為工業(yè)控制行業(yè)的接口協(xié)議。莫迪康公司(Modicon)開發(fā)的,后來被施耐德回收成為子品牌,現(xiàn)在已經(jīng)成為施耐德的接口協(xié)議。如今,Modbus已經(jīng)成為世界上最受歡迎的工業(yè)應(yīng)用協(xié)議。該協(xié)議支持傳統(tǒng)RS-232、RS-422、RS-以太網(wǎng)接口485和TCP機械設(shè)備。許多機械設(shè)備,包括plc,dcs,Modbus協(xié)議被用作兩個人之間的通信規(guī)范。有了這個,不同廠家制造的控制系統(tǒng)可以連接到工業(yè)網(wǎng)絡(luò),進(jìn)行智能運維。
ASCII包含Modbus協(xié)議。、RTU、TCP等。選擇Maser(主)/Slave(從)方法,數(shù)據(jù)請求信息從Master端傳輸,在Slave端接收到合適的信息后,可以將數(shù)據(jù)傳輸?shù)組aster端以響應(yīng)要求;Master端可以直接發(fā)送信息,改變Slave端的數(shù)據(jù)信息,完成雙讀寫能力。
Modbus協(xié)議必須對數(shù)據(jù)進(jìn)行檢查。在串行通信協(xié)議中,ASCII方式選擇LRC檢查,RTU方式選擇16位crc檢查,但TCP方式不需要額外的檢查,因為TCP協(xié)議是一個面向連接的可靠協(xié)議。
特殊工具/原材料
RS232轉(zhuǎn)向RS485通信轉(zhuǎn)換器
或者USB轉(zhuǎn)換RS485通信轉(zhuǎn)換器
一臺RS485機械設(shè)備(儀表盤,PLC,任何機器設(shè)備,如觸摸屏、變頻調(diào)速器等)
或通過虛擬串口軟件組裝兩個虛擬串口軟件
手機軟件串口調(diào)試助手或commix1.3
方式/流程
MODBUS串口通信協(xié)議基本標(biāo)準(zhǔn):每個MODBUS數(shù)據(jù)文件由以下五個組成:(1)站點詳細(xì)地址;(2)要實施的功能碼;(3)存儲器地址(變量地址);(4)數(shù)據(jù)信息;(5)CRC驗證;
(1)從站詳細(xì)地址:詳細(xì)地址長度為1個字符,高效的從站地址范圍為1-247,從站假如接受到一幀地址信息和自身詳細(xì)地址相一致的數(shù)據(jù)時,就實行數(shù)據(jù)文件其中包含的命令。
(2)功能碼:MODBUS數(shù)據(jù)信息包中功能碼長度為一個字節(jié),用于通告從站理應(yīng)實行哪種實際操作,從站回應(yīng)數(shù)據(jù)文件中理應(yīng)包括域名所要求操控的同樣功能碼字節(jié)數(shù)。相關(guān)功能碼參考下列:
(3)寄存器地址:從機實行合理指令時數(shù)據(jù)信息地區(qū)存放位置。不一樣自變量占有不一樣存儲器數(shù)量,有一些詳細(xì)地址自變量占有2個存儲器,4字節(jié)數(shù)據(jù),有一些自變量占有一個存儲器,2字節(jié)數(shù)據(jù),請結(jié)合實際情況應(yīng)用。有一些占有大量存儲器,按照實際數(shù)據(jù)信息而定。
(4)數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)包括了終端設(shè)備實行特殊作用所需的數(shù)據(jù)信息或是終端設(shè)備回應(yīng)查看時采集到的數(shù)據(jù)信息。這些信息內(nèi)容有可能是標(biāo)值、參照詳細(xì)地址或是設(shè)定值;比如:功能碼告知終端設(shè)備載入一個存儲器,數(shù)據(jù)區(qū)就需要指出從哪存儲器逐漸及載入幾個數(shù)據(jù)信息,嵌入地址和信息按照種類和在機間的不一樣具體內(nèi)容而各有不同;存儲器標(biāo)值推送次序為:上位字節(jié)數(shù)在前面,底位字節(jié)數(shù)后面。
(5)CRC校驗:MODBUS-RTU方式選用16位CRC校驗。推送機器設(shè)備需對包囊中的每一個數(shù)據(jù)開展CRC16測算,最終結(jié)果儲放入檢測域中。接收設(shè)備也需對包囊中的每一個數(shù)據(jù)信息(除校檢域之外)開展CRC16測算,將結(jié)論域校檢域進(jìn)行對比;僅有同樣的包囊才能夠被接納。
通信異常解決假如域名發(fā)送了一個不合法的數(shù)據(jù)文件或者域名要求一個毫無意義的數(shù)據(jù)存儲器時,異常數(shù)據(jù)信息回應(yīng)會產(chǎn)生。這一異常數(shù)據(jù)回應(yīng)由從站詳細(xì)地址、功能碼、發(fā)動機故障碼crc8域構(gòu)成.依據(jù)MODBUS通信規(guī)定,出現(xiàn)異?;貞?yīng)功能碼=要求功能碼+0x80;出現(xiàn)異?;貜?fù)時,將作用號最高位置1。比如:服務(wù)器要求作用號是0x04則從機返回作用號相匹配為0x84。
舉例子:1、讀多存儲器例:服務(wù)器載入儀表盤測量結(jié)果UA(A直流電壓),假定現(xiàn)精確測量到A直流電壓為220.0V。UA的地址編碼是0x4000(十六進(jìn)制),由于UA是長整型數(shù)據(jù)(4字節(jié)數(shù)),占有2個數(shù)據(jù)存儲器,220.0V電壓轉(zhuǎn)換相對應(yīng)的十六進(jìn)制信息是:0x00000898(2200)。服務(wù)器推送指令文件格式為:010340000002D1CB從機回到指令文件格式為:01030400000898FC59
舉例子:例2:寫單存儲器假定將溫控儀表溫度值SV調(diào)整為150(載入預(yù)設(shè)值SV),SV的地址編碼是0x2000(十六進(jìn)制),由于SV是整數(shù)金額(2字節(jié)數(shù)),占有1個數(shù)據(jù)存儲器。將十進(jìn)制整數(shù)150轉(zhuǎn)換成十六進(jìn)制數(shù)為0x0096。服務(wù)器推送指令文件格式為:0106200000960264從機回到指令文件格式為:0106200000960264
常見問題
一般PLC用十進(jìn)制數(shù)表明,因此一定要開展數(shù)據(jù)交換。
留意查詢不一樣生產(chǎn)廠家對modbus設(shè)備上合同的表明,需注意有一些數(shù)據(jù)類型難題。
-
接口協(xié)議
+關(guān)注
關(guān)注
5文章
41瀏覽量
18850 -
MODBUS
+關(guān)注
關(guān)注
28文章
2123瀏覽量
79598 -
TCP
+關(guān)注
關(guān)注
8文章
1402瀏覽量
81061 -
RS-232
+關(guān)注
關(guān)注
0文章
413瀏覽量
50711
發(fā)布評論請先 登錄
Modbus?串行通信協(xié)議概述
淺談Modbus通信協(xié)議

評論