博客專欄

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

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

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

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

AABB 通訊協(xié)議是一種非標(biāo)準(zhǔn)自定義協(xié)議, 相較于 MODBUS 通訊協(xié)議,結(jié)構(gòu)更簡(jiǎn)單,指令生成方法更容易,便于進(jìn)行快速測(cè)試。 AABB 通訊協(xié)議支持單寄存器讀寫兩種指令。

( 1) 讀取單個(gè)寄存器

AABB通訊協(xié)議指令數(shù)據(jù)幀結(jié)構(gòu).jpg

指令頭: 固定為 16 進(jìn)制 AABB

地址碼: VMXXX 模塊的地址( 1~255, 其中地址 255 為通用地址,詳見(jiàn)后續(xù)“通用模塊地址” 說(shuō)明)

寄存器地址: 要訪問(wèn)的寄存器地址( 0~63), 寄存器地址字節(jié)最高位是讀寫標(biāo)志位,為 0 時(shí)表示

讀寄存器,為 1 時(shí)表示寫寄存器。

和校驗(yàn): 之前所有數(shù)據(jù)之和, 0xAA+0xBB+地址碼+寄存器地址, 校驗(yàn)和超過(guò) 255 時(shí),僅使用低字節(jié)。 如下例中,校驗(yàn)和=0xAA+0xBB+0x01+0x08=0x016E,則只使用 0x6E 作為最終和校驗(yàn)碼。

例:讀取地址為 0x01 的模塊寄存器值,寄存器地址為 8

主機(jī)發(fā)送指令: 0xAA 0xBB 0x01 0x08 0x6E

從機(jī)返回應(yīng)答: 0xAA 0xBB 0x01 0x08 0x00 0x60 0xCE


( 2) 修改單個(gè)寄存器

AABB通訊協(xié)議指令數(shù)據(jù)幀結(jié)構(gòu)2.jpg

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

主機(jī)發(fā)送指令: 0xAA 0xBB 0x01 0x88 0x00 0x64 0x52

從機(jī)返回應(yīng)答: 0xAA 0xBB 0x01 0x08 0x00 0x64 0xD2


VM501-11.jpg

( 3) 通用模塊地址

AABB 通訊協(xié)議支持模塊通用地址, 無(wú)論模塊的當(dāng)前地址為何值,使用 0xFF 作為地址對(duì)模塊發(fā)送讀寫指令,均可得到模塊正確應(yīng)答。

例:使用通用地址,讀取任一模塊的寄存器 8

主機(jī)發(fā)送指令: 0xAA 0xBB 0xFF 0x08 0x6C

從機(jī)返回應(yīng)答: 0xAA 0xBB 0x01 0x08 0x00 0xC8 0x36

注: 當(dāng)總線上連接有多個(gè)模塊時(shí)(通常為 RS485 總線), 使用通用地址時(shí)總線上所有模塊均會(huì)響應(yīng)指令,導(dǎo)致指令無(wú)法正常使用。

注: 嚴(yán)禁在連接有多個(gè) VM 模塊的總線中使用通用地址修改模塊地址。

( 4)特殊模塊地址

模塊地址保存于寄存器 ADDR.[7:0], 取值范圍為 1~255,這些地址中, 255 在 AABB 協(xié)議中作為通用地址使用, 地址 128( 0x80) 用于特殊用途, 故此對(duì)模塊地址進(jìn)行修改時(shí)可使用的地址有: 1~127、 129~254, 共 253 個(gè)。

AABB通訊協(xié)議指令數(shù)據(jù)幀結(jié)構(gòu)3.jpg



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




相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉