女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

Modbus功能碼詳解

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

掃碼添加小助手

加入工程師交流群

10.5Modbus功能碼詳解

本節大部分內容參考《Modbus軟件開發實戰指南》。

10.5.1

功能碼概要

Modbus標準在協議中規定了以下3類Modbus功能碼。

公共功能碼:

①被明確定義的功能碼

②保證唯一性

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

④可進行一致性測試

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

用戶自定義功能碼:

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

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

保留功能碼:

保留功能碼因為歷史遺留原因,某些公司的傳統產品現行使用的功能碼不作為公共使用。

10.5.2

0x01)讀取線圈

1. 功能說明

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

2. 查詢報文

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

功能碼01查詢報文示例:

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

Modbus協議規定,起始地址由2字節構成,取值范圍為0x0000~0xFFFF。

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

3. 響應報文

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

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

功能碼01響應報文示例:

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

10.5.3

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

1. 功能說明

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

2. 查詢報文

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

功能碼02查詢報文示例:

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

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

3. 響應報文

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

功能碼02響應報文示例

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

需要技術支持?

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

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

    關注

    28

    文章

    2118

    瀏覽量

    79540
  • 設備
    +關注

    關注

    2

    文章

    4667

    瀏覽量

    71739
  • ModBus協議
    +關注

    關注

    3

    文章

    184

    瀏覽量

    34383
  • 功能碼
    +關注

    關注

    0

    文章

    10

    瀏覽量

    2250

原文標題:Moubus功能碼詳解 - RZ MPU工業控制教程連載(30)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    modbus協議講解modbus-rtu以及modbus-tcp協議詳解

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

    Modbus詳解(全書+PDF)

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

    Modbus功能的回調函數如何編寫呢

    FreeModbus從站設計(10)-Modbus功能的回調函數如何編寫關鍵詞:FreeModbus CubeMX HAL庫 串口 功能
    發表于 02-16 07:31

    什么是ModbusModbus用來干什么?Modbus的內容是什么?

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

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

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

    modbus功能怎么用?

    modbus功能怎么用
    發表于 11-06 06:37

    Modbus通信協議詳解

    關于Modbus通信協議的詳解和應用分析
    發表于 10-12 16:54 ?151次下載
    <b class='flag-5'>Modbus</b>通信協議<b class='flag-5'>詳解</b>

    Modbus_通訊協議詳解

    Modbus_通訊協議詳解Modbus_通訊協議詳解
    發表于 12-08 14:13 ?0次下載

    modbus協議功能及格式

    modbus協議功能及格式
    發表于 10-28 15:56 ?43次下載

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

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

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

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

    【EsDA應用】Modbus應用詳解

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

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

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

    modbus協議功能分類 modbus協議功能是什么,有什么作用

    Modbus協議是一種用于工業領域常見的通信協議,它基于主從結構,用于在不同設備之間實現數據交換。Modbus協議的功能是決定數據交換類型和操作的重要部分。下面將詳細介紹
    的頭像 發表于 01-31 14:47 ?9206次閱讀