欢迎进入厦门欣仰邦科技有限公司官网!
  • 电话图标
0592-3564822
智能报导
智能报导
联系方式

企业服务热线:0592-3564822 0592-3564822

公司电话 : 0592-3564822

业务咨询 : 17850532774

欣仰邦噪声扬尘小主机modbus从站接口通信详解

发布时间:2021-12-17 来源:开发文档 作者:xmsiyb
1. 修改地址和波特率    
参数设置
①、选择正确的COM口(“我的电脑—属性—设备管理器—端口”里面查看COM端口),列举出几种不同的485转换器的驱动名称。
②、单独只接一台设备并上电,点击软件的测试波特率,软件会测试出当前设备的波特率以及地址,默认波特率为9600bit/s,默认地址为0x01。
③、根据使用需要修改地址以及波特率,同时可查询设备的当前功能状态。
④、如果测试不成功,请重新检查设备接线及485驱动安装情况。

2. 通信协议

2.1 通讯基本参数
编 码 8位二进制
数据位 8位
奇偶校验位
停止位 1位
错误校验 CRC(冗余循环码)
波特率 2400bit/s、4800bit/s、9600 bit/s可设,出厂默认为9600bit/s
2.2 数据帧格式定义
采用Modbus-RTU 通讯规约,格式如下:
初始结构 ≥4 字节的时间
地址码 = 1 字节
功能码 = 1 字节
数据区 = N 字节
错误校验 = 16 位CRC 码
结束结构 ≥4 字节的时间
地址码:为变送器的起始地址,在通讯网络中是唯一的(出厂默认0x01)。
功能码:主机所发指令功能指示。
数据区:数据区是具体通讯数据,注意16bits数据高字节在前!
CRC码:二字节的校验码。
主机问询帧结构:
地址码 功能码 寄存器起始地址 寄存器长度 校验码低位 校验码高位
1字节 1字节 2字节 2字节 1字节 1字节
 
从机应答帧结构:
地址码 功能码 有效字节数 数据一区 第二数据区 第N数据区 校验码
1字节 1字节 1字节 2字节 2字节 2字节 2字节
 

2.3 通讯寄存器地址说明

设备的地址为起始地址,当702寄存器数值为1时设备可虚拟多地址,若起始地址为1,则问询1-8地址都应答,连续8个地址分别代表8种不同的设备。当702寄存器数值为0时,虚拟多地址功能则无效,若起始地址为1,既询问2-8号设备不会再有应答,此时只可使用1号地址询问500-512号寄存器;
虚拟多地址说明:
例如起始地址为1,则不同的地址代表的设备及0号和1号寄存器存放的内容如下表所示:
地址 代表设备 0号寄存器 1号寄存器
1 风速设置 风速值(实际值10倍) 风力值(实际值)
2 风向设备 风向值0-7档(实际值) 风向值0-360(实际值)
3 温湿度设备 湿度值(实际值10倍) 温度值(实际值10倍)
4 噪声设备 噪声值(实际值10倍)  
5 PM2.5和PM10设备 PM10值(实际值) PM2.5值(实际值)
6 大气压力设备 大气压值(实际值10倍)  
7 光照设备 20万光照值高位(实际值) 20万光照值(实际值)
8 TSP设备 TSP设备(实际值)  

 
另外500到512号寄存器中的内容如下表所示(支持03/04功能码):
寄存器地址 PLC或组态地址 内容 操作
500 40501 风速值(实际值10倍) 只读
501 40502 风力值(实际值) 只读
502 40503 风向值0-7 只读
503 40504 风向值0-360 只读
504 40505 湿度值(实际值10倍) 只读
505 40506 温度值(实际值10倍) 只读
506 40507 噪声值(实际值10倍) 只读
507 40508 PM2.5值(实际值) 只读
508 40509 PM10值(实际值) 只读
509 40510 TSP值(实际值) 只读
510 40511 气压值(实际值10倍) 只读
511 40512 20W的Lux值高16位值(实际值) 只读
512 40513 20W的Lux值低16位值(实际值) 只读
此外700-702寄存器为控制寄存器,(支持03/04/06/16功能码)
寄存器地址 PLC或组态地址 内容 操作
700 40701 控制继电器1
写1闭合  写0断开
读写
701 40702 控制继电器2
写1闭合  写0断开
读写
702 40703 设备虚拟多地址使能
写1:设备可虚拟成多地址 
写0:多地址功能禁用
读写
2.4 通讯协议示例以及解释
假设起始地址为1,通过0x00 00号和0x00 01号寄存器读取数据
2.4.1通过不同地址问询0号和1号寄存器
  1. 问询风速值
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x01 0x03 0x00 0x00 0x00 0x02 0xC4 0x0B
 
应答帧(例如读到风速为1.2m/s,风力为1级风)
地址码 功能码 有效字节数 风速值 风力值 校验码低位 校验码高位
0x01 0x03 0x04 0x00 0x0C 0x00 0x01 0xFB 0xF0
 
风速:
0x000C (十六进制)= 12 =>风速= 1.2m/s
风力:
0x0001(十六进制)=1=> 风力 = 1级风
  1. 问询风向
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x02 0x03 0x00 0x00 0x00 0x02 0xC4 0x38
 
应答帧(例如读到风向为西南风)
地址码 功能码 有效字节数 风向(0-7) 风向(0-360) 校验码低位 校验码高位
0x02 0x03 0x04 0x00 0x05 0x00 0xE1 0x19 0x7A
 
风向计算:
风向值:0x0105(十六进制)= 5=> 风向值 = 5(西南风)
风向值:0x00E1(十六进制)=225=>风向值225度(西南风)
采集值对应换算关系:
采集值(0-7档) 采集值(0-360°) 对应方向
0 北风
1 45° 东北风
2 90° 东风
3 135° 东南风
4 180° 南风
5 225° 西南风
6 270° 西风
7 315° 西北风
  1. 问询温湿度值
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x03 0x03 0x00 0x00 0x00 0x02 0xC5 0xE9
 
应答帧(例如读到温度为-10.1℃,湿度为65.8%RH)
地址码 功能码 有效字节数 湿度值 温度值 校验码低位 校验码高位
0x03 0x03 0x04 0x02 0x92 0xFF 0x9B 0x79 0xFD
 
温度:当温度低于0℃时以补码形式上传
0xFF9B(十六进制)= -101 => 温度 = -10.1℃
湿度:
0x0292(十六进制)=658=> 湿度 = 65.8%RH
  1. 问询噪声
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x04 0x03 0x00 0x00 0x00 0x01 0x84 0x5F
 
应答帧(例如读到噪声值为50.8dB)
地址码 功能码 有效字节数 噪声值 校验码低位 校验码高位
0x04 0x03 0x02 0x01 0xFC 0x75 0x95
 
噪声计算:
噪声值:0x01FC(十六进制)= 508=> 噪声值 = 50.8dB
5.  问询PM10和PM2.5
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x05 0x03 0x00 0x00 0x00 0x02 0xC5 0x8F
 
应答帧(例如读到PM2.5为85ug/m3,PM10为156ug/m3)
地址码 功能码 有效字节数 PM10 PM2.5 校验码低位 校验码高位
0x05 0x03 0x04 0x00 0x9C 0x00 0x55 0xAF 0x8A
 
PM10计算:
PM10:0x009C (十六进制)= 156 => PM10 = 156ug/m3
PM2.5计算:
PM2.5:0x0055(十六进制)= 85=> PM2.5 = 85ug/m3
6.  问询大气压力值
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x06 0x03 0x00 0x00 0x00 0x01 0x85 0xBD
 
应答帧(例如读到大气压力值为15.1Kpa)
地址码 功能码 有效字节数 大气压力值 校验码低位 校验码高位
0x06 0x03 0x02 0x00 0x97 0x4C 0x2A
 
气压计算:
气压值值:0x0097(十六进制)= 151=> 大气压力值 = 15.1Kpa
7.  问询光照
问询帧
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x07 0x03 0x00 0x00 0x00 0x02 0xC4 0x6D
 
应答帧(例如读到光照度为132808Lux)
地址码 功能码 有效字节数 20万光照高 20万光照低 校验码低位 校验码高位
0x07 0x03 0x04 0x00 0x02 0x06 0xC8 0x3F 0xC5
 
产品为0~20万量程变送器,单位为1Lux
0x00 02 06 C8(十六进制) = 132808=> 光照度=132808Lux
8.  问询TSP
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x08 0x03 0x00 0x00 0x00 0x01 0x84 0x93
 
应答帧(例如读到TSP值为50.8ug/m3)
地址码 功能码 有效字节数 TSP 校验码低位 校验码高位
0x08 0x03 0x02 0x01 0xFC 0x65 0x94
 
TSP计算:
TSP值:0x01FC(十六进制)= 508=> TSP值 = 50.8ug/m3
2.4.2问询500号以上寄存器
例如问询温湿度值:设备地址为01
地址码 功能码 起始地址 数据长度 校验码低位 校验码高位
0x01 0x03 0x01 0xF8 0x00 0x02 0x44 0x06
 
应答帧(例如读到温度为-10.1℃,湿度为65.8%RH)
地址码 功能码 有效字节数 湿度值 温度值 校验码低位 校验码高位
0x01 0x03 0x04 0x02 0x92 0xFF 0x9B 0x5A 0x3D
 
温度:当温度低于0℃时以补码形式上传
0xFF9B(十六进制)= -101 => 温度 = -10.1℃
湿度:
0x0292(十六进制)=658=> 湿度 = 65.8%RH
2.4.3控制继电器及设置虚拟多设备使能
1.  关闭虚拟多设备
写入数据帧
地址码 功能码 寄存器地址 写入内容 校验码低位 校验码高位
0x01 0x06 0x02 0xBE 0x00 0x00 0xE8 0x56
 
应答帧
地址码 功能码 寄存器地址 写入内容 校验码低位 校验码高位
0x01 0x06 0x02 0xBE 0x00 0x00 0xE8 0x56
 
2.  控制继电器1闭合
写入数据帧
地址码 功能码 寄存器地址 写入内容 校验码低位 校验码高位
0x01 0x06 0x02 0xBC 0x00 0x01 0x88 0x56
 
应答帧
地址码 功能码 寄存器地址 写入内容 校验码低位 校验码高位
0x01 0x06 0x02 0xBC 0x00 0x01 0x88 0x56
 
 
使用03功能码,可查询当前的设置值

Copyright © 2021 厦门欣仰邦科技有限公司 版权所有 备案号:闽ICP备18009268号-1
在线咨询
索要样机
扫一扫

扫一扫
欣仰邦公众号

全国免费服务热线
0592-3564822

返回顶部