<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 振弦采集模塊UART 通訊協(xié)議

振弦采集模塊UART 通訊協(xié)議

發(fā)布人:河北穩控科技 時(shí)間:2022-11-15 來(lái)源:工程師 發(fā)布文章

振弦采集模塊UART 通訊協(xié)議


UART 接口支持標準的工業(yè) MODBUS 通訊協(xié)議( 03、 04、 06、 16 指令碼)和自定義的簡(jiǎn)單 AABB協(xié)議以及$字符串指令集。 前兩種協(xié)議均支持基于模塊地址和總線(xiàn)連接的一主多從應用結構, 在總線(xiàn)中, VMXXX 模塊始終作為從機使用( 被動(dòng)等待指令, 不主動(dòng)上傳數據,但“ 自動(dòng)上傳數據”和“ 軟件握手” 除外, 詳見(jiàn)后續對應章節說(shuō)明)。

VM501-11.jpg

建議使用專(zhuān)用的 VMTool 工具進(jìn)行寄存器指令的生成和測試,關(guān)于 VMTool 的基本用法,請詳見(jiàn)“ 第四章:參數配置工具的使用” 。根據下述通訊協(xié)議規則,讀寫(xiě)寄存器。在使用 MODBUS 或 AABB 通訊協(xié)議時(shí), 請確認模塊的軟件握手參數處于關(guān)閉狀態(tài)(默認)。


(一) MODBUS 通訊協(xié)議

在 MODBUS 協(xié)議下, VMXXX 內部所有寄存器被定義為“ 保持寄存器” (詳見(jiàn) MODBUS 通訊協(xié)議標準說(shuō)明),模塊支持基于 MODBUS 協(xié)議的多個(gè)連續寄存器讀取、單個(gè)寄存器寫(xiě)入、多個(gè)連續寄存器寫(xiě)入三種指令, 對應指令碼分別為 0x03(或 0x04)、 0x06、 0x10。 下面逐一說(shuō)明每種指令碼的指令和返回數據幀格式。



( 1) 03/04( 0x03/0x04) 指令碼: 讀取多個(gè)連續的寄存器數據,指令格式如下

指令數據幀結構

通訊協(xié)議指令數據幀結構.jpg


例:讀取地址為 0x01 的模塊寄存器值,寄存器開(kāi)始地址為 0,連續讀取 10 個(gè)寄存器

主機發(fā)送指令: 0x01 0x03 0x00 0x00 0x00 0x0A 0xC5 0xCD


從機返回應答: 0x01 0x03 0x14 0x00 0x01 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x000x00 0x01 0x01 0xF4 0x00 0x00 0x00 0x64 0x00 0xC8 0x5F 0x8F(下劃線(xiàn)為讀取到的 10 個(gè)寄存器值)

主機發(fā)送指令: 0x01 0x04 0x00 0x00 0x00 0x0A 0x70 0x0D

從機返回應答: 0x01 0x04 0x14 0x00 0x01 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x000x00 0x01 0x01 0xF4 0x00 0x00 0x00 0x14 0x14 0xC8 0xB7 0x62(下劃線(xiàn)為讀取到的 10 個(gè)寄存器值)

讀取多個(gè)連續寄存器時(shí), 單次讀取不要超過(guò) 64 個(gè)寄存器, 不要試圖讀取不存在的寄存器( 地址大于 63 的寄存器)。


( 2) 06( 0x06) 指令碼: 修改單個(gè)寄存器的值, 指令格式如下

通訊協(xié)議指令數據幀結構2.jpg



例: 將地址為 0x01 的模塊中的寄存器 8 的值修改為 100

主機發(fā)送指令: 0x01 0x06 0x00 0x08 0x00 0x64 0x09 0xE3

從機返回應答: 0x01 0x06 0x00 0x08 0x00 0x64 0x09 0xE3

( 3) 16( 0x10) 指令碼: 修改連續的多個(gè)寄存器的值, 指令格式如下


通訊協(xié)議指令數據幀結構3.jpg

例:修改地址為 0x01 的模塊中 0~31 寄存器的值

主機發(fā)送指令( 16 進(jìn)制指令): 01 10 00 00 00 20 40 00 01 00 60 00 00 00 03 00 00 00 01 01 F4 00 00 00 C8 C8 C8 00 01 82 35 00 05 03 E8 00 A0 05 DC 06 40 00 05 00 64 00 00 00 0A 00 0A 00 04 01 77 03 15 00 00 00 00 03 E8 00 01 00 00 00 00 00 00 A3 70(下劃線(xiàn)數據為 32 個(gè)寄存器值)

從機返回應答: 0x01 0x10 0x00 0x00 0x00 0x20 0xXX 0xXX  VMXXX 的 UART 接收緩存為 80 字節,向模塊發(fā)送多寄存器寫(xiě)指令時(shí),單幀指令長(cháng)度不要超限。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。




相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>