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

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

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

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

寫多個線圈與寫多個保持寄存器

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2024-11-06 15:21 ? 次閱讀

10.5.11

(0x0F)寫多個線圈

1. 功能說明

15功能碼用于將連續(xù)的多個線圈或離散輸出設置為ON/OFF狀態(tài),支持廣播模式,在廣播模式下,所有從站設備的同一地址的值將被統(tǒng)一修改。15功能碼中,起始地址字段由2字節(jié)構(gòu)成,取值范圍為0x00000xFFFF:而寄存器數(shù)量字段由2字節(jié)構(gòu)成,取值范用為0x00010x07B0。

2. 查詢報文

查詢報文中包含請求數(shù)據(jù)字段,用于定義ON或OFF狀態(tài)。數(shù)據(jù)字段中為邏輯1的位對應ON;邏輯0的位對應OFF。其中,ON/OFF與數(shù)據(jù)字段的對應關(guān)系可參考前面的童節(jié)“01(0x01)讀取線圈,離散量輸出狀態(tài)(Read Coilstatus/DOs)”中的內(nèi)容舉例說明,假設從站設備地址為5,需要設置線圈地址20~30的狀態(tài)如下表所示。

線圈狀態(tài):

bd1d8152-9bec-11ef-a511-92fbcf53809c.png

那么,寫入的數(shù)據(jù)字段被劃分為2字節(jié),值分別為0xD1,對應于27~20的線圈,值0x05對應于30~28的線圈,注意細體會其中的高低位的對應關(guān)系。需要注意的是,在查詢報文中,Modbus協(xié)議的起始地址為19(0x13),即比線圈起始地址20少1。如下表所示,其中字節(jié)數(shù)字段表示需要變更數(shù)據(jù)的字節(jié)總數(shù)。

功能碼15查詢報文示例:

字段
(Hex)
ASCII
模式字符型
RTU模式8位
(Hex)
幀頭 “:”
從設備地址 0x05 “0”,“5” 0x05
功能碼 0x0F “0”,“F” 0x0F
起始地址
(高位)
0x00 “0”,“0” 0x00
起始地址
(低位)
0x13 “1”,“3” 0x13
寄存器數(shù)
(高位)
0x00 “0”,“0” 0x00
寄存器數(shù)
(低位)
0x0B “0”,“B” 0x08
字節(jié)數(shù) 0x02 “0”,“2” 0x02
變更數(shù)據(jù)
(高位)
0xD1 “D”,“1” 0xD1
變更數(shù)據(jù)
(低位)
0x05 “0”,“5” 0x05
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 23 11

3. 響應報文

對于從設備,在正常情況下,響應報文包括功能碼、起始地址以及寫入的線圈數(shù)量,如下表所示。

功能碼15響應報文示例:

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

10.5.12

(0x10)寫多個保持寄存器

1. 功能說明

16功能碼用于設置或?qū)懭霃脑O備保持寄存器的多個連續(xù)的地址塊(1~123個寄存器),支持廣播模式,在廣播模式下,所有從站設備的同一地址的值將被統(tǒng)一修改。本功能碼中,起始地址字段由2字節(jié)構(gòu)成,取值范圍為0x0000~0xFFFF;而寄存器數(shù)量字段由2字節(jié)構(gòu)成,取值范圍為0x0001~0x007B。

2. 查詢報文

查詢報文包含請求數(shù)據(jù)字段。數(shù)據(jù)字段保存需要寫入的數(shù)值,各數(shù)據(jù)按每個寄存器2字節(jié)存放。舉例說明,從站設備地址為5,需要將保持寄存器地址40020~40022設置為如下表所示的數(shù)值。

寄存器的設置:

寄存器地址 設定值 寄存器地址 設定值
40020 0X0155 40022 0x0157
40021 0x0156

對應于40020~40022的寄存器,注意仔細體會其中的高低位的對應關(guān)系。需要注意的是,在查詢報文中,Modbus協(xié)議的起始地址為19(0x13),即比寄存器起始地址20少1。如下表所示,其中字節(jié)數(shù)字段表示需要變更數(shù)據(jù)的字節(jié)總數(shù)。

功能碼16查詢報文示例:

字段
(Hex)
ASCII
模式字符型
RTU模式8位
(Hex)
幀頭 “:”
從設備地址 0x05 “0”,“5” 0x05
功能碼 0x10 “0”,“F” 0x0F
起始地址
(高位)
0x00 “0”,“0” 0x00
起始地址
(低位)
0x13 “1”,“3” 0x13
寄存器數(shù)
(高位)
0x00 “0”,“0” 0x00
寄存器數(shù)
(低位)
0x03 “0”,“B” 0x08
字節(jié)數(shù) 0x06 “0”,“6” 0x06
變更數(shù)據(jù)1
(高位)
0x01 “0”,“1” 0x01
變更數(shù)據(jù)1
(低位)
0x55 “5”,“5” 0x56
變更數(shù)據(jù)2
(高位)
0x01 “0”,“1” 0x01
變更數(shù)據(jù)2
(低位)
0x56 “5”,“6” 0x56
變更數(shù)據(jù)3
(高位)
0x01 “0”,“1” 0x01
變更數(shù)據(jù)3
(低位)
0x57 “5”,“7” 0x57
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 31 15

3. 響應報文

對于從設備,在正常情況下,響應報文包括功能碼、起始地址及寫入的寄存器數(shù)量,如下表所示。

功能碼16響應報文示例:

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

在實際開發(fā)過程中,功能碼“16(0x10)寫多個寄存器(Preset MultipleRegisters)”通常用于方便用戶寫入多字節(jié)類型的數(shù)據(jù)。

例如,假設從站設備地址為5,需要向保持寄存器寫入一個32位(4字節(jié))的浮點數(shù),那么此浮點數(shù)將占用2個寄存器地址。假設浮點數(shù)將存放在40001和40002寄存器中,設定值為1.235(即0x3F9E 147A)實際的查詢和響應報文如下(其中標記部分為設定的浮點數(shù)值,假設字節(jié)序為AB-CD,參考第5.3.7章字節(jié)序和大小端的內(nèi)容)。

查詢報文:05 10 00 00 00 02 04 3F 9E 14 7A 05 86

響應報文:05 10 00 00 00 02 40 4C

對于64位(8字節(jié))的雙精度浮點數(shù),同理將占用4個寄存器地址共8字節(jié)的空間。特別需要注意的是字節(jié)序及大小端的問題,前面討論過多字節(jié)存在大小端問題,因此主站設備和從站設備必須保持一致的規(guī)則處理,約定Modbus傳輸中的數(shù)據(jù)字段的字節(jié)序,否則會因為大小端不一致而產(chǎn)生數(shù)據(jù)處理錯誤。

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

    關(guān)注

    14

    文章

    1844

    瀏覽量

    45198
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5421

    瀏覽量

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

    關(guān)注

    0

    文章

    10

    瀏覽量

    2225
  • 報文
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    4157

原文標題:寫多個線圈與寫多個保持寄存器 - RZ MPU工業(yè)控制教程連載(35)

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

收藏 人收藏

    評論

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

    NXP RC522 寄存器問題,哪位大神給點建議

    問題:寄存器 后再讀取寄存器值;但讀取的總是RC522 寄存器復位值(如TxControlReg 0x01,讀出是0x80;試寫過RC5
    發(fā)表于 12-29 02:32

    NI提供的modbus工具包功能測試結(jié)果,但是讀線圈讀不回來,多個寄存器也只能寫進去起始地址那個是什么原因呢?

    我使用的是NI提供的modbus工具包,目前成功的是連讀多個寄存器、單個線圈、單個寄存器;讀
    發(fā)表于 07-20 08:59

    Modbus協(xié)議———常用功能碼詳解

    0x0032,讀2個保持寄存器3)響應:數(shù)據(jù)存儲順序04H-讀輸入寄存器1)描述:讀輸入寄存器,字節(jié)指令操作,可讀單個或者多個; 2)發(fā)送指
    發(fā)表于 08-02 19:47

    如何把庫函數(shù)的文件和寄存器的文件結(jié)合起來用?

    庫函數(shù)的文件 怎么樣和 寄存器的文件 結(jié)合起來用啊?庫函數(shù)的文件 怎么樣和 寄存器的文件
    發(fā)表于 08-07 02:49

    無法理解Modbus RTU協(xié)議多個寄存器的這兩個參數(shù)

    Modbus RTU協(xié)議多個寄存器的協(xié)議是下面這樣描述的:針對這個協(xié)議我有幾個問題,請教大家:1、其中請求PDU中的“寄存器數(shù)量”和“字節(jié)數(shù)”兩個參數(shù)是不是冗余了?“字節(jié)數(shù)”不是可以
    發(fā)表于 05-07 10:43

    無法理解Modbus RTU協(xié)議多個寄存器的這兩個參數(shù)!

    Modbus RTU協(xié)議多個寄存器的協(xié)議是下面這樣描述的:針對這個協(xié)議我有幾個問題,請教大家:1、其中請求PDU中的“寄存器數(shù)量”和“字節(jié)數(shù)”兩個參數(shù)是不是冗余了?“字節(jié)數(shù)”不是可以
    發(fā)表于 05-07 15:21

    調(diào)試AD7124-8驅(qū)動時,對各寄存器配置之后再次讀各寄存器的值,多個寄存器的值都為fffffffd是為什么?

    在調(diào)試AD7124-8驅(qū)動時,對各寄存器配置之后再次讀各寄存器的值,多個寄存器的值都為fffffffd,這是為什么? 看參考程序里面對各寄存器
    發(fā)表于 12-07 08:29

    寄存器尋址方式

    寄存器尋址方式   寄存器尋址是對由指令選定的工作寄存器(R0--R7)進行讀/,由指令操作碼字節(jié)的最低3位指明所尋址的工作寄存器
    發(fā)表于 03-14 15:29 ?2943次閱讀

    32位寄存器,32位寄存器是什么意思

    32位寄存器,32位寄存器是什么意思  從X8086開始學了一年,第一個ASM的程序就是變32換16進制的程序,不過現(xiàn)在叫我從新開始ASM程
    發(fā)表于 03-08 17:26 ?1.8w次閱讀

    使用寄存器級讀&控制基于PXI平臺的FPGA

    本文以基于PXI平臺的Marvin Test Solutions 3U FPGA板卡GX3500為設計對象,通過設計實例講解如何使用寄存器級讀&控制FPGA,并提供FPGA設計相關(guān)文件(如
    發(fā)表于 09-27 17:46 ?10次下載

    如何使用寄存器級讀&控制基于PXI平臺的FPGA

    如何使用寄存器級讀&控制基于PXI平臺的FPGA
    發(fā)表于 10-16 15:20 ?14次下載
    如何使用<b class='flag-5'>寄存器</b>級讀&<b class='flag-5'>寫</b>控制基于PXI平臺的FPGA

    如何使用寄存器級讀&控制基于PXI平臺的FPGA

    如何使用寄存器級讀&控制基于PXI平臺的FPGA
    發(fā)表于 10-19 08:48 ?12次下載

    STM32系列MCU,寄存器Or利用固件庫

    嵌入式的編程,往下說就是操作MCU的寄存器。而固件庫就是函數(shù)的集合,固件庫函數(shù)的作用是向下負責與寄存器直接打交道,向上提供用戶函數(shù)調(diào)用的接口(API)。相對于固件庫的方式,直接寄存器
    的頭像 發(fā)表于 08-09 17:22 ?7586次閱讀
    STM32系列MCU,<b class='flag-5'>寫</b><b class='flag-5'>寄存器</b>Or利用固件庫

    寄存器陣列低功耗設計方案

    寄存器操作的時候會改變寄存器內(nèi)容,需要時鐘鎖入新的數(shù)據(jù)。但是,對寄存器進行讀操作的時候,寄存器內(nèi)容不改變,
    的頭像 發(fā)表于 12-08 11:19 ?836次閱讀
    <b class='flag-5'>寄存器</b>陣列低功耗設計方案

    單個線圈與單個保持寄存器相關(guān)

    05功能碼用于將單個線圈寄存器(或離散輸入)設置為ON或OFF,該功能碼支持廣播模式在廣播模式下,所有從站設備的同一地址的值將被統(tǒng)一修改。查詢報文中的ON/OFF狀態(tài)由報文數(shù)據(jù)字段的常數(shù)指定
    的頭像 發(fā)表于 11-01 13:46 ?575次閱讀