狠狠色丁香久久综合婷婷亚洲成人福利在线-欧美日韩在线观看免费-国产99久久久久久免费看-国产欧美在线一区二区三区-欧美精品一区二区三区免费观看-国内精品99亚洲免费高清

            上海本熙測控設(shè)備科技有限公司
            中級會(huì)員 | 第10年

            13601825240

            電子秤MODBUS功能碼、數(shù)據(jù)類型與不正常相應(yīng)

            時(shí)間:2019/10/30閱讀:1606
            分享:

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

            附錄A:MODBUS全部功能碼

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

             

             

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

             

             

            表3--1 ModBus功能碼

            功能碼

            名稱

            作用

            01

            讀取線圈狀態(tài)

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

            02

            讀取輸入狀態(tài)

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

            03

            讀取保持寄存器

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

            04

            讀取輸入寄存器

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

            05

            強(qiáng)置單線圈

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

            06

            預(yù)置單寄存器

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

            07

            讀取異常狀態(tài)

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

            08

            回送診斷校驗(yàn)

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

            09

            編程(只用于484)

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

            10

            控詢(只用于484)

            可使主機(jī)與一臺(tái)正在執(zhí)行長程序任務(wù)從機(jī)通信,探詢該從機(jī)是否已完成其操作任務(wù),僅在含有功能碼9的報(bào)文發(fā)送后,本功能碼才發(fā)送

            11

            讀取事件計(jì)數(shù)

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

            12

            讀取通信事件記錄

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

            13

            編程(184/384 484 584)

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

            14

            探詢(184/384 484 584)

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

            15

            強(qiáng)置多線圈

            強(qiáng)置一串連續(xù)邏輯線圈的通斷

            16

            預(yù)置多寄存器

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

            17

            報(bào)告從機(jī)標(biāo)識(shí)

            可使主機(jī)判斷編址從機(jī)的類型及該從機(jī)運(yùn)行指示燈的狀態(tài)

            18

            (884和MICRO 84)

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

            19

            重置通信鏈路

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

            20

            讀取通用參數(shù)(584L)

            顯示擴(kuò)展存儲(chǔ)器文件中的數(shù)據(jù)信息

            21

            寫入通用參數(shù)(584L)

            把通用參數(shù)寫入擴(kuò)展存儲(chǔ)文件,或修改之

            22~64

            保留作擴(kuò)展功能備用

             

            65~72

            保留以備用戶功能所用

            留作用戶功能的擴(kuò)展編碼

            73~119

            違規(guī)功能

             

            120~127

            保留

            留作內(nèi)部作用

            128~255

            保留

            用于異常應(yīng)答

             

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

            表3--2 ModBus功能碼與數(shù)據(jù)類型對應(yīng)表

            代碼

            功能

            數(shù)據(jù)類型

            01

            02

            03

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

            04

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

            05

            06

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

            08

            N/A

            重復(fù)“回路反饋”信息

            15

            16

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

            17

            字符型

            附錄B:不正常響應(yīng)

             

            不正常響應(yīng):

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

            ¨  從機(jī)接收查詢,通訊錯(cuò)誤正常處理信息,則返回一個(gè)正常響應(yīng)事件。

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

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

            ¨  從機(jī)接收查詢,無通訊錯(cuò)誤,但(如讀不存在的線圈和寄存器)時(shí),向主機(jī)報(bào)告錯(cuò)誤的性質(zhì)。

             

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

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

            數(shù)據(jù)區(qū):正常響應(yīng)中,數(shù)據(jù)區(qū)含有(按查詢要求給出的) 數(shù)據(jù)或統(tǒng)計(jì)值,在不正常響應(yīng)中,數(shù)據(jù)區(qū)為一個(gè)不正常代碼,它說明從機(jī)產(chǎn)生不正常響應(yīng)的條件和原因。

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

            查詢:

            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

            響應(yīng)(不正常或例外):

            Addr

            Fun

            Exception Code

            CRC16

            Hi

            CRC16

            Lo

            0AH

            81H

            02H

            XXH

            XXH

            圖 3 – 1 . 不正常信息幀格式

             

            上例中,從機(jī)設(shè)備地址10(0AH),讀線圈狀態(tài)的功能代碼(01),主機(jī)請求線圈狀態(tài)的地址為1245(04A1H)。注意:只讀一個(gè)線圈,地址為(0001).

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

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

            代碼

            名稱

            含義

            01

            不合規(guī)

            功能代碼

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

            02

            不合法數(shù)據(jù)地址

            接收的數(shù)據(jù)地址,是從機(jī)不允許的地址。

            03

            不合法數(shù)據(jù)

            查詢數(shù)據(jù)區(qū)的值是從機(jī)不允許的值。

            04

            從機(jī)設(shè)備故障

            從機(jī)執(zhí)行主機(jī)請求的動(dòng)作時(shí)出現(xiàn)不可恢復(fù)的錯(cuò)誤。

            05

            確認(rèn)

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

            06

            從機(jī)設(shè)備忙碌

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

            07

            否定

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

            08

            內(nèi)存奇偶校驗(yàn)錯(cuò)誤

            從機(jī)讀擴(kuò)展內(nèi)存中的數(shù)據(jù)時(shí),發(fā)現(xiàn)有奇偶校驗(yàn)錯(cuò)誤,主機(jī)按從機(jī)的要求重新發(fā)送數(shù)據(jù)請求。

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

            功能碼

            描述

            是否支持廣播

            起始地址

            備注

            01

            讀線圈狀態(tài)DO

            不支持

            0000H

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

            02

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

            不支持

            0000H

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

            03

            讀保持寄存器

            不支持

            0000H

            讀保持寄存器數(shù)據(jù)

            04

            讀輸入寄存器

            不支持

            0000H

            讀輸入寄存器(3X類型)數(shù)據(jù)

            05

            強(qiáng)制單個(gè)線圈DO

            支持

            0000H

            強(qiáng)制單個(gè)線圈(0X類型)狀態(tài)

            06

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

            支持

            0000H

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

            07

            讀不正常狀態(tài)

            不支持

             

             

            08

            診斷(見第3章)

            不支持

            0000H

             

            09

            程序 484

            0000H

            沒查到

            10

            查詢 484

            0000H

            沒查到

            11

            通訊事件控制

            不支持

             

             

            12

            通訊事件記錄

            不支持

             

             

            13

            程序控制器

            0000H

            沒查到

            14

            查詢控制器

            0000H

            沒查到

            15

            強(qiáng)制多個(gè)線圈DO

            支持

            0000H

            強(qiáng)制各線圈 (0X 類型)狀態(tài)

            16

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

            支持

            0000H

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

            17

            報(bào)告從機(jī) ID

            不支持

             

             

            18

            程序 884/M84

            0000H

            沒查到

            19

            通訊鏈路復(fù)位

            0000H

            沒查到

            20

            讀通用參考值

            不支持

            0000H

            擴(kuò)展寄存器(6X類型)

            21

            寫通用參考值

            不支持

            0000H

            擴(kuò)展寄存器(6X類型)

            22

            掩碼寫入4X類型寄存器

            不支持

            0000H

            保持寄存器(4X類型)

            23

            讀/寫4X類型寄存器

            不支持

            0000H

            保持寄存器(4X類型)

            24

            讀FIFO查詢數(shù)據(jù)

            不支持

            0000H

            保持寄存器(4X類型)

             

             

            會(huì)員登錄

            ×

            請輸入賬號(hào)

            請輸入密碼

            =

            請輸驗(yàn)證碼

            收藏該商鋪

            X
            該信息已收藏!
            標(biāo)簽:
            保存成功

            (空格分隔,最多3個(gè),單個(gè)標(biāo)簽最多10個(gè)字符)

            常用:

            提示

            X
            您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~
            撥打電話
            在線留言