串口通讯协议 V1.0
- 格式:doc
- 大小:16.50 KB
- 文档页数:4
通讯协议V1.0
孙工:你好!
下面是通讯协议,供参考。
⒈上位机命令协议包格式:
$(起始位)1位
A-Z(命令位)1位
0-99(每包数据长度) 2位
0-255(校验和,不包括结束符)3位
!(结束符)1位
设备命令位:
A 发送菜单设置参数(包括温度上限和下限、湿度上限和下限、化霜方式、制冷启动温
度、温度PID、湿度PID、温度平移和斜率、湿度平移和斜率、温度SC和HL、湿度SC和HL)
B 读取下位机参数(读取下位机包括温度上限和下限、湿度上限和下限、化霜方式、制冷启动温度、温度PID、湿度PID、温度平移和斜率、湿度平移和斜率、温度SC和HL、湿度SC和HL)
C发送运行的温度、湿度、光照强度
D运行
E 停止
F查询(读取下位机包括温度、湿度、水位、压缩机动作指示、化霜动作指示、门开关指示、运行状态、温度漂移、湿度漂移)
G排水
H停止排水
2.上位机发送协议包格式:
①.发送菜单设置参数
$(起始位)1位
A(命令位)1位
数据长度:2位(86)
数据包:
温度上限(5位)和下限(5位)、湿度上限(5位)和下限(5位)、化霜方式(1位)、制冷启动温度(5位)、温度P(4位)I(4位)D(4位)、湿度P(4位)I(4位)D(4位)、温度平移(5位)和斜率(5位)、湿度平移(5位)和斜率(5位)、温度SC(4位)和HL(4位)、湿度SC(4位)和HL(4位)。
0-255(校验和,不包括结束符)3位
!(结束符)1位
注意:参数被修改后并退出当前子菜单时发送一次。
②. 读取下位机参数
$(起始位)1位
B(命令位)1位
数据长度:2位(0)
数据包:
无
0-255(校验和,不包括结束符)3位
!(结束符)1位
注意:开机时发送一次,以后不再发送该命令。
③. 发送运行的温度、湿度、光照强度
$(起始位)1位
C(命令位)1位
数据长度:2位(15)
数据包:
温度(5位)、湿度(5位)、光照强度(5位)
0-255(校验和,不包括结束符)3位
!(结束符)1位
注意:开机时发送一次,温度、湿度、光照强度任何值被修改也要发送。
④.运行
$(起始位)1位
D(命令位)1位
数据长度:2位(0)
数据包:
无
0-255(校验和,不包括结束符)3位
!(结束符)1位
⑤. 停止
$(起始位)1位
E(命令位)1位
数据长度:2位(0)
数据包:
无
0-255(校验和,不包括结束符)3位
!(结束符)1位
⑥.查询
$(起始位)1位
F(命令位)1位
数据长度:2位(0)
数据包:
无
0-255(校验和,不包括结束符)3位
!(结束符)1位
⑦.排水
$(起始位)1位
G(命令位)1位
数据长度:2位(0)
数据包:
无
0-255(校验和,不包括结束符)3位
!(结束符)1位
⑧. 停止排水
$(起始位)1位
H(命令位)1位
数据长度:2位(0)
数据包:
无
0-255(校验和,不包括结束符)3位
!(结束符)1位
3.下位机反馈
①.对于上位机命令A、C、D、E、G、H
$(起始位)1位
A(或C或D或E或G或H)(命令位)1位
数据长度:2位(0)
数据包:
无
0-255(校验和,不包括结束符)3位
!(结束符)1位
②.对于上位机命令B(读取下位机参数)
$(起始位)1位
B(命令位)1位
数据长度:2位(86)
数据包:
温度上限(5位)和下限(5位)、湿度上限(5位)和下限(5位)、化霜方式(1位)、制冷启动温度(5位)、温度P(4位)I(4位)D(4位)、湿度P(4位)I(4位)D(4位)、温度平移(5位)和斜率(5位)、湿度平移(5位)和斜率(5位)、温度SC(4位)和HL(4位)、湿度SC(4位)和HL(4位)。
0-255(校验和,不包括结束符)3位
!(结束符)1位
③.对于上位机命令F(查询)
$(起始位)1位
F(命令位)1位
数据长度:2位(23)
数据包:
温度(5位)、湿度(5位)、水位(1位)、压缩机动作指示(1位)、化霜动作指示(1位)、门开关指示(1位)、运行状态(1位)、温度漂移(4位)、湿度漂移(4位)
0-255(校验和,不包括结束符)3位
!(结束符)1位
注意:当没有其他命令执行(即空闲时),每隔200ms发送一次。
4.注意事项
①.上位机在发送命令时,如果在200ms内没有接收到下位机正确的反馈,请重新发送该命令,如果持续6次都不成功,报警(和下位机通讯故障)。
如果成功一次,取消报警,重新计数。
②.上位机发送命令间隔为200ms。
③.上位机发送命令后,只有接收到下位机正确的反馈后,才能发送别的命令。
不当之处,请指正。