摘要:为方便电能量计量计费系统集成、维护及保护投资,需要实现电能表通信的互操作性,而其关键在于制定具有互操作性的电能表通信协议标准。为此DLMS用户协会基于面向对象技术提出了一种新的电能表通信协议DLMS/COSEM,它是目前唯一适用于不同制造厂家、仪表型号、通信信道并满足电能表全部应用的具有互操作性的通信协议,该协议已经由国际电工委员会采纳作为IEC 62056国际标准,所有厂家只有共同遵循DLMS/COSEM,才能最终实现电能表通信的互操作性。本文介绍了其概念、体系结构、实现互操作性的关键技术、一致性测试认证以及与其它通信协议的区别,并给出了应用实例。
关键词:电能表;通信协议;互操作性;DLMS;COSEM;面向对象技术;OBIS;通信模型
A new generation communication protocol standard with interoperability
for energy meter
Song Xiaolin1,Liu Junhua1,Liu Shouqian2,Yang Xiaoxi2
(1. Electrical Engineering School of Xi’an Jiaotong University, Xi’an, 710049,China;
2.Northwest China Electric Power Test & Research Institute,Xi’an, 710054,China)
Abstract: For the convenience of system integration and maintenance, for the purpose of securing investment, it is necessary to realize the interoperability of communication for energy meter, and the critical issue is to establish a communication protocol standard with interoperability for energy meter. DLMS User Association then developed a new communication protocol, DLMS/COSEM, based on the object-oriented technology. It is by now the only one protocol with interoperability for all applications, and is independent of the manufacturer, the meter type and the communication media. DLMS/COSEM has been standardized as IEC 62056 series of standards. It is believed that only all the manufacturers comply with DLMS/COSEM can interoperability of communication for energy meter be achieved finally. This article introduces its concept, system structure, the key technologies supporting interoperability, the conformance test and difference between other protocols, and also gives some use cases.
Key words: energy meter; communication protocol; interoperability; DLMS; COSEM;object-oriented technology; OBIS; communication model
0 引言
智能电能表由于其精度高、功能多、具有数据通信能力等优点,在电能量计量计费系统中得到了越来越广泛的使用。智能电能表在使用过程中需要通过通信信道与抄表系统和设备进行数据交换,但往往由于计量计费系统中选用的电能表制造厂家众多、电能表型号繁杂、通信信道类型多种多样,造成电能表通信协议不统一,给电能表的实际使用带来了诸多问题:
1)电能量计量计费系统(自动抄表系统)集成困难;
2)电能表使用维护困难;
3)通信信道更新换代困难;
4)电能量计量计费系统开发、运行、维护及升级费用加大。
综上所述,实现电能表通信协议的统一是目前电能量计量计费系统迫切需要解决的问题,而其关键在于实现电能表通信协议的互操作性。如果不实现通信协议的互操作性,而是仅仅将通信协议统一到目前某一种不具有互操作性的通信协议标准,这种通信协议的统一只能是暂时的而且是不稳定的,随着电能表功能的不断扩展,势必会因厂家自定义某些协议内容而使通信协议出现新一轮的不统一。所以实现电能表通信的互操作性的根本出路在于制定统一的具有互操作性的通信协议标准。
通信协议的互操作性[1] [2]是指电能表与抄表设备或系统之间进行数据交换时采用相同的方式和相互理解的通用语言,而与制造厂家、电能表型号以及通信介质无关,并且在将来电能表功能扩展后依然能保持通信双方的兼容性。通信协议的互操作性最早是在计算机网络通信中提出并实现的[11]。20世纪70年代后期,由ISO(International Organization for Standardization) 制定了OSI(Open System Interconnection)参考模型,该模型实现了计算机网络通信协议的互操作性,从而能够支持全球范围网络通信的应用。Internet的通信协议TCP/IP(Transmission Control Protocol/ Internet Protocol)也由于具有很强的互操作性,被公认为异种计算机系统平台、异种网络相互通信的重要协议。为了解决电能表通信协议的互操作性问题,DLMS用户协会提出了一种新的通信协议——DLMS/COSEM。DLMS是指设备语言报文规范(Device Language Message Specification),用于支持诸如远方抄表、远方控制和增值服务等应用,COSEM是指能量计量配套技术规范(COmpanion Specification for Energy Metering),它是基于现有标准为电能表数据交换而制定的规则。
DLMS/COSEM通信协议已经在全世界范围得到了应用。该协议已经由IEC TC 13采纳作为国际标准《电能计量-用于抄表、费率和负荷控制的数据交换》(即IEC 62056)。IEC 62056标准体系目前共包括六部分,见图1:
第61部分[3]:对象标识系统;
第62部分[4]:接口类;
第53部分[5]:COSEM应用层;
第46部分[6]:使用HDLC(High Level Data Link Control)协议的数据链路层;
第42部分[7]:面向连接的异步数据交换的物理层服务和过程;
第21部分[8]:直接本地数据交换。
目前许多国家都非常关注这种通信协议,有些国家已经将其作为国家标准,国外一些知名厂家已经生产出支持DLMS/COSEM通信协议的电能表和计量计费系统,并通过了DLMS UA的一致性测试认证。
1 实现互操作性的关键技术[9]
1.1 COSEM服务器模型
使用DLMS/COSEM通信协议与电能表通信基于客户机/服务器模型,其中计量计费系统主站(或其它抄表设备)充当客户机,电能表则充当服务器,给客户机提供服务,因此在DLMS/COSEM中,电能表也称为COSEM服务器。如图2所示,COSEM服务器模型为三层体系结构:
第一层:物理设备。它包含一个或多个逻辑设备,其中一个必须是管理逻辑设备,用来抽象表示物理电能表。
第二层:逻辑设备。它包含一组可访问COSEM对象,用来表示电能表的功能单元。
第三层:可访问的COSEM对象。它是构建逻辑设备的功能模块。
上述COSEM服务器模型能够支持各种厂家不同型号的电能表的设计,图3展示了如何使用COSEM服务器模型来构建一块具有简单功能电能表的模型,该模型包括1个管理逻辑设备,包括4个可访问的COSEM对象:LDN(Logical Device Name)对象、总电量寄存器对象、费率1寄存器对象、A(Association)对象。
1.2 COSEM对象
DLMS/COSEM从电能表通信的角度采用对象建模的方法建立了电能表的接口模型。如上所述,COSEM将物理电能表模型化为一组逻辑设备,每个逻辑设备所包含的信息则通过对象建模。对象是属性和方法的集合,对象所处理的信息组织在对象的属性之中。属性通过其值来表示对象的特性,同时对象还提供一些方法来检查或修改属性的值。所有对象的第一个属性都是逻辑名,逻辑名连同类标识码和版本号一起,唯一标识接口对象包含信息的含意,并与厂家无关。具有相同特性(相同的属性和方法)的对象组成接口类,并用类标识码标识。另一方面,对象就是接口类的实例,称为COSEM对象。表1和表2列出了目前在IEC 62056-62中定义的接口类库。
定义一种特定的电能表实际上意味着定义几种特定的COSEM对象,在图4所示的例子中,该电能表包含两个特定的COSEM对象,均为“寄存器” 类的实例化对象。“寄存器”类共有3个属性:逻辑名、值、倍率量纲和1个方法:复位。“逻辑名”属性表示该寄存器的OBIS(OBject Identification System)码;“值”属性表示该寄存器保存的测量值或状态值;“倍率和量纲”属性表示值属性的倍率和量纲。“复位”方法可以对该寄存器的值清零。图中“寄存器” 类的一个实例化对象为“正向有功总电量寄存器”,其属性分别为1.1.1.8.0.255、1483、10^1Wh,表示该电能表的正向有功总电量为14.83kWh;而另一个则为“正向无功总电量寄存器”,其属性分别为1.1.3.8.0.255、957、10^1varh,表示该电能表的正向无功总电量为9.57kvarh。根据不同需要,用各种COSEM对象如同搭“积木”一样可以构建各种类型的电能表。通过定义搭建电能表的各种“积木块”而不是定义电能表的整体功能,实现了最大限度的灵活性,既可以覆盖大范围的产品——从非常简单的居民表到复杂的多功能电能表,又具有可扩展性来满足将来需求。
1.3 OBIS
为使电能表数据有统一的命名规则,避免因数据名称歧义引起计量差错,DLMS/COSEM规定了OBIS, 给电能表中的所有数据,包括测量值和抽象参数,都提供了一个统一的标识码,在IEC 62026-61中,给出了这些标识码的详尽列表。OBIS码是一个由6个数码组成的组合编码,它以分层的形式描述了每个数据项的准确含义,各数码的用途如下:
数码A用于标识抽象数据和被测能量的类型,如:电1、热6、气7、冷水8、热水9等;
数码B用于标识测量通道号,如:电能表输入通道的编号;
数码C用于标识信息来源,如:正向有功功率1、电流11、电压12等;
数码D用于标识物理量的处理方法,如:求积分值8、平均值4、最大值6等;
数码E用于标识费率类型,如:费率1、费率2、费率3、总费率0等;
数码F用于标识结算周期,如:结算周期1、结算周期2、与结算周期无关的底度值255等。
例如图4中的正向有功总电量寄存器对象,其OBIS码为1.1.1.8.0.255,表示能量类型为电能1、测量通道号为1、信息来源为有功功率1、处理方法为积分值8、费率类型为总费率0、结算周期为与结算周期无关的底度值255。
1.4 COSEM数据项格式
不同电能表通信协议采用的数据项格式也不相同,从而造成互操作性差,在DLMS/COSEM中定义了统一的数据项格式,并且在数据项自身中包含了数据类型等信息,能够自我解释。
COSEM数据项格式由数据项的数据类型、值、倍率和量纲四部分组成。例如图4的正向有功总电量数据项的格式为:数据类型为整型、值为1483、倍率为10^1、量纲为Wh,14.83kWh,所表示的数据含义为14.83kWh。又例如图5电能表中的二进制数据项10000001,仅从数据值本身无法知道其确切含义,但如果采用COSEM数据项格式,就能确切表示这个数据项的含义,图中该数据在电能表A中的含义为-127kWh,而在表B中的含义为+1290W。
1.5 AA(Application Association)
每个电能表都包含一组COSEM对象集,然而并不是所有对象对任何用户都是可访问的,电能表用户与可访问接口对象的关系在AA中定义。AA相当于电能表的“门卫”,一旦用户对电能表的访问建立之后,门卫就检查用户的身份并打开相应的可访问对象的“视窗”。DLMS/COSEM为身份验证过程提供了多种安全级别,对不同用户可以赋予不同的安全级别。
图6显示了一个电能表及其COSEM对象集合,访问电能表的用户有:用户A、用户B,可能还会有“黑客”。门卫的作用就是识别每个用户并建立正确的应用连接来赋予相应的访问权限。图7中示出了两种不同的应用连接,对用户A该电能表提供2个寄存器、2个曲线、1个时钟和1个活动日历可访问对象;对用户B该电能表提供7个寄存器和1个曲线可访问对象。
1.6 通信协议堆栈模型
DLMS/COSEM基于简化的ISO的OSI模型,制定了通信协议堆栈模型,如图8。COSEM服务器模型建立在通信协议堆栈模型之上,使电能表计量功能与通信功能之间进行了严格划分,通过为通信信道配套其相应的通信协议堆栈可以支持各种类型的通信信道,但并不改变位于堆栈顶层的COSEM应用层,从而不会影响DLMS/COSEM服务器模型,减少了更换通信信道时对电能表计量功能的影响。截至目前为止,DLMS/COSEM通信协议对栈模型支持以下通信信道:PSTN(Public Switched Telephone Network)、GSM、光口、双绞线(RS485)等,对Internet的支持正处于研究之中,将来为支持新的通信信道还可以不断扩充协议堆栈。
2 一致性测试认证[10]
一致性测试认证是对一种电能表的具体实现是否符合DLMS/COSEM通信协议标准的规范要求进行的验证,其主要目的是增加不同产品真正实现互操作性的可能性。
一致性测试认证包括五部分内容:
1)基于DLMS/COSEM标准体系的一致性测试计划;
2)一致性测试工具;
3)标有“DLMS UA Compliant”的测试报告;
4)兼容电能表目录;
5)一致性测试维护方法。
进行一致性测试认证时,首先由DLMS UA授权的检测机构使用一致性测试工具对电能表进行测试,测试完毕后将测试报告送交DLMS UA,经过DLMS UA认可后发给用户。
3 DLMS/COSEM与其它通信协议标准的区别
目前在电能表常用的通信协议标准有:
1)国内多功能电能表普遍使用的DL/T645-1997《多功能电能表通信规约》;
2)读表、费率和负荷控制的数据交换—直接本地数据交换IEC1107:1996;
3)基于双绞线的Euridis通信协议IEC 62056-31:1999;
4)用于变电站站内和站间通信标准IEC 60870-5-102:1996;
5)在北美使用的通信协议ANSI C12.18(光口)、C12.19(公用表)和C12.21(电话通信)。
与这些通信协议标准相比,DLMS/COSEM由于采用了第1章介绍的关键技术从而能够支持各种各样的商业活动、支持变革与竞争,并显著降低系统生存周期费用,这是DLMS/COSEM与其它电能表通信协议的本质区别。正是由于DLMS/COSEM所具有的这些独一无二的特征,决定了只有DLMS/COSEM才是真正具有互操作性的电能表通信协议标准。
4 应用举例
4.1 电能表的安装
安装传统电能表并将它们集成到计量计费系统中是一个冗长乏味的过程,尤其是在包含不同厂家电能表情况下更是如此。而对于采用DLMS/COSEM通信协议的任何厂家的电能表,整个安装过程可以自动完成,这样既提高工作效率,又将安装错误的主要来源——人员影响——降到最低限度。安装过程如下:
在建立通信连接之前首先在本地配置电能表的通信参数:
1)使用“Modem配置”对象设置Modem通信参数;
2)使用“自动拨号”对象设置自动拨号参数(例如拨号时间窗口、拨号次数等);
3)使用“自动应答”对象设置自动应答参数(例如应答时间窗口、连接前振零次数)。
在电能表与主站建立好通信连接之后(或反之,取决于是选择自动拨号模式还是自动应答模式),主站必须通过电能表的身份验证,然后电能表将其可访问的对象列表上传至主站,主站根据实际需要决定对电能表的哪些对象进行访问,例如读取电能表的测量数据(即“寄存器”对象)或设置TOU(Time Of Use)表(即“活动日历”对象)等。
4.2 时钟同步
DLMS/COSEM采用面向对象设计方法的好处在“时钟”对象的处理上表现得尤为突出。该对象包括时间、日期、状态等“属性”以及调整时间的各种“方法”,因此只要制造厂家提供了“时钟”对象,也就明确了时间和日期是如何表示的,夏令时是如何处理的以及时间是如何调整的等种种问题。对于主站来说,只需一个简单模块就能处理所有电能表与时间相关的问题,而于电能表的制造厂家无关。
4.3 费率(TOU)设置
电能表的费率结构可以通过“活动日历”接口对象使用标准化的方法进行设置。由于DLMS/COSEM提供了完善的安全机制,费率既可在本地或直接本地设置,也可在远方设置。费率设置同样做到了与制造厂家无关,体现了互操作性的优越性。
5 结束语及展望
实现电能表通信的互操作性,将会给电能表的各种应用带来巨大的好处:方便计量计费系统集成、方便系统和电能表维护管理、方便通信信道更新换代、保护系统和电能表投资、计量部门可以自由选购电能表而不受通信协议的限制、电能表制造厂家可以专注于电能表计量性能的提高而不必过多考虑通信协议的制定、集成商可以充分完善系统功能而不再受通信协议制约等等,因此实现电能表通信的互操作性势在必行。
实现电能表通信的互操作性,关键在于制定具有互操作性的通信协议标准,所有厂家只要共同遵循DLMS/COSEM通信协议标准,就能最终实现电能表通信的互操作性。
图1 IEC 62056标准体系在通信模型中的位置 |
应用进程 |
|
应用层 |
中间协议层 层 |
物理层 |
议堆栈 |
IE62056-61/62 205 - /62 |
IEC62056-53 |
IEC62056-46 |
IEC62056-42/21 |
电能表 |
|
LDN |
寄存器:总电量 |
寄存器:费率1 |
A |
管理逻辑设备 |
COSEM 物理设备A
|
逻辑设备2 |
COSEM对象 |
COSEM |
管理逻辑设备 |
COSEM对象 |
COSEM |
图2 COSEM服务器模型 |
图3 具有简单功能电能表的模型 |
电能表A 10000001 |
integer |
10000001 |
10^3 |
Wh |
= -127 kWh |
电能表B 10000001 |
unsigned |
10000001 |
10^1 |
W |
= +1290 W |
图5 COSEM数据项格式 |
寄存器 |
逻辑名 值 倍率量纲 |
复位 |
类 |
图4 接口类及其实例 |
方法 |
属性 |
实例 |
对象 |
属性值 |
正向有功总电量寄存器 |
逻辑名=1.1.1.8.0.255 |
值:1483 倍率量纲:10^1Wh |
正向无功总电量寄存器 |
逻辑名=1.1.1.3.8.0.255 |
值:957 倍率量纲:10^1varh |
复位 |
复位 |
电能表 |
连接 |
寄存器 |
曲线 |
时钟 |
活动日历 |
门卫 |
通信网 |
黑客 |
用户A |
用户B |
图6 “门卫”和不同的用户 |
电能表 |
连接 |
寄存器 |
曲线 |
时钟 |
活动日历 |
门卫 |
通信网 |
用户A |
图7 同一电能表对于两种用户的“应用连接” |
电能表 |
连接 |
寄存器 |
曲线 |
时钟 |
活动日历 |
门卫 |
用户B |
通信网 |
图8 通信协议堆栈模型 |
COSEM服务器模型 |
协议堆栈 |
物理层 |
|
|
N-1层 |
N层 |
协议栈1 |
应用层 |
物理层 |
|
|
N-1层 |
N层 |
协议栈2 |
物理层 |
|
|
N-1层 |
N层 |
协议栈M |
COSEM应用层 |
………… |
应用进程 |
表1 支持计量功能的接口类库
接口类名称 |
功能 |
数据 |
存储与内部电能表对象相关的数据 |
寄存器 |
存储相关单元的测量值或状态值 |
扩展寄存器 |
存储测量值及其相关的状态、量纲和时间信息 |
需量寄存器 |
存储需量值及其相关的状态、量纲和时间信息 |
寄存器激活 |
处理不同的费率结构 |
通用曲线 |
存储负荷曲线、历史值和事件记录等 |
时钟 |
处理与时间相关的操作(设置、调整、夏令时等) |
脚本表 |
存储一组定义动作发生顺序的脚本 |
时间表 |
定义事件的触发时间 |
特殊日表 |
定义需要特殊处理的日期 |
活动日历 |
定义某个对象状态改变的发生时间 |
LN连接 |
当对象使用标识码寻址时逻辑设备中的目录表 |
SN连接 |
当对象使用短名寻址时逻辑设备中的目录表 |
SAP分配 |
物理设备中可用逻辑设备的一览表 |
寄存器监视 |
被监视并用于触发某种操作的寄存器 |
公用表 |
根据ANSI标准制定的包含计量数据的表格 |
单个动作时间表 |
简单事件触发(例如需量复位) |
表2 支持通信功能的接口类库
接口类名称 |
功能 |
IEC光口设置 |
设置IEC 62056-61中定义的光口参数 |
PSTN Modem配置 |
设置PSTN Modem参数 |
PSTN自动应答 |
支持自动应答模式下的PSTN Modem操作 |
PSTN自动拨号 |
支持自动拨号模式下的PSTN Modem操作 |
IEC HDLC设置 |
设置用于支持HDLC协议的接口参数 |
IEC双绞线设置 |
设置IEC 62056-31中定义的接口参数 |
参考文献:
[1] Helmut Ratzenhofer,Thomas Schaub, Touko Salo ,Martin Wisy.The Importance of Being Interoperable.DLMS User Association, Dec 2002.
[2] DLMS/COSEM Frequently asked questions.DLMS User Association,Sep 2002.
[3] IEC 62056-61, Electricity metering - Data exchange for meter reading, tariff and load control - Part 61: Object identification system (OBIS)[S].
[4] IEC 62056-62, Electricity metering - Data exchange for meter reading, tariffand load control - Part 62: Interface classes [S].
[5] IEC 62056-53, Electricity metering - Data exchange for meter reading, tariff and load control - Part 53: COSEM application layer[S].
[6] IEC 62056-46, Electricity metering - Data exchange for meter reading, tariff and load control - Part 46: Data link layer using HDLC protocol[S].
[7] IEC 62056-42, Electricity metering - Data exchange for meter reading, tariff and load control - Part 42: Physical layer services and procedures for connection-oriented asynchronous data exchange[S].
[8] IEC 62056-21, Electricity metering - Data exchange for meter reading, tariff and load control - Part 21: Direct local data exchange[S].
[9] Thomas Schaub,Helmut Ratzenhofer,Martin Wisy,Touko Salo.The Importance of Being Interoperable[EB/OL].DLMS User Association,Sep 2002.
[10] COSEM Conformance Test Process[EB/OL].DLMS User Association,Sep 2002.
[11] 潘新民主编.计算机通信技术[M].北京电子工业出版社,2002.