温控器YKC485通讯协议2.0版本
一、总则:
1.本协议遵循MODBUS-RTU协议规范。
2.本协议适用于YKC485系列温控器产品。
3.本协议的适用波特率为19200Bps。
4.本协议采用异步串行通讯方式1。
RTU模式中每个字节的格式:编码系统:8位二进制,十六进制0-9,A-F 数据位:1起始位,8位数据(低位先送),不校验1位,停止位1位
错误校验区:循环冗余校验(CRC)
二.帧格式(链路层):地址+功能+地址+数据+校验(CRC16)
1.地址:1字节,范围:00-128 ,温控器的目标地址,地址00为于广播地址,所有温控器均能识别。温控器的地址设为00时,不通讯。
2.功能:1字节
3.地址: 寄存器地址,高位表示集中控制器地址0x01-0x20,低位表示数据寄存器地址0x01-0x02 0x11 (为16位的地址)
集中控制器回应主机时,将地址的bit7置1
4.数据:数据n*8bit
5.校验:低位+高位
三、(网络层)数据包:
1.0x03:查询命令
2.0x06: 设置命令
四、传输层协议:
1.查询命令发出一个数据包后,30ms内未收到目标收信方的任何应答,查询下一个目标,同一目标三次查询不成功,则放弃,表示通信失败。
2.整个网络系统为主从结构,采用分时操作,温控器不主动发送数据。五.通讯数据(应用层):
温控器寄存器内容说明如下:
00: 地址 00-128 为00表示单机模式不通讯其他为本机地址,但可以接收锁定命令寄存器地址
00 01:高8位工作模式及状态相关位为1表示相应模式
Bit0-2: 工作模式 1=制热 2=制冷 3=通风 4=睡眠+制热 5=睡眠+制冷 6=恒温
Bit3:风机输出状态 0为关 1为开
Bit4: 阀1状态 0为关 1为开
Bit5: 阀2状态 0为关 1为开
Bit6:系统开关机状态0为关机状态 1为开机状态当命令为06时,可开关机温控器
Bit7: 现场/集中控制状态 0为现场 1为集中当命令为06时,可修改为集中或现场状态
00 01:低8位设定温度及风量
Bit0-1:风量 00=低 01=中 02=高 03=自动风当命令为06时,设定温控器风量bit7-2为设定温度 00-60 0.5度为单位表示设定温度05-35,如00:表示设定温度5度,01表示设定温度5.5度。当命令为06时,设定温控器温度
00 02: 高8位+低字节8位组成房间温度数据。其中0x601 表示传感器短路,0x602传感器开路,0x401低温,0x402高温,其他表示温度数据,温度数据为实际温度*10+300,如接收到数据为 0x226,则十进制为550,实际温度=(550-300)/10=25.0 表示25.0度。
00 11(11为16进制的11): 高8位校正温度数值范围 0-100 表示-5.0- 5.0 单位0.1度。
00 11: 低8位压机时间和风机时间及受控状态Bit7-4 为风机受控时间单位为2s,范围0-30s bit3:风机受控状态位0为不受控1为受控bit2-bit0为压机延时时间1分钟为单位,范围0-7分钟(对应机型2)
命令格式: 全部以地址07 的温控器为示范 CRC16的CRCL0 CRCH0在示范中不写
1. 命令码03:
主机:07 03 01(集中控制器地址) 01(寄存器开始地址) 00 02(2个数据)表示:查询0107温控器从01寄存器开始的2个数据
温控器回应:07 03 04(4个Byte数据) 00 01-00 02寄存器数据
主机:00(所有温控器) 03 01(集中控制器地址) 01 00 02
当有配有集中控制器,通过此命令查询 01号集中控制器下所有温控器的2个数据,没有配集中控制器时主机收不到回应。
集中控制器回应:
81 03 80(128个数据) 01-04的4个寄存器数据01号温控器数据 01-04的4个寄存器数据02号温控器数据… 01-04的4个寄存器数据32号温控器数据一次读取01号集中控制器下32个温控器的数据
主机:07 03 01(集中控制器地址) 10(寄存器开始地址) 00 02(2个数据)表示:查询0107温控器从10寄存器开始的2个数据
温控器回应:07 03 04(4个Byte数据) 10-13的4个寄存器数据
2. 命令码06:设置单个寄存器的值注意需要一起设定2个byte的内容,房间温度不能
设定对00 01 和00 11寄存器设定
主机:07 06 01 02 A0 00 高5位为设定温度范围0-30对应设定温度 5~35,设定为25度。温控器回应:07 06 02 A2 26 设定温度和房间温度