博客專欄

        EEPW首頁 > 博客 > 振弦采集模塊AABB 通訊協議

        振弦采集模塊AABB 通訊協議

        發布人:河北穩控科技 時間:2022-11-16 來源:工程師 發布文章

        振弦采集模塊AABB 通訊協議

        AABB 通訊協議是一種非標準自定義協議, 相較于 MODBUS 通訊協議,結構更簡單,指令生成方法更容易,便于進行快速測試。 AABB 通訊協議支持單寄存器讀寫兩種指令。

        ( 1) 讀取單個寄存器

        AABB通訊協議指令數據幀結構.jpg

        指令頭: 固定為 16 進制 AABB

        地址碼: VMXXX 模塊的地址( 1~255, 其中地址 255 為通用地址,詳見后續“通用模塊地址” 說明)

        寄存器地址: 要訪問的寄存器地址( 0~63), 寄存器地址字節最高位是讀寫標志位,為 0 時表示

        讀寄存器,為 1 時表示寫寄存器。

        和校驗: 之前所有數據之和, 0xAA+0xBB+地址碼+寄存器地址, 校驗和超過 255 時,僅使用低字節。 如下例中,校驗和=0xAA+0xBB+0x01+0x08=0x016E,則只使用 0x6E 作為最終和校驗碼。

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

        主機發送指令: 0xAA 0xBB 0x01 0x08 0x6E

        從機返回應答: 0xAA 0xBB 0x01 0x08 0x00 0x60 0xCE


        ( 2) 修改單個寄存器

        AABB通訊協議指令數據幀結構2.jpg

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

        主機發送指令: 0xAA 0xBB 0x01 0x88 0x00 0x64 0x52

        從機返回應答: 0xAA 0xBB 0x01 0x08 0x00 0x64 0xD2


        VM501-11.jpg

        ( 3) 通用模塊地址

        AABB 通訊協議支持模塊通用地址, 無論模塊的當前地址為何值,使用 0xFF 作為地址對模塊發送讀寫指令,均可得到模塊正確應答。

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

        主機發送指令: 0xAA 0xBB 0xFF 0x08 0x6C

        從機返回應答: 0xAA 0xBB 0x01 0x08 0x00 0xC8 0x36

        注: 當總線上連接有多個模塊時(通常為 RS485 總線), 使用通用地址時總線上所有模塊均會響應指令,導致指令無法正常使用。

        注: 嚴禁在連接有多個 VM 模塊的總線中使用通用地址修改模塊地址。

        ( 4)特殊模塊地址

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

        AABB通訊協議指令數據幀結構3.jpg



        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。




        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁南县| 孝昌县| 英山县| 合川市| 德江县| 霍山县| 芦山县| 大埔区| 山西省| 贺州市| 太白县| 瑞丽市| 内黄县| 宜昌市| 五河县| 宝丰县| 方城县| 平江县| 中牟县| 临清市| 宾阳县| 响水县| 客服| 同仁县| 扶绥县| 绥芬河市| 巴马| 石阡县| 太谷县| 青神县| 乌海市| 湘潭市| 清水县| 厦门市| 阿坝县| 泽库县| 油尖旺区| 鲁甸县| 海原县| 呼和浩特市| 西乌珠穆沁旗|