版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
工業(yè)互聯(lián)網(wǎng)與智能產(chǎn)線控制MODBUSTCP通信協(xié)議解析主講教師:馮廣磊#0D7F47#06381F#C2F1C8#FFC30C#FFF2CB如何自動開啟空調(diào)并調(diào)整室內(nèi)燈光?ModbusTCP(ModbusTCP/IP)是一種工業(yè)通信協(xié)議,它是Modbus協(xié)議的一種實現(xiàn)方式,專為在以太網(wǎng)和TCP/IP網(wǎng)絡(luò)上運行而設(shè)計。7.應(yīng)用層MODBUS應(yīng)用層MODBUS+/HDL物理層主站、從站RS232、RS422或RS485EthernetⅡ/802.3以太網(wǎng)物理層基于TCP的ModbusTCPIP4.傳輸層3.網(wǎng)絡(luò)層2.數(shù)據(jù)鏈路層1.物理層Modbus數(shù)據(jù)模型數(shù)據(jù)區(qū)對象類型訪問類型描述線圈位讀寫這種類型的數(shù)據(jù)可以被應(yīng)用程序程序修改,表示開關(guān)狀態(tài)的輸出信號。離散量輸入位只讀這種類型的數(shù)據(jù)通常由輸入/輸出(I/0)系統(tǒng)提供,表示開關(guān)狀態(tài)的輸入信號輸入寄存器16位字只讀這種類型的數(shù)據(jù)通常由I/0系統(tǒng)提供,表示模擬量輸入的數(shù)據(jù)或其他只讀信息。保持寄存器16位字讀寫這種類型的數(shù)據(jù)可以被應(yīng)用程序程序修改,用于存儲數(shù)據(jù)或配置參數(shù)。Modbus協(xié)議的數(shù)據(jù)模型是數(shù)據(jù)在協(xié)議傳輸過程中的表達形式,它也是協(xié)議中約定的對從站設(shè)備的可訪問數(shù)據(jù)的一種抽象。Modbus中的數(shù)據(jù)模型主要有以下四種。Modbus地址模型為了簡化數(shù)據(jù)模型與設(shè)備存儲區(qū)的對應(yīng)關(guān)系,引入了一種地址模型。該地址模型通過編號的方式對不同類型數(shù)據(jù)進行區(qū)分,各數(shù)據(jù)的地址編號見下表。數(shù)據(jù)區(qū)Modbus地址編號編號范圍(1-65536)編號范圍(1-9999)PLC地址寄存器地址PLC地址寄存器地址線圈0000001-0655360x0000-0xFFFF00001-099990x0000-0x270E離散量輸入1100001-1655360x0000-0xFFFF10001-199990x0000-0x270E輸入寄存器3300001-3655360x0000-0xFFFF30001-399990x0000-0x270E保持寄存器4400001-4655360x0000-0xFFFF40001-499990x0000-0x270EModbus功能碼Modbus中常用的功能碼有8個,可以分為位操作和字操作兩類,如表所示。功能碼描述PLC地址位/字操作操作數(shù)量0x01讀線圈寄存器00001-09999位操作單個或多個0x02讀離散輸入寄存器10001-19999位操作單個或多個0x03讀保持寄存器40001-49999字操作單個或多個0x04讀輸入寄存器30001-39999字操作單個或多個0x05寫單個線圈寄存器00001-09999位操作單個0x06寫單個保持寄存器
40001-49999字操作單個0x0F寫多個線圈寄存器00001-09999位操作多個0x10寫多個保持寄存器40001-49999字操作多個Modbus
TCP
數(shù)據(jù)幀ModbusTCP的數(shù)據(jù)幀可分為兩部分:MBAP+PDU,如下圖所示。MODBUSTCP/IPADUMBAP報文頭功能碼數(shù)據(jù)PDU報文頭MBAPMBAP為報文頭,依賴于可靠的網(wǎng)絡(luò)層,長度為7字節(jié),組成如下:內(nèi)容長度描述事務(wù)處理標識2字節(jié)可以理解為報文的序列號,每次通信過程中主站和從站的報文幀的事務(wù)標識符需保持一致。一般每次通信之后就要加1以區(qū)別不同的通信數(shù)據(jù)報。協(xié)議標識2字節(jié)固定值為0x0000,表示ModbusTCP協(xié)議。長度2字節(jié)表示接下來的數(shù)據(jù)長度,單位為字節(jié)。單元標識符1字節(jié)表示目標從站的地址。幀結(jié)構(gòu)PDUPDU由功能碼+數(shù)據(jù)組成。功能碼為1字節(jié),數(shù)據(jù)長度不定,根據(jù)功能碼的不同而有所區(qū)別,包含要操作的數(shù)據(jù)地址和數(shù)據(jù)值等。功能碼參照Modbus功能碼。連接建立客戶端(Master)使用TCP協(xié)議與服務(wù)器(Slave)建立連接,通常使用IANA分配的ModbusTCP端口號502。Modbus
TCP通信過程請求發(fā)送客戶機向服務(wù)器發(fā)送請求消息,請求讀取或?qū)懭霐?shù)據(jù)。響應(yīng)接收服務(wù)器接收到客戶機的請求后,根據(jù)請求的功能碼執(zhí)行相應(yīng)的操作,并生成響應(yīng)消息。異常處理如果服務(wù)器無法滿足客戶機的請求,或者執(zhí)行請求時發(fā)生錯誤,服務(wù)器將生成一個異常響應(yīng)消息。連接關(guān)閉通信任務(wù)完成后,客戶端可以關(guān)閉TCP連接。Modbus
TCP協(xié)議通信示例0x01功能碼:讀輸出線圈事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址數(shù)據(jù)長度發(fā)送報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例000700000006030100130010事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼字節(jié)計數(shù)讀取值返回報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例0007000000050301022F27示例含義發(fā)送:在從站3(0x03)中,讀取起始地址為0x0013的線圈數(shù)據(jù),讀取線圈的數(shù)量為16(0x0010)個。返回:數(shù)據(jù)長度為2(0x02)個字節(jié),數(shù)據(jù)為0x2F27,對應(yīng)的二進制為0010111100100111,所在位上為1表示線圈為ON,為0表示線圈為OFF。Modbus
TCP協(xié)議通信示例0x02功能碼:讀離散量輸入事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址數(shù)據(jù)長度發(fā)送報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例000800000006030200130010事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼字節(jié)計數(shù)讀取值返回報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例0008000000050302022F27示例含義發(fā)送:在從站3(0x02)中,讀取起始地址為0x0013的離散量輸入數(shù)據(jù),讀取輸入狀態(tài)的數(shù)量為16(0x0010)個。返回:數(shù)據(jù)長度為2(0x02)個字節(jié),數(shù)據(jù)為0x2F27,對應(yīng)的二進制為0010111100100111,所在位上為1表示離散量輸入為ON,為0表示離散量輸入為OFF。Modbus
TCP協(xié)議通信示例0x03功能碼:讀保持寄存器事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址數(shù)據(jù)長度發(fā)送報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例000900000006030300130002事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼字節(jié)計數(shù)讀取值返回報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例0009000000070303043D152F27示例含義發(fā)送:在從站3(0x03)中,讀取開始地址為0x0013的保持寄存器數(shù)據(jù),讀取保持寄存器的數(shù)量為2個。返回:數(shù)據(jù)長度為4(0x04)個字節(jié),數(shù)據(jù)為3D152F27,第一個保持寄存器的值為0x3D15,第二個保持寄存器的值為0x2F27。Modbus
TCP協(xié)議通信示例0x04功能碼:讀輸入寄存器事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址數(shù)據(jù)長度發(fā)送報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例001000000006020400130002事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼字節(jié)計數(shù)讀取值返回報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例0010000000070204043D152F27示例含義發(fā)送:在從站2(0x02)中,讀取起始地址為0x0013的輸入寄存器數(shù)據(jù),讀取輸入寄存器的數(shù)量為2個。返回:數(shù)據(jù)長度為4(0x04)個字節(jié),數(shù)據(jù)為3D152F27,第一個輸入寄存器的值為0x3D15,第二個輸入寄存器的值為0x2F27。Modbus
TCP協(xié)議通信示例0x05功能碼:寫單個線圈事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址寫入值發(fā)送報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例0010000000060505000BFF00示例含義發(fā)送:主設(shè)備要求從站設(shè)備(地址5)從線圈地址0x000B開始,寫入單個線圈數(shù)據(jù),寫入值為1。其中:通斷標識FF00,表示線圈置ON;0000表示線圈置OFF。返回報文:原文返回。Modbus
TCP協(xié)議通信示例0x06功能碼:寫單個寄存器事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址寫入值發(fā)送報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)
示例0010000000060506000B00EC示例含義發(fā)送:主設(shè)備要求從站設(shè)備(地址5)從寄存器地址0x000B開始,寫入單個寄存器數(shù)據(jù),寫入值為0x00EC。返回報文:原文返回。Modbus
TCP協(xié)議通信示例0x0F功能碼:寫多個線圈事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址線圈數(shù)量返回報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)2字節(jié)2字節(jié)示例001100000006030F000B0010示例含義發(fā)送:主設(shè)備要求從站設(shè)備(地址3)從線圈地址0x001B開始,連續(xù)寫入16(0x0010)個,寫入的值為2CA0(二進制為0010110010100000,1代表所在位線圈置1,0代表所在線圈置0)。返回:起始地址為0x000B,寫入線圈數(shù)量為16個。事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址線圈數(shù)量字節(jié)計數(shù)寫入值發(fā)送報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)2字節(jié)2字節(jié)1字節(jié)2字節(jié)示例001100000009030F000B0010022CA0Modbus
TCP協(xié)議通信示例0x10功能碼:寫多個寄存器事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址數(shù)量字節(jié)計數(shù)寫入值發(fā)送報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)2字節(jié)2字節(jié)1字節(jié)2字節(jié)示例00120000000B0710001B0002041A092CA0事務(wù)處理標識協(xié)議標識符長度單元標識符功能碼起始地址數(shù)量返回報文2字節(jié)2字節(jié)2字節(jié)1字節(jié)1字節(jié)2字節(jié)2字節(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年黑龍江大慶市中考語文試題解讀及備考指導(dǎo)
- 黑龍江省綏化市海倫市2025-2026學(xué)年七年級上學(xué)期1月期末考試語文試卷(無答案)
- 廣東省湛江雷州市2025-2026學(xué)年上學(xué)期期末七年級語文試卷(無答案)
- 2025秋人教版二年級數(shù)學(xué)上冊期末復(fù)習(xí)專項拔高卷(含答案)
- 五官科題庫及答案
- 微機原理試題庫及答案
- 三年級下冊第八單元寫作指導(dǎo)這樣想象真有趣人教部編版
- 北京版六年級下冊數(shù)學(xué)第二單元比和比例測試卷附參考答案【預(yù)熱題】
- 在市民政工作半年總結(jié)會議上的工作報告全國民政工作會議
- 防雷系統(tǒng)設(shè)計安裝技術(shù)要點
- 2026年黑龍江林業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能筆試備考試題含答案解析
- 生物實驗室安全管理手冊
- 網(wǎng)絡(luò)安全與輿情培訓(xùn)簡報課件
- 供應(yīng)商現(xiàn)場審核打分表-評分細則
- 預(yù)防葡萄膜炎復(fù)發(fā)護理策略
- 民兵偽裝與防護課件
- 2025年初級經(jīng)濟師考試卷附答案
- 車輛保證過戶協(xié)議書
- 2026年勞動合同示范文本
- 2025年《城市公共汽車和電車客運管理規(guī)定》知識考試題庫及答案解析
- 數(shù)字文旅發(fā)展的沉浸式體驗創(chuàng)新
評論
0/150
提交評論