《继电器板通信协议.doc》由会员分享,可在线阅读,更多相关《继电器板通信协议.doc(4页珍藏版)》请在金锄头文库上搜索。
1、继电器板通用通信协议说明串口设置:波特率9600,8个数据位,一个停止位,无校验位。数据帧:每个数据帧包含8个字节。分别是:数据头(一字节),地址(一字节),功能码(一字节),数据(四字节),校验和(一字节)。上位机发送(8个字节):数据头:一字节 固定为 0x55目标地址:一字节 如果目标地址为1,则发送1,目标地址是多少就发送多少。用来功能码:一字节数据内容:四字节,先发送第一字节,然后第二,三,四个字节校验:一字节,将前面的所有数据相加,取后八位得到。功能码与对应的数据说明(数据为十六进制):功能码功能码说明数据内容备注0x00读取当前继电器板的状态(最多支持4路)0x00,0x00,0
2、x00,0x00只支持四路单输出模块,因为最多支持到四路0x01写入当期继电器板的状态(最多支持4路)四个字节代表四个继电器,1代表断开,2代表吸合,其他值无意义0x10读取当前继电器板的状态(最多支持32路)0x00,0x00,0x00,0x00支持查询所有继电器模块和开关量输输入输出模块。0x11断开某一路数据中的第四个字节代表断开第几路继电器,其他为0。支持所有继电器模块(非指令控制的除外)0x12吸合某一路数据中的第四个字节代表吸合第几路继电器,其他为0。0x13命令执行数据中的第3,4个字节,每个字节8位,共16位。代表16路继电器的状态,1代表吸合0代表断开。最后一个字节的第0位代
3、表第一个继电器,依次类推。0x14组断开数据中的第3,4个字节,每个字节8位,共16位。代表16个继电器的操作,1代表断开0代表保持原来状态。最后一个字节的第0位代表第一个继电器,依次类推。0x15组吸合数据中的第3,4个字节,每个字节8位,共16位。代表16个继电器的操作,1代表吸合0代表保持原来状态。最后一个字节的第0位代表第一个继电器,依次类推。0x16组翻转数据中的第3,4个字节,每个字节8位,共16位。代表16个继电器的操作,1代表状态翻转0代表保持原来状态。最后一个字节的第0位代表第一个继电器,依次类推。0x20翻转单个继电器数据中的第四个字节代表翻转第几路继电器,其他为0。0x2
4、1延时断开数据的第1,2,3字节代表时间(高位字节在前,单位ms),第4字节代表第几路继电器0x22 延时吸和数据的第1,2,3字节代表时间(高位字节在前,单位ms),第4字节代表第几路继电器0x40读出从机地址0选择性支持0x41写入从机地址从机地址0x42读出从机频率段00x43写入从机频率段从机频率段0x45读出上电状态00x46写入上电状态从机上电状态0x70-0X7F自定义回码根据电路板不同,返回的码不同0xE1-0xF2无返回指令数据为单向发送,继电器不返回状态说明:不同的功能码配合不同的数据内容代表不同的功能。并不是所有的继电器板都支持所有的功能码下位机返回(8个字节):数据头:
5、一字节 固定为 0x22目标地址:一字节 本机地址功能码:一字节 与主机发送的功能码保持一致数据内容:四字节,先发送第一字节,然后第二,三,四个字节。代表了本电路模块的当前状态。如果是继电器板,代表了当前继电器板输出的状态;如果是输入检测板,代表了当前模块输入的状态。校验:一字节,将前面的所有数据相加,取后8位得到。功能码与对应的数据说明(数据为十六进制):功能码功能码说明数据内容0x00读取当前继电器板的状态(最多支持4路)模块当前状态继电器输出板:四个字节代表四个继电器,1代表断开,2代表吸合。0x01写入当期继电器板的状态(最多支持4路)0x10读取当前继电器板的状态(最多支持32路)模
6、块当前状态继电器输出板:数据中的第3,4共两个字节,每个字节8位,共16位。代表16路继电器的状态,1代表吸合0代表断开。最后一个字节的第0位代表第一个继电器,依次类推。输入检测板:数据中的第2,3,4共三个字节,每个字节8位,共24位。代表24路输入状态。1代表有输入。0代表没有输入。输入输出板:第二个字节代表输入的状态,第四个字节代表输出的继电器状态。0x11断开某一路0x12吸合某一路0x13命令执行0x14组断开0x15组吸合0x16组翻转0x20翻转单个继电器其他与主机发送的功能码一致需要读取的内容举例说明(假设地址为1)上位机发送:55 01 10 00 00 00 00 66 查
7、询当前的继电器状态55 01 11 00 00 00 01 68 断开第一路继电器55 01 11 00 00 00 02 69 断开第二路继电器55 01 12 00 00 00 01 69 吸合第一路继电器55 01 12 00 00 00 02 6A 吸合第二路继电器55 01 13 00 00 55 55 13 按照55 55 两个字节的16个位来打开和关闭所有的继电器下位机回答:22 01 00 00 00 XX XX HH地址为1的继电器板16个继电器的状态用XX XX代表XX XX 一共两个字节,每个字节八位,一共十六个位, 代表16路继电器的实时状态 HH代表校验和,校验和就是将前面的所有数据相加。说明:协议中无意义的字节留作将来升级