16码代表设置参数 03码代表查询参数 01码读继电器输出状态 02码读数字输入状态 05码是控制继电器 20码是读取文件信息(SOE波形记录和故障录波信息) 通讯应用格式说明 1、读命令功能码03 主机向从机读N个字的数据帧格式(数据为16进制): 从机地址 功能码 起始地址高位 起始地址低位 读取数据个数高位 读取数据个数低位 CRC16 高 CRC16 低 00H 03H xxH xxH 00H xxH xxH xxH 从机响应返回帧格式(数据为16进制): 从机地址 功能码 Bytes counter Data0 Data1 …… …… …… 00H 03H N …… …… …… DataN CRC16 Hi CRC16 Lo xxH xxH 说明: 03码读取测量模拟显示,具体定义见后边附录1。也可以用03码读取设置信息。 2、写命令功能码16 查询数据帧 功能码16(十进制)(十六进制为10H)允许用户改变多个寄存器的内容。 主机向从机写N个字的数据帧格式: 从机地址 功能码 起始地址高位 起始地址低位 Data counter Hi Data counter Lo Bytes counter 00H 10H xxH xxH 00H N 2N Data1 Data2 …… Data2N CRC16 Hi CRC16 Lo 40H 00H …… xxH xxH 预置多寄存器查询数据帧 响应数据帧 对于预置多寄存器请求的正常响应是在寄存器值改变以后回应机器地址、功能号、数据起始地址、数据个数、CRC校验码。如下表。 从机 功能 起始地址 起始地址 Data Data CRC16 CRC16 地址 码 Hi Lo counter Hi counter Lo Hi Lo 00H 10H xxH xxH 00H N xxH xxH 预置多寄存器响应数据帧 3、控制继电器控制和输出状态 (功能码05) 请求数据帧: Addr Fun DO addr hi DO addr lo Value hi Value lo CRC16 hi CRC16 lo 01H 05H xx xx 55H FFH xxH xxH 响应数据帧: Addr Fun DO addr hi DO addr lo Value hi Value lo CRC16 hi CRC16 lo 01H 05H xx xx 55H FFH xxH xxH 请求帧 Value含义: Value 名称注释 0x55FF 预备启动 0X55AA 继电器合上 继电器释放 响应帧 Value含义: Value 名称注释 0x55FF 预备启动执行 0X55AA 继电器操作执行 无法执行该命令 注:控制电器控制,先发启动命令,然后再发送“合”命令,继电器才动作。如果只发送“合”命令,继电器不动作。同样发送“分”命令,也是先发启动命令,再发释放命令。发送“启动”命令后,必须在30秒内发送“分”或者“合”命令,否则不予响应,如果超过30秒,还需要重新发送“启动”命令,然后在30秒内再发送“分”或者“合”命令。 (功能码01) 请求帧读取Relay1到Relay2的状态。 Addr Fun Relay start reg hi Relay start regs lo Relay #of reg hi Relay #of regs lo CRC16 hi CRC16 lo 01H 01H 00H 00H 00H 02H 3DH C9H 响应数据帧 响应数据帧,从机回应主机的数据帧。包含从机地址、功能码、数据的数量和CRC错误校验,数据包中每个继电器状态占用一位(1 = ON,0 = OFF),第一个字节的最低位为寻址到的继电器状态值,其余的依次向高位排列,无用位填为0。 读数字输出状态响应的实例。 Addr Fun Byte count Data CRC16 hi CRC16 lo 01H 01H 01H 03H 11H 89H Data字节内容(Relay1 、Relay2 ON) 7 6 5 4 3 2 1 0 0 0 0 0 0 0