BM5011-GZ-YL光照.pdf - 第7页

BM5011-GZ-YL 光照在线检 测仪 0x01 0xA0 :0x01*256 +0xA0=416,小 数点个数为 0(见表 3),CO2 浓度 为 416ppm 0xB9 0xAC:CRC16 校验码 (2)主机读取 温度数据 主机发送命令 帧头 起始地址 寄存器个数 CRC 校验码 0x01 0x03 0x00 0x05 0x00 0x01 0x94 0x0B 0x01:设备地 址(出厂默认 为 0x01 ) 0x03:读取数 …

100%1 / 10
BM5011-GZ-YL 光照在线检测仪
9、通讯协议
可以实现多种输出方式,支持有线和无线两种传输,诸如:
RS485、WIFI 等。以下为产品数据协议:
9.1、有线 RS485
9.1.1、采用 MODBUS 协议 RS485 RTU 通讯方式,主从式半双工通讯,主机呼
叫从机地址,从机应答方式通讯;
9.1.2、数据帧格式:1 个起始地址位,8 个数据位,1 个停止位,无校验位;
9.1.3、波特率:9600bps;
9.1.4、消息帧包含:地址域,功能码域,数据域,CRC16 检测域;
9.1.5、设备支持十六进制 03H、06H 功能码(即十进制 03 06 功能码),其中
03H 用于读取设备堆栈,06H 用于修改设备堆栈;
9.1.6、设备相应堆栈规划如下:
寄存器地址
对应参数
十进制数值范
小数点个数
检测范围
000AH
光照度
0~5000
0
0~5000Lux
40016
设备地址
1~128
--
--
40017
波特率
9600
--
--
9.1.7、通讯示例
(1)主机读取 CO2
主机发送命令
帧头
起始地址
寄存器个数
CRC 校验码
0x01 0x03
0x00 0x00
0x00 0x01
0x84 0x0A
0x01:设备地址(出厂默认 0x01
0x03:读取数据功能码
0x00 0x00:从地址为 0x00 0x00 的寄存器开始读取
0x00 0x01:从上面指定的寄存器开始读取 1 个寄存器数据
0x84 0x0A:CRC16 校验
从机应答
帧头
数据长度
CO2 数据
CRC 校验码
0x01 0x03
0x02
0x01 0xA0
0xB9 0xAC
0x01:设备地址(出厂默认 0x01
0x03:读取数据功能码
0x02:应答数据长度
BM5011-GZ-YL 光照在线检测仪
0x01 0xA0:0x01*256+0xA0=416,小数点个数为 0(见表 3),CO2 浓度 416ppm
0xB9 0xAC:CRC16 校验码
(2)主机读取温度数据
主机发送命令
帧头
起始地址
寄存器个数
CRC 校验码
0x01 0x03
0x00 0x05
0x00 0x01
0x94 0x0B
0x01:设备地址(出厂默认 0x01
0x03:读取数据功能码
0x00 0x05:从地址为 0x00 0x05 的寄存器开始读取
0x00 0x01:从上面指定的寄存器开始读取 1 个寄存器数据
0x94 0x0B:CRC16 校验
从机应答
帧头
数据长度
CO2 数据
CRC 校验码
0x01 0x03
0x02
0xFF 0x9A
0x79 0xDF
0x01:设备地址(出厂默认 0x01
0x03:读取数据功能码
0x02:应答数据长度
0xFF 0x9A0xFF*256+0x9A=65434(0xFF9A)最高位为 1 则为补码, 0xFF9A -102,
小数点个数为 1(见表 3),温度为-10.2℃
0x79 0xDF:CRC16 校验
(3)主机读取十个数据
主机发送命令
帧头
起始地址
寄存器个数
CRC 校验码
0x01 0x03
0x00 0x00
0x00 0x0A
0xC5 0xCD
0x01:设备地址(出厂默认 0x01
0x03:读取数据功能码
0x00 0x00:从地址为 0x00 0x01 的寄存器开始读取
0x00 0x0A:从上面指定的寄存器开始读取 1 个寄存器数据
0xC5 0xCD:CRC16 校验
从机应答
帧头
数据长度
CO2 数据
PM2.5 数据
0x01 0x03
0x14
0x01 0xAE
0x00 0x23
O2 数据
VOC 数据
烟雾数据
温度数据
0x00 0xD1
0x00 0x19
0x00 0x00
0x00 0xCD
湿度数据
大气压数据
甲醛数据
CO 数据
BM5011-GZ-YL 光照在线检测仪
0x02 0x34
0x04 0x42
0x00 0x05
0x00 0x01
CRC 校验码
0xF6 0xE0
0x01:设备地址(出厂默认 0x01
0x03:读取数据功能码
0x14:应答数据长度
0x01 0xAE:0x01*256+0xAE=430,小数点个数 0(见表 3),CO2 浓度为 430ppm
0x00 0x23:0x00*256+0x23=35,小数点个数 0(见表 3),PM2.5 35µg/m
3
0x00 0xD1:0x00*256+0xD1=209,小数点个数 1(见 3),O2 20.9%vol
0x00 0x19:0x00*256+0x19=26,小数点个数 2(见表 3),VOC 0.26mg/m3
0x00 0x00:0x00*256+0x00=0,小数点个数为 0(见表 3),烟雾为 0ppm
0x00 0xCD:0x00*256+0xCD=205,小数点个数 1(见 3),温度为 20.5℃
0x02 0x34:0x02*256+0x34=564,小数点个数 1(见 3),湿度 56.4℃
0x04 0x42:0x04*256+0x42=1090,小数点个数 0(见 3),大气压为 1090hPa
0x00 0x05:0x00*256+0x05=5,小数点个数为 2(见表 3),甲醛为 0.05ppm
0x00 0x01:0x00*256+0x01=1,小数点个数为 0(见表 3),CO 1ppm
0xF6 0xE0:CRC16 校验码
(4)把设备地 0x01 修改为 0x02
主机发送命令
帧头
寄存器地址
写入数据
CRC 校验码
0x01 0x06
0x00 0x0F
0x00 0x02
0x38 0x08
0x01:设备地址(出厂默认 0x01
0x06:修改寄存器功能码
0x00 0x0F:需要修改的寄存器地址
0x00 0x02:写入的数据为 0x0002
0x38 0x08:CRC16 校验码
从机应答
帧头
寄存器地址
写入数据
CRC 校验码
0x01 0x06
0x00 0x0F
0x00 0x02
0x38 0x08
0x01:设备地
0x06:修改寄存器功能码
0x00 0x0F:需要修改的寄存器地址
0x00 0x02:写入的数据为 0x0002
0x38 0x08:CRC16 校验码
(注意:接收到返回的数据说明设备地址修改成功,之后的通讯指令需用新的设备地址)