




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、工業(yè)無線工業(yè)私有云工業(yè)安全工業(yè)服務(wù)器工業(yè)組態(tài)軟件 偉聯(lián)科技Wisdom Industrial Solution Consultant偉聯(lián)科技Modbus協(xié)議簡介1. Modbus 概述5. Modbus 事務(wù)處理2. Modbus 協(xié)議規(guī)范3. Modbus 數(shù)據(jù)模型4. Modbus 功能碼6. Modbus 故障診斷7. Modbus 仿真8. Q & Au Modbus是Modicon(現(xiàn)為施耐德電氣公司的一個品牌)在1979年開發(fā)的一項在ISO模型第7層的應(yīng)用層報文傳輸協(xié)議,在過去幾十年已被大量地應(yīng)用于工業(yè)控制領(lǐng)域的開放的、標準的、免費的網(wǎng)絡(luò)通信協(xié)議。Modbus 協(xié)議概述u Modb
2、us是最早的串行鏈路上的國際標準。在串行鏈路上取決于TIA/EIA標準(232-F和485-A)。u 1997年施耐德在TCP/IPIETF標準(RFC793和RFC791)上實現(xiàn)了Modbus協(xié)議。u 2004年,Modbus成為我國國家標準:GB/T 19582-2008基于Modbus協(xié)議的工業(yè)自動化網(wǎng)絡(luò)規(guī)范。u Modbus RTU/ASCII Modbus TCP/IP Modbus PLUS。Modbus 通訊棧EIA/TIA-232EIA/TIA-485MASTER/SLAVEETHERNET RJ45PHYSICAL LAYERETHERNET II/802.3Modbus R
3、TU/ASCIIIPTCPPHYSICAL LAYERDATALINK LAYERNETWORK LAYERTRANSPORT LAYERSESSION LAYERPRESENTATION LAYERAPPLICATION LAYEROSI ModelLayerProtocol data unit (PDU)FunctionHostlayers7. ApplicationDataHigh-level APIs, including resource sharing, remote file access6. PresentationTranslation of data between a n
4、etworking service and an application; including character encoding, data compression andencryption/decryption5. SessionManaging communication sessions, i.e. continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes4. TransportSegment, DatagramReliable
5、transmission of data segments between points on a network, including segmentation, acknowledgement and multiplexingMedialayers3. NetworkPacketStructuring and managing a multi-node network, including addressing,routing and traffic control2. Data linkFrameReliable transmission of data frames between t
6、wo nodes connected by a physical layer1. PhysicalSymbolTransmission and reception of raw bit streams over a physical mediumDescription of OSI layersRS-232、RS-422與RS-485通訊特性對照表 主機數(shù) 接設(shè)備(從站)最大數(shù) 通訊最大距離(米) 最大傳輸速(bps) 終端電阻位置 終端電阻阻值() 接線方式 RS-232112020k-與DB頭針(孔)數(shù)有關(guān) RS-4221101219(在100kbps速率以下) 10M(在100米以下)
7、最遠端(在300米以下不接) 100四線、地線 RS-4851321219(在100kbps速率以下) 10M(在100米以下) 兩端(在300米以下不接) 120二線/四線、地線 01協(xié)議簡介協(xié)議簡介02數(shù)據(jù)幀格式數(shù)據(jù)幀格式03數(shù)據(jù)模型數(shù)據(jù)模型04功能碼功能碼MODBUS05事務(wù)處理事務(wù)處理01Modbus協(xié)議簡介協(xié)議簡介Modbus 協(xié)議簡介l Modbus協(xié)議是主從站通訊協(xié)議;l 網(wǎng)絡(luò)上的每個從站必須有唯一的地址(范圍從1到247); l 從站地址用于尋址從站設(shè)備,由主站發(fā)起;l 地址0用于廣播模式,不需要響應(yīng);l 串行鏈路上的Modbus 傳輸模式分為Modbus RTU 和 Modb
8、us ASCIIRS485 / TCP Modbus請求:地址100開始讀20個字Modbus響應(yīng):地址100至119的20個字的值主站從站Modbus RTU傳輸模式特性RTU編碼系統(tǒng)十六進制每個字符的位數(shù)起始位1位數(shù)據(jù)位8位奇偶校驗位0或1位停止位1或2位校驗和CRC(循環(huán)冗余校驗) Modbus RTU傳輸特性:地址域地址域功能碼功能碼數(shù)據(jù)數(shù)據(jù)差錯校驗差錯校驗PDU=Function Code + Data地址域: 單個設(shè)備的地址范圍是1247;網(wǎng)絡(luò)上的每個從設(shè)備必須具有唯一的地址;主設(shè)備通過將要聯(lián)絡(luò)的從設(shè)備的地址放入消息中的地址域來選通設(shè)備;當從設(shè)備發(fā)送回應(yīng)消息時,它把自己的地址放入回
9、應(yīng)的地址域中,以便主設(shè)備知道是哪一個設(shè)備作出回應(yīng)。 地址0是用作廣播地址,以使所有的從設(shè)備都能認識,不需要響應(yīng)。功能碼:作為主機的請求發(fā)送時,通過功能碼告訴從機執(zhí)行什么動作;數(shù)據(jù):隨功能碼的不同,數(shù)據(jù)區(qū)也發(fā)生變化。差錯校驗: CRC-16(循環(huán)冗余錯誤校驗),用于RTU模式; LRC(縱向冗余錯誤校驗),用于ASCII模式。Modbus RTU傳輸模式ADU=Address + PDU + Error CheckModbus最初是在串行鏈路上實現(xiàn)的,由于RS485鏈路上最大的ADU為256個字節(jié),因此限制了Modbus PDU的長度,也就限制了一條Modbus能夠傳輸?shù)淖畲髷?shù)據(jù)量對串行鏈路來講
10、,Modbus PDU=256-從站地址(1字節(jié))-CRC校驗(2字節(jié))=253字節(jié),因此一條Modbus報文最多可以傳輸126個字的數(shù)據(jù)。TCP的Modbus ADU=249字節(jié)+MBAP(7字節(jié))=256個字節(jié),因此一條Modbus TCP報文最大可以傳輸124個字的數(shù)據(jù)。Modbus RTU傳輸模式 M B A P 報 文 頭 功 能 碼 數(shù) 據(jù) M o d b u s T C P /IP P D U P D U 02Modbus數(shù)據(jù)幀格式數(shù)據(jù)幀格式Modbus 數(shù)據(jù)幀格式在RTU模式,報文幀由時長至少為3.5個字符時間的空閑間隔區(qū)分,小于3.5字符被認為是一條報文 t0 至少 3.5
11、個字符 幀 1 幀 2 至少 3.5 個字符 幀 3 4.5 個字符 3.5 個字符 整個報文幀必須由連續(xù)的數(shù)據(jù)流發(fā)送兩個字符之間小于1.5個字符間隔,超過1.5個字符則報文幀被認為不完整而被接收站點丟棄 t0 1.5 個 字 符 幀 1 正正 常常 幀 2 不不 正正 常常 1.5 個 字 符 報文必須以“ : ”開始;報文必須以“LFCR”結(jié)束;數(shù)據(jù)用十六進制ASCII碼值表示;使用LRC進行差錯校驗;每個字符字節(jié)需要有兩個字符編碼,數(shù)據(jù)域最大數(shù)據(jù)長度為2252個字符,Modbus ASCII幀的最大長度為513個字符Modbus 數(shù)據(jù)幀格式Modbus ASCII模式起始地址功能碼數(shù)據(jù)L
12、RC結(jié)束符1個字符:兩個字符2個字符0-2252個字符2個字符2個字符CR、LFNameLength FunctionStart1Starts with colon : (ASCII hex value is 3A)Address2Station addressFunction2Indicates the function codes like read coils / inputsDatan 2Data + length will be filled depending on the message typeLRC2Checksum (Longitudinal redundancy chec
13、k)End2Carriage return line feed (CR/LF) pair (ASCII values of 0D, 0A)增加MBAP報文頭;無差錯校驗;Modbus 數(shù)據(jù)幀格式Modbus TCP模式域長度描述客戶機服務(wù)器事務(wù)處理標識符2字節(jié)Modbus請求/響應(yīng)事務(wù)處理的識別客戶機啟動服務(wù)器從接收的請求中重新復制協(xié)議標識符2字節(jié)0=Modbus協(xié)議客戶機啟動服務(wù)器從接收的請求中重新復制長度2字節(jié)隨后字節(jié)的數(shù)量客戶機啟動(請求)服務(wù)器(響應(yīng))啟動單元標識符1字節(jié)串行鏈路或其它總線上連接的遠程從站的識別客戶機啟動服務(wù)器從接收的請求中重新復制03Modbus數(shù)據(jù)模型數(shù)據(jù)模型Mod
14、bus 數(shù)據(jù)模型Object typeAccessSizeData AddressData AddressCoilRead-write1 bit0 x0001-0 x99990 x00000-0 x65535Discrete inputRead-only1 bit1x0001-0 x99991x00000-0 x65535Input registerRead-only16 bits 3x0001-0 x99993x00000-0 x65535Holding registerRead-write16 bits 4x0001-0 x99994x00000-0 x65535l Coil:線圈,開關(guān)量
15、輸出,可讀可寫l Discrete Input:開關(guān)量輸入,只讀l Input Register:輸入寄存器,只讀l Holding Register:保持寄存器,可讀可寫;04Modbus功能碼功能碼功能碼名稱作用01讀取開出狀態(tài)(Read Coil Status)取得一組開關(guān)量輸出的當前狀態(tài)02讀取開入狀態(tài)(Read Input Status)取得一組開關(guān)量輸入的當前狀態(tài)03讀取模出狀態(tài)(Read Holding Registers)取得一組模擬量輸出的當前狀態(tài)04讀取模入狀態(tài)(Read Input Registers) 取得一組模擬量輸入的當前狀態(tài)05強制單路開出(Force Singl
16、e Coil)強制設(shè)定某個開關(guān)量輸出的值06強制單路模出(Preset Single Register)強制設(shè)定某個模擬量輸出的值15強制多路開出(Force Multiple Coils)強制設(shè)定從站幾個開關(guān)量輸出的值16強制多路模出(Preset Multiple Regs)強制設(shè)定從站幾個模擬量輸出的值Modbus 功能碼Modbus 功能碼-01從站地址功能碼起始地址高位起始地址低位數(shù)據(jù)線圈數(shù)高位數(shù)據(jù)線圈數(shù)低位校驗和CRC11H01H00H13H00H25H0EH 84H從站地址功能碼字節(jié)計數(shù)數(shù)據(jù)校驗和CRC11H01H05HCDH 6BH B2H 0EH 1BH45H E6H應(yīng)答RT
17、U幀(Response)詢問RTU幀(Query)讀取開出狀態(tài)(功能碼讀取開出狀態(tài)(功能碼01) 本功能可使主站獲得被編址從站的開關(guān)量輸出的通斷狀態(tài)。起始地址是指從哪一路開關(guān)量開始(編號從0開始),數(shù)據(jù)線圈數(shù)是指讀取幾路。應(yīng)答幀中的數(shù)據(jù)是按上述要求讀取的開關(guān)量數(shù)據(jù)(每路一位,每8位組成一個字節(jié),最后一個字節(jié)的不足部分補0).例:讀取17號從站開關(guān)量輸出020-056的狀態(tài),讀出的37位組成5個字節(jié),最后一個字節(jié)的高三位補0.Modbus 功能碼-02從站地址功能碼起始地址高位起始地址低位數(shù)據(jù)線圈數(shù)高位數(shù)據(jù)線圈數(shù)低位校驗和CRC11H02H00HC4H00H16HBAH A9H從站地址功能碼字節(jié)
18、計數(shù)數(shù)據(jù)校驗和CRC11H02H03HACH DBH 35H20H 18H應(yīng)答RTU幀(Response)詢問RTU幀(Query)讀取開入狀態(tài)(功能碼讀取開入狀態(tài)(功能碼02) 本功能可使主站獲得被編址從站的開關(guān)量輸入的通斷狀態(tài)。起始地址是指從哪一路開關(guān)量開始(編號從0開始),數(shù)據(jù)線圈數(shù)是指讀取幾路。應(yīng)答幀中的數(shù)據(jù)是按上述要求讀取的開關(guān)量數(shù)據(jù)(每路一位,每8位組成一個字節(jié),最后一個字節(jié)的不足部分補0).例:讀取17號從站開關(guān)量輸入0197-0218的狀態(tài),讀出的22位組成3個字節(jié),最后一個字節(jié)的高2位補0。Modbus 功能碼-03從站地址功能碼起始地址高位起始地址低位寄存器數(shù)高位寄存器數(shù)低
19、位校驗和CRC11H03H00H6BH00H03H76H 87H從站地址功能碼字節(jié)計數(shù)數(shù)據(jù)校驗和CRC11H03H06H02H 2BH 00H 00H 00H 64H20H 18H應(yīng)答RTU幀(Response)詢問RTU幀(Query)讀取模出狀態(tài)(功能碼讀取模出狀態(tài)(功能碼03) 本功能可使主站獲得被編址從站的模擬量輸出的通斷狀態(tài)。起始地址是指從哪一路模擬量開始(編號從0開始),寄存器數(shù)是指讀取幾路模擬量(每路模擬量2個字節(jié),高位在前,低位在后)。應(yīng)答幀中的數(shù)據(jù)是按上述要求讀取的模擬量數(shù)據(jù)。例:讀取17號從站模出點0108-0110的狀態(tài)。應(yīng)答數(shù)據(jù)高字節(jié)在前。108是555,109是0,1
20、10是100。Modbus 功能碼-04從站地址功能碼起始地址高位起始地址低位寄存器數(shù)高位寄存器數(shù)低位校驗和CRC11H04H00H6BH00H03HC3H 47H從站地址功能碼字節(jié)計數(shù)數(shù)據(jù)校驗和CRC11H04H06H02H 2BH 00H 00H 00H 64H5CH 89H應(yīng)答RTU幀(Response)詢問RTU幀(Query)讀取模入狀態(tài)(功能碼讀取模入狀態(tài)(功能碼04) 本功能可使主站獲得被編址從站的模擬量輸入值。起始地址是指從哪一路模擬量開始(編號從0開始),寄存器數(shù)是指讀取幾路模擬量(每路模擬量2個字節(jié),高位在前,低位在后)。應(yīng)答幀中的數(shù)據(jù)是按上述要求讀取的模擬量數(shù)據(jù)。例:讀取
21、17號節(jié)點的模入點0108-0110的狀態(tài)。應(yīng)答數(shù)據(jù)高字節(jié)在前。108是555,109是0,110是100。Modbus 功能碼-05從站地址功能碼起始地址高位起始地址低位數(shù)據(jù)開關(guān)原狀態(tài)校驗和CRC11H05H00HACHFFH00H4EH 8BH應(yīng)答RTU幀(Response)詢問RTU幀(Query)強制單路開出(功能碼強制單路開出(功能碼05) 本功能可使主站強行設(shè)定被編址從站某路開關(guān)量輸出的通斷狀態(tài)。從站內(nèi)部的任何一路開關(guān)量均能被強制。起始地址是指設(shè)定開關(guān)量的哪一路(編號從0開始),數(shù)據(jù)用于設(shè)定開或關(guān):FF為開,0為關(guān),其他值為非法值。正常應(yīng)答是將報文原文發(fā)回。例:強制17號從站開出點
22、173為ON。從站地址功能碼起始地址高位起始地址低位數(shù)據(jù)開關(guān)原狀態(tài)校驗和CRC11H05H00HACHFFH00H4EH 8BHModbus 功能碼-06從站地址功能碼起始地址高位起始地址低位數(shù)據(jù)高位數(shù)據(jù)低位校驗和CRC11H06H00H87H03H9EHBAH 2BH應(yīng)答RTU幀(Response)詢問RTU幀(Query)強制單路模出(功能碼強制單路模出(功能碼06) 本功能可使主站強行設(shè)定被編址從站某路模擬量輸出的值。從站內(nèi)部的任何一路模擬量均能被強制。起始地址是指設(shè)定哪一路模擬量(編號從0開始),數(shù)據(jù)用于設(shè)定該模擬量的值(高位在前,低位在后)。正常應(yīng)答是將報文原文發(fā)回。例:強制17號從
23、站模出點136為039EH。從站地址功能碼起始地址高位起始地址低位數(shù)據(jù)開關(guān)原狀態(tài)校驗和CRC11H06H00H87H03H9EHBAH 2BHModbus 功能碼-15從站地址功能碼起始地址高位起始地址低位寄存器數(shù)高位寄存器數(shù)低位字節(jié)計數(shù)數(shù)據(jù)校驗和CRC11H0FH00H13H00H0AH02HCDH 00H7EH CBH應(yīng)答RTU幀(Response)詢問RTU幀(Query)強制多路開出(功能碼強制多路開出(功能碼15) 本功能可使主站強行設(shè)定被編址從站一組連續(xù)開關(guān)量輸出的通斷狀態(tài)。從站內(nèi)部的任何開出量均能被強制。起始地址是從哪一路開關(guān)量開始(編號從0開始),寄存器數(shù)是指設(shè)定幾路。字節(jié)計數(shù)
24、是指隨后的線圈狀態(tài)(開關(guān)量設(shè)定值)的字節(jié)數(shù)。線圈狀態(tài)是設(shè)定的開出值,每一路開出占用一位(1為開,0為關(guān)),每八位組成一個字節(jié),最后一個字節(jié)的不足部分補0。正常應(yīng)答內(nèi)容是回送從站地址、功能碼、起始地址和強置的開關(guān)量數(shù)。從站地址功能碼起始地址高位起始地址低位寄存器數(shù)高位寄存器數(shù)低位校驗和CRC11H0FH00H13H03H0AH26H 99H例:強置17號從站開關(guān)量輸出0020-0029的狀態(tài),設(shè)定值CD(11001101)和00(00000000)表示開關(guān)量輸出的第27、26、23、22和20將被強置為開狀態(tài)。 Modbus 功能碼-16從站地址功能碼起始地址高位起始地址低位寄存器數(shù)高位寄存器數(shù)
25、低位字節(jié)計數(shù)數(shù)據(jù)校驗和CRC11H10H00H87H00H02H04H00H 0AH 01H 02H7EH CBH應(yīng)答RTU幀(Response)詢問RTU幀(Query)強制多路模出(功能碼強制多路模出(功能碼16) 本功能可使主站強行設(shè)定被編址從站一組連續(xù)模擬量輸出的值。從站內(nèi)部的任何模出量均能被強制。起始地址是從哪一路模擬量開始(編號從0開始),寄存器數(shù)是指設(shè)定幾路。字節(jié)計數(shù)是指隨后的數(shù)據(jù)(模擬量設(shè)定值)的字節(jié)數(shù)。數(shù)據(jù)是設(shè)定的模出值,每一路模出兩個字節(jié)(高位在前,低位在后)。正常應(yīng)答內(nèi)容是回送從站地址、功能碼、起始地址和強置的模擬量數(shù)。從站地址功能碼起始地址高位起始地址低位寄存器數(shù)高位寄
26、存器數(shù)低位校驗和CRC11H10H00H87H00H02HF3H 71H例:強置17號從站模擬量輸出0136-0137的狀態(tài),設(shè)定值0136為000A,設(shè)定0137為0102。05Modbus 事務(wù)處理事務(wù)處理Modbus事務(wù)處理正常響應(yīng)當從站對主站響應(yīng)時,當從站對主站響應(yīng)時,Modbus通過功能碼域來指示通訊是否正常;通過功能碼域來指示通訊是否正常;對于正常響應(yīng),從站會復制主站功能碼,加入到響應(yīng)報文對于正常響應(yīng),從站會復制主站功能碼,加入到響應(yīng)報文對于異常響應(yīng),從站會將功能碼域最高位置對于異常響應(yīng),從站會將功能碼域最高位置“1”,異常碼指示錯誤類型,異常碼指示錯誤類型啟動請求接收響應(yīng)功能碼數(shù)
27、據(jù)請求執(zhí)行操作啟動響應(yīng)功能碼數(shù)據(jù)響應(yīng)啟動請求接收響應(yīng)功能碼數(shù)據(jù)請求執(zhí)行操作啟動差錯異常功能碼異常碼01 03 00 00 00 10 01 03 10 xx 01 03 00 00 00 10 01 83 02 Modbus事務(wù)處理常見錯誤碼CodeTextDetails1Illegal FunctionFunction code received in the query is not recognized or allowed by slave2Illegal Data AddressData address of some or all the required entities are
28、 not allowed or do not exist in slave3Illegal Data ValueValue is not accepted by slave4Slave Device FailureUnrecoverable error occurred while slave was attempting to perform requested action5AcknowledgeSlave has accepted request and is processing it, but a long duration of time is required. This response is returned to prevent a timeout error from occurring in the master. Master
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國雙作用無油潤滑氣缸市場調(diào)查研究報告
- 車輛拍賣代理合同協(xié)議書
- 2025年中國農(nóng)用耕地犁土機市場調(diào)查研究報告
- 2025年中國全棉靛藍色織布市場調(diào)查研究報告
- 2024年度浙江省二級建造師之二建礦業(yè)工程實務(wù)能力測試試卷B卷附答案
- 節(jié)能家居產(chǎn)品技術(shù)專利許可與轉(zhuǎn)讓協(xié)議
- 2024年度浙江省二級建造師之二建機電工程實務(wù)題庫綜合試卷B卷附答案
- 山西省呂梁地區(qū)文水縣2025年八下英語期中質(zhì)量檢測試題含答案
- 文化產(chǎn)業(yè)黨委黨建共建與推廣合作協(xié)議
- 商法學69章節(jié)章節(jié)課件
- 沃爾瑪收貨管理制度
- 鐵塔施工方案(3篇)
- 2025年連云港市中考數(shù)學試題卷(含答案)
- 2024初級會計職稱考試《經(jīng)濟法基礎(chǔ)》真題和答案
- 包裝公司日常管理制度
- CJ/T 358-2019非開挖工程用聚乙烯管
- 理論聯(lián)系實際闡述文化在社會發(fā)展中具有什么樣的作用?參考答案四
- 四川雅安天立學校2025年七下數(shù)學期末預測試題含解析
- 電子元器件品質(zhì)協(xié)議書
- 破產(chǎn)拍賣協(xié)議書
評論
0/150
提交評論