一、介紹
Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標(biāo)準(zhǔn)。后被施耐德收購,1996年施耐德公司推出基于以太網(wǎng)TCP/IP的Modbus協(xié)議:ModbusTCP。一經(jīng)面世因其簡單開放的通信方式逐漸成為工業(yè)系統(tǒng)中流行的標(biāo)準(zhǔn),是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議,廣泛應(yīng)用于工業(yè)控制和自動化領(lǐng)域。
二、特點
①協(xié)議標(biāo)準(zhǔn)開放、公開發(fā)布且無版稅要求,可以免費使用,不需要繳納許可證費;
②Modbus使用RS232,RS485,網(wǎng)口等接口,采用主從站(master/slave)方式通信。也就是請求/應(yīng)答的意思,主站發(fā)出請求,從站響應(yīng)回答,并且從站不會主動發(fā)送通信主站,從站之間也不會有通訊,從站的地址范圍為 0 - 247,其中0為廣播地址,從站的實際地址范圍為1 - 247。這樣成本低,而且布線也簡單方便,易于部署和維護(hù),滿足基本工業(yè)設(shè)備需求。
③Modbus是應(yīng)用層協(xié)議,位于OSI模型第七層。其協(xié)議格式簡單、通俗易懂,便于開發(fā)和集成,方便形成工業(yè)控制網(wǎng)絡(luò)。
- 種類
Modbus協(xié)議包括ASCII、RTU、TCP三種報文類型。有何區(qū)別呢?
簡單來說,Modbus協(xié)議使用串口傳輸時可以選擇RTU或ASCII模式,ASCII 模式采用LRC校驗,RTU模式采用16 位CRC校驗。通過以太網(wǎng)傳輸時使用TCP,這種模式不使用校驗,因為TCP協(xié)議是一個面向連接的可靠協(xié)議。對于所有的這三種通信協(xié)議在數(shù)據(jù)模型和功能調(diào)用上都是相同的,只有封裝方式是不同的。
另外,在實際的應(yīng)用過程中,為了解決某一個特殊問題,工業(yè)廠商喜歡修改MODBUS規(guī)約來滿足實際需求。但這并不影響網(wǎng)關(guān)使用,鋇錸技術(shù)網(wǎng)關(guān)可以根據(jù)廠商自己的modbus協(xié)議來定制產(chǎn)品,在相關(guān)網(wǎng)關(guān)產(chǎn)品說明書內(nèi)都有注明協(xié)議使用方法。
四、MODBUS協(xié)議格式
數(shù)據(jù)包主要是由四個模塊組成,從機(jī)地址,功能碼,數(shù)據(jù),校驗。
從機(jī)地址:(占用1字節(jié))Modbus總線上有很多的從機(jī),用不同地址來標(biāo)識,如若是主機(jī)發(fā)出,則可以發(fā)送到相應(yīng)的采集,如果是從機(jī)應(yīng)答,主機(jī)也可以清楚識別判斷信息來自哪個從機(jī)。
功能碼:(占用1字節(jié))功能碼類型大致就是讀和寫功能,根據(jù)需要,填寫不同功能碼即可。常見的八種功能碼:
數(shù)據(jù):(根據(jù)功能碼占用多個字節(jié))功能碼不同,數(shù)據(jù)便不同。
校驗:(占用2個字節(jié))為了保持?jǐn)?shù)據(jù)的穩(wěn)定性,Modbus協(xié)議使用可靠的CRC校驗。
在這需要注意,數(shù)據(jù)包正確無誤地發(fā)送到相應(yīng)的從機(jī)時,從機(jī)執(zhí)行相應(yīng)操作,并發(fā)送反饋數(shù)據(jù)給主機(jī),如果發(fā)送從機(jī)地址或功能碼是錯誤的,從機(jī)不會有任何響應(yīng),其他錯誤即會發(fā)送相應(yīng)錯誤碼。
弄清楚了MODBUS協(xié)議規(guī)范,數(shù)據(jù)上傳也就簡單多了,并且鋇錸技術(shù)的Modbus采集網(wǎng)關(guān)都有寄存器地址數(shù)據(jù)處理功能,從modbus寄存器中提取所需數(shù)據(jù),轉(zhuǎn)換成MQTT數(shù)據(jù)上云。
至此,要使用 Modbus 實現(xiàn)遠(yuǎn)程數(shù)據(jù)采集和控制,可以按照以下步驟進(jìn)行:
A.確定通信協(xié)議:感知設(shè)備使用的是Modbus RTU還是TCP協(xié)議,也就是使用串口還是網(wǎng)口。
B.確定數(shù)據(jù)采集和控制類型:一般的采集類型有工廠信息管理數(shù)據(jù)、生產(chǎn)設(shè)備數(shù)據(jù)等等,以及是該類型是16bit、32bit還是按位讀寫方式,然后選用相應(yīng)的寄存器地址。
C.配置 Modbus 主站:將采集網(wǎng)關(guān)( Modbus 主站)連接到感知設(shè)備,配置網(wǎng)關(guān)的通信協(xié)議和參數(shù)。
D.配置感知設(shè)備:配置感知設(shè)備的 Modbus 通信協(xié)議和通信參數(shù)
E.讀取和寫入數(shù)據(jù):通過網(wǎng)關(guān)(主站)向感知設(shè)備發(fā)送讀取和寫入數(shù)據(jù)的命令,根據(jù)需要進(jìn)行數(shù)據(jù)查看狀態(tài)或控制操作。
這里補(bǔ)充幾點,首先采集數(shù)據(jù)上云,則是網(wǎng)關(guān)作為Modbus主站,將Modbus從站數(shù)據(jù)采集上來之后轉(zhuǎn)換成MQTT協(xié)議對接華為云、亞馬遜云、阿里云、ThingsBoard、Sparkplug B、鋇錸云平臺。其次,網(wǎng)關(guān)絕大多數(shù)支持?jǐn)?shù)據(jù)TSL/SSL、X .509證書、密鑰加密、OpenVPN、APN專用網(wǎng)絡(luò)、離線緩存等安全功能,大大提高M(jìn)odbus設(shè)備到云端通信的安全性,防止數(shù)據(jù)泄露或通信故障等問題。
最后,網(wǎng)關(guān)多種多樣,在實際應(yīng)用中,要根據(jù)具體的數(shù)據(jù)采集和控制需求,選擇合適的 Modbus 網(wǎng)關(guān)設(shè)備,以實現(xiàn)遠(yuǎn)程數(shù)據(jù)采集和控制。
審核編輯 黃宇
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44640瀏覽量
373439 -
MODBUS
+關(guān)注
關(guān)注
28文章
1805瀏覽量
77011 -
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
4470瀏覽量
51114 -
RTU
+關(guān)注
關(guān)注
0文章
413瀏覽量
28681
發(fā)布評論請先 登錄
相關(guān)推薦
評論