Modbus通訊協(xié)議詳情_第1頁
Modbus通訊協(xié)議詳情_第2頁
Modbus通訊協(xié)議詳情_第3頁
Modbus通訊協(xié)議詳情_第4頁
Modbus通訊協(xié)議詳情_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實用標(biāo)準(zhǔn)文檔Modbus通訊協(xié)議簡化V1.02004-5-211 Modbus協(xié)議概述Modbus協(xié)議是主從站通訊協(xié)議,用異步串行口完成通訊,物理層采用RS485或RS232。傳輸速率可以達到 115kbps,理論上可接(尋址)一臺主站和至多247臺從站。受線路和設(shè)備的限制,最多可接一臺主站和32臺從站。Modbus協(xié)議的某些特性是固定的,如幀格式、幀順序、通訊錯誤和異常情況的處 理,以及所執(zhí)行的功能等,都不能隨便改動。其他特性屬于用戶可選的,如傳輸介質(zhì)、 波特率、字符奇偶校驗、停止位的個數(shù)等等,傳輸模式為RTU。用戶所選擇的參數(shù)對于各個站必須一致,在系統(tǒng)運行時不能改變。1.1 Modbus協(xié)

2、議傳輸模式Modbus的傳輸模式: RTU方式。表1-1 RTU傳輸模式的特性特性RTU編碼系統(tǒng)十六進制每個字符的位數(shù)起始位1位數(shù)據(jù)位18位奇偶校驗位0或1位停止位1或2位校驗和CRC (循環(huán)冗余校驗)1.2 幀Modbus協(xié)議的幀(報文)格式: RTU幀。卜表是RTU傳輸模式的一般格式命令幀。從站地址功能碼數(shù)據(jù)校驗和8位8位N*8位16位2 Modbus 協(xié)議2.1 通訊方式Modbus有兩種通訊方式:應(yīng)答方式和廣播方式。應(yīng)答方式是主站向某個從站(地址1247)發(fā)出命令,然后等待從站的應(yīng)答;從站接到主站命令后,執(zhí)行命令,并將執(zhí)行結(jié)果返回給主站作為應(yīng)答,然后等待下一個命令。廣播方式是主站向所有

3、從站發(fā)送命令(從站地址為0),不需要等待從站應(yīng)答;從站接到廣播命令后,執(zhí)行命令,也不向主站應(yīng)答。除了會送診斷校驗外, 只有05、06、15、16這四項功能(見2.3)對廣播方式有效。2.2 Modbus 幀Modbus的幀按應(yīng)答方式分為命令幀(詢問幀)和應(yīng)答幀。命令幀為一般格式命令幀,應(yīng)答幀有顯長度幀和隱長度幀之分,圖2-1、2-3、2-4給出了典型的幀格式。從站地功能數(shù)據(jù)校驗址碼數(shù)據(jù)起始寄存器 高位數(shù)據(jù)起始寄存器 地位數(shù)據(jù)寄存器 高位數(shù)據(jù)寄存器 地位和圖2-1一般格式命令幀從站地址功能碼數(shù)據(jù)長度數(shù)據(jù)校驗和圖2-3顯長度應(yīng)答幀從站地址功能碼數(shù)據(jù)校驗和圖2-4隱長度應(yīng)答幀2.2.1 從站地址字段

4、幀中的從站地址字段表示接收主站報文的從站地址。當(dāng)從站地址字段為 0時,表示所有從站,此時的報文是廣播報文。用戶必須設(shè)定每臺從站的專用地址。只有被編址的設(shè)備才能對主機的命令(詢問) 做出應(yīng)答。從站發(fā)送應(yīng)答報文時, 報文中地址的作用是向主站報告正在通訊的是哪臺從 站。2.2.2 功能碼字段功能碼字段同志從站應(yīng)執(zhí)行何種功能。表2-1列出了功能碼的意義和作用。2.3節(jié)給出了各個功能碼對應(yīng)報文的詳細格式和功能。表2-1 Modbus功能碼功能碼名稱作用(對主站們百)01;讀取開出狀態(tài)取得一組開關(guān)量輸出的當(dāng)前狀態(tài)02讀取開入狀態(tài)取得一組開關(guān)量輸入的當(dāng)前狀態(tài)03讀取模出狀態(tài)取得一組模擬量輸出的當(dāng)前狀態(tài)04讀

5、取模入狀態(tài)取得一組模擬量輸入的當(dāng)前狀態(tài)05強制單路開出強制設(shè)定某個開關(guān)量輸出的值06強制單路模出強制設(shè)定某個模擬量輸出的值07讀取異常狀態(tài)取得從站的一些狀態(tài)(8位)08回送診斷校驗把診斷校驗報文送從站,以對通訊處理進行評鑒09:編程主機模擬編程器的作用,修改從站邏輯一10探詢定期探詢從站是否已完成某長程序任務(wù)11讀取得通訊狀態(tài)和通訊事件的次數(shù)12讀取通訊事件記錄取得通訊狀態(tài)、事件次數(shù)、報文數(shù)量和至多 64個事 件13編程主機模擬編程器的作用,修改從站邏輯14探詢定期探詢從站是否已完成某長程序任務(wù)15強制多路開出強制設(shè)定從站幾個開關(guān)量輸出的值16強制多路模出強制設(shè)定從站幾個模擬量輸出的值17報告

6、從站標(biāo)識取得從站類型和運行指示燈的狀態(tài)18編程主機模擬編程器的作用,修改從站邏輯19重置通訊鏈路使從站復(fù)位于已知狀態(tài)20-72保留留作擴展功能備用73-119非法功能120-127保留留作內(nèi)部使用128-255保留用作異常應(yīng)答2.2.3 數(shù)據(jù)長度字段數(shù)據(jù)長度字段記錄的是隨后的數(shù)據(jù)字段的長度,單位為字符(字節(jié))。數(shù)據(jù)字段的長度總是被規(guī)定為 RTU模式下數(shù)據(jù)字符的總數(shù), 數(shù)據(jù)字符的數(shù)量總是按 RTU模式下的 數(shù)據(jù)字符計算。2.2.4 數(shù)據(jù)字段數(shù)據(jù)字段內(nèi)含有從站執(zhí)行某項具體功能的信息,或者含有從站應(yīng)答詢問的信息。 這些信息可以是數(shù)值、 地址參數(shù)或范圍,例如, 從哪路開關(guān)量或寄存器開始, 處理幾個開

7、關(guān)位或寄存器、開關(guān)量或寄存器的值等等。2.2.5 校驗和字段校驗和字段用于檢查通訊報文在通訊線路中是否出錯。RTU模式傳送時,用 CRC-16,參見附錄A。2.3 功能碼2.3.1 讀取開出狀態(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。詢問RTU幀:從站地址功

8、能碼起始地址 高位起始地址 低位數(shù)據(jù)線圈 數(shù)高位數(shù)據(jù)線圈 數(shù)低位校驗和CRC11H01H00H13H00H25H0EH 84H應(yīng)答RTU幀:從站地址功能碼數(shù)據(jù)校驗和CRC11H01H05HCDH 6BH B2H 0EH 1BH45H E6H2.2.3讀取開入狀態(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

9、位組成3個字節(jié),最后一個字節(jié)的高 2位補0。詢問RTU幀:從站地址功能碼起始地址 高位起始地址 低位數(shù)據(jù)線圈 數(shù)高位數(shù)據(jù)線圈 數(shù)低位校驗和CRC11H02H00HC4H00H16HBAH A9H應(yīng)答RTU幀:從站地址功能碼數(shù)據(jù)校驗和CRC11H02H03HACH DBH 35H20H 18H2.2.4 讀取模出狀態(tài)(功能碼 03)本功能可使主站獲得被編址從站的模擬量輸出的通斷狀態(tài)。起始地址是指從哪一路模擬量開始(編號從 0開始),寄存器數(shù)是指讀取幾路模擬量(每路模擬量2個字節(jié),高位在前,低位在后)。應(yīng)答幀中的數(shù)據(jù)是按上述要求讀取的模擬量數(shù)據(jù)。本功能不支 持廣播方式。以下例子是讀取17號從站模出

10、點 0108-0110的狀態(tài)。應(yīng)答數(shù)據(jù)高字節(jié)在前。108是 555, 109 是 0, 110 是 100。詢問RTU幀:從站地址功能碼起始地址 高位起始地址 低位寄存器數(shù) 高位寄存器數(shù) 低位校驗和CRC11H03H00H6BH00H03H76H 87H應(yīng)答RTU幀:從站地址功能碼數(shù)據(jù)校驗和CRC11H03H06H02H 2BH 00H 00H 00H 64HCBH BAH2.2.5 讀取模入狀態(tài)(功能碼 04)本功能可使主站獲得被編址從站的模擬量輸入值。起始地址是指從哪一路模擬量開始(編號從0開始),寄存器數(shù)是指讀取幾路模擬量(每路模擬量2個字節(jié),高位在前,低位在后)。應(yīng)答幀中的數(shù)據(jù)是按上述

11、要求讀取的模擬量數(shù)據(jù)。本功能不支持廣播方式。以下例子是讀取17號節(jié)點的模入點0108-0110的狀態(tài)。應(yīng)答數(shù)據(jù)高字節(jié)在前。108是 555, 109 是 0, 110 是 100。詢問RTU幀:從站地址功能碼起始地址 高位起始地址 低位寄存器數(shù) 高位寄存器數(shù) 低位校驗和CRC11H04H00H6BH00H03HC3H 47H應(yīng)答RTU幀:從站地址功能碼數(shù)據(jù)校驗和CRC11H04H06H02H 2BH 00H 00H 00H 64H5c 89H2.2.6 強制單路開出(功能碼 05)本功能可使主站強行設(shè)定被編址從站某路開關(guān)量輸出的通斷狀態(tài)。從站內(nèi)部的任何一路開關(guān)量均能被強制。起始地址是指設(shè)定開關(guān)

12、量的哪一路(編號從0開始),數(shù)據(jù)用于設(shè)定開或關(guān):FF為開,0為關(guān),其他值為非法值。正常應(yīng)答是將報文原文發(fā)回。從站地址為0時,為廣播方式。以下例子是強制17號從站開出點173為ON。詢問RTU幀:從站地址功能碼起始地址 高位起始地址 低位數(shù)據(jù)開關(guān)原狀 態(tài)校驗和CRC11H05H00HACHFFH00H4EH 8BH應(yīng)答RTU幀:從站地址功能碼起始地址 高位起始地址 低位數(shù)據(jù)開關(guān)原狀 態(tài)校驗和CRC11H05H00HACHFFH00H4EH 8BH2.2.7 強制單路模出(功能碼 06)本功能可使主站強行設(shè)定被編址從站某路模擬量輸出的值。從站內(nèi)部的任何一路模擬量均能被強制。起始地址是指設(shè)定哪一路模

13、擬量(編號從0開始),數(shù)據(jù)用于設(shè)定該模擬量的值(高位在前,低位在后)。正常應(yīng)答是將報文原文發(fā)回。從站地址為0時,為廣播方式。以下例子是強制17號從站*II出點136為039EH。詢問RTU幀:從站地址功能碼起始地址 高位起始地址 低位數(shù)據(jù)圖便數(shù)據(jù)低位校驗和CRC11H06H00H87H03H9EHBAH 2BH應(yīng)答RTU幀:從站地址功能碼起始地址 高位起始地址 低位數(shù)據(jù)圖便數(shù)據(jù)低位校驗和CRC11H06H00H87H03H9EHBAH 2BH2.2.8 強制多路開出(功能碼 15)本功能可使主站強行設(shè)定被編址從站一組連續(xù)開關(guān)量輸出的通斷狀態(tài)。從站內(nèi)部的任何開出量均能被強制。起始地址是從哪一路開

14、關(guān)量開始(編號從0開始),寄存器數(shù)是指設(shè)定幾路。字節(jié)計數(shù)是指隨后的線圈狀態(tài)(開關(guān)量設(shè)定值)的字節(jié)數(shù)。 線圈狀態(tài)是設(shè)定的開出值,每一路開出占用一位(1為開,0為關(guān)),每八位組成一個字節(jié),最后一 個字節(jié)的不足部分補 0。正常應(yīng)答內(nèi)容是回送從站地址、功能碼、起始地址和強置的開 關(guān)量數(shù)。從站地址為 0時,為廣播模式。以下例子是強置17號從站開關(guān)量輸出 0020-0029的狀態(tài),設(shè)定值 CD (11001101) 和00 (00000000)表示開關(guān)量輸出的第 27、26、23、22和20將被強置為開狀態(tài)。詢問RTU幀:從站地 址功能碼起始地 址高位起始地 址低位寄存器 數(shù)高位寄存器 數(shù)低位字節(jié)計 數(shù)數(shù)

15、據(jù)校驗和CRC11H0FH00H13H00H0AH02HCDH 00H7EH CBH應(yīng)答RTU幀:從站地址功能碼起始地址 高位起始地址 低位寄存器數(shù) 高位寄存器數(shù) 低位校驗和CRC11H0FH00H13H00H0AH26H 99H2.2.9 強制多路模出(功能碼 16)本功能可使主站強行設(shè)定被編址從站一組連續(xù)模擬量輸出的值。從站內(nèi)部的任何模出量均能被強制。起始地址是從哪一路模擬量開始(編號從0開始),寄存器數(shù)是指設(shè)定幾路。字節(jié)計數(shù)是指隨后的數(shù)據(jù)(模擬量設(shè)定值)的字節(jié)數(shù)。數(shù)據(jù)是設(shè)定的模出值,每一路模出兩個字節(jié) (高位在前,低位在后)。正常應(yīng)答內(nèi)容是回送從站地址、功能碼、起始地址和強置的模擬量數(shù)。

16、從站地址為0時,為廣播模式。以下例子是強置17號從站模擬量輸出 0136-0137的狀態(tài),設(shè)定值 0136為000A,設(shè)定0137為0102。詢問RTU幀:從站地 址功能碼起始地 址高位起始地 址低位寄存器 數(shù)高位寄存器 數(shù)低位字節(jié)計 數(shù)數(shù)據(jù)校驗和CRC11H10H00H87H00H02H04H00H 0AH01H 02H4EHBAH應(yīng)答RTU幀:從站地址功能碼起始地址 高位起始地址 低位寄存器數(shù) 高位寄存器數(shù) 低位校驗和CRC11H10H00H87H00H02HF3H 71H附錄A 循環(huán)冗余校驗 (CRC)碼算法 生成CRC-16校驗字節(jié)的步驟如下:1 .裝入一個16位寄存器,所有數(shù)位均為1

17、。2 .裝16位寄存器的低位字節(jié)與開始8位字節(jié)進行 異或”運算。運算結(jié)果放入這個 16位寄存器。3 .把這個16位寄存器向右移1位。4 .若向右(標(biāo)記位)移出的數(shù)位是 1,則生成多項式1010000000000001和這個寄存器進行 異或運算。若向右移出的數(shù)位是0,則返回(3)。5 .重復(fù)(3)和(4),直到移出8位。6 .另外8位與該16位寄存器進行 異或”運算。7 .重復(fù)(3) - (6),直至該報文所有字節(jié)均與16位寄存器進行 異或”運算,并移位8次。8 .這個16位寄存器的內(nèi)容即是 2字節(jié)CRC校驗值。文案大全附錄B.數(shù)據(jù)通道表不同的數(shù)據(jù)通道表應(yīng)由數(shù)據(jù)傳送方提供,表格式如下表(數(shù)據(jù)名稱

18、、數(shù)據(jù)地址、取值范圍應(yīng)根據(jù)實際而定)序 號數(shù)據(jù)名稱數(shù)據(jù)類型功能碼數(shù)據(jù)地 址傳輸力向縮放倍數(shù)取值范圍1模擬量116位二進制, 有符號整數(shù)0x0340001主站 < 子站12000-21002模擬量20x0340002主站 < 子站0.51-1003模擬量30x0340003主站 < 子站0.50-504模擬量40x0340004主站 < 子站10-235模擬量50x0340005主站 < 子站0.010-99996模擬量60x0340006主站 < 子站0.010-9997模擬量70x0340007主站 < 子站0.1200-2108模擬量80x0340008主站 < 子站11-12序 號數(shù)據(jù)名稱功能碼數(shù)據(jù)地 址傳輸力向取值范圍1開關(guān)量10X0210001主站 < 子站0/12開關(guān)量20X021000

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論