(适用于口 E4 , □代表外型尺寸。版本号: 2011-06-V1.0
5-1 概述
高清晰LCD显示的三相电能表(习惯称口 E4系列),提供串行异步半工 RS485通讯接口,采用 MODBUS-RTU 协议,各种数据信息均可在通讯线路上传送。在一条 485总线上可以同时连接多达 32个
网络电力仪表,每个网络电力仪表均可以设定其通讯地址。不同系列仪表的通讯接线端子号码不同,这点 在布线时需要注意。通讯连接应使用带有铜网的屏蔽双绞线,线径不小于 0.5mm 2,不要用平行线,因其 易引入干扰。将屏蔽双绞线的屏蔽层接地( GND端),布线时应使用通讯线远离强电电缆或其它强电磁环 境。
)
5-2 MODBUS-RTU 通讯协议
MODBUS 协议约定在一根通讯线上采用主从应答方式的通讯连接方式。首先,主计算机的信号寻址 到一台唯一地址的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机,即在一根 单独的通讯线上信号沿着相反的两个方向传输所有的通讯数据流(半双工的工作模式) 。 MODBUS协议只允许在主机(PC , PLC等)和终端设备之间通讯,而不允许独立的终端设备之间的 数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
1 .主机查询:查询消息帧包括设备地址码、功能码、数据信息码、校验码。地址码表明要选中的从机 设备功能代码告之被选中的从设备要执行何种功能, 例如功能代码03或04是要求从设备读寄存器并返回
它们的内容;数据段包含了从设备要执行功能的其它附加信息,如在读命令中,数据段的附加信息有从何 寄存器开始读的寄存器数量;校验码用来检验一帧信息的正确性,为从设备提供了一种验证消息内容是否 正确的方法,它采用 CRC16的校准规则。
2 .从机响应:如果从设备产生一正常的回应,在回应消息中有从机地址码、功能代码、数据信息码和 CRC16校验码。数据信息码包括了从设备收集的数据:如寄存器值或状态。如果有错误发生,我们约定是 从机不进行响应。
3.数据传输方式
传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与 MODBUS协议-RTU方式相兼容的传输方式。每个字节的位:
1个起始位、8个数据位、(奇偶校验位)
1个停止位(有奇偶校验位时)或 2个停止位(无奇偶校验位时)。
5-3 通讯报文格式
数据帧的结构:即报文格式 地址码 1个字节 地址码
帧的开始部分,由1个字节(8位二进制码)组成,十进制为0~255,在我们的系统中只使用1~247 其它地址保留。这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。 每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询,当终端发送回 一个响应,响应中的从机地址数据告诉了主机那台终端与之进行通信。 2 .
功能码
告诉终端执行何种功能。下表列出多功能网络电力仪表所支持的功能码,以及它们的意义和功能。
功能码
功能码 1个字节 数据码 N个字节 校验码 2个字节 1 .
意义 读数据寄存器 行为 获得一个或多个寄存器的当前二进制值 3 .
03 (或 04 ) 数据码
包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容可能是数 值、参考地址或者设置值。例如:功能码告诉终端读取一个寄存器,数据域则需要反映表明从哪个寄 存器开始及读取多少个数据,而从机数据码回送内容则包含了数据长度和相应的数据。 4 .校验码
错误校验域占用两个字节(CRC16 ),包含了一个16位的二进制值。CRC值由传输设备计算出来, 然后附加到数据帧上,接收设备在接收数据时重新计算 比较。如果这两个值不相等,就发生了错误。 5. CRC16 算法
生成一个CRC16的流程为:
CRC值,然后与接收到的 CRC域中的值进行
(1) 预置一个16位寄存器为FFFFH (16进制,全1 ),称之为CRC寄存器。
(2) 把数据帧中的第一个字节的 8位与CRC寄存器中的低字节进行异或运算,结果存回
存器。 (3) 并检测。 (4)
1 ;将CRC寄存器与预设
的固定值(0A001H )进行异或运算。
(5) 重复第三步和第四步直到 8次移位。这样处理完了一个完整的八位。 (6) 重复第二步到第5步来处理下一个八位,直到所有的字节处理结束。 (7) 最终CRC寄存器的值就是 CRC的值。
上一步中被移出的那一位如果为 0 :重复第三步(下一次移位):为
将CRC寄存器向右移一位,最高位填以 0 ,最低位移出
CRC
寄
5-4 MODBUS 地址信息表(地址采用 10进制数表示)
字传输 方式地 址 项目 0 1 2 3 4~5 MM XS DZ PT CT 未定义 字节传输方式 地址 0 , 1 2 3 4 , 5 6 , 7 8, 9 , 10 , 11 电参数测量信息 6,7 8,9 10,11 P Q 未定义 总有功功率 总无功功率 12,13,14,15 16,17,18,19 20,21,22,23 电能计量信息 12,13 EP 一次侧有功电能 24,25,26,27 浮点型数据,格式为IEEE-574,有 功电能单位 kWh ,无功电能单位 kVarh 。14,15 描述 编程设置密码 电量显示选择 仪表地址 电压倍率 电流倍率 备注 2 字节,0-9999 范围:0-4 P1 字节,1-247 2 字节,1-9999 2 字节,1-9999 「系统保留 浮点型数据,格式为IEEE-574,有 功功率单位 kW ,无功功率单位 kVar。一次侧及乘了变比之后的值。 EQ 一次侧无功电能 28,29,30,31 一次侧及乘了变比 CT、PT 之后的值。 5-5 浮点型数据计算方法
1倒号位(SIGN 浮点顺据(float)符合IEEE-574数据格式,其定义和计g法如下:
8位指数位(E7-EQ) 8位指数位(E7••号0
23位尾数位(p22-p0) 23位尾数位(p22-p0)
BYTES
1 倒号位(SIGN
E | ] ' | | j 1 !【1 1_L [ ] ] J. 1 I i i 1 ] r i u l i i § ft ftim# 1 I 1 II, !j ■Y1E3
I [1 jL 1 J BYTE 3 L 1 1 1 l_ | 1 1 1 1 1 rned i i i i i i i i i i 提敝HE分
符号位:SIGN=0J正,SIGN=为负;指数部分:E指数音阶-126;尾数部分:M故部分补侦高位为1 数据结果:REAL=SIG:NEX \" (256< 65536 .…(1) 例:仪表返回十TW制的电泌值数据I=43556680H
转化为二进制数邮:01000011 01010101 0110011X0000000 得到 最WR麴直符号位):SIGN=,0曷正数; 指数部分 E: (10000110)B134; E=134-126 =8
尾数 M = (11010101 01100110 10000000)B =D5661
85408
根\"(1)得到结果:(+)28X 13985408/(25决 65536=213.4
5-6 通讯报文举例,约定采用字( WORD )传输方式。
例1 :从终端设备地址为1 (01H )的从机上读取一次侧正向有功电能的数值。 主机发送查询数据帧(16进制表示) 起始寄存器 起始寄存器 地址 命令 (高字节) (低字节) 01 寄存器个 数(高字节) 00 寄存器个 数(字节) 02 CRC16 低字节 04 CRC16 高字节 08 03 00 0C 从机回传响应数据帧(16进制表示) 地址 01 命令 03 数据长度 04 4字节数据 42 DD CC 80 CRC16 低字节 2A CRC16 高字节 D1 仪表返回数据:42 DD CC 80 ,按照IEEE-574 定义及转换方法(参照 5-5 ),得到10进制数为 110.80。表明一次侧正向有功电能为 110.80 (kWh ), 110.80 就是电表上显示的一次侧有功电度值。 一次侧无功电能参数值读取和转换方法类似。
例2 :从终端设备地址为1 (01H )的从机上读取总有功功率的数值。 主机发送查询数据帧(16进制表示) 起始寄存器 起始寄存器 地址 命令 (高字节) (低字节) 01 03 00 06 CRC16 数(高字节) 数(低字节) 低字节 00 02 24 寄存器个 寄存器个 CRC16 高字节 0A 从机回传响应数据帧(16进制表示) 地址 01 命令 03 数据长度 04 4字节数据 43 55 66 80 CRC16 低字节 D5 CRC16 高字节 A7 仪表返回数据:43 55 66 80 ,按照IEEE-574 定义及转换方法(参照5-5 ),得到 10进制数为213.4 。 表明总有功功率的值为 213.4(kW)。无功功率值的读取和转换方法类似,只要注意寄存器地址和单位即可
因篇幅问题不能全部显示,请点此查看更多更全内容