通讯模块
各个模块的通讯协议请点击表格的链接参阅 Click the link in the table to check the protocol
各个模块的通讯协议请点击表格的链接参阅 Click the link in the table to check the protocol
型号Model | 通讯协议 | Protocol |
---|---|---|
Mod X0 | English | |
Mod X1 | English | |
Mod X1X | English | |
Mod FPM | English | |
Mod X1T | English | |
Mod X420 | English | |
Mod X2 | English | |
Mod X2X | English | |
Mod X4T | English | |
Mod X8 | 中文 | English |
Mod X14 | 中文 | English |
流量模块通用使用说明
使用说明:
本产品遵循 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(十进制)
供电电压:DC5-12V或者DC5-24V(输出电压与输入供电电压相同,请注意流量传感器的工作电压范围,以免烧毁流量传感器。)
尺寸与重量:
型号 | 外壳尺寸(cm) | 重量(g) | 输入 | 输出 |
---|---|---|---|---|
Mod X0 | 82*54*32 | 61 | 一路流量传感器 | |
Mod X1 | 82*54*32 | 60 | 一路流量+一路温度+一路压力 | |
Mod X1X | 82*54*32 | 63 | 一路流量+一路温度一路压力 | 一路瞬时流量转4-20mA |
Mod FPM | 82*54*32 | 61 | 一路流量+一路压力 | |
Mod X1T | 82*54*32 | 61 | 一路流量+一路温度 | |
Mod X420 | 82*54*32 | 61 | 一路流量 | 一路瞬时流量转4-20mA |
Mod X2 | 82*54*32 | 63 | 两路流量 | |
Mod X2X | 93*90*40 | 130 | 两路流量+两路温度两路压力 | 两路瞬时流量转4-20mA |
Mod X4T | 93*90*40 | 130 | 四路流量+四路温度 | |
Mod X8 | 93*90*40 | 130 | 八路流量 | |
Mod X14 | 155*110*60 | 254 | 十四路路流量 |
1、波特率默认为 9600,读数为 2。
2、如果修改波特率,修改参数如下。(如果输入非表中的数值,恢复波特率为 9600,但是读取的时候会显示为修改的数值不是 2)
寄存器参数 | 波特率 |
---|---|
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. 累积流量小数位为总流量的小数部分,满1000ml进1位到累积流量低位。假设低位位1, 小数位位89。那么总流量位1.89L。
6、每一个寄存器的最大存储数值为65535,每一路流量传感器的永久累积流量最大存储数据为65535*65535+65535=42亿9千490万1760升水
7、清零操作时,关于永久累积流量的寄存器需要同时清零,即寄存器3/4/5/6(或4/5/6/7)要同时清零。临时累积流量清零也要按照此规则。