iec alpha communications protocol for meter ain 系...

25
IEC Alpha Communications Protocol For Meter AIN 系列 ALPHA® 全电子式多功能电能表 通讯规约

Upload: dinhlien

Post on 14-Apr-2018

266 views

Category:

Documents


18 download

TRANSCRIPT

Page 1: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

IEC Alpha

Communications Protocol

For Meter

AIN 系列 ALPHA®

全电子式多功能电能表

通讯规约

Page 2: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

目 录

1. 硬件接口………………………………………………………………………………………. 1

2.IEC Alpha 表的编程要求…………………………………………………………………….. 3

3.Alpha plus 软件通过 485 口抄读 Alpha 表…………………………………………………. 4

4.Alpha 表与其他主站的数据交换过程……………………………………………………….. 6

4.1 规约概述…………………………………………………………………………………. 6

4.2 常用的命令格式及举例………………………………………………………………… 9

5. 通信常见疑难问题解决及注意事项………………………………………………………… 20

6. CRC 冗余校验码计算源程序…………………………………………………………………. 21

7. 加密口令字计算源程序……………………………………………………………………… 22

本文件为 ELSTER 公司专有信息,未经得 ELSTER 公司书面许可,不得复制、传播。

ELSTER 版权所有

Page 3: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

1. 硬件接口 IEC Alpha 表的 485 通讯口的接线端子如下图所示:

AIN ALPHA 电表 485 口

终端连线

30 – T+ (发+)

31 – T- (发–) 32 – R+ (收+)

33 – R- (收–)

如主站端为二芯 485 通讯口,则应将 Alpha 表的 R+、T+及 R-、T-分别短接,再并

联至主站的 485 接口。最多可并联 32 台 Alpha 表于一 485 总线上。具体接线如图:

IEC Alpha 表 1 IEC Alpha 表 2

485 接口 485 接口 (R- R+ T- T+) (R- R+ T- T+ )

485- 485+

如主站端为四芯 422 通讯口,则应将 Alpha 表的各端子与主站一一对接。最多可并联 32

台 Alpha 表于一 485 总线上。具体接线如图:

IEC Alpha 表 1 IEC Alpha 表 2

485 接口 485 接口 R- R+ T- T+ R- R+ T- T+ 422 T - 422 T+ 422 R - 422 R+

1

Page 4: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

RS485/422-RS232 转换器的选型及跳线

RS485/422-RS232 转换器建议采用自适应无跳线方式的型号。如选用跳线型,建议采用

台湾正泰或研详的转换器。

跳线应设置如下:

TxON

RxON 不带 RTS 控制

T-RTS

R-RTS 带 RTS 控制 应选择 TxON RxON 项

T-RTS

RxON 发送带 RTS

DCE: 数据通信设备 直接连接方式选择 DCE

DTE:数据终端设备 通过 Modem 方式连接选择 DTE

当地通信/ 单、多表

AIN ALPHA 电能表的 RS485 口,不通过 Modem,通过 RS232/RS485 转换器连到计算机。

此方式下,最多可以连接 32 块电表。

远方通信/单、多表

AIN ALPHA 电能表的 RS485 口 通过 RS232/RS485 转换器,通过 Modem 连电话线。此方式

下,最多可以连接 32 块电表。

2

Page 5: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

2. IEC Alpha 表的编程要求

欲与 IEC Alpha 表通讯,必须先使用 PC 机 AlphaPlus 编程抄表软件对 Alpha 表的远方通讯参数

进行设置。 具体步骤如下:

1. Alpha 表上电

2. 在 PC 机和 Alpha 表之间连好光电头

3. PC 机上电, 进入 AlphaPlus 编程抄表软件

C:\…\>cd aplus

C:\…\APLUS>aplus

4.设置 Alpha 表 485 口通讯波特率和表号(下列各行均表示对应菜单选项)

通过 ELSTER AlphaPlus 软件,输入缺省密码:alpha,进入“软件程序设置->写表/读表-> 特

殊任务 -> 改变远传通讯的参数”。

注意:如果为 AIN ALPHA 电能表 485 口通过 RS485/RS232 转换器直接连到计算机,设置表号

和波特率,表号的范围从 1-255,不能设成零。如果 AIN ALPHA 电能表 485 口通过

RS485/RS232 转换器,转换器再通过 Modem 连接电话线方式下,表号设为零时,电表

将对 Modem 进行初始化,如为单个电表,表号必须设置为零,如为多表并联,有且只

能有一块表地址设成零,其余表号的范围从 1-254。

3

Page 6: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

3. Alpha plus 软件通过 485 口抄读 Alpha 表

(1) AIN ALPHA 电能表 485 口通过 RS485/RS232 转换器直接连到计算机

• 很重要的一点是在 Aphla plus 软件中“软件系统设置 -> AlphaPlus 选项 ->modem 定义”

中设置“PC 机至 Modem 的波特率”,必须与电表的波特率一致。

• 计算机通过 AlphaPlus 软件来读取电表时:“软件系统设置 -> 系统文件 -> 电话列表”,

创建一个新的电话列表,任意定义个名称,电话号码必须选择“ATNULL”,然后方式选“立

即进行”,按 F10 保存,退出到主菜单。

4

Page 7: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

重新进入“软件程序设置”,按 F12,选中创建的连接方式,链接方式选择“Remote”,再

将计算机通信口和波特率选择正确,即可连接成功。

(2) AIN ALPHA 电能表 485 口通过 RS485/RS232 转换器,转换器再通过 Modem 连接电话线

• Alpha表连接一个Modem,计算机通过另外一个Modem连电话线,用AlphaPlus软件来读取电表

时: 其余步骤如上,另外创建一个电话列表,其中电话号码必须为ATDT××××,×××

×为您所要拨的电话号码,即电表通过转换器连接Modem所连电话线的号码。后续步骤亦如上,

退出到主菜单,进入“软件程序设置”,按F12,选中刚创建的连接方式,连接方式选择

“Remote”,再将计算机通信口和波特率选择正确,即可连接成功。

注:如果用笔记本的内置 Modem,COM 口应更改为 COM2 或 COM3 等,即内置 Modem 的 COM 口。

5

Page 8: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

4.Alpha 表与其他主站的数据交换过程

4.1 规约概述

Alpha 表与主站的异步通讯字符格式为:1 个起始位,8 个数据位,1 个停止位,无校验 。

Alpha 表的所有通讯报文以报文头“02”开始,以 CRC 冗余校验码结束,其余各字节包括功

能码、数据长度、电表数据等。具体各报文的含义请参阅<< AIN ALPHA DATA DICTIONARY >>

通讯伊始,由主站与 Alpha 表进行握手。握手成功后,主站可读 Alpha 表数据,最后,由主

站发结束通讯命令终止通讯。

起始符(STX):02H

CB=80 结束对话(由计算机发)

CB=81 续读(>64 字节的数据)

短信息格式 CB=82 再发上一打包(同上,但包含 3 位打包序列号)

CB=84 接受控制(由表计发出)

命令字(CB):

CB=08 与数据无关的功能

长信息格式 CB=18 与数据有关的功能

CB=05 类读取

当为短信息格式时(即 CB=80、81、82、84 时),通信如下:

发送 起始符(02) 命令字 CRC 高字节 CRC 低字节

应答 起始符(02) 命令字 ACK/NAK 状态字 CRC 高字节 CRC 低字节

其中ACK/NAK的含义如下: 0, ACK,无错

1, NAK,CRC 校验错

2, NAK,该功能为通信锁定

3, NAK,不合法的命令,同步或长度

4, NAK,帧错误

5, NAK,超时

6, NAK,无效口令

7, NAK,计算机无应答

E, NAK,IEC C 模式通信闭锁

其中状态字各位的含义如下:B7 B6 B5 B4 B3 B2 B1 B0

B7=1,出现自动月存储或需量复位

B6=1,出现季节变换

B5=1,出现失电

B4=0,缺省

B3=1,写保护

B2=1,配置改变

B1=1,需量复位

B0=1,出现时钟变换

6

Page 9: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

当 CB=18 时(与数据命令有关的功能),通信如下:

发送 起始符 18 功能码 填充数 数据长度 数据 CRC 高字节 CRC 低字节

应答 起始符 18 ACK/NAK 状态字 CRC 高字节 CRC 低字节

其中功能码及其相应的数据含义如下:

01 口令检查 数据为 4 字节的口令

02 设定时钟 数据为 3 字节(小时,分钟,秒)

06 你是谁?(身份检查) 数据为 1 字节的表号

00:该数据为零,则该表应初始化 modem

>00:共享一个 modem 的其他表

FF:直接响应前 1.5 秒发出请求的表

对于 06 功能码,通信的等待时间长短可用不为零的填充数来调整(步长 0.5s)

对于 06 功能码,表计将应答一个 15 字节的信息:

起始符(1 字节) 识别(8 字节) 加密钥匙(4 字节) CRC 校验(2 字节)

识别(8 字节)的定义如下:

PCODE(代码) 1

PSERIES(序列号) 1

XUOM 2

SYSERR(系统错误) 1

SYSWARN(系统告警) 1

MODSTAT(状态修改) 1

SPARE 1

07 抄表召唤日期 数据为 3 字节的日期(年,月,日)

08 回叫命令 数据为 1 字节 1:计费号码

2:告警号码

09 打包尺寸(帧数据长度) 数据为 1 字节(0~63)

0A 写擦除填充缓冲区 数据为 30 个字节长

0C 时钟同步命令 数据定义了可允许的时间偏移值(0~30min)

7

Page 10: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

0D 模式 1107C,D 使能/不能 数据为 1 字节 : B7 B6 B5 B4 B3 B2 B1 B0

B1=0/1,1107C 使能/不能

B0=0/1,1107D 使能/不能

F2 通信超时门槛值 数据为 1 字节(6~255,步长为 0.5 秒)

当 CB=05 时(数据类读取),通信如下:

发送 起始符 05 填充数 数据长度高字节 数据长度低字节 地址偏移高字节

地址偏移低字节 类 CRC 高字节 CRC 低字节

应答

(ACK) 起始符 05 ACK 状态字 长度 数据 CRC 高字节 CRC 低字节

应答

(NAK) 起始符 05 NAK 状态字 CRC 高字节 CRC 低字节

其中数据长度高、低字节只用于类数据的读取,如果为零,则表示长度缺省。

其中地址偏移高、低字节也只用于类数据的读取,它允许在某一类中,直接访问所需要的某一数

据(对于数据类 8、9、10、11,该字节忽略) 。

对于数据类 17 负荷曲线的读取,为了避免读出所有天的数据, 可以在长度字节指定数据,该数

据表示所读取的负荷曲线的天数(最近x天),而非字节数。

其中应答的长度的位图:B7 B6 B5 B4 B3 B2 B1 B0

B7=1,是否为最后一帧数据

B6~B0,表示数据长度(0~64)

4.2 常用的命令格式及举例:

1.功能命令(CB=18)

发送: 02 18 FUNC PAD LEN DATA CRCH CRCL

接收: 02 18 ACK/NAK STAT CRCH CRCL

主要的 FUNC 01 密码检测

02 设置时间

06 握手

2.继续读命令(CB=81)

Alpha 表在读数据时,是以数据块的形式进行传送的。每个数据块最多 64 个字节,

当实际数据超出时,应使用此命令继续读。

发送: 02 81 E7 CB

接收: 02 81 ACK/NAK STAT LEN DATA CRCH CRCL

STAT 电表状态码

LEN 数据长度

DATA 数据

CRCH CRCL CRC 校验码

8

Page 11: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

3. 读 class 数据(CB=05)

发送: 02 05 PAD LENH LENL OFSH OFSL CLASS CRCH CRCL

接收: 正确 02 05 00 STAT LEN DATA CRCH CRCL

错误 02 05 NAK STAT CRCH CRCL

Alpha 表常用的一些数据块介绍

有关计费的数据块:

CLASS 0 主要的电表常数

UKH 3 每转的电量 Kh(单位 wh) BCD 码,格式 999.999

UPR 1 每转的脉冲数 P/R BCD 码,格式 99

UKE 5 每脉冲代表的电量 Ke(单位 kwh) BCD 码,格式 9999.999999

INTNORM 1 常规模式的区间长度 1-3C Hex

INTTEST 1 测试模式的区间长度

DPLOCE 1 所有电能的小数位

DPLOCD 1 所有需量的小数位

NUMSBI 1 每个区间包含的子区间数

B7~B4: 测试模式的区间包含的子区间数

B3~B0: 常规模式的区间包含的子区间数

VTRATIO 3 VT 的值。BCD 码,格式 9999.99

CTRATIO 3 CT 的值。BCD 码,格式 9999.99

XFACTOR 4 CT*VT 的值。BCD 码,格式 99999999

SPARES 15

CLOCKS 1

40

CLASS 2 识别数据和需量常数,注意此数据块长度与规约不符。

UMTRSN 5 电表的 ID 号。BCD 码,格式 9999999999

实际电表只使用了后八位数字。

SPARES 48 忽略。

EBLKCF1 1 定义了 CLASS 11 中 BLOCK1 所对应的计量量。

KW-del 80 KW-rec 40 KW-sum C0

KVA-Q1 81 KVA-Q4 88 KVA-Q1+4 89

KVA-Q2 42 KVA-Q3 44 KVA-Q2+3 46

KVAR-del 03 KVAR-rec 0C KVAR-sum 0F

KVAR-Q1 01 KVAR-Q4 08 KVAR-Q1+4 09

KVAR-Q2 02 KVAR-Q3 04 KVAR-Q2+3 06

EBLKCF2 1 定义了 CLASS 11 中 BLOCK2 所对应的计量量,与 EBLKCF1 含义一致。

9

Page 12: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

SPARES 29 有定义,忽略。

EBLKCF3 1 定义了 CLASS 11 中 BLOCK3 所对应的计量量。

EBLKCF4 1 定义了 CLASS 11 中 BLOCK4 所对应的计量量,与 EBLKCF3 含义一致。

SPARES 17 忽略

CLOCKS 1

104

CLASS 8 硬件配置

MKTPROD 1 市场产品编号 AIN ALPHA表为 02

SSPEC1 3 软件版本号

GROUP1 1 B7~B3、B1~B0 保留

B2 1——支持 X 扩展板、 8 通道负荷曲线、4 个分时计量量、

瞬时测量、大容量 EEPROM。0——不支持

RESERVED 1 保留

PCODE 1 电表的工作模式

B7 pprim 一次侧电表

B6 pmodem modem/外接通信口

B5 pkvq 4 象限无功

B4 ptim 分时

B3 pdmd 需量存储

B2 pb2 block2 分时

B1 plp 负荷曲线

B0 pms 月存储

PSERIES 1 与 SSPEC 号一致,表明电表的硬件、选板和生产设置。

RESERVED 50 保留

MSLPLMEM 2 2 进制,表示存储器可存历史数据、负荷曲线和事件记录。

RESERVED 4 保留

64

CLASS 9 状态#1

XUOM 1 XUOM 低字节

SYSERR 3 B23 errwrn 有 Er 错误码

B22~20 Reserved 保留

B19 errcovr Er000001

B18~16 Reserved 保留

B15 errcl14 数据类 14 校验和错

B14 Reserved 保留

B13 errpfc 失电数据校验和错

B12 errcl15 数据类 15 校验和错或类 15 的日期无效

B11~3 Reserved 保留

B2 errcl2 数据类 2 校验和错

B1 Reserved 保留

B0 errcl0 数据类 0 校验和错

SYSWARN 1 B7~B5 Reserved 保留

B4 warncom F000010

B3 warnpot 相失压 F001000

10

Page 13: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

B2 warnbat 低电池 F000001

B1 warnovr 需量越限 F100000

B0 warnrvs 反向电量监测 F000100

SYSSTAT 1 B7 sysa A 相失压

B6 sysb B 相失压

B5 sysc C 相失压

B4 syslf 频率:0-60HZ,1-50HZ

B3 systb 时钟基准:0-线网频率,1-内部晶振

B2 syslcr 输出脉冲继电器为费率控制

B1 syslct 输出脉冲继电器为负荷控制

B0 systm 测试模式使能

CUMDDR 1 BCD 码,上次需量复位后的累积天数

CUMDPUL 1 BCD 码,上次脉冲发生后的累积天数

EPWRLOG 4 累积掉电时间

Pwrmin 3 个字节 BCD 码,分钟 0~999999

Pwrsec 1 个字节 BCD 码,秒种 0~59

PSTART 6 BCD 码,掉电起始日期和时间

年+月+日+小时+分钟+秒钟

PEND 6 BCD 码,掉电结束日期和时间

年+月+日+小时+分钟+秒钟

SEARAT 1 BCD 码,季节和费率标志

B7 dst 0-标准时间 1-夏令时,时间超前标准时间 1 小时

B6 dstau dst-

B5 dstsp dst+

B4 holiday 假日

B3~B2 rate 当前费率 A=0,B=1,C=2,D=3

B1~B0 season 当前季节 0-3

DOY 2 B15~B13 dowk 星期数 1=Sunday,2=Monday…7=Saturday B12 reserved 保留

B11~B10 doyleap 闰年后的年数 0-3

B9~B0 doyj 罗马日,2½BCD 码,1-366

TD 6 BCD 码,当前日期和时间 年+月+日+小时+分钟+秒种

TRI 2 B15~B8 trimin 子区间所剩分钟

B7~B0 trisec 子区间所剩秒种

DATATR 3 BCD 码,自动、手动或光电头需量复位的日期,如果自动抄表或复位的

设定日期刚好掉电,则在恢复电源后进行自动抄读或需量复位,存储日

期为实际发生复位事件的日期。年+月+日

DATREP 3 BCD 码,上次光口通讯时,进行数据类写入的日期。年+月+日

DATMOD 3 BCD 码,上次光口通讯时,进行功能命令的日期。年+月+日

CUMDR 1 BCD 码,需量复位累积次数,0~99

CUMCOMM 1 BCD 码,更改数据的光电通讯累积次数,0~99

CUMOUT 2 BCD码,累积掉电次数,0~9999

48

CLASS 10 状态#2

KH 3 每转瓦时 Wh/r BCD 码,999.99

PR 1 每转脉冲数 BCD 码,99

11

Page 14: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

RESERVED 1 保留

MTRSN 5 电表序列号 BCD 码,9999999999

KEADJ 5 每脉冲能量值 kwh 9999.999999

小数位数由 CLASS 0 中的 DPLOCE 决定

KDADJ 5 每脉冲需量值 kw 9999.999999

小数位数由 CLASS 0 中的 DPLOCD 决定

Reserved 4 保留

24

CLASS 11 当前计费数据

TOU block 1 data

AKWH1 7 A 费率电量。BCD 码,格式 99999999.999999

小数位数由 CLASS 0 中的 DPLOCE 决定。

AKW1 3 A 费率的最大需量。BCD 码,格式 999999

小数位数由 CLASS 0 中的 DPLOCD 决定。

ATD1 5 A 费率的最大需量发生的时间。BCD 码,年月日时分

Atdyr+Atdmflg(1 位)+ Atdmon + Atdday + Atdhr + Atdmin

年 1 手动复位 月 日 时 分

(1 字节) 0 自动复位 (7 位) (1 字节)(1 字节)(1 字节)

AKWCUM1 3 累计需量值。BCD 码,格式 999999

小数位数由 CLASS 0 中的 DPLOCD 决定。

AKWC1 3 需量伴随值。BCD 码,格式 999999

ALPHA PLUS 软件可设,当 A 费率的最大需量发生时

其它计量量的值。小数位数由 CLASS 0 中的 DPLOCD

决定。

BKWH1 7

BKW1 3

BTD1 5 B 费率

BKWCUM1 3

BKWC1 3

CKWH1 7

CKW1 3

CTD1 5 C 费率

CKWCUM1 3

CKWC1 3

DKWH1 7

DKW1 3

DTD1 5 D 费率

DKWCUM1 3

DKWC1 3

TOU block 2 data 84 同上

TOU block 3 data 84 同上

TOU block 4 data 84 同上

Quadrant KVARh data

EKVARH4 7 总的 Q4 象限无功。BCD 码,格式 99999999999999

12

Page 15: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

小数位数由 CLASS 0 中的 DPLOCE+6 决定。

EKVARH3 7 总的 Q3 象限无功。BCD 码,格式 99999999999999

小数位数由 CLASS 0 中的 DPLOCE+6 决定。

EKVARH2 7 总的 Q2 象限无功。BCD 码,格式 99999999999999

小数位数由 CLASS 0 中的 DPLOCE+6 决定。

EKVARH1 7 总的 Q1 象限无功。BCD 码,格式 99999999999999

小数位数由 CLASS 0 中的 DPLOCE+6 决定。

EAVGPF 2 上次需量复位后的平均功率因数。BCD码,格式 9.999

366

注意: 在通讯时发出读 CLASS 11 命令后,电表会以每块 42 个字节发回数据。

CLASS 12 前期计费数据,当一个计费周期结束时(需量复位或自动抄表),数据类

11 的数据会被拷贝到数据类 12。最多可以存储和显示多达 15 套完整的前期

计费数据。

月存储 2 种模式: Annual 和 Rolling

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

1st

Annual(年)模式,寄存器的编号与月份数一致,比如,2 月份的数据放置在第 2 个缓冲区(1

号寄存器)。此模式下,每月冻结电量会存入对应编号的寄存器里,其余原因引起的需量复位

值将存入最近一个缓冲区(14 号寄存器)。

Jan Feb Mar Apr May Jun Jul Aug Sept Otc Nov Dec 空 空 DR

Rolling(滚动)模式,无论何种原因引起的需量复位,都会将数值冻结,存入寄存器。存储是

按顺序依次存入寄存器,等 15 个寄存器均满时,最新的数据将覆盖最早的数据,即重新依次存

储,见下面的例子,某电表从 2 月份开始存储数据,运行到次年 6 月:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

2 3 4 5 6 7 8 9 10 11 12 1 2 3 4

5 6

数据格式与 CLASS 11 基本相同,只是在开始多两个字节。注意:在通讯时发出读命令后,电表

会以每块 64 个字节发回数据。

MSNDX + MSSTAT + 历史数据 1 + 历史数据 2 +。。。+历史数据 15

(1 字节) (1 字节) (366 字节) (366 字节) (366 字节)

前 2 个字节:

MSNDX 1 B7~B4 nexti,下个冻结数据的寄存器编号。

Annual:0-11,Rolling:0-14

Rolling 模式下,重启会使指针从位置 0 开始。

Annual 模式下,重启会使 nexti=oldi=当前月份。

B3~B0 oldi, 最早的历史数据存储的寄存器编号。

MSSTAT 1 重启将会使该数据变成 00。

B7~B4 已存储月份数。

Annual:0-12,Rolling:0-15,0 表示尚无历史数据。

B3~B0 上个存储数据的月份数,0-12,0 表示尚无上月数据。

13

Page 16: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

有关负荷曲线和事件记录的数据:

CLASS 14 负荷曲线配置

SPARE 3 未用。

RLPACAL 1 负荷曲线缩小系数。电表记录负荷单位时间最大为 16351,如

超出电表将报错,应选择合适的缩小系数以避免记录负荷超出。

实际负荷数=记录负荷数×RLPACAL

LPLEN 1 负荷曲线时间区间。1-60 分钟。

DASIZE 2 负荷曲线天记录长度。0-4096 字节。

DASIZE=[(1440÷LPLEN )×CHANS×2]+6

LPMEM 1 负荷曲线记录天数,1-255。

LPMEM≤[LPLMEM-(EVSIZE×7)]÷DASIZE

LPLMEM 为电表的总容量,EVSIZE×7 为事件记录占用的内存。

CHANS 1 负荷曲线通道数,1-8。

IO01FLG 1 负荷曲线通道 1 记录的量。

0=不用

1=KW-DEL 有功正向

2=KW-REC 有功反向

3=KVAR-DEL 无功正向

4=KVAR-REC 无功反向

5=KVAR-Q4 第四象限无功

6=KVAR-Q3 第三象限无功

7=KVAR-Q2 第二象限无功

8=KVAR-Q1 第一象限无功

9=TOU BLOCK1 第一个计量量,看 CLASS 2 中的 EBLKCF1

10=TOU BLOCK2 第二个计量量,看 CLASS 2 中的 EBLKCF2

11=TOU BLOCK3 第三个计量量,看 CLASS 2 中的 EBLKCF3

12=TOU BLOCK4 第四个计量量,看 CLASS 2 中的 EBLKCF4

IO02FLG 1 负荷曲线通道 2 记录的量。

IO03FLG 1 负荷曲线通道 3 记录的量。

IO04FLG 1 负荷曲线通道 4 记录的量。

IO05FLG 1 负荷曲线通道 5 记录的量。

IO06FLG 1 负荷曲线通道 6 记录的量。

IO07FLG 1 负荷曲线通道 7 记录的量。

IO08FLG 1 负荷曲线通道 8 记录的量。

SPARE 24 未用。

CL14CKS 1 校验和。

42

CLASS 15 事件记录配置

EVSIZE 2 事件记录数,0-255,事件记录所占用的内存是动态分配的。

EVSEL1 1 事件记录选择

B7~B4 reserved 保留

B3 evdr 1-记录需量复位事件(事件类型 6:需量复位)

B2 evtm 1-记录测试模式事件(事件类型 4:测试模式开始

事件类型 5:测试模式结束)

B1 evtc 1-记录时间更改事件(事件类型 2:时间更改前

14

Page 17: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

事件类型 3:时间更改后)

B2 evpf 1-记录测试模式事件(事件类型 0:掉电开始

事件类型 1:掉电结束)

RESERVED 11 保留

CL15CKS 1 校验和

15

CLASS 16 事件记录

数据格式:事件 1(7 字节)+事件 2(7 字节)+……事件 n(7字节)

如果事件记录存储器满,新的事件将覆盖最老的事件。

EVREC 7

Evtype 事件类型 0-6(见 CLASS15 的说明)

255-事件记录被复位

Evyr 年

Evmon 月

Evday 日

Evhr 小时

Evmin 分钟

Evsec 秒种

CLASS 17 负荷曲线

负荷曲线数据块长度是不定的,由 CLASS 14 中的数据决定。

负荷曲线某天数据结构如下:

LPRECDATE 3 年 + 月 + 日 1 字节 1 字节 1 字节

LPDATEFL 1 SPARE+星期数+节日+时间 3 位 3 位 1 位 1 位

Sunday=1,Monday=2…Saturday=7 Holiday=1,Nonholiday=0

SPARE 1 空

LPRECCKSUM 1 校验和

LPDAYR XX 天记录数据

其中天记录数据的长度 XX=1440(每天分钟数)÷LPLEN(时间区间)×通道数×2

天记录数据=区间 1 记录+区间 2 记录+···+区间 n记录(区间个数=1440/时间区间)

区间记录=通道 1 记录+通道 2 记录+·····+通道 chans 记录(通道数最多为 8 个) 2×chans 个字节

通道记录=事件发生标志位+负荷脉冲数(1 个通道记录 2 个字节) 2 字节 1 位 15 位

总负荷曲线数据=天记录+天记录+天记录+······+天记录

(天记录的个数由 CLASS 14 中的 LPMEM 决定)

发出读 CLASS 17 的命令后, 电表会以每块 64 个字节发回数据。注意计算 CLASS 17

的长度,如超出实际长度继续读,会将无用的数据读回影响数据准确。

15

Page 18: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

CLASS 34 Modem 配置状态

RBAUD 1 电表对 Modem 的波特率: 0-5

0- Modem 未激活

1- 300

2- 1200

3- 2400

4- 4800

5- 9600

PWLEVEL 1 三级通讯权限: 1-3

1- 只读

2- 写限定

3- 完全

EVENTS 1 报警拨入事件,包含事件状态标志,1 表示事件发生

B7~B5 reserved 保留

B4 evlc 负荷控制越限

B3 evdr 手动需量复位

B2 reserved 保留

B1 evbda 历史数据冻结

B0 evlp 负荷曲线打包

AUTODAT 3 计费数据召唤日期 年月日

MODSTAT 1 Modem 状态标志

B7: Modem 已经初始化过

B6~B5:reserved 保留

B4: 电表响应召唤

B3: 电表响应告警

B2: 电表响应计费

B1: 电表请求告警

B0: 电表请求计费

LASTPS1 5 上次电表信息读取时间 年月日小时分钟 权限等级≥1

LASTPS2 5 上次电表计费读取时间 年月日小时分钟 权限等级≥2

LASTPS3 5 上次电表编程时间 年月日小时分钟 权限等级≥3

DS1SCHD 1 计费召唤状态标志

B7 ds1now 0-立即 1-等待

B6 ds1del 0-计时器结束不等待 1-计时器结束等待

B5 ds1win 0-在下一时间窗口不等待 1-在下一时间窗口等待

B4 ds1start 0-不再等待下一时间窗口 1-等待下一时间窗口

B3~B0 空

DS2SCHD 1 告警召唤状态标志,与DS1SCHD定义一致

24

CLASS 53 失压记录

PHAOUTAGE 4 A 相累计失压时间 (单位: 秒) 99999999

PHBOUTAGE 4 B 相累计失压时间 (单位: 秒) 99999999

PHCOUTAGE 4 C 相累计失压时间 (单位: 秒) 99999999。

PHOUTEVNT 1 B7-A 相电压标志,1 表示无电压

16

Page 19: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

B6-B 相电压标志

B5-C 相电压标志

B4~B0 SPARE

PHOUT 6 某相失压起始日期和时间

Phoutyr 年 00-99 年份的后两位

19 Phoutmon 月 01-12

Phoutday 日 01-31

Phouthr 小时 00-23

Phoutmin 分钟 00-59

Phoutsec 秒 00-59

17

Page 20: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

通讯示例

主 站 Alpha 表

每 0.5 秒发一次握手命令,直至 Alpha 表

回答。握手的命令格式为:

02 18 06 00 01 DATA(1) CRCH CRCL

其中 DATA 为设表时给电表分配的设备号 1

位。

回应 15 个字节

02 identification(8) key(4) CRCH CRCL

密码检验命令

02 18 01 00 04 Password(4) CRC

Password 是根据口令密钥 key 和通过软件

设置的远程通讯口令计算出的口令。

回答口令正确

02 18 00 00 07 AA

读 class 0

02 05 00 00 00 00 00 00 F6 01

class 0 的数据(40 个字节)

02 05 00 B2 A8 00 02 00 05 00

00 00 00 40 0F 0F 02 03 FF 00

01 00 00 01 00 00 00 00 01 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 93 1F 6E

读 class 2

02 05 00 00 00 00 00 02 D6 43

class 2 的数据(64+40=104 个字节)

02 05 00 00 40 00 02 29 77 21

20 20 20 20 20 20 20 20 20 20

20 20 20 20 00 00 00 01 00 00

00 80 0B 00 00 01 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 05 18 23 81 80 40

00 80 0C 15 05 00 E4 00 00 26

14

继续读 class 2

02 81 E7 CB

02 81 00 00 A8 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 C0 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 24 AC F0

读 class 11

18

Page 21: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

02 05 00 00 00 00 00 0B 47 6A

class 11 的数据(42*8+30=366 个字节)

02 05 00 00 2A 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 91 70

继续读 class 11

02 81 E7 CB

02 81 00 00 2A 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 74 27

. . . . . . . . . . . .

读 class 12

02 05 00 00 00 00 00 0C 37 8D

class 12 的数据(64*5+48=368 个字节)

02 05 00 00 40 55 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 BF

E6

继续读 class 12

02 81 E7 CB

02 81 00 00 40 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 9D

E6

. . . . . . . . . . . .

读 CLASS 14

02 05 00 00 00 00 00 0E 17 CF

CLASS 14 的数据(42 个字节)

02 05 00 20 AA 00 00 00 01 0F

03 06 24 04 01 02 03 04 00 00

00 00 00 00 00 00 00 00 00 00

19

Page 22: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

5. 通信常见疑难问题解决及注意事项

5.1 握手失败

软件可能引起原因:a.电表的 RS485 通信口工厂缺省为未打开, 可以在编程同时,写入波特率和

地址来打开 485 口,如果事先无法确定通讯参数,可在编程后,通过软件的

特殊任务来实现。

b.电表地址设置错(注意十进制与十六进制)

c.波特率不一致

d.调制解调器未被初始化(电表地址设为 0,可对 Modem 进行初始化)

e.CRC 校验码计算错误

f.加密口令程序计算错误

硬件可能引起原因:a.RS422 或 485 方式接线错误

b.RS422/485-RS232 转换器跳线错误

c.Modem 的工作方式错误

d.电表所设置的波特率超过电话线的波特率范围

握手试验进行前,应认真审核各个细节,以确保通讯的正确。

5.2 各指令间的时间间隔问题

电表在处理某一指令时,响应需要一定的时间,如果同时存在其他的重叠写入指令,可能引起电

表自我保护,进入锁定状态。所以在程序设计中,应事先考虑电表响应某项指令,反馈数据所需

要的最大时间长度(应与数据长度,串口传输速度有关)。

如:湖南项目,与系统厂商配合时,电表出现了 ER000110 错误,经大量测试发现,两个连续指

令--复位指令(Reset) 和设置时间指令(set time)之间的时间间隔不足以让电表处理完前一指

令,所以造成电表无法响应而进行锁定的现象。

5.3 其他注意事项

• 现场接地必须良好。

• 不允许擅自开发所提供的规约范围外的电量抄读,如瞬时值的抄读。

20

Page 23: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

6. CRC 冗余校验码计算源程序

#include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" void main() { unsigned int iTemp =0; printf("Get the number of the byte?"); int nByte; scanf("%d",&nByte); unsigned int byte[100]; for(int i = 0;i<nByte;i++) { printf("Get the byte No.%d",i); scanf("%02x",&byte[i]); } for(i=0;i<nByte;i++) { iTemp ^= (byte[i]<<8); for(int j=0;j<8;j++) { int flag = iTemp & 0x8000; iTemp <<= 1; if(flag) { iTemp ^= 0x1021; } } } printf("The number is %04x\r\n",iTemp); getch(); }

21

Page 24: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

7. 加密口令字计算源程序

根据密匙 key 与远程通讯口令来计算加密口令字:

#include <stdio.h> #include <stdlib.h> int main(int argc, char * argv[]){ unsigned long pword; /* Password */ char* stopper; /* required by 'strtoul' */ int i; /* loop index */ int j, k = 0; /* used to simulate rotate */ /* through carry */ union{ unsigned long key ; /* encryption key */ struct{ /* broken into bytes */ unsigned char byta, bytb, bytc, bytd; } parts; } val; /* Get input values, 8 hex digits each */ val.key = strtoul(argv[1], &stopper, 0x10); pword = strtoul(argv[2], &stopper, 0x10); /* Add an arbitrary number to the key just for fun. */ val.key += 0xab41; /* Generate a four bit checksum to be used as loop index. */ i = val.parts.byta + val.parts.bytb + val.parts.bytc + val.parts.bytd; i = i & 0x0f; while(i >= 0){ /* Set 'j' to the value of the high bit before shifting. Simulates carry flag. */ if(val.parts.bytd >= 0x80) j = 1; else j = 0; /* Shift the key. Add in the carry flag from the previous loop. */ val.key = val.key << 1; val.key += k; k = j;

22

Page 25: IEC Alpha Communications Protocol For Meter AIN 系 …read.pudn.com/downloads160/doc/comm/721322/AIN系列...IEC Alpha Communications Protocol For Meter AIN 系列ALPHA® 全电子式多功能电能表

AIN Alpha 通信规约

/* Apply the key to the password. */ pword ^= val.key; i--; } printf("\n %lX",pword); return 0; } 运算结果举例如下:

口令密匙 远程通讯口令 得到的加密口令字

00000000 00000000 19B0F27E 00000000 FFFFFFFF E64F0D81 FFFFFFFF 00000000 0CD8CD80 FFFFFFFF FFFFFFFF F327327F 12345678 90123456 FCAC31C0 ABCDEF01 789ABCDE E8D54FBB

23