当前位置:文档之家› 恒瑞电力保护装置Modbus通信规约

恒瑞电力保护装置Modbus通信规约

微机保护装置通讯协议MODBUS-RTU- V1.1版珠海市恒瑞电力科技有限公司2013-3一、协议概述●本协议适用于HDPx、DPx、EDPx、DPML系列保护装置。

●本协议为轮询方式的应答式规约,允许一个主站对应32个从站。

●数据帧间的间隔时间应大于50ms。

●数据为字时,均采用高字节在前、低字节在后、高位字在前、低位字在后的原则(校验码除外)。

●从站地址为00时为广播方式。

1、物理层:●传输方式:RS-485●通信地址:1~255●通信波特率:2400bps~19200bps。

●传输介质:屏蔽双绞线2、链路层:■传输方式:主从半双工方式。

数据在一根通信线路上进行双向传输的应答式连接(发送完后,再接收)。

主站首先寻址到唯一的从站,接着主站将会收到对应的终端设备发出的应答信号。

协议只允许应用在主站与终端设备之间,禁止在独立的终端设备之间互相交换数据。

■数据帧格式,表1-1如示:■数据包格式,表1-2如示:当从站接收到主站的数据帧后,首先进行地址验证,如是从站,则从站进行数据帧的CRC校验码计算,并与接收到的主站发出的CRC码进行比较,如相等,则执行相应的功能码,并对主站做出响应(从站的地址、功能码、数据区、CRC的低字节,CRC的高字节);如经地址验证不为该从站,则退出,不做出任何的响应。

●地址域从站地址为一个字节,该字节标明了主站与从站进行通信的入口,所以该地址是每个从站所必须的,并且有且只有一个,从站之间绝不能相互重复,否则会引起通信链路上的冲突而导致通信错误。

有效的从站地址范围从1~247。

从站地址为00时为广播方式。

●功能域该码值为一个字节,它标识了主站要在终端设备上是做何种操作。

详细内容参见表1-3所示。

●数据域数据区包括需要由从站返送何种信息或执行什么动作。

这些信息可以是数据(如:开关量输入/输出、模拟量输入/输出、寄存器等等)、参考地址等。

例如,主站通过功能码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(1010 0000 0000 0001)进行异或运算,结果放回CRC寄存器;5.重复步骤3和4,直到右移8次,对整个8位数据全部进行同样处理;6.重复步骤2到步骤5,进行通讯信息帧下一个字节的处理,直至全部字节处理完毕。

二、应用层详解本节将对各个应用功能码做详细的解释。

并对相应的功能代码举出相应的例子,以便在软件中对通信规约的编写与调试和修改。

1、读寄存器—功能码03H读从站寄存器的数据,不支持广播。

说明:可用于读实时遥测值、遥信量、保护定值、SOE等,可一次读一个或多个值,一次命令读寄存器总个数不能超过120个。

寄存器的具体定义见对应的【装置寄存器表】注:遥测值均做了整数化处理,电流、电压、频率遥测值为实际值×100,功率遥测值为实际值×10,功率因素值为实际值×1000。

2、写开关量输出—功能码05H强制某个继电器为ON或OFF状态,不支持广播。

说明:可用于遥控、复归等,一次只能操作一个继电器。

继电器号的具体定义见对应的【装置寄存器表】。

继电器号为00 FF时,用作复归。

从站响应返回的报文格式:与主站发送的报文格式及数据内容完全相同。

3、写寄存器—功能码10H把数据按顺序预置到各寄存器中,广播时该功能代码可把数据预置到全部从站中的相同类型的寄存器中(比如校时)。

说明:可用于修改保护定值、校时等,可一次修改一个或多个定值项,一次命令写寄存器总个数不能超过60个。

必须注意的是该命令只对可写的寄存器有效。

寄存器的具体定义见对应的【装置寄存器表】。

从站正常响应返回从站地址,功能代码和起始地址和写寄存器的数量。

4、异常响应除广播外,主站向从站设备发送查询并希望有一个正常响应,主站查询中有可能产生4种事件:☐从站接收查询,通讯正常处理信息,则返回一个正常响应事件。

☐由于通讯出错,从站不能接收查询数据,因而不返回响应。

此时,主站依靠处理程序给出查询超时事件。

☐若从站接收查询,发现有 CRC 通讯错误,并未返回响应,此时,依靠主机处理程序给出查询超时事件。

☐从机接收查询,无通讯错误,但无法处理(如读不正确的功能码,不存在的寄存器地址,写寄存器值超限)时,向主机报告错误的性质。

当主站发送了一个非法的消息帧给从站时,异常的数据响应就会产生。

这个异常数据响应由从站地址、功能码、特征码和校验域组成。

从站将接收的功能码的最高位(MSB)置为 1 时,说明此时为异常响应。

所响应的特征码的含义:01H:表示从站接收到非法的功能码02H:表示所请求的寄存器地址不在有效的寄存器地址范围内03H:表示数据不在寄存器所允许的范围内04H:表示没有所请求的数据注:CRC校验出错将不予响应四、应用示例4.1 读实时测量值读出保护装置实时测量的状态字、开入量、电流、线电压、功率、功率因数、频率。

实时测量值地址从0000H开始。

以EDPM-410为例。

其它类型的装置,具体参照各自的modbus地址表。

其中状态字节:Bit0—为1时,标识从站上电或复位,需要主站进行校时。

Bit1—为1时,标识从站有新的SOE事件,等待主站召唤;主站每次读取一条SOE报文。

当SOE事件均上送完毕后,从站将状态字的bit1位清零。

Bit2~bit7 备用4.2 读定值读出保护装置定值。

可以依据装置定值数量一次读完,也可以读一个或多个,根据读的个数来定。

定值共2个区,每个区长度为50个字。

地址从0101H—0132H为0区,从0133H—0164H为1区。

当前区号地址为0100H。

以EDPM-410为例。

4.3 读取SOE事件记录每条事件记录由6个字寄存器组成,每次可读取1条事件,其格式如下:其中:事件类型代码指示了SOE的事件名称事件遥信状态指示了事件发生或事件返回,比如遥信合位,或者遥信分位。

事件记录刷新命令寄存器地址为0200H;事件记录寄存器起始地址为0201H;主站根据从站的状态寄存器的SOE位来判断从站是否有新的SOE事件,来进行SOE事件读取,主站接收后,需要向从站发事件记录刷新命令报文,即向事件记录刷新命令寄存器写入55 AA,从站收到后,将下一条SOE数据存入0201H地址开始的事件记录寄存器中并将事件记录刷新,待主站读取;若主站没有接收或没有正确接收事件记录报文,可以不写55 AA到从站事件记录刷新命令寄存器,从站将不刷新事件记录寄存器内容,这样主站可以重新读取事件记录。

以EDPM-410为例。

4.4遥控继电器一次只能操作一个继电器,控制命令FF00H—遥合,0000H—遥分。

继电器号为00 FF时,用作复归。

从站响应返回的报文格式:与主站发送的报文格式及数据内容完全相同。

4.5 校时若采用广播校时命令须将从站地址当作0,广播命令时从站不返回上行命令。

任何写多个寄存器的命令而涉及到时钟寄存器,从站将不予执行校时。

主站以BCD码格式校对时间,从站正确接到校时命令后,将毫秒清零。

时钟寄存器起始地址为0300H。

若不采用广播校时,须仅以某一从站地址进行校时,从站应答同写寄存器。

将从站时钟校准为2008年11月1日8时30分20秒0毫秒。

4.6 写定值4.6.1 修改当前定值区号4.6.2 修改定值修改装置定值。

可以依据装置定值数量一次写完,也可以写一个或多个,根据写的个数来定。

定值共2个区,每个区长度为50个字。

地址从101H—132H为0区,从133H—164H为1区。

修改定值不能修改当前区号的定值区定值。

例如,当前区号是0区,要修改0区的某个定值,需要将当前区号修改为1区,才能修改。

以EDPM-410为例。

将0区起动内速断定值改为40.00A。

查【保护装置器寄存器表】可知其起动内速断电流寄存器地址为105H。

相关主题