LY-PC900S 28.3L在线尘埃粒子计数器 中性使用手册V1.02.pdf - 第28页
2 4 大于 1 μ m 粒子字节 1( 高字 节 ) 00 H 大于 1 μ m 粒子字节 2 00 H 大于 1 μ m 粒子字节 3 00H 大于 1 μ m 粒子字节 4( 低字 节 ) 4DH 大于 3 μ m 粒子字节 1( 高字 节 ) 00 H 大于 3 μ m 粒子字节 2 00 H 大于 3 μ m 粒子字节 3 00H 大于 3 μ m 粒子字节 4( 低字 节 ) 06H 大于 5 μ m 粒子字节 1( 高字 …

23
uint16 i, j;
uint16 usCrc = 0xFFFF;
for ( i = 0 ; i < usLen ; i++ ) {
usCrc ^= Buf[i];
for ( j = 0 ; j < 8 ; j++ ) {
if ( usCrc & 1 ) {
usCrc >>=1;
usCrc ^=0xA001;
}else{
usCrc >>= 1;
}
}
}
return usCrc;
}
6.寄存器详解示例
注意:读取的粒子数不含定点小数。以下例子中报文皆为 16 进制。
数值单位默认为个/m3
(1) . 查询传感器数值
① 查询传感器 6 通道粒子数实时值
起始寄存器地址 0x1011,查询 6 通道粒子数实时值,每个通道数据占用两个寄存器即查询
0x1011~0x101C 的值,传感器无数据时默认值为 0xffffffff。
支持单通道读取与 6 通道同时读取。
主机发出
从机回复
广播地址地址
00H
从机地址
01H
Modbus 功能号
03H
Modbus 功能号
03H
起始寄存器地址(高字节)
10H
返回字节数
18H
起始寄存器地址(低字节)
11H
大于0.3μm粒子数字节1(高
字节)
00H
读取寄存器数量(高字节)
00H
大于0.3μm粒子数字节2
00H
读取寄存器数量(低字节)
0CH
大于0.3μm粒子数字节3
0BH
CRC16(低字节)
10H
大于 0.3μm 粒子数字节 4(低
字节)
3BH
CRC16(高字节)
DBH
大于0.5μm粒子数字节 1(高
字节)
00H
大于 0.5μm 粒子字节 2
00H
大于0.5μm粒子字节 3
01H
大于 0.5μm 粒子字节 4(低字
节)
1AH

24
大于1μm粒子字节 1(高字
节)
00H
大于1μm粒子字节2
00H
大于1μm粒子字节 3
00H
大于1μm粒子字节4(低字
节)
4DH
大于3μm粒子字节 1(高字
节)
00H
大于3μm粒子字节2
00H
大于3μm粒子字节 3
00H
大于3μm粒子字节4(低字
节)
06H
大于5μm粒子字节 1(高字
节)
00H
大于5μm粒子字节2
00H
大于5μm粒子字节 3
00H
大于5μm粒子字节4(低字
节)
00H
大于10μm粒子字节 1(高字
节)
00H
大于10μm粒子字节2
00H
大于10μm粒子字节 3
00H
大于10μm粒子字节4(低字
节)
00H
CRC(低字节)
A5H
CRC(高字节)
79H
发送查询报文:
00 03 10 11 00 0C 10 DB
传感器回复:
01 03 18 00 05 0B 3B 00 01 76 1A 00 00 76 4D 00 00 30 06 00 00 05 20 00 00 00 88 3A F9
表示查询到的
大于 0.3μm 粒子数实时数值为 0x00050B3B = 330555 个/m3,
大于 0.5μm 粒子数实时数值为 0x0001761A = 95770 个/m3,
大于 1μm 粒子数实时数值为 0x0000764D= 30285 个/m3,
大于 3μm 粒子数实时数值为 0x00003006= 12294 个/m3,
大于 5μm 粒子数实时数值为 0x00000520= 1312 个/m3,
大于 10μm 粒子数实时数值为 0x00000088 = 136 个/m3。
② 查询传感器 6 通道粒子数累加值
起始寄存器地址 0x1031,查询 6 通道粒子数累加值,每个通道数据占用两个寄存器即查询
0x1031~0x103C 的值,传感器无数据时默认值为 0xffffffff。
支持单通道读取与 6 通道同时读取。
发送查询报文:
00 03 10 31 00 0C 11 11
传感器回复:

25
01 03 18 00 02 0B 55 00 00 98 28 00 00 45 4D 00 00 10 06 00 00 01 43 00 00 00 45 31 A9
表示查询到的
大于 0.3μm 粒子数累加数值为 0x00020B55 = 133973 个,
大于 0.5μm 粒子数累加数值为 0x0009828 = 38952 个,
大于 1μm 粒子数累加数值为 0x0000454D=17741 个,
大于 3μm 粒子数累加数值为 0x00001006 = 4102 个,
大于 5μm 粒子数累加数值为 0x00000143 = 323 个,
大于 10μm 粒子数累加数值为 0x00000045 = 69 个。
(2). 修改设备地址
设备地址寄存器 0x0000,使用广播地址 0x00,将检测单元设备地址改为 0x02,注意设
备地址为单字节,所以设置数值的高字节为 0x00,支持的地址范围为:0x01~0xf7,设备默认
地址为 0x01.
主机发出
从机回复
广播地址
00H
从机地址
02H
Modbus 功能号
06H
Modbus 功能号
06H
设置寄存器地址(高字节)
00H
设置寄存器地址(高字节)
00H
设置寄存器地址(低字节)
00H
设置寄存器地址(低字节)
00H
设置寄存器数值(高字节)
00H
设置寄存器数值(高字节)
00H
设置寄存器数值(低字节)
02H
设置寄存器数值(低字节)
02H
CRC16(低字节)
09H
CRC16(低字节)
08H
CRC16(高字节)
DAH
CRC16(高字节)
38H
发送设置报文:
00 06 00 00 00 02 09 DA
传感器回复:
02 06 00 00 00 02 08 38
(3). 查询模块内部温湿度(含小数)
温度寄存器 0x00CE,权限只读,查询模块内部温度状态。寄存器数值高字节为温度整
数字节,数值类型为 signed char,表示范围-128~127℃,寄存器值低字节表示温度小数,类
型为 signed char,表示范围-99~99,两位定点小数,传感器支持同时读取温度和湿度寄存器,
即一次读取两个寄存器数值。
湿度寄存器 0x00CF,权限只读,查询模块内部湿度状态。寄存器数值高字节为湿度整
数字节,数值类型为 unsigned char,表示范围 0~100,寄存器值低字节表示湿度小数,类型
为 unsigned char,表示范围 0~99,两位定点小数。
支持温度湿度寄存器单独查询,也支持温湿度两个寄存器同时查询。
示例:查询结果表示模块内部温度为-10.66℃(0xF6 为-10,0xBE 为-66) ,湿度为 86.22%
(0x56 为 86,0x16 为 22)。
主机发出
从机回复