振弦采集模块UART通讯协议 参数配置工具的使用

2022-11-15 14:07:40 来源:51CTO博客

振弦采集模块UART通讯协议

UART接口支持标准的工业 MODBUS 通讯协议(03、04、06、16指令码)和自定义的简单AABB协议以及$字符串指令集。前两种协议均支持基于模块地址和总线连接的一主多从应用结构,在总线中,VMXXX模块始终作为从机使用(被动等待指令,不主动上传数据,但“自动上传数据"和“软件握手”除外,详见后续对应章节说明)。

建议使用专用的VMTool工具进行寄存器指令的生成和测试,关于VMTool的基本用法,请详见"第四章:参数配置工具的使用”。根据下述通讯协议规则,读写寄存器。在使用MODBUS或AABB通讯协议时,请确认模块的软件握手参数处于关闭状态(默认)。

(—)MODBUS通讯协议

在MODBUS协议下,VMXXX内部所有寄存器被定义为“保持寄存器”(详见MODBUS通讯协议标准说明),模块支持基于MODBUS协议的多个连续寄存器读取、单个寄存器写入、多个连续寄存器写入三种指令,对应指令码分别为0x03(或Ox04)、 0x06、0x10。下面逐—说明每种指令码的指令和返回数据帧格式。

( 1) 03/04 ( Ox03/0x04)指令码:读取多个连续的寄存器数据,指令格式如下

指令数据帧结构

例:读取地址为Ox01的模块寄存器值,寄存器开始地址为0,连续读取10个寄存器

主机发送指令:0x01 Ox03 Ox00 Ox00 Ox00 Ox0A OxC5 OxCD

从机返回应答: Ox01Ox03 0x14 0x00 0x01 0x00 0x60 Ox00 0x00 0x00 Ox00 Ox00 0x000x00 0x01 0x010xF4Ox00 Ox00 0x00 0x64 0x00 0xC8 0x5F Ox8F(下划线为读取到的10个寄存器值)

主机发送指令:0x01 Ox04 Ox00 Ox00 Ox00 OxOA Ox70 OxOD

从机返回应答: Ox01 0x04 Ox14 Ox00 0x01 0x00 0x60 0x00 Ox00 Ox00 0x00 Ox00 0x000x00 0x010x010xF4 Ox00 0x00 Ox00 0x14 0x14 OxC8 0xB70x62(下划线为读取到的10个寄存器值)

读取多个连续寄存器时,单次读取不要超过64个寄存器,不要试图读取不存在的寄存器(地址大于63的寄存器)。

( 2) 06 ( Ox06)指令码:修改单个寄存器的值,指令格式如下

例:将地址为Ox01的模块中的寄存器8的值修改为100

主机发送指令:Ox01 Ox06 Ox00 Ox08 0x00 0x64 OxO9 OxE3

从机返回应答:0x01 Ox06 Ox00 Ox08 Ox00 Ox64 Ox09 OxE3

( 3)16 ( Ox10)指令码:修改连续的多个寄存器的值,指令格式如下

例:修改地址为Ox01的模块中0~31寄存器的值

主机发送指令(16进制指令):0110 00 00 00 20 40 00 01 00 60 00 00 00 03 00 00 00 0101 F4 00 00 00 c8

c8 c8 00 0182 35 00 0503 E8 00 A0 05 DC 06 40 00 05 0o o4 un( u UAOUnuo0 03 E8 00 0100 00 o0 oo 00 00 A370 (下划线数据为32个寄存器值)

从机返回应答:0x010x10 0x00 0x00 0x00 0x20 0xXX 0xXX VMXXX的UART接收缓存为80字节,向模块发送多寄存器写指令时,单帧指令长度不要超限。

标签: 振弦采集模块UART通讯协议 参数配置工具的使用 被动等待指令 MODBUS通讯协议

上一篇:郑州一高校学院出防疫新规:学生举报私自翻墙外出者奖五千
下一篇:c盘清理的步骤是什么(如何清理C盘空间)