電子秤MODBUS功能碼、數據類型與不正常相應(來源:上海本熙測控設備科技有限公司)
附錄A:MODBUS全部功能碼
ModBus網絡是一個工業通信系統,由帶智能終端的可編程序控制器和計算機通過公用線路或局部線路連接而成。其系統結構既包括硬件、亦包括軟件。它可應用于各種數據采集和過程監控。下表3--1是ModBus的功能碼定義。
表3--1 ModBus功能碼
功能碼 | 名稱 | 作用 |
01 | 讀取線圈狀態 | 取得一組邏輯線圈的當前狀態(ON/OFF) |
02 | 讀取輸入狀態 | 取得一組開關輸入的當前狀態(ON/OFF) |
03 | 讀取保持寄存器 | 在一個或多個保持寄存器中取得當前的二進制值 |
04 | 讀取輸入寄存器 | 在一個或多個輸入寄存器中取得當前的二進制值 |
05 | 強置單線圈 | 強置一個邏輯線圈的通斷狀態 |
06 | 預置單寄存器 | 把具體二進值裝入一個保持寄存器 |
07 | 讀取異常狀態 | 取得8個內部線圈的通斷狀態,這8個線圈的地址由控制器決定,用戶邏輯可以將這些線圈定義,以說明從機狀態,短報文適宜于迅速讀取狀態 |
08 | 回送診斷校驗 | 把診斷校驗報文送從機,以對通信處理進行評鑒 |
09 | 編程(只用于484) | 使主機模擬編程器作用,修改PC從機邏輯 |
10 | 控詢(只用于484) | 可使主機與一臺正在執行長程序任務從機通信,探詢該從機是否已完成其操作任務,僅在含有功能碼9的報文發送后,本功能碼才發送 |
11 | 讀取事件計數 | 可使主機發出單詢問,并隨即判定操作是否成功,尤其是該命令或其他應答產生通信錯誤時 |
12 | 讀取通信事件記錄 | 可是主機檢索每臺從機的ModBus事務處理通信事件記錄。如果某項事務處理完成,記錄會給出有關錯誤 |
13 | 編程(184/384 484 584) | 可使主機模擬編程器功能修改PC從機邏輯 |
14 | 探詢(184/384 484 584) | 可使主機與正在執行任務的從機通信,定期控詢該從機是否已完成其程序操作,僅在含有功能13的報文發送后,本功能碼才得發送 |
15 | 強置多線圈 | 強置一串連續邏輯線圈的通斷 |
16 | 預置多寄存器 | 把具體的二進制值裝入一串連續的保持寄存器 |
17 | 報告從機標識 | 可使主機判斷編址從機的類型及該從機運行指示燈的狀態 |
18 | (884和MICRO 84) | 可使主機模擬編程功能,修改PC狀態邏輯 |
19 | 重置通信鏈路 | 發生非可修改錯誤后,是從機復位于已知狀態,可重置順序字節 |
20 | 讀取通用參數(584L) | 顯示擴展存儲器文件中的數據信息 |
21 | 寫入通用參數(584L) | 把通用參數寫入擴展存儲文件,或修改之 |
22~64 | 保留作擴展功能備用 |
|
65~72 | 保留以備用戶功能所用 | 留作用戶功能的擴展編碼 |
73~119 | 違規功能 |
|
120~127 | 保留 | 留作內部作用 |
128~255 | 保留 | 用于異常應答 |
ModBus網絡只是一個主機,所有通信都由他發出。網絡可支持247個之多的遠程從屬控制器,但實際所支持的從機數要由所用通信設備決定。采用這個系統,各PC可以和中心主機交換信息而不影響各PC執行本身的控制任務。表3--2是ModBus各功能碼對應的數據類型。
表3--2 ModBus功能碼與數據類型對應表
代碼 | 功能 | 數據類型 |
01 | 讀 | 位 |
02 | 讀 | 位 |
03 | 讀 | 整型、字符型、狀態字、浮點型 |
04 | 讀 | 整型、狀態字、浮點型 |
05 | 寫 | 位 |
06 | 寫 | 整型、字符型、狀態字、浮點型 |
08 | N/A | 重復“回路反饋”信息 |
15 | 寫 | 位 |
16 | 寫 | 整型、字符型、狀態字、浮點型 |
17 | 讀 | 字符型 |
附錄B:不正常響應
不正常響應:
除廣播外,主機向從機設備發送查詢并希望有一個正常響應,主機查詢中有可能產生4種事件:
¨ 從機接收查詢,通訊錯誤正常處理信息,則返回一個正常響應事件。
¨ 由于通訊出錯,從機不能接收查詢數據,因而不返回響應。此時,主機依靠處理程序給出查詢超時事件。
¨ 若從機接收查詢,發現有 (LRC或CRC) 通訊錯誤,并返回響應,此時,依靠主機處理程序給出查詢超時事件。
¨ 從機接收查詢,無通訊錯誤,但(如讀不存在的線圈和寄存器)時,向主機報告錯誤的性質。
不正常響應信息有2個與正常響應不相同的區域:
功能代碼區:正常響應時,從機的響應功能代碼區,帶原查詢的功能代碼。所有功能代碼的MSB為0(其值低于80H)。不正常響應時,從機把功能代碼的MSB置為1,使功能代碼值大于80H,高于正常響應的值。這樣,主機應用程序能識別不正常響應事件,能檢查不正常代碼的數據區。
數據區:正常響應中,數據區含有(按查詢要求給出的) 數據或統計值,在不正常響應中,數據區為一個不正常代碼,它說明從機產生不正常響應的條件和原因。
例:主機發出查詢,從機不正常響應。(為十六進制數據)。
查詢:
Addr | Fun | DO start reg hi | DO start reg lo | DO #of regs hi | DO #of regs lo | CRC16 Hi | CRC16 Lo |
0AH | 01H | 04H | A1H | 00H | 01H | XXH | XXH |
響應(不正?;蚶猓?/p>
Addr | Fun | Exception Code | CRC16 Hi | CRC16 Lo |
0AH | 81H | 02H | XXH | XXH |
圖 3 – 1 . 不正常信息幀格式
上例中,從機設備地址10(0AH),讀線圈狀態的功能代碼(01),主機請求線圈狀態的地址為1245(04A1H)。注意:只讀一個線圈,地址為(0001).
若從機中不存在此線圈地址時,即以不正常代碼(02),向主機返回一個不正常響應。說明為不合法地址。
表3--3 ModBus的不正常代碼:
代碼 | 名稱 | 含義 |
01 | 不合規 功能代碼 | 從機接收的是一種不能執行功能代碼。發出查詢命令后,該代碼指示無程序功能。 |
02 | 不合法數據地址 | 接收的數據地址,是從機不允許的地址。 |
03 | 不合法數據 | 查詢數據區的值是從機不允許的值。 |
04 | 從機設備故障 | 從機執行主機請求的動作時出現不可恢復的錯誤。 |
05 | 確認 | 從機已接收請求處理數據,但需要較長的處理時間,為避免主機出現超時錯誤而發送該確認響應。主機以此再發送一個“查詢程序完成”未決定從機是否已完成處理。 |
06 | 從機設備忙碌 | 從機正忙于處理一個長時程序命令,請求主機在從機空閑時發送信息。 |
07 | 否定 | 從機不能執行查詢要求的程序功能時,該代碼使用十進制13或14代碼,向主機返回一個“不成功的編程請求”信息。主機應請求診斷從機的錯誤信息。 |
08 | 內存奇偶校驗錯誤 | 從機讀擴展內存中的數據時,發現有奇偶校驗錯誤,主機按從機的要求重新發送數據請求。 |
///////////////////////////////////////////////////////////////
功能碼 | 描述 | 是否支持廣播 | 起始地址 | 備注 |
01 | 讀線圈狀態DO | 不支持 | 0000H | 讀離散量輸出口(0X類型)狀態 |
02 | 讀輸入位狀態DI | 不支持 | 0000H | 讀離散量輸入信號(0X類型)狀態 |
03 | 讀保持寄存器 | 不支持 | 0000H | 讀保持寄存器數據 |
04 | 讀輸入寄存器 | 不支持 | 0000H | 讀輸入寄存器(3X類型)數據 |
05 | 強制單個線圈DO | 支持 | 0000H | 強制單個線圈(0X類型)狀態 |
06 | 預置單個保持寄存器 | 支持 | 0000H | 置保持寄存器(4X類型)中 |
07 | 讀不正常狀態 | 不支持 |
|
|
08 | 診斷(見第3章) | 不支持 | 0000H |
|
09 | 程序 484 | 不 | 0000H | 沒查到 |
10 | 查詢 484 | 不 | 0000H | 沒查到 |
11 | 通訊事件控制 | 不支持 |
|
|
12 | 通訊事件記錄 | 不支持 |
|
|
13 | 程序控制器 | 不 | 0000H | 沒查到 |
14 | 查詢控制器 | 不 | 0000H | 沒查到 |
15 | 強制多個線圈DO | 支持 | 0000H | 強制各線圈 (0X 類型)狀態 |
16 | 預置多個保持寄存器 | 支持 | 0000H | 置保持寄存器(4X類型)中 |
17 | 報告從機 ID | 不支持 |
|
|
18 | 程序 884/M84 | 不 | 0000H | 沒查到 |
19 | 通訊鏈路復位 | 不 | 0000H | 沒查到 |
20 | 讀通用參考值 | 不支持 | 0000H | 擴展寄存器(6X類型) |
21 | 寫通用參考值 | 不支持 | 0000H | 擴展寄存器(6X類型) |
22 | 掩碼寫入4X類型寄存器 | 不支持 | 0000H | 保持寄存器(4X類型) |
23 | 讀/寫4X類型寄存器 | 不支持 | 0000H | 保持寄存器(4X類型) |
24 | 讀FIFO查詢數據 | 不支持 | 0000H | 保持寄存器(4X類型) |
掃一掃 微信咨詢
©2024 上海本熙測控設備科技有限公司 版權所有 備案號:滬ICP備15023781號-3 技術支持:化工儀器網 sitemap.xml 總訪問量:283247 管理登陸