chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Modbus功能碼詳解

瑞薩嵌入式小百科 ? 來源:瑞薩MCU小百科 ? 2024-10-29 14:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

10.5Modbus功能碼詳解

本節(jié)大部分內(nèi)容參考《Modbus軟件開發(fā)實戰(zhàn)指南》。

10.5.1

功能碼概要

Modbus標準在協(xié)議中規(guī)定了以下3類Modbus功能碼。

公共功能碼:

①被明確定義的功能碼

②保證唯一性

③由Modbus協(xié)會確認,并提供公開的文檔

④可進行一致性測試

⑤包括協(xié)議定義的功能碼和保留將來使用的功能碼

用戶自定義功能碼:

①有兩個用戶自定義功能碼區(qū)域,分別是65~72和100~110。

②用戶自定義,無法保證唯一性。

保留功能碼:

保留功能碼因為歷史遺留原因,某些公司的傳統(tǒng)產(chǎn)品現(xiàn)行使用的功能碼不作為公共使用。

10.5.2

0x01)讀取線圈

1. 功能說明

01功能碼用于讀取從設(shè)備的線圈或離散量輸出的狀態(tài),即各Do(DiscreteOutput,離散輸出)的ON/OFF狀態(tài)。消息幀中指定了需要讀取的線圈起始地址和線圈數(shù)目。需要注意的是,在Modbus協(xié)議規(guī)定的PDU中,所有線圈或寄存器地址都必須從0開始計算。

2. 查詢報文

如下表所示,查詢幀的消息中定義了從設(shè)備地址為3,并讀取從設(shè)備的Modbus地址0001900055(線圈地址 0002000056)共計37個狀態(tài)值。起始線圈地址為0x13(即十進制00019),因為線圈地址是從0開始計數(shù)的。

功能碼01查詢報文示例:

字段 例(Hex) ASCII模式字符型 RTU模式8位(Hex)
幀頭 “:”
從設(shè)備地址 0x03 “0”,“3” 0x03
功能碼 0x01 “0”,“1” 0x01
起始地址
(高位)
0x00 “0”,“0” 0x00
起始地址
(低位)
0x13 “1”,“3” 0x13
寄存器數(shù)
(高位)
0x00 “0”,“0” 0x00
寄存器數(shù)
(低位)
0x25 “2”,“5” 0x25
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 17 8

Modbus協(xié)議規(guī)定,起始地址由2字節(jié)構(gòu)成,取值范圍為0x0000~0xFFFF。

線圈數(shù)量由2字節(jié)構(gòu)成,取值范圍為0x0001~0x07D0(即+進制1~2000)另外,注意觀察ASCII模式和RTU模式的區(qū)別,ASCII模式直接按每4位拆分成對應(yīng)的字符表示。

3. 響應(yīng)報文

在響應(yīng)報文的數(shù)據(jù)字段中,每個線圈占用1位(bit),狀態(tài)被表示為1=ON和O=OFF兩種類型。第1個數(shù)據(jù)字節(jié)的LSB(最低有效位)標識查詢報文中的起始地址線圈的狀態(tài)值,其他線圈以此類推,一直到這個字節(jié)的MSB(最高有效位)為止,并在后續(xù)字節(jié)中按照同樣的方式(由低到高)排列。

例如,下表中線圈20~27的狀態(tài)值分別是ON-ON-OFF OFF-ON-OFF-ON-OFF表示為二進制則為01010011(0x53),注意觀察對應(yīng)的順序。1字節(jié)可以表示8個線圈的狀態(tài)如果最后的數(shù)據(jù)字節(jié)中不能填滿8個線圈的狀態(tài),則用0填充。對應(yīng)于查詢報文中需要讀取37個線圈的狀態(tài),共需要5字節(jié)保存狀態(tài)值。

功能碼01響應(yīng)報文示例:

字段 例(Hex) ASCII模式字符型 RTU模式8位(Hex)
幀頭 “:”
從設(shè)備地址 0x03 “0”,“3” 0x03
功能碼 0x01 “0”,“1” 0x01
數(shù)據(jù)域字節(jié)數(shù) 0x05 “0”,“5” 0x05
數(shù)據(jù)1 0x53 “5”,“3” 0x53
數(shù)據(jù)2 0x6B “6”,“B” 0x6B
數(shù)據(jù)3 0x01 “0”,“1” 0x01
數(shù)據(jù)4 0xF4 “F”,“B” 0xF4
數(shù)據(jù)5 0x1B “1”,“B” 0x1B
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 21 10

10.5.3

(0x02)讀取離散量輸入值

1. 功能說明

02功能碼用于讀取從設(shè)備的離散輸入,即DI(Discrete Input)的ON/OFF狀態(tài)。消息頓中指定了需要讀取的離散輸入寄存器的起始地址和數(shù)目,可以讀取1~2000個連續(xù)的離散量輸入狀態(tài)如果從設(shè)備接受主設(shè)備的請求則回復功能碼02,并返回離散量且輸入各變量的當前狀態(tài)。如果返回的離散輸入數(shù)量的個數(shù)不是8的整數(shù)倍,將用0填充最后的數(shù)據(jù)字節(jié)的剩余位。

2. 查詢報文

如下表所示,查詢頓的消息中定義了從設(shè)備的地址為3,并讀取從設(shè)備的離散輸入寄存器中地址10101~10120(Modbus地址表示為十進制100~119)共計20個離散輸入狀態(tài)值。從下表中可以發(fā)現(xiàn),起始地址為0x64(即十進制100),因為消息PDU中的Modbus地址從0開始計數(shù)。

功能碼02查詢報文示例:

字段 例(Hex) ASCII模式字符型 RTU模式8位(Hex)
幀頭 “:”
從設(shè)備地址 0x03 “0”,“3” 0x03
功能碼 0x02 “0”,“2” 0x02
起始地址
(高位)
0x00 “0”,“0” 0x00
起始地址
(低位)
0x64 “6”,“4” 0x64
寄存器數(shù)
(高位)
0x00 “0”,“0” 0x00
寄存器數(shù)
(低位)
0x14 “1”,“4” 0x14
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 17 8

與5.4.2節(jié)中的功能碼(01(0x01)讀取線圈/離散量輸出狀態(tài)(ReadCoil status/DOs))一樣,本功能碼的起始地址由2字節(jié)構(gòu)成,取值范圍為0x0000~0xFFFF;離散量數(shù)量由2字節(jié)構(gòu)成,取值范圍為0x0001~0x07D0(即十進制1~2000),最多一次性可讀取2000人離散輸入狀態(tài)值。

3. 響應(yīng)報文

響應(yīng)報文的各項構(gòu)成和意義與5.4.2章節(jié)的功能碼(01(0x01)讀取線圈/離散量輸出狀態(tài)(Re-ad Coil Status/DOs))一樣,如下表所示:

功能碼02響應(yīng)報文示例

字段 例(Hex) ASCII模式字符型 RTU模式8位(Hex)
幀頭 “:”
從設(shè)備地址 0x03 “0”,“3” 0x03
功能碼 0x02 “0”,“2” 0x02
數(shù)據(jù)域字節(jié)數(shù) 0x03 “0”,“3” 0x03
數(shù)據(jù)1 0x53 “5”,“3” 0x53
數(shù)據(jù)2 0x6B “6”,“B” 0x6B
數(shù)據(jù)3 0x01 “0”,“1” 0x01
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 21 10

需要技術(shù)支持?

如您在使用瑞薩MCU/MPU產(chǎn)品中有任何問題,可識別下方二維碼或復制網(wǎng)址到瀏覽器中打開,進入瑞薩技術(shù)論壇尋找答案或獲取在線技術(shù)支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    2283

    瀏覽量

    81470
  • 設(shè)備
    +關(guān)注

    關(guān)注

    2

    文章

    4745

    瀏覽量

    72896
  • ModBus協(xié)議
    +關(guān)注

    關(guān)注

    3

    文章

    188

    瀏覽量

    34868
  • 功能碼
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    2317
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    臺達PLC通信支持modbus協(xié)議的4號功能嗎?

    使用modbus協(xié)議的4號功能采集PH值,系統(tǒng)部署如下圖:本來這是個很簡單的項目,可是在PLC的通訊編程中出現(xiàn)了問題,DW-MC1無線監(jiān)控器采樣modbus協(xié)議的4號
    發(fā)表于 05-22 11:18

    modbus協(xié)議講解modbus-rtu以及modbus-tcp協(xié)議詳解

    modbus協(xié)議講解modbus-rtu以及modbus-tcp協(xié)議詳解,見附件。
    發(fā)表于 03-01 10:14

    Modbus詳解(全書+PDF)

    Modbus詳解,有需要的看看
    發(fā)表于 11-01 15:47

    Modbus功能的回調(diào)函數(shù)如何編寫呢

    FreeModbus從站設(shè)計(10)-Modbus功能的回調(diào)函數(shù)如何編寫關(guān)鍵詞:FreeModbus CubeMX HAL庫 串口 功能
    發(fā)表于 02-16 07:31

    什么是Modbus?Modbus用來干什么?Modbus的內(nèi)容是什么?

    的最多功能就是03和06,大部分都是用modbus來查詢傳感器上的信息用03查詢功能,如果需要修改傳感器寄存器的值就用06修改
    發(fā)表于 05-05 16:40

    modbus功能錯誤會返回什么錯誤信息?

    modbus在通信的過程中功能錯誤會返回什么錯誤碼
    發(fā)表于 10-13 07:48

    modbus功能怎么用?

    modbus功能怎么用
    發(fā)表于 11-06 06:37

    Modbus通信協(xié)議詳解

    關(guān)于Modbus通信協(xié)議的詳解和應(yīng)用分析
    發(fā)表于 10-12 16:54 ?151次下載
    <b class='flag-5'>Modbus</b>通信協(xié)議<b class='flag-5'>詳解</b>

    Modbus_通訊協(xié)議詳解

    Modbus_通訊協(xié)議詳解,Modbus_通訊協(xié)議詳解
    發(fā)表于 12-08 14:13 ?0次下載

    modbus協(xié)議功能及格式

    modbus協(xié)議功能及格式
    發(fā)表于 10-28 15:56 ?43次下載

    基于Modbus功能細粒度過濾算法的研究

    針對防火墻粗粒度過濾Modbus/TCP導致工控系統(tǒng)存在安全威脅的問題,研究基于Modbus功能的細粒度過濾算法。基于Modbus TCP
    發(fā)表于 01-16 15:32 ?0次下載
    基于<b class='flag-5'>Modbus</b><b class='flag-5'>功能</b><b class='flag-5'>碼</b>細粒度過濾算法的研究

    單片機程序中,Modbus功能的回調(diào)函數(shù)如何編寫--FreeModbus從站設(shè)計(10)

    FreeModbus從站設(shè)計(10)-Modbus功能的回調(diào)函數(shù)如何編寫關(guān)鍵詞:FreeModbus CubeMX HAL庫 串口 功能
    發(fā)表于 12-20 18:49 ?9次下載
    單片機程序中,<b class='flag-5'>Modbus</b><b class='flag-5'>功能</b><b class='flag-5'>碼</b>的回調(diào)函數(shù)如何編寫--FreeModbus從站設(shè)計(10)

    【EsDA應(yīng)用】Modbus應(yīng)用詳解

    。 ?? Modbus簡介 Modbus是一種串行通信協(xié)議,由于其公開、免費、易于部署和維護的優(yōu)點,被廣泛應(yīng)用于工業(yè)電子領(lǐng)域,并且已經(jīng)成為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標準。 (圖片源自網(wǎng)絡(luò),侵刪) 以往我們在使用Modbus協(xié)議進行應(yīng)
    的頭像 發(fā)表于 03-10 21:50 ?1336次閱讀

    Modbus功能/異常功能/錯誤代碼

    在大家通讀Modbus協(xié)議時,總是會碰到一些容易混淆的名詞,從而導致對于協(xié)議的解讀出現(xiàn)問題,在本文中,我們對于Modbus協(xié)議中可能會給大家造成困惑的名詞作相關(guān)的解釋。 1.功能
    的頭像 發(fā)表于 06-25 09:20 ?1.6w次閱讀

    modbus協(xié)議功能分類 modbus協(xié)議功能是什么,有什么作用

    Modbus協(xié)議是一種用于工業(yè)領(lǐng)域常見的通信協(xié)議,它基于主從結(jié)構(gòu),用于在不同設(shè)備之間實現(xiàn)數(shù)據(jù)交換。Modbus協(xié)議的功能是決定數(shù)據(jù)交換類型和操作的重要部分。下面將詳細介紹
    的頭像 發(fā)表于 01-31 14:47 ?9796次閱讀