振弦采集模块UART 通讯协议

简介: UART 接口支持标准的工业 MODBUS 通讯协议( 03、 04、 06、 16 指令码)和自定义的简单 AABB协议以及$字符串指令集。 前两种协议均支持基于模块地址和总线连接的一主多从应用结构, 在总线中, VMXXX 模块始终作为从机使用( 被动等待指令, 不主动上传数据,但“ 自动上传数据”和“ 软件握手” 除外, 详见后续对应章节说明)。建议使用专用的 VMTool 工具进行寄存器指令的生成和测试,关于 VMTool 的基本用法,请详见“ 第四章:参数配置工具的使用” 。根据下述通讯协议规则,读写寄存器。在使用 MODBUS 或 AABB 通讯协议时, 请确认模块的软件握手参数

振弦采集模块UART 通讯协议
VM501-11.jpg

UART 接口支持标准的工业 MODBUS 通讯协议( 03、 04、 06、 16 指令码)和自定义的简单 AABB协议以及$字符串指令集。 前两种协议均支持基于模块地址和总线连接的一主多从应用结构, 在总线中, VMXXX 模块始终作为从机使用( 被动等待指令, 不主动上传数据,但“ 自动上传数据”和“ 软件握手” 除外, 详见后续对应章节说明)。
建议使用专用的 VMTool 工具进行寄存器指令的生成和测试,关于 VMTool 的基本用法,请详见“ 第四章:参数配置工具的使用” 。根据下述通讯协议规则,读写寄存器。在使用 MODBUS 或 AABB 通讯协议时, 请确认模块的软件握手参数处于关闭状态(默认)。

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

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

通讯协议指令数据帧结构.jpg

例:读取地址为 0x01 的模块寄存器值,寄存器开始地址为 0,连续读取 10 个寄存器
主机发送指令: 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(下划线为读取到的 10 个寄存器值)
主机发送指令: 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(下划线为读取到的 10 个寄存器值)
读取多个连续寄存器时, 单次读取不要超过 64 个寄存器, 不要试图读取不存在的寄存器( 地址大于 63 的寄存器)。

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

通讯协议指令数据帧结构2.jpg

例: 将地址为 0x01 的模块中的寄存器 8 的值修改为 100
主机发送指令: 0x01 0x06 0x00 0x08 0x00 0x64 0x09 0xE3
从机返回应答: 0x01 0x06 0x00 0x08 0x00 0x64 0x09 0xE3
( 3) 16( 0x10) 指令码: 修改连续的多个寄存器的值, 指令格式如下

通讯协议指令数据帧结构3.jpg

例:修改地址为 0x01 的模块中 0~31 寄存器的值
主机发送指令( 16 进制指令): 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(下划线数据为 32 个寄存器值)
从机返回应答: 0x01 0x10 0x00 0x00 0x00 0x20 0xXX 0xXX VMXXX 的 UART 接收缓存为 80 字节,向模块发送多寄存器写指令时,单帧指令长度不要超限。

相关文章
|
数据采集 C语言
单片机开发之ADC0808/9信号采集
本文主要介绍了单片机开发之ADC0808/9信号采集
652 0
单片机开发之ADC0808/9信号采集
|
5月前
|
消息中间件 存储 数据采集
基于Modbus实现的工业采集数据项目(包含led的开关)
1.首先应该实现一个基于Modbus实现对一个设备的数据采集以及控制,我这边是通过Modbus_tcp实现的。 2.因为要实现采集控制程序和网页服务器的通信我这边采用的是共享内粗你和消息队列,传输存储的数据就用共享内存,操作开关就用消息队列 3.写网页服务器和一个网页,需要让其两个可以正常通信,就是让网页服务器上的东西可以发到网页上 4.然后将采集的数据通过共享内存去分享给网页服务器,让网页服务器传给网页即可,控制开关同理,反过来。
104 1
|
传感器 数据采集
振弦采集读数模块需要连接什么设备,如何连接?
振弦采集读数模块是一种可以用来监测物体振动情况的设备,可以应用在机器运转状态监测、结构健康监测、地震测量等领域。它主要通过传感器对物体的振动进行监测,并将监测到的数据输出到计算机或其他设备上,以便进行分析和判断。
振弦采集读数模块需要连接什么设备,如何连接?
|
传感器 数据采集 存储
振弦采集读数模块需要连接什么设备?
振弦采集读数模块是一种电子设备,用于采集振弦传感器的信号,并将信号转化为数字信号输出。振弦传感器一般用于测量物体的振动,如机械设备、建筑物、桥梁等。振弦采集读数模块连接的设备主要包括传感器、数据采集仪、计算机等。
振弦采集读数模块需要连接什么设备?
工程监测无线中继采集仪的参数读写MODBUS协议
无线中继采集仪支持基于地址的 MODBUS 协议、自定义的 AAB/B 协议以及字符串指令集协议,使用这些通讯协议可对寄存器(参数)进行访问。
工程监测无线中继采集仪的参数读写MODBUS协议
|
传感器 存储
工程监测多通道振弦模拟信号采集仪VTN通讯接口物理层参数配置
VTN208-432 是多通道振弦、温度、模拟传感信号采集仪,可对最多32通道振弦频率、32通道温度传感器(热敏电阻或 DS18B20)、32 通道模拟量传感器(电压或电流)进行实时或全自动定时采集存储。
工程监测多通道振弦模拟信号采集仪VTN通讯接口物理层参数配置
|
传感器
工程监测多通道振弦模拟信号采集仪VTN的MODBUS 通讯协议
在 MODBUS 协议下,所有寄存器被定义为“保持寄存器” (详见 MODBUS 通讯协议标准说明), 设备支持基于 MODBUS 协议的多个连续寄存器读取、单个寄存器写入两种指令码, 对应指令码分别为 0x03、 0x06。
工程监测多通道振弦模拟信号采集仪VTN的MODBUS 通讯协议
|
传感器
工程监测多通道振弦模拟信号采集仪VTN的MODBUS通讯协议详解
在 MODBUS 协议下,所有寄存器被定义为“保持寄存器” (详见 MODBUS 通讯协议标准说明), 设备支持基于 MODBUS 协议的多个连续寄存器读取、单个寄存器写入两种指令码, 对应指令码分别为 0x03、 0x06。
工程监测多通道振弦模拟信号采集仪VTN的MODBUS通讯协议详解
|
传感器
工程监测多通道振弦模拟信号采集仪VTN MODBUS指令驱动测量模式
当工作模式拨码开关的第 2 和第 4 为 ON 时,设备工作于 MODBUS 指令驱动测量模式。在此模式下,设备始终处于开机状态,振弦测量停止。当收到 MODBUS 协议的传感器通道数据读取指令时自动开始测量并在测量结束后响应通道值读取指令的数据包。
工程监测多通道振弦模拟信号采集仪VTN MODBUS指令驱动测量模式
|
传感器 物联网
工程监测无线中继采集发送仪 指示灯功能说明及接口定义
工程监测NLM5无线中继采集发送仪 指示灯功能说明及接口定义