Mod X14路脉冲信号采集处理RS485通讯模块 2025
产品说明产品名称:单路脉冲转流量RS485通讯模块产品型号:Mod X1产品介绍:电压范围 DC 5-24V 使用说明:本产品遵循 MODBUS 协议指令可用命令码 0x03,0x06,0x10 CRC 校验:低位在前,高位在后 例:读取多个寄存器使用 03 指令0x01 0x03 0x00 0x00 0x00 0x03 0x05 0xCB(从 0x0001 号设备的 0x0000 寄存器连续读取
- 型号: Mod X14
产品说明产品名称:单路脉冲转流量RS485通讯模块产品型号:Mod X1产品介绍:电压范围 DC 5-24V 使用说明:本产品遵循 MODBUS 协议指令可用命令码 0x03,0x06,0x10 CRC 校验:低位在前,高位在后 例:读取多个寄存器使用 03 指令0x01 0x03 0x00 0x00 0x00 0x03 0x05 0xCB(从 0x0001 号设备的 0x0000 寄存器连续读取
模块使用统一入口(入门教程,点击链接参阅,新手必读)
产品说明
产品名称:Mod X14十四路RS485脉冲转流量通讯模块
产品介绍:电压范围 DC5~24V(2025.2.5日起供电电压可以适配5-24V)
使用说明:
本产品遵循 MODBUS 协议指令(所有指令均可通过Modbus调试助手获取,详情请参阅:http://us211m.cn/news/shownews.php?lang=cn&id=41 )
可用命令码 0x03,0x06,0x10
CRC 校验:低位在前,高位在后
例:读取一个寄存器使用03H指令
0x01 0x03 0x00 0x02 0x00 0x01 0x25 0xCA ( 01 03 00 02 00 01 25 CA )
(从 0x0001 号设备的 0x0002 寄存器开始读取 1个寄存器的值,25 CA为CRC校验码,用于验证数据的完整性)
读取多个寄存器使用 03H 指令
0x01 0x03 0x00 0x00 0x00 0x03 0x05 0xCB( 01 03 00 00 00 03 05 CB )
(从 0x0001 号设备的 0x0000 寄存器连续读取 3 个寄存器的值)
写入单个寄存器使用 06H 指令
0x01 0x06 0x00 0x01 0x00 0x03 0x98 0x0B (01 06 00 01 00 03 98 0B )
(将 0x0003 写入 0x0001 号设备的 0x0001 寄存器 98 0B 为CRC校验码,用于验证数据的完整性)
写入多个寄存器使用 10H 指令
0x01 0x10 0x00 0x00 0x00 0x02 0x04 0x00 0x02 0x00 0x03 0x12 0x6E ( 01 10 00 00 00 02 04 00 02 00 03 12 6E )
(将 0x0002 写入 0x0001 号设备的 0x0000 寄存器,0x0003 写入 0x0001 号设备的 0x0001号寄存器,12 6E为CRC校验码,用于验证数据的完整性)
以下是KIMI给出的详细的解析结果:
Modbus 数据帧解析
Modbus 数据帧通常由以下部分组成:
• 从站地址(Slave Address):标识从机设备的地址。
• 功能码(Function Code):定义操作类型。
• 数据域(Data Field):具体的操作参数。
• CRC 校验码(CRC Checksum):用于数据完整性验证。
解析数据:`01 10 00 00 00 02 04 00 02 00 03 12 6E`
• 从站地址(Slave Address)
• `01`:表示从机设备的地址为 1。
• 功能码(Function Code)
• `10`:功能码为 10(十六进制),表示“写多个寄存器”(Write Multiple Registers)。该功能码用于向从机的多个寄存器写入数据。
• 数据域(Data Field)
• `00 00`:起始寄存器地址,表示从寄存器地址`0x0000`开始操作。
• `00 02`:寄存器数量,表示要写入的寄存器数量为 2 个。
• `04`:字节数,表示接下来的数据总字节数为 4 字节(每个寄存器占用 2 字节,2 个寄存器共 4 字节)。
• `00 02 00 03`:寄存器数据,表示要写入的寄存器数据值。具体为:
• 寄存器`0x0000`的值为`0x0002`。
• 寄存器`0x0001`的值为`0x0003`。
• CRC 校验码(CRC Checksum)
• `12 6E`:CRC 校验码,用于验证数据的完整性和正确性。
总结
这条 Modbus 数据帧的含义是:
• 主机向地址为`01`的从机发送指令。
• 操作类型为“写多个寄存器”(功能码`10`)。
• 从寄存器地址`0x0000`开始,写入 2 个寄存器的数据。
• 寄存器数据分别为:
• 寄存器`0x0000`的值为`0x0002`。
• 寄存器`0x0001`的值为`0x0003`。
• 数据的完整性通过 CRC 校验码`12 6E`验证。
应用场景
这种操作通常用于工业自动化中,例如:
• 配置 PLC(可编程逻辑控制器)的寄存器值。
• 设置设备的参数(如温度、速度、位置等)。
• 初始化设备的运行状态。
设备默认参数:
波特率: 9600(十进制)
MODBUS 设备地址:1(十进制)
流量计常数K 值:500(十进制)
寄存器地址 | 寄存器功能 |
0x0000 | 波特率 |
0x0001 | 设备地址,可修改为 0x0001-0x00F7(十进制1-247) |
0x0002 | 小数位数(默认2位,无特殊需求无需改动) |
0x0003 | 流量传感器(1)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0004 | 流量传感器(1)永久累计流量高寄存器,单位,L |
0x0005 | 流量传感器(1)永久累计流量低寄存器,单位,L |
0x0006 | 流量传感器(1)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0007 | 流量传感器(1)永久累计流量脉冲值 |
0x0008 | 流量传感器(2)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0009 | 流量传感器(2)永久累计流量高寄存器,单位,L |
0x000A | 流量传感器(2)永久累计流量低寄存器,单位,L |
0x000B | 流量传感器(2)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x000C | 流量传感器(2)永久累计流量脉冲值 |
0x000D | 流量传感器(3)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x000E | 流量传感器(3)永久累计流量高寄存器,单位,L |
0x000F | 流量传感器(3)永久累计流量低寄存器,单位,L |
0x0010 | 流量传感器(3)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0011 | 流量传感器(3)永久累计流量脉冲值 |
0x0012 | 流量传感器(4)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0013 | 流量传感器(4)永久累计流量高寄存器,单位,L |
0x0014 | 流量传感器(4)永久累计流量低寄存器,单位,L |
0x0015 | 流量传感器(4)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0016 | 流量传感器(4)永久累计流量脉冲值 |
0x0017 | 流量传感器(5)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0018 | 流量传感器(5)永久累计流量高寄存器,单位,L |
0x0019 | 流量传感器(5)永久累计流量低寄存器,单位,L |
0x001A | 流量传感器(5)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x001B | 流量传感器(5)永久累计流量脉冲值 |
0x001C | 流量传感器(6)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x001D | 流量传感器(6)永久累计流量高寄存器,单位,L |
0x001E | 流量传感器(6)永久累计流量低寄存器,单位,L |
0x001F | 流量传感器(6)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0020 | 流量传感器(6)永久累计流量脉冲值 |
0x0021 | 流量传感器(7)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0022 | 流量传感器(7)永久累计流量高寄存器,单位,L |
0x0023 | 流量传感器(7)永久累计流量低寄存器,单位,L |
0x0024 | 流量传感器(7)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0025 | 流量传感器(7)永久累计流量脉冲值 |
0x0026 | 流量传感器(8)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0027 | 流量传感器(8)永久累计流量高寄存器,单位,L |
0x0028 | 流量传感器(8)永久累计流量低寄存器,单位,L |
0x0029 | 流量传感器(8)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x002A | 流量传感器(8)永久累计流量脉冲值 |
0x002B | 流量传感器(9)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x002C | 流量传感器(9)永久累计流量高寄存器,单位,L |
0x002D | 流量传感器(9)永久累计流量低寄存器,单位,L |
0x002E | 流量传感器(9)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x002F | 流量传感器(9)永久累计流量脉冲值 |
0x0030 | 流量传感器(10)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0031 | 流量传感器(10)永久累计流量高寄存器,单位,L |
0x0032 | 流量传感器(10)永久累计流量低寄存器,单位,L |
0x0033 | 流量传感器(10)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0034 | 流量传感器(10)永久累计流量脉冲值 |
0x0035 | 流量传感器(11)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0036 | 流量传感器(11)永久累计流量高寄存器,单位,L |
0x0037 | 流量传感器(11)永久累计流量低寄存器,单位,L |
0x0038 | 流量传感器(11)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0039 | 流量传感器(11)永久累计流量脉冲值 |
0x003A | 流量传感器(12)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x003B | 流量传感器(12)永久累计流量高寄存器,单位,L |
0x003C | 流量传感器(12)永久累计流量低寄存器,单位,L |
0x003D | 流量传感器(12)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x003E | 流量传感器(12)永久累计流量脉冲值 |
0x003F | 流量传感器(13)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0040 | 流量传感器(13)永久累计流量高寄存器,单位,L |
0x0041 | 流量传感器(13)永久累计流量低寄存器,单位,L |
0x0042 | 流量传感器(13)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0043 | 流量传感器(13)永久累计流量脉冲值 |
0x0044 | 流量传感器(14)脉冲 K 值,读写的数值是实际值的 100 倍 |
0x0045 | 流量传感器(14)永久累计流量高寄存器,单位,L |
0x0046 | 流量传感器(14)永久累计流量低寄存器,单位,L |
0x0047 | 流量传感器(14)永久累计流量小数,读数是实际值的 100 倍,单位,L |
0x0048 | 流量传感器(14)永久累计流量脉冲值 |
0x0049 | 流量传感器(1)临时累计流量高寄存器,单位,L |
0x004A | 流量传感器(1)临时累计流量低寄存器,单位,L |
0x004B | 流量传感器(1)临时累计流量小数,读数是实际值的 100 倍,单位,L |
0x004C | 流量传感器(1)临时累计流量脉冲值 |
0x004D | 流量传感器(1)实时流量,单位:L/min,读数是实际值的 100 倍 |
0x004E | 流量传感器(1)实时脉冲数 |
0x004F | 流量传感器(2)临时累计流量高寄存器,单位,L |
0x0050 | 流量传感器(2)临时累计流量低寄存器,单位,L |
0x0051 | 流量传感器(2)临时累计流量小数,读数是实际值的 100 倍,单位,L |
0x0052 | 流量传感器(2)临时累计流量脉冲值 |
0x0053 | 流量传感器(2)实时流量,单位:L/min,读数是实际值的 100 倍 |
0x0054 | 流量传感器(2)实时脉冲数 |
0x0055 | 流量传感器(3)临时累计流量高寄存器,单位,L |
0x0056 | 流量传感器(3)临时累计流量低寄存器,单位,L | 85 |
0x0057 | 流量传感器(3)临时累计流量小数,读数是实际值的 100 倍,单位,L | 86 |
0x0058 | 流量传感器(3)临时累计流量脉冲值 | 87 |
0x0059 | 流量传感器(3)实时流量,单位:L/min,读数是实际值的 100 倍 | 88 |
0x005A | 流量传感器(3)实时脉冲数 | 89 |
0x005B | 流量传感器(4)临时累计流量高寄存器,单位,L | 90 |
0x005C | 流量传感器(4)临时累计流量低寄存器,单位,L | 91 |
0x005D | 流量传感器(4)临时累计流量小数,读数是实际值的 100 倍,单位,L | 92 |
0x005E | 流量传感器(4)临时累计流量脉冲值 | 93 |
0x005F | 流量传感器(4)实时流量,单位:L/min,读数是实际值的 100 倍 | 94 |
0x0060 | 流量传感器(4)实时脉冲数 | 95 |
0x0061 | 流量传感器(5)临时累计流量高寄存器,单位,L | 96 |
0x0062 | 流量传感器(5)临时累计流量低寄存器,单位,L | 97 |
0x0063 | 流量传感器(5)临时累计流量小数,读数是实际值的 100 倍,单位,L | 98 |
0x0064 | 流量传感器(5)临时累计流量脉冲值 | 99 |
0x0065 | 流量传感器(5)实时流量,单位:L/min,读数是实际值的 100 倍 | 100 |
0x0066 | 流量传感器(5)实时脉冲数 | 101 |
0x0067 | 流量传感器(6)临时累计流量高寄存器,单位,L | 102 |
0x0068 | 流量传感器(6)临时累计流量低寄存器,单位,L | 103 |
0x0069 | 流量传感器(6)临时累计流量小数,读数是实际值的 100 倍,单位,L | 104 |
0x006A | 流量传感器(6)临时累计流量脉冲值 | 105 |
0x006B | 流量传感器(6)实时流量,单位:L/min,读数是实际值的 100 倍 | 106 |
0x006C | 流量传感器(6)实时脉冲数 | 107 |
0x006D | 流量传感器(7)临时累计流量高寄存器,单位,L | 108 |
0x006E | 流量传感器(7)临时累计流量低寄存器,单位,L | 109 |
0x006F | 流量传感器(7)临时累计流量小数,读数是实际值的 100 倍,单位,L | 110 |
0x0070 | 流量传感器(7)临时累计流量脉冲值 | 111 |
0x0071 | 流量传感器(7)实时流量,单位:L/min,读数是实际值的 100 倍 | 112 |
0x0072 | 流量传感器(7)实时脉冲数 | 113 |
0x0073 | 流量传感器(8)临时累计流量高寄存器,单位,L | 114 |
0x0074 | 流量传感器(8)临时累计流量低寄存器,单位,L | 115 |
0x0075 | 流量传感器(8)临时累计流量小数,读数是实际值的 100 倍,单位,L | 116 |
0x0076 | 流量传感器(8)临时累计流量脉冲值 | 117 |
0x0077 | 流量传感器(8)实时流量,单位:L/min,读数是实际值的 100 倍 | 118 |
0x0078 | 流量传感器(8)实时脉冲数 | 119 |
0x0079 | 流量传感器(9)临时累计流量高寄存器,单位,L | 120 |
0x007A | 流量传感器(9)临时累计流量低寄存器,单位,L | 121 |
0x007B | 流量传感器(9)临时累计流量小数,读数是实际值的 100 倍,单位,L | 122 |
0x007C | 流量传感器(9)临时累计流量脉冲值 | 123 |
0x007D | 流量传感器(9)实时流量,单位:L/min,读数是实际值的 100 倍 | 124 |
0x007E | 流量传感器(9)实时脉冲数 | 125 |
0x007F | 流量传感器(10)临时累计流量高寄存器,单位,L | 126 |
0x0080 | 流量传感器(10)临时累计流量低寄存器,单位,L | 127 |
0x0081 | 流量传感器(10)临时累计流量小数,读数是实际值的 100 倍,单位,L | 128 |
0x0082 | 流量传感器(10)临时累计流量脉冲值 | 129 |
0x0083 | 流量传感器(10)实时流量,单位:L/min,读数是实际值的 100 倍 | 130 |
0x0084 | 流量传感器(10)实时脉冲数 | 131 |
0x0085 | 流量传感器(11)临时累计流量高寄存器,单位,L | 132 |
0x0086 | 流量传感器(11)临时累计流量低寄存器,单位,L | 133 |
0x0087 | 流量传感器(11)临时累计流量小数,读数是实际值的 100 倍,单位,L | 134 |
0x0088 | 流量传感器(11)临时累计流量脉冲值 | 135 |
0x0089 | 流量传感器(11)实时流量,单位:L/min,读数是实际值的 100 倍 | 136 |
0x008A | 流量传感器(11)实时脉冲数 | 137 |
0x008B | 流量传感器(12)临时累计流量高寄存器,单位,L | 138 |
0x008C | 流量传感器(12)临时累计流量低寄存器,单位,L | 139 |
0x008D | 流量传感器(12)临时累计流量小数,读数是实际值的 100 倍,单位,L | 140 |
0x008E | 流量传感器(12)临时累计流量脉冲值 | 141 |
0x008F | 流量传感器(12)实时流量,单位:L/min,读数是实际值的 100 倍 | 142 |
0x0090 | 流量传感器(12)实时脉冲数 | 143 |
0x0091 | 流量传感器(13)临时累计流量高寄存器,单位,L | 144 |
0x0092 | 流量传感器(13)临时累计流量低寄存器,单位,L | 145 |
0x0093 | 流量传感器(13)临时累计流量小数,读数是实际值的 100 倍,单位,L | 146 |
0x0094 | 流量传感器(13)临时累计流量脉冲值 | 147 |
0x0095 | 流量传感器(13)实时流量,单位:L/min,读数是实际值的 100 倍 | 148 |
0x0096 | 流量传感器(13)实时脉冲数 | 149 |
0x0097 | 流量传感器(14)临时累计流量高寄存器,单位,L | 150 |
0x0098 | 流量传感器(14)临时累计流量低寄存器,单位,L | 151 |
0x0099 | 流量传感器(14)临时累计流量小数,读数是实际值的 100 倍,单位,L | 152 |
0x009A | 流量传感器(14)临时累计流量脉冲值 | 153 |
0x009B | 流量传感器(14)实时流量,单位:L/min,读数是实际值的 100 倍 | 154 |
0x009C | 流量传感器(14)实时脉冲数 | 155 |
波特率参数修改方式:
1、波特率默认为 9600,读数为 2。
2、如果修改波特率,修改参数如下。(如果输入非表中的数值,恢复波特率为9600,但是读取的时候会显示为修改的数值不是 2)
3、如不慎将波特率或地址忘记,可断电长按主板上的重置按钮,然后接通电源。等待10秒以上即可恢复波特率、MODBUS 地址的参数为默认参数。
寄存器参数 | 波特率 |
0 | 2400 |
1 | 4800 |
2 | 9600 |
3 | 19200 |
注意事项:
1、地址、波特率、K 值、永久累计流量各项数值修改后,需要重启设备才能生效。
2、累计流量清零前请关闭输入管道,防止清零后又有水流经过,60 秒后数值变动, 程序再次更改数值导致累积量无法归零。
3、临时累计流量断电后清零, 永久累计流量每 60 秒记录一次。(60 秒内必须超过 1 升的流量变动才会记录)
4、寄存器低位存满65535后会向高位进1,。示例:假设一路流量传感器 累计流量高位读数为1,累积流量低位读数为2;,那么总流量为65535*1+2=65537L
5、每一个寄存器的最大存储数值为65535,每一路流量传感器的永久累积流量最大存储数据为65535*65535+65535=42亿9千490万1760升水
6、清零操作时,关于永久累积流量的寄存器需要同时清零,即寄存器4/5/6/7要同时清零。临时累积流量清零也要按照此规则。