• 您好,歡迎進(jìn)入上海本熙測控設備科技有限公司網(wǎng)站!
    全國服務(wù)熱線(xiàn):13601825240
    上海本熙測控設備科技有限公司
    您現在的位置:首頁(yè) > 技術(shù)文章 > 電子秤MODBUS功能碼、數據類(lèi)型與不正常相應

    電子秤MODBUS功能碼、數據類(lèi)型與不正常相應

    瀏覽次數:1189發(fā)布日期:2019-10-30

    電子秤MODBUS功能碼、數據類(lèi)型與不正常相應(來(lái)源:上海本熙測控設備科技有限公司)

    附錄A:MODBUS全部功能碼

    ModBus網(wǎng)絡(luò )是一個(gè)工業(yè)通信系統,由帶智能終端的可編程序控制器和計算機通過(guò)公用線(xiàn)路或局部線(xiàn)路連接而成。其系統結構既包括硬件、亦包括軟件。它可應用于各種數據采集和過(guò)程監控。下表3--1是ModBus的功能碼定義。

     

     

    帶485接口 支持MODBUS RTU通訊協(xié)議吊鉤秤

     

     

    表3--1 ModBus功能碼

    功能碼

    名稱(chēng)

    作用

    01

    讀取線(xiàn)圈狀態(tài)

    取得一組邏輯線(xiàn)圈的當前狀態(tài)(ON/OFF)

    02

    讀取輸入狀態(tài)

    取得一組開(kāi)關(guān)輸入的當前狀態(tài)(ON/OFF)

    03

    讀取保持寄存器

    在一個(gè)或多個(gè)保持寄存器中取得當前的二進(jìn)制值

    04

    讀取輸入寄存器

    在一個(gè)或多個(gè)輸入寄存器中取得當前的二進(jìn)制值

    05

    強置單線(xiàn)圈

    強置一個(gè)邏輯線(xiàn)圈的通斷狀態(tài)

    06

    預置單寄存器

    把具體二進(jìn)值裝入一個(gè)保持寄存器

    07

    讀取異常狀態(tài)

    取得8個(gè)內部線(xiàn)圈的通斷狀態(tài),這8個(gè)線(xiàn)圈的地址由控制器決定,用戶(hù)邏輯可以將這些線(xiàn)圈定義,以說(shuō)明從機狀態(tài),短報文適宜于迅速讀取狀態(tài)

    08

    回送診斷校驗

    把診斷校驗報文送從機,以對通信處理進(jìn)行評鑒

    09

    編程(只用于484)

    使主機模擬編程器作用,修改PC從機邏輯

    10

    控詢(xún)(只用于484)

    可使主機與一臺正在執行長(cháng)程序任務(wù)從機通信,探詢(xún)該從機是否已完成其操作任務(wù),僅在含有功能碼9的報文發(fā)送后,本功能碼才發(fā)送

    11

    讀取事件計數

    可使主機發(fā)出單詢(xún)問(wèn),并隨即判定操作是否成功,尤其是該命令或其他應答產(chǎn)生通信錯誤時(shí)

    12

    讀取通信事件記錄

    可是主機檢索每臺從機的ModBus事務(wù)處理通信事件記錄。如果某項事務(wù)處理完成,記錄會(huì )給出有關(guān)錯誤

    13

    編程(184/384 484 584)

    可使主機模擬編程器功能修改PC從機邏輯

    14

    探詢(xún)(184/384 484 584)

    可使主機與正在執行任務(wù)的從機通信,定期控詢(xún)該從機是否已完成其程序操作,僅在含有功能13的報文發(fā)送后,本功能碼才得發(fā)送

    15

    強置多線(xiàn)圈

    強置一串連續邏輯線(xiàn)圈的通斷

    16

    預置多寄存器

    把具體的二進(jìn)制值裝入一串連續的保持寄存器

    17

    報告從機標識

    可使主機判斷編址從機的類(lèi)型及該從機運行指示燈的狀態(tài)

    18

    (884和MICRO 84)

    可使主機模擬編程功能,修改PC狀態(tài)邏輯

    19

    重置通信鏈路

    發(fā)生非可修改錯誤后,是從機復位于已知狀態(tài),可重置順序字節

    20

    讀取通用參數(584L)

    顯示擴展存儲器文件中的數據信息

    21

    寫(xiě)入通用參數(584L)

    把通用參數寫(xiě)入擴展存儲文件,或修改之

    22~64

    保留作擴展功能備用

     

    65~72

    保留以備用戶(hù)功能所用

    留作用戶(hù)功能的擴展編碼

    73~119

    違規功能

     

    120~127

    保留

    留作內部作用

    128~255

    保留

    用于異常應答

     

    ModBus網(wǎng)絡(luò )只是一個(gè)主機,所有通信都由他發(fā)出。網(wǎng)絡(luò )可支持247個(gè)之多的遠程從屬控制器,但實(shí)際所支持的從機數要由所用通信設備決定。采用這個(gè)系統,各PC可以和中心主機交換信息而不影響各PC執行本身的控制任務(wù)。表3--2是ModBus各功能碼對應的數據類(lèi)型。

    表3--2 ModBus功能碼與數據類(lèi)型對應表

    代碼

    功能

    數據類(lèi)型

    01

    02

    03

    整型、字符型、狀態(tài)字、浮點(diǎn)型

    04

    整型、狀態(tài)字、浮點(diǎn)型

    05

    寫(xiě)

    06

    寫(xiě)

    整型、字符型、狀態(tài)字、浮點(diǎn)型

    08

    N/A

    重復“回路反饋”信息

    15

    寫(xiě)

    16

    寫(xiě)

    整型、字符型、狀態(tài)字、浮點(diǎn)型

    17

    字符型

    附錄B:不正常響應

     

    不正常響應:

    除廣播外,主機向從機設備發(fā)送查詢(xún)并希望有一個(gè)正常響應,主機查詢(xún)中有可能產(chǎn)生4種事件:

    ¨  從機接收查詢(xún),通訊錯誤正常處理信息,則返回一個(gè)正常響應事件。

    ¨  由于通訊出錯,從機不能接收查詢(xún)數據,因而不返回響應。此時(shí),主機依靠處理程序給出查詢(xún)超時(shí)事件。

    ¨  若從機接收查詢(xún),發(fā)現有 (LRC或CRC) 通訊錯誤,并返回響應,此時(shí),依靠主機處理程序給出查詢(xún)超時(shí)事件。

    ¨  從機接收查詢(xún),無(wú)通訊錯誤,但(如讀不存在的線(xiàn)圈和寄存器)時(shí),向主機報告錯誤的性質(zhì)。

     

    不正常響應信息有2個(gè)與正常響應不相同的區域:

    功能代碼區:正常響應時(shí),從機的響應功能代碼區,帶原查詢(xún)的功能代碼。所有功能代碼的MSB為0(其值低于80H)。不正常響應時(shí),從機把功能代碼的MSB置為1,使功能代碼值大于80H,高于正常響應的值。這樣,主機應用程序能識別不正常響應事件,能檢查不正常代碼的數據區。

    數據區:正常響應中,數據區含有(按查詢(xún)要求給出的) 數據或統計值,在不正常響應中,數據區為一個(gè)不正常代碼,它說(shuō)明從機產(chǎn)生不正常響應的條件和原因。

    例:主機發(fā)出查詢(xún),從機不正常響應。(為十六進(jìn)制數據)。

    查詢(xún):

    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),讀線(xiàn)圈狀態(tài)的功能代碼(01),主機請求線(xiàn)圈狀態(tài)的地址為1245(04A1H)。注意:只讀一個(gè)線(xiàn)圈,地址為(0001).

    若從機中不存在此線(xiàn)圈地址時(shí),即以不正常代碼(02),向主機返回一個(gè)不正常響應。說(shuō)明為不合法地址。

    表3--3 ModBus的不正常代碼:

    代碼

    名稱(chēng)

    含義

    01

    不合規

    功能代碼

    從機接收的是一種不能執行功能代碼。發(fā)出查詢(xún)命令后,該代碼指示無(wú)程序功能。

    02

    不合法數據地址

    接收的數據地址,是從機不允許的地址。

    03

    不合法數據

    查詢(xún)數據區的值是從機不允許的值。

    04

    從機設備故障

    從機執行主機請求的動(dòng)作時(shí)出現不可恢復的錯誤。

    05

    確認

    從機已接收請求處理數據,但需要較長(cháng)的處理時(shí)間,為避免主機出現超時(shí)錯誤而發(fā)送該確認響應。主機以此再發(fā)送一個(gè)“查詢(xún)程序完成”未決定從機是否已完成處理。

    06

    從機設備忙碌

    從機正忙于處理一個(gè)長(cháng)時(shí)程序命令,請求主機在從機空閑時(shí)發(fā)送信息。

    07

    否定

    從機不能執行查詢(xún)要求的程序功能時(shí),該代碼使用十進(jìn)制13或14代碼,向主機返回一個(gè)“不成功的編程請求”信息。主機應請求診斷從機的錯誤信息。

    08

    內存奇偶校驗錯誤

    從機讀擴展內存中的數據時(shí),發(fā)現有奇偶校驗錯誤,主機按從機的要求重新發(fā)送數據請求。

    ///////////////////////////////////////////////////////////////

    功能碼

    描述

    是否支持廣播

    起始地址

    備注

    01

    讀線(xiàn)圈狀態(tài)DO

    不支持

    0000H

    讀離散量輸出口(0X類(lèi)型)狀態(tài)

    02

    讀輸入位狀態(tài)DI

    不支持

    0000H

    讀離散量輸入信號(0X類(lèi)型)狀態(tài)

    03

    讀保持寄存器

    不支持

    0000H

    讀保持寄存器數據

    04

    讀輸入寄存器

    不支持

    0000H

    讀輸入寄存器(3X類(lèi)型)數據

    05

    強制單個(gè)線(xiàn)圈DO

    支持

    0000H

    強制單個(gè)線(xiàn)圈(0X類(lèi)型)狀態(tài)

    06

    預置單個(gè)保持寄存器

    支持

    0000H

    置保持寄存器(4X類(lèi)型)中

    07

    讀不正常狀態(tài)

    不支持

     

     

    08

    診斷(見(jiàn)第3章)

    不支持

    0000H

     

    09

    程序 484

    0000H

    沒(méi)查到

    10

    查詢(xún) 484

    0000H

    沒(méi)查到

    11

    通訊事件控制

    不支持

     

     

    12

    通訊事件記錄

    不支持

     

     

    13

    程序控制器

    0000H

    沒(méi)查到

    14

    查詢(xún)控制器

    0000H

    沒(méi)查到

    15

    強制多個(gè)線(xiàn)圈DO

    支持

    0000H

    強制各線(xiàn)圈 (0X 類(lèi)型)狀態(tài)

    16

    預置多個(gè)保持寄存器

    支持

    0000H

    置保持寄存器(4X類(lèi)型)中

    17

    報告從機 ID

    不支持

     

     

    18

    程序 884/M84

    0000H

    沒(méi)查到

    19

    通訊鏈路復位

    0000H

    沒(méi)查到

    20

    讀通用參考值

    不支持

    0000H

    擴展寄存器(6X類(lèi)型)

    21

    寫(xiě)通用參考值

    不支持

    0000H

    擴展寄存器(6X類(lèi)型)

    22

    掩碼寫(xiě)入4X類(lèi)型寄存器

    不支持

    0000H

    保持寄存器(4X類(lèi)型)

    23

    讀/寫(xiě)4X類(lèi)型寄存器

    不支持

    0000H

    保持寄存器(4X類(lèi)型)

    24

    讀FIFO查詢(xún)數據

    不支持

    0000H

    保持寄存器(4X類(lèi)型)

     

     

    Contact Us
    • 聯(lián)系QQ:496329438
    • 聯(lián)系郵箱:496329438@qq.com
    • 傳真:021-67621532
    • 聯(lián)系地址:上海市金山區金山世紀城西區88號

    掃一掃  微信咨詢(xún)

    ©2024 上海本熙測控設備科技有限公司 版權所有  備案號:滬ICP備15023781號-3  技術(shù)支持:化工儀器網(wǎng)    sitemap.xml    總訪(fǎng)問(wèn)量:260718 管理登陸

  • 新津县| 萝北县| 波密县| 襄樊市| 襄垣县| 定州市| 兴安盟| 平远县| 仁布县| 富平县| 桦甸市| 孝感市| 高要市| 武穴市| 镇沅| 新巴尔虎左旗| 东丽区| 天等县| 蓝田县| 鹤峰县| 鄂托克前旗| 明溪县| 秭归县| 富蕴县| 奈曼旗| 什邡市| 北海市| 陆川县| 监利县| 海口市| 开化县| 玉环县| 本溪市| 通辽市| 阿克苏市| 永城市| 张家界市| 湘阴县| 咸丰县| 宜兴市| 婺源县| http://444 http://444 http://444 http://444 http://444 http://444