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

評論