微机保护装置通讯协议MODBUS-RTU-V1.1版珠海市恒瑞电力科技有限公司2013-3微机保护装置通信协议Modbus-RTU文本珠海恒瑞电力科技有限公司-1-一、协议概述本协议适用于HDPx、DPx、EDPx、DPML系列保护装置。本协议为轮询方式的应答式规约,允许一个主站对应32个从站。数据帧间的间隔时间应大于50ms。数据为字时,均采用高字节在前、低字节在后、高位字在前、低位字在后的原则(校验码除外)。从站地址为00时为广播方式。1、物理层:传输方式:RS-485通信地址:1~255通信波特率:2400bps~19200bps。传输介质:屏蔽双绞线2、链路层:■传输方式:主从半双工方式。数据在一根通信线路上进行双向传输的应答式连接(发送完后,再接收)。主站首先寻址到唯一的从站,接着主站将会收到对应的终端设备发出的应答信号。协议只允许应用在主站与终端设备之间,禁止在独立的终端设备之间互相交换数据。■数据帧格式,表1-1如示:表1-1:起始位数据位奇偶校验位停止位流控制1位8位无1位无■数据包格式,表1-2如示:表1-2:数据格式地址域功能域数据域错误检测域数据长度1字节1字节N字节16位CRC码(冗余循环码)当从站接收到主站的数据帧后,首先进行地址验证,如是从站,则从站进行数据帧的CRC校验码计算,并与接收到的主站发出的CRC码进行比较,如相等,则执行相应的功能码,并对主站做出响应(从站的地址、功能码、数据区、CRC的低字节,CRC的高字节);如经地址验证不为该从站,则退出,不做出任何的响应。地址域从站地址为一个字节,该字节标明了主站与从站进行通信的入口,所以该地址是每个从站所必须的,并且有且只有一个,从站之间绝不能相互重复,否则会引起通信链路上的冲突而导致通信错误。有效的从站地址范围从1~247。从站地址为00时为广播方式。功能域该码值为一个字节,它标识了主站要在终端设备上是做何种操作。详细内容参见表1-3所示。微机保护装置通信协议Modbus-RTU文本珠海恒瑞电力科技有限公司-2-表1-3:功能码(HEX)定义操作03读寄存器数据读取一个或多个寄存器的数据(读遥测、遥信、定值、SOE)05写开关量输出DO控制一路继电器“合/分”输出(遥控,复归)10写单或多个寄存器修改定值、校时数据域数据区包括需要由从站返送何种信息或执行什么动作。这些信息可以是数据(如:开关量输入/输出、模拟量输入/输出、寄存器等等)、参考地址等。例如,主站通过功能码03告诉从站返回寄存器的值(包含要读取寄存器的起始地址及读取寄存器的长度),则返回的数据包括寄存器的数据长度及数据内容。对于不同的从站,地址和数据信息都不相同(应给出通讯信息表)。数据区的数据都是两个字节,并且高位在前。错误检测域CRC的校验由两个8位字节组成,低字节在前,高字节在后。是用于主设备与终端设备之间数据传输过程中的错误侦测校验方式。它将附加在发送的整个数据包后面。当接收设备接收完一个完整的数据包后,进行CRC循环冗余代码的计算,并与接收到CRC代码进行比较,由此来判断接收数据正确否,如接收装置计算的CRC与接收到的CRC的值相等,则说明接收数据正确,否则,表示接收到了错误的数据。校验码为除错误检测域的所有字节的CRC-16校验码,发生器多项式为(X16+X15+X2+1)。CRC的计算步骤如下:1.预置1个16位的寄存器(下称CRC寄存器),初试化其内容为十六进制数0xFFFF;2.把第一个待计算的数据即通讯信息帧的首字节与CRC寄存器的低8位相异或,把结果放回CRC寄存器;3.把CRC寄存器的内容右移一位用0填补最高位即进行逻辑移位处理并检查右移后的移出位;4.如果移出位为0重复第3步即再次右移一位,如果移出位为1则CRC寄存器与CRC生成多项式0xA001(1010000000000001)进行异或运算,结果放回CRC寄存器;5.重复步骤3和4,直到右移8次,对整个8位数据全部进行同样处理;6.重复步骤2到步骤5,进行通讯信息帧下一个字节的处理,直至全部字节处理完毕。微机保护装置通信协议Modbus-RTU文本珠海恒瑞电力科技有限公司-3-二、应用层详解本节将对各个应用功能码做详细的解释。并对相应的功能代码举出相应的例子,以便在软件中对通信规约的编写与调试和修改。1、读寄存器—功能码03H读从...