厦门欣仰邦科技有限公司

24小时咨询电话:

0592-3564822

开发文档

欣仰邦温湿度采集ModBus从站接口通信详解(RS485 ModBus规约)

发表时间:2021-12-17作者:xmsiyb

1 适用范围           
S-CGQM以及S-CGXO系列(系统版本7.03以后)监控主机ModBus从站接口。
(1)主机按键设置:改主机的ModBus从规约为“RS-ModBus规约”
操作步骤:按确认键,在主机界面找到“2基础参数设置”,按确认键进入,密码默认0000长按确认键进入子菜单,找到“ModBus从规约”或者“485口通信规约”,按确认键修改为“RS-ModBus规约”,长按确认键保存。
(2)主机按键设置ModBus从地址;
如果同时与多台主机通讯,则需修改主机的ModBus从地址保证从地址不冲突,ModBus从地址对应主机32个通道的第1个通道(ModBus从地址1表明主机通道1地址为1,通道2地址为2,依次类推),因此在与多台主机同时通讯时,可将主机的ModBus从地址依次设置为1,33,65,97,32N+1,......
操作步骤:按确认键,在主机界面找到“2基础参数设置”,按确认键进入,密码默认0000长按确认键进入子菜单,找到“3ModBus从地址”,修改地址,默认地址为1。

2 通讯基本参数

编 码 8位二进制
数据位 8位
奇偶校验位
停止位 1位
错误校验 CRC(冗余循环码)
波特率 4800bit/s

3数据帧格式定义

采用Modbus  RTU 通讯规约,格式如下:
初始结构 ≥4 字节的时间
地址码 = 1 字节
功能码 = 1 字节
数据区 = N 字节
错误校验 = 16 位CRC 码
结束结构 ≥4 字节的时间
地址码:主机的通道地址,在通讯网络中是唯一的(出厂默认0x01)。
功能码:主机所发指令功能指示,本变送器只用到功能码0x03(读取寄存器数据)。
数据区:数据区是具体通讯数据,注意16bits数据高字节在前!
CRC码:二字节的校验码。
主机问询帧结构:
地址码 功能码 寄存器起始地址 寄存器长度 校验码低位   校验码高位
1字节 1字节 2字节 2字节 1字节 1字节
 
从机应答帧结构:
地址码 功能码 有效字节数 数据一区 第二数据区 第N数据区 校验码
1字节 1字节 N*2字节 2字节 2字节 2字节 2字节
 

4寄存器地址

寄存器地址 PLC或者组态地址 内容 操作
0000 40001 模拟量2原始值(16位无符号整形) 只读
0001 40002 模拟量1原始值(16位有符号整形) 只读

5通讯协议示例以及解释

举例1:读取通道01的模拟量1/2(以温湿度为例),ModBus从地址设置为2

问询帧:
地址码 功能码 起始地址 数据长度 校验码低位  校验码高位
0x02 0x03 0x00 0x00 0x00 0x02 0xC4 0x38
 
应答帧: (例如读到温度为-10.1℃,湿度为65.8%RH)
地址码 功能码 返回有效字节数 模拟量2原始值 模拟量1原始值 校验码低位 校验码高位
0x02 0x03 0x04 0x02 0x92 0xff 0x9b 0x69 0x3D
 
模拟量2表示湿度,模拟量1表示温度;
温度计算:
当温度低于 0 ℃ 时温度数据以补码的形式上传。
温度:FF9B H(十六进制)= -101 => 温度 = -10.1℃
湿度计算:
湿度:0292 (十六进制)代表10进制数658,则代表湿度值为65.8%
=> 湿度 = 65.8%RH

举例2:读取通道03的模拟量1/2(以温湿度为例),ModBus从地址设置为10

问询帧:
地址码 功能码 起始地址 数据长度 校验码低位  校验码高位
0x0C 0x03 0x00 0x00 0x00 0x02 0xC5 0x16
 
应答帧: (例如读到温度为-10.1℃,湿度为65.8%RH)
地址码 功能码 返回有效字节数 模拟量2原始值 模拟量1原始值 校验码低位 校验码高位
0x0C 0x03 0x04 0x02 0x92 0xff 0x9b 0x86 0xFD
 
模拟量2表示湿度,模拟量1表示温度;
温度计算:
当温度低于 0 ℃ 时温度数据以补码的形式上传。
温度:FF9B H(十六进制)= -101 => 温度 = -10.1℃
湿度计算:
湿度:0292 (十六进制)代表10进制数658,则代表湿度值为65.8%
=> 湿度 = 65.8%RH

相关资讯 17850532774

全国服务电话:0592-3564822

Copyright © 2021 厦门欣仰邦科技有限公司 版权所有

地址:厦门市集美区软件园三期B区04栋

备案号:闽ICP备18009268号-1