Modbus功能碼表_第1頁
Modbus功能碼表_第2頁
Modbus功能碼表_第3頁
Modbus功能碼表_第4頁
Modbus功能碼表_第5頁
免費預覽已結(jié)束,剩余2頁可下載查看

下載本文檔

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

文檔簡介

1、Modbus 功能碼一覽Modbus 網(wǎng)絡(luò)是一個工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計算機通過公用線路括軟件。它可應(yīng)用于各種數(shù)據(jù)采或局部專用線路連接而成。其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包集和過程監(jiān)控。下表1 是 ModBus 的功能碼定義。表 1 ModBus 功能碼功能碼 名稱 作用01 讀取線圈狀態(tài)取得一組邏輯線圈的當前狀態(tài)( ON/OFF)02 讀取輸入狀態(tài)取得一組開關(guān)輸入的當前狀態(tài)( ON/OFF)在一個或多個保持寄存器中取得當前的二進制值在一個或多個輸入寄存器中取得當前的二進制值03 讀取保持寄存器 04 讀取輸入寄存器 05 強置單線圈 強置一個邏輯線圈的通斷狀態(tài) 06 預置單寄

2、存器 把具體二進值裝入一個保持寄存器07 讀取異常狀態(tài)取得 8 個內(nèi)部線圈的通斷狀態(tài), 這 8 個線圈的地址由控制器決定, 用戶邏輯可以將這些線圈定義,以說明從機狀態(tài),短報文適宜于迅速讀取狀態(tài)08 回送診斷校驗把診斷校驗報文送從機,以對通信處理進行評鑒09 編程(只用于484) 使主機模擬編程器作用,修改 PC 從機邏輯10 控詢(只用于484) 可使主機與一臺正在執(zhí)行長程序任務(wù)從機通信, 探詢該從機是否已完成其操作任務(wù),僅在含有功能碼9 的報文發(fā)送后,本功能碼才發(fā)送11 讀取事件計數(shù) 可使主機發(fā)出單詢問, 并隨即判定操作是否成功, 尤其是該命令或其他應(yīng)答產(chǎn)生通信錯誤時12 讀取通信事件記錄可

3、是主機檢索每臺從機的 ModBus 事務(wù)處理通信事件記錄。 如果某項事務(wù)處理完成,記錄會給出有關(guān)錯誤13編程(184/384 484 584)可使主機模擬編程器功能修改PC從機邏輯14 探詢( 184/384 484 584 ) 可使主機與正在執(zhí)行任務(wù)的從機通信, 定期控詢該從機是否已完成其程序操作,僅在含有功能13 的報文發(fā)送后,本功能碼才得發(fā)送15 強置多線圈 強置一串連續(xù)邏輯線圈的通斷16 預置多寄存器把具體的二進制值裝入一串連續(xù)的保持寄存器17 報告從機標識可使主機判斷編址從機的類型及該從機運行指示燈的狀態(tài)18 (884和MICRO 84)可使主機模擬編程功能,修改PC狀態(tài)邏輯19重置

4、通信鏈路發(fā)生非可修改錯誤后,是從機復位于已知狀態(tài),可重置順序字節(jié)20讀取通用參數(shù)(584L )顯示擴展存儲器文件中的數(shù)據(jù)信息21寫入通用參數(shù)(584L )把通用參數(shù)寫入擴展存儲文件,或修改之2264保留作擴展功能備用6572保留以備用戶功能所用留作用戶功能的擴展編碼73119非法功能120127保留留作內(nèi)部作用128255保留用于異常應(yīng)答Modbus 網(wǎng)絡(luò)只是一個主機,所有通信都由他發(fā)出。網(wǎng)絡(luò)可支持247 個之多的遠程從屬控制器,但實際所支持的從機數(shù)要由所用通信設(shè)備決定。采用這個系 統(tǒng),各PC 可以和中心主機交換信息而不影響各PC 執(zhí)行本身的控制任務(wù)。表2 是 ModBus 各功能碼對應(yīng)的數(shù)據(jù)

5、類型。表 2 ModBus 功能碼與數(shù)據(jù)類型對應(yīng)表代碼 功能 數(shù)據(jù)類型01讀位02讀位03讀整型、字符型、狀態(tài)字、浮點型04讀整型、狀態(tài)字、浮點型05寫位06寫整型、字符型、狀態(tài)字、浮點型08N/A重復“回路反饋”信息15 寫位16 寫整型、字符型、狀態(tài)字、浮點型17 讀字符型1 ) ModBus 的傳輸方式在 ModBus 系統(tǒng)中有 2 種傳輸模式可選擇。這2 種傳輸模式與從機PC 通信的能力是同等的。選擇時應(yīng)視所用 ModBus 主機而定, 每個 ModBus 系統(tǒng)只能使用一種模式,不允許2種模式混用。一種模式是ASCII (美國信息交換碼) ,另一種模式是RTU (遠程終端設(shè)備)這兩種模

6、式的 定義見表 3表 3 ASCII 和 RTU 傳輸模式的特性特性ASCII(7 位) RTU(8 位)編碼系統(tǒng)十六進制(使用 ASCII可打印字符:09, AF) 二進制每一個字符的位數(shù)開始位 1 位 1 位數(shù)據(jù)位(最低有效位第一位) 7 位 8 位奇偶校驗(任選) 1 位(此位用于奇偶校驗,無校應(yīng)則無該位) 1 位(此位用于奇偶校驗,無校應(yīng)則無該位)停止位 1 或 2 位 1 或 2 位錯誤校驗LRC (即縱向冗余校驗) CRC( 即循環(huán)冗余校驗)ASCII 可打印字符便于故障檢測,而且對于用高級語言(如Fortan )編程的主計算機及主 PC 很適宜。 RTU 則適用于機器語言編程的計

7、算機和 PC 主 機。用 RTU 模式傳輸?shù)臄?shù)據(jù)是8 位二進制字符。 如欲轉(zhuǎn)換為 ASCII 模式, 則每個 RTU 字符首先應(yīng)分為高位和低位兩部分,這兩部分各含 4 位,然后轉(zhuǎn)換成十六進制等量值。用以構(gòu)成報文的 ASCII 字符都是十六進制字符。 ASCII 模式使用的字符雖是RTU 模式的兩倍,但 ASCII 數(shù)據(jù)的譯瑪和處理更為容易一些, 此外, 用 RTU 模式時報文字符必須以連續(xù)數(shù)據(jù)流的形式傳送,用 ASCII 模式,字符之間可產(chǎn)生長達1s 的間隔,以適應(yīng)速度較快的機器。表 4 給出了以 RTU 方式讀取整數(shù)據(jù)的例子以 RTU 方式讀取整數(shù)據(jù)的例子主機請求地址 功能碼 第一個寄存器的

8、高位地址 第一個寄存器的低位地址寄存器的數(shù)量的高位 寄存器的數(shù)量的底位錯誤校驗01 03 00 38 00 01 XX從機應(yīng)答地址 功能碼 字節(jié)數(shù) 數(shù)據(jù)高字節(jié)數(shù)據(jù)低字節(jié)錯誤校驗01 03 241 24 XX十六進制數(shù)4124 表示的十進制整數(shù)為16676 ,錯誤校驗值要根據(jù)傳輸方式而定。( 2 ) Modbus 的數(shù)據(jù)校驗方式CRC-16 (循環(huán)冗余錯誤校驗)CRC-16 錯誤校驗程序如下:報文(此處只涉及數(shù)據(jù)位,不指起始位、停止位和任選的奇偶校驗位)被看作是一個連續(xù)的二進制,其最高有效位( MSB )首選 發(fā)送。報文先與X T 16 相乘(左移 16 位),然后看 X T 16+X T 15

9、+X T 2+1 除,X T 16+X T 15+X T 2+1 可以表示為二進制數(shù)11000000000000101 。整數(shù)商位忽略不記, 16 位余數(shù)加入該報文( MSB 先發(fā)送) ,成為 2 個 CRC 校驗字節(jié)。余數(shù)中的 1 全部初始化,以免所 有的零成為一條報文被接收。經(jīng)上述處理而含有CRC 字節(jié)的報文,若無錯誤,到接收設(shè)備后再被同一多項式( XT 16+X T 15+X T 2+1)除,會得到一個零余數(shù)(接收設(shè)備核驗這個CRC字節(jié),并將其與被傳送的 CRC 比較) 。全部運算以 2 為模(無進位) 。習慣于成串發(fā)送數(shù)據(jù)的設(shè)備會首選送出字符的最右位( LSB- 最低有效位) 。而在生

10、成CRC 情況下,發(fā)送首位應(yīng)是被除數(shù)的最高有效位MSB 。由于在運算中不 用進位,為便于操作起見, 計算 CRC 時設(shè) MSB 在最右位。 生成多項式的位序也必須反過來, 以保持一致。多項式的 MSB 略去不記,因其只對商有影響而不影響余數(shù)。生成 CRC-16 校驗字節(jié)的步驟如下:裝如一個16 位寄存器,所有數(shù)位均為 1。該 16 位寄存器的高位字節(jié)與開始 8 位字節(jié)進行 “異或” 運算。 運算結(jié)果放入這個16 位寄存器。把這個 16 寄存器向右移一位。若向右(標記位)移出的數(shù)位是1,則生成多項式 1010000000000001和這個寄存器進行“異或”運算;若向右移出的數(shù)位是0 ,則返回。重

11、復和,直至移出 8位。另外8 位與該十六位寄存器進行“異或”運算。重復,直至該報文所有字節(jié)均與16位寄存器進行“異或”運算,并移位 8次。這個16 位寄存器的內(nèi)容即2 字節(jié) CRC 錯誤校驗,被加到報文的最高有效位。另外,在某些非ModBus 通信協(xié)議中也經(jīng)常使用 CRC16 作為校驗手段,而且產(chǎn)生了一些CRC16的變種,他們是使用 CRC16多項式XT 16+ X T 15+X T 2+1,單首次裝入的16 位寄存器為0000;使用CRC16的反序X T 16+X T 14+X T 1 + 1,首次裝入寄存器值為 0000或 FFFFH。LRC (縱向冗余錯誤校驗)LRC 錯誤校驗用于ASCII 模式。 這個錯誤校驗是一個8位二進制數(shù), 可作為 2個 ASCII十六進制字節(jié)傳送。把十六進制字符轉(zhuǎn)換成二進制,加上無循環(huán)進位的二進制字符和二進制補碼結(jié)果生成LRC 錯誤校驗(參見圖) 。這個 LRC 在接收設(shè)備進行核驗,并與被傳送的LRC 進行比較,冒號(:) 、回車符號( CR) 、換行字符( LF )和置入的其他任何非ASCII十六進制字符在運算時忽略不計。表 5 LRC 生成范例讀取02 號從機的前8 個線圈十六進制 二進制地址 02功能碼 01起始地址高位起始地址低位00000000000000100001000000000000000

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論