基于DLMS /COSEM协议的智能电表设计
雷利兵1, 朱青1, 张利平2
(1. 湖南大学电气与信息工程学院,长沙 410082;2. 长沙威胜电子公司,长沙 410013) 摘要:根据自动抄表系统(AMR )的需要,运用DLMS/COSEM通信协议设计了具有互操作性的电子式智能电能表。重点分析了通信协议在电能表上的实现方法,利用面向对象思想建立了电能表模型,运用分层原理从物理层、链路层和应用层分别对协议栈进行了设计。测试结果表明,电能表符合DLMS/COSEM通信协议,满足自动抄表系统的发展需要。 关键词:自动抄表 电子式电能表 DLMS/COSEM 互操作性
中图分类号:TP368 文献标识码:B
Design of Intelligent Watt-hour Meter Based on Protocol DLMS/COSEM
Lei Libing1 , Zhu Qing1, Zhang Liping2
(1. College of Electric and Information Engineering, Hunan University, Changsha 410082
2. Changsha Weisheng Electronics co.Ltd Changsha 410013 )
Abstract :According to the needs of automatic meter reading system, an interoperability Electronic Energy Meter was designed with Communication Protocol DLMS/COSEM. This paper focus on how the communication protocol method was used in Watt_hour Meter, using object-oriented thinking the power meter instrument model was established, and with hierarchical principle, from the physical layer and link layer to application-level design methods were presented, After testing,it is shown that the meter achieve the Communication Protocol DLMS/COSEM and meet the need of AMR.
Keywords: AMR, Electronic Watt_hour Meter,DLMS/COSEM,Interoperability
1 引言
目前自动抄表系统(AMR )已在我国电能计量部门得到了广泛的应用,它为电能管理的现代化创造了良好的条件。但是由于国内没有实现电能表通信协议的统一,使得通信协议互不兼容,不利于电能管理系统的集成、维护和升级。
DLMS /COSEM通信协议是国际电工委员会为解决自动抄表系统和计量系统中的数据采集,仪表安装、维护,系统集成等问题提出的新的电能表通信标准。它以良好的系统互连性和互操作性成为迄今为止较为完善的电表通信协议标准。DLMS/COSEM通信协议标准已经被IEC 采纳作为国际标准,即IEC62056系列[1]。本文采用该标准设计了满足AMR 发展要求的电能表。 2 自动抄表系统组成
自动抄表系统大体由三部分构成:电能表、通信网络、数据交互设备[2]。电能表是指具有数据存储以及通信交换能力的电力仪表;通信网络是指在电能表和数据交换设备之间进行数据传输的通道;数据交换设备则是需要与电能表进行数据通信、采集或调校电能表的设备,如抄表主台。电能表、数据交换设备、传输网络是自动抄表系统的基础,而自动抄表系统的核心是通信协议标准,因此,选择一个合适的通信标准对构建自动抄表系统显得至关重要。
3 IEC62056系列标准
传统的电能表通信协议采用面向虚拟设备的设计方法,即面向电表的设计方法,在协议中仅 包含被访问设备和数据的地址,数据的数值。该种协议的特点是原理简单,对仪表和系统开发的要求不高,但是在与不同的设备集成时,需要编制特定的驱动程序。目前国内运用最广泛的 DL/T645多功能电能表通信协议就是采用此方法[3]。IEC62056标准致力于满足所有计量仪表与自动抄表系统的应用要求,满足不同设备系统之间的集成,它以兼容性、独立性、扩展性作为其实
现目标。兼容性即不同厂商产品相互兼容、新开发产品与现存产品兼容;独立性即产品与通信介质、制造厂商等无关;扩展性即易于对现存系统进行扩展(仪表具备即插即用特性) 、仪表功能可扩展。所有这些的关键在于互操作性的实现与认证。互操作性是指计量仪表数据管理系统能够与任何一个计量仪表进行对话,而与制造厂家、仪表型号、能量类型以及通信介质无关 [4] [6]。
IEC62056标准协议(电能计量— 用于抄表,费率和负荷控制的数据交换)整体上分两大部分:设备语言报文规范DLMS (Device Language Message Specification)和电能计量配套技术规范模型COSEM (Companion Specification for Energy Metering),故也被称为DLMS/COSEM协议 [1].[5]。 4 基于DLMS/COSEM协议的电能表设计
4.1 电能表的硬件组成
三相电子式电能表由电流互感器、电压采样网络、计量集成电路A TT7022B 等组成电能计量单元;由微控制器(瑞萨M30624单片机)、数据存储卡、时钟芯片、LCD 组成数据处理与显示单元;由RS485总线、红外(或无线)等通信接口组成通信单元。如图1所示。
图1 电能表的组成
4.2 电能表的软件实现
本设计电能表采用模块化方法实现软件功能,包括计量模块、显示模块、事件记录模块、分时模块、通信模块等,其中,除了通信模块,其他部分与一般电能表软件相比基本相同,因此以下重点分析电能表通信协议模块的实现。
电能表通信结构采用C/S模式,仪表端作服务器,抄表主台等作客户端。通信协议架构如图2示[5]。DLMS/COSEM作为面向连接的协议,规定以下三个步骤来实现电能表系统的建立和通信:
1. 建立仪表模型和数据标识。2. 将模型映射为协议数据单元APDU 、对象的属性和方法可被用于定义访问。3. 通过数据链路层与物理层连接,最后通过传输通道进行通信。以下主要从建立符合COSEM 的仪表模型和满足DLMS 的通信协议栈两方面分析电能表通信功能的实现方法。
图2 通信功能实现架构
4.2.1 利用面向对象思想构建仪表模型
DLMS/COSEM协议使用COSEM 接口对象,采用面向对象的方法来构建仪表数据模型和功
能模型,通过各个COSEM 接口类对象之间的配合来完成某个特定功能。
仪表模型的构建包括两部分重要内容:协议61部分的OBIS—对象标识系统和62部分的接口类[5]。
OBIS—对象标识系统给计量仪表中的所有数据都提供了一个标准的标识码,该标识码唯一标识一个数据对象。OBIS 码由6个数码项(6个字节A-F )组合编码。 每个数据项的含义为:A 组值标识被测能量的类型(包括水、电、气等);B 组值标识测量通道;C 组值标识被测物理量;D 组值标识被测物理量处理方法;E 组值标识费率;F 组值标识历史数据。从第B 组到第D 组为厂家自定义标识码预留了空间。
接口类—IEC62056针对仪表部件和通信接口单元引进了类的概念,每个分类号都对应于一类接口对象,每个对象包括属性和方法,根据这些属性和方法,可以构成该对象的参考模型,在对象模型中不用考虑对象接口的生产制造厂家。目前,在IEC62056-62 中规定了电能表中主要的接口类包括:寄存器、时钟、曲线类、特殊日类、以太网设置类等。
本电能表根据需要设计了如图3所示的仪表模型。物理设备为本电表,考虑到电能表的功能
图3 电能表仪表模型
可以整合在一个功能子集中,也为了节约资源,本电能表只构建了一个逻辑设备,用逻辑设备名LDN 来标识。组成该电能表的对象有:包含有功、无功电量等的寄存器对象、包含需量数据的需量寄存器对象、实现多费率功能的日历表、时间表、特殊日、时钟以及脚本对象、用于连接功能的SAP 和LN/SN对象以及实现失压断相等事件记录的寄存器监视对象等。电能表就通过这一系列接口类对象的相互配合构成一个完整的电能表模型。
以下举例说明接口对象的程序实现,考虑单片机编译器只支持C 语言编程,故设计用函数指针来实现类和对象。以有功电能接口对象为例,在图3所示的仪表模型中,有功电能用寄存器类封装,OBIS 码就是寄存器类中的属性1:逻辑名。
typedef bool *( *ResetDef ) (char *); // 定义复位函数指针
bool Reg_reset(char *); // 定义公用复位函数, 函数内容略
struct Register // 寄存器接口类定义
{
unsigned char Logical_name[6]; // 属性1,逻辑名
unsigned long Value; // 属性2,值
Scaler_UnitType Scaler_Unit; // 属性3,倍率_量纲
ResetDef reset; // 方法1,复位
};
struct Register P_Act_Energy; // 总正向有功电能量对象
P_Act_Energy.reset = Reg_reset; //实现方法:复位
4.2.2通信协议栈的实现
通信协议栈包括物理层、数据链路层和应用层三层。
(1) 物理层的任务比较简单,包括连接管理、数据收发和与数据链路层接口三部分。它对应于通信系统的底层驱动部分。
(2) 数据链路层包括提供链路传输服务的LLC 子层和负责数据传输可靠性的MAC 子层。链路层采用HDLC 协议,它是一种透明数据传输协议。在DLMS/COSEM 协议模型中,链路层负责数据传输可靠性,应用层处理用户数据信息。链路层程序流程图如图4所示。
图4 数据链路层程序流程图
(3) DLMS/COSEM应用层用一种抽象语法语言来描述。这样做极大的提高了协议的抽象性和通用性,有利于程序移植。应用层规定用抽象语法记法ASN.1来描述应用层数据帧,而应用层的APDU (应用协议数据单元)用编码规则BER 和A-XDR 来实现ASN.1 语法。应用层作为协议栈的最上层,负责向COSEM 应用进程提供服务,包括建立应用连接服务和接口对象用户数据信息服务,并使用低层支撑协议提供的服务。应用层程序流程图如图5所示。
图5 应用层处理流程图
通过以上的处理,在完成信息编码后形成的报文即可通过信道进行传输了。本电能表配置的是抄表系统常用的485总线和红外口。
5 结论
利用本方法设计的电能表采用DLMS UA工作组提供的专用测试工具CTT 进行符合性测试,结果显示其符合DLMS/COSEM协议要求,因此获得了DLMS UA工作组的认证,这也是国内第一块获得该认证的三相电能表。基于DLMS/COSEM的电能表的实现,改变了现阶段国内计量仪表不具有互操作性的缺点,必将推动国内自动抄表系统的进一步发展。
本文作者创新点:
根据当前电能表要求设计了仪表模型,程序上利用C 语言函数指针实现类和对象;利用分层方式实现了通信协议栈,产品通过了DLMS 测试认证。
参考文献
[1]宋晓林,刘君华等 具有互操作性的新一代电能表通信协议标准[J].电力系统通信 2004(4):38-42
[2] 陈燕秀,王靖. 新型单片机电能表抄表系统设计[J]. 微计算机信息,2008,7-2:121-122
[3]杨晓西 计量仪表和抄表系统的设计与IEC62056标准[J].电测与仪表.2005,42(3): 37-41
[4]陆文远,徐人恒. DLMS/COSEM—关于互操作性[J].电测与仪表.2005,42(10): 51-54
[5]IEC62056.Electricity metering-Data change for meter reading ,tariff and load control[S]. FDIS (IEC),2004
[6] IEC 61334-6. A-XDR encoding rule overview[S].DLMS UA,2000
作者简介:雷利兵(1981-),男,汉族,湖南大学电气与信息工程学院,硕士研究生,研究方向:智能仪表, 嵌入式应用。
Biography: Lei Libing (1981-),Male, Han, College of Electric and Information Engineering, Hunan University, Master, Research area: intellective meter, Embedded applications.
导师简介:朱青(1968-),女,汉族,湖南大学电气与信息工程学院,副教授,博士,研究方向:嵌入式应用,信号处理。
Instructor Biography: Zhu Qing (1968-),Female, Han, College of Electric and Information Engineering, Hunan University, Associate professor, Doctor, Research area: Embedded applications, Signal Processing.
项目经济效益(200万)
基于DLMS /COSEM协议的智能电表设计
雷利兵1, 朱青1, 张利平2
(1. 湖南大学电气与信息工程学院,长沙 410082;2. 长沙威胜电子公司,长沙 410013) 摘要:根据自动抄表系统(AMR )的需要,运用DLMS/COSEM通信协议设计了具有互操作性的电子式智能电能表。重点分析了通信协议在电能表上的实现方法,利用面向对象思想建立了电能表模型,运用分层原理从物理层、链路层和应用层分别对协议栈进行了设计。测试结果表明,电能表符合DLMS/COSEM通信协议,满足自动抄表系统的发展需要。 关键词:自动抄表 电子式电能表 DLMS/COSEM 互操作性
中图分类号:TP368 文献标识码:B
Design of Intelligent Watt-hour Meter Based on Protocol DLMS/COSEM
Lei Libing1 , Zhu Qing1, Zhang Liping2
(1. College of Electric and Information Engineering, Hunan University, Changsha 410082
2. Changsha Weisheng Electronics co.Ltd Changsha 410013 )
Abstract :According to the needs of automatic meter reading system, an interoperability Electronic Energy Meter was designed with Communication Protocol DLMS/COSEM. This paper focus on how the communication protocol method was used in Watt_hour Meter, using object-oriented thinking the power meter instrument model was established, and with hierarchical principle, from the physical layer and link layer to application-level design methods were presented, After testing,it is shown that the meter achieve the Communication Protocol DLMS/COSEM and meet the need of AMR.
Keywords: AMR, Electronic Watt_hour Meter,DLMS/COSEM,Interoperability
1 引言
目前自动抄表系统(AMR )已在我国电能计量部门得到了广泛的应用,它为电能管理的现代化创造了良好的条件。但是由于国内没有实现电能表通信协议的统一,使得通信协议互不兼容,不利于电能管理系统的集成、维护和升级。
DLMS /COSEM通信协议是国际电工委员会为解决自动抄表系统和计量系统中的数据采集,仪表安装、维护,系统集成等问题提出的新的电能表通信标准。它以良好的系统互连性和互操作性成为迄今为止较为完善的电表通信协议标准。DLMS/COSEM通信协议标准已经被IEC 采纳作为国际标准,即IEC62056系列[1]。本文采用该标准设计了满足AMR 发展要求的电能表。 2 自动抄表系统组成
自动抄表系统大体由三部分构成:电能表、通信网络、数据交互设备[2]。电能表是指具有数据存储以及通信交换能力的电力仪表;通信网络是指在电能表和数据交换设备之间进行数据传输的通道;数据交换设备则是需要与电能表进行数据通信、采集或调校电能表的设备,如抄表主台。电能表、数据交换设备、传输网络是自动抄表系统的基础,而自动抄表系统的核心是通信协议标准,因此,选择一个合适的通信标准对构建自动抄表系统显得至关重要。
3 IEC62056系列标准
传统的电能表通信协议采用面向虚拟设备的设计方法,即面向电表的设计方法,在协议中仅 包含被访问设备和数据的地址,数据的数值。该种协议的特点是原理简单,对仪表和系统开发的要求不高,但是在与不同的设备集成时,需要编制特定的驱动程序。目前国内运用最广泛的 DL/T645多功能电能表通信协议就是采用此方法[3]。IEC62056标准致力于满足所有计量仪表与自动抄表系统的应用要求,满足不同设备系统之间的集成,它以兼容性、独立性、扩展性作为其实
现目标。兼容性即不同厂商产品相互兼容、新开发产品与现存产品兼容;独立性即产品与通信介质、制造厂商等无关;扩展性即易于对现存系统进行扩展(仪表具备即插即用特性) 、仪表功能可扩展。所有这些的关键在于互操作性的实现与认证。互操作性是指计量仪表数据管理系统能够与任何一个计量仪表进行对话,而与制造厂家、仪表型号、能量类型以及通信介质无关 [4] [6]。
IEC62056标准协议(电能计量— 用于抄表,费率和负荷控制的数据交换)整体上分两大部分:设备语言报文规范DLMS (Device Language Message Specification)和电能计量配套技术规范模型COSEM (Companion Specification for Energy Metering),故也被称为DLMS/COSEM协议 [1].[5]。 4 基于DLMS/COSEM协议的电能表设计
4.1 电能表的硬件组成
三相电子式电能表由电流互感器、电压采样网络、计量集成电路A TT7022B 等组成电能计量单元;由微控制器(瑞萨M30624单片机)、数据存储卡、时钟芯片、LCD 组成数据处理与显示单元;由RS485总线、红外(或无线)等通信接口组成通信单元。如图1所示。
图1 电能表的组成
4.2 电能表的软件实现
本设计电能表采用模块化方法实现软件功能,包括计量模块、显示模块、事件记录模块、分时模块、通信模块等,其中,除了通信模块,其他部分与一般电能表软件相比基本相同,因此以下重点分析电能表通信协议模块的实现。
电能表通信结构采用C/S模式,仪表端作服务器,抄表主台等作客户端。通信协议架构如图2示[5]。DLMS/COSEM作为面向连接的协议,规定以下三个步骤来实现电能表系统的建立和通信:
1. 建立仪表模型和数据标识。2. 将模型映射为协议数据单元APDU 、对象的属性和方法可被用于定义访问。3. 通过数据链路层与物理层连接,最后通过传输通道进行通信。以下主要从建立符合COSEM 的仪表模型和满足DLMS 的通信协议栈两方面分析电能表通信功能的实现方法。
图2 通信功能实现架构
4.2.1 利用面向对象思想构建仪表模型
DLMS/COSEM协议使用COSEM 接口对象,采用面向对象的方法来构建仪表数据模型和功
能模型,通过各个COSEM 接口类对象之间的配合来完成某个特定功能。
仪表模型的构建包括两部分重要内容:协议61部分的OBIS—对象标识系统和62部分的接口类[5]。
OBIS—对象标识系统给计量仪表中的所有数据都提供了一个标准的标识码,该标识码唯一标识一个数据对象。OBIS 码由6个数码项(6个字节A-F )组合编码。 每个数据项的含义为:A 组值标识被测能量的类型(包括水、电、气等);B 组值标识测量通道;C 组值标识被测物理量;D 组值标识被测物理量处理方法;E 组值标识费率;F 组值标识历史数据。从第B 组到第D 组为厂家自定义标识码预留了空间。
接口类—IEC62056针对仪表部件和通信接口单元引进了类的概念,每个分类号都对应于一类接口对象,每个对象包括属性和方法,根据这些属性和方法,可以构成该对象的参考模型,在对象模型中不用考虑对象接口的生产制造厂家。目前,在IEC62056-62 中规定了电能表中主要的接口类包括:寄存器、时钟、曲线类、特殊日类、以太网设置类等。
本电能表根据需要设计了如图3所示的仪表模型。物理设备为本电表,考虑到电能表的功能
图3 电能表仪表模型
可以整合在一个功能子集中,也为了节约资源,本电能表只构建了一个逻辑设备,用逻辑设备名LDN 来标识。组成该电能表的对象有:包含有功、无功电量等的寄存器对象、包含需量数据的需量寄存器对象、实现多费率功能的日历表、时间表、特殊日、时钟以及脚本对象、用于连接功能的SAP 和LN/SN对象以及实现失压断相等事件记录的寄存器监视对象等。电能表就通过这一系列接口类对象的相互配合构成一个完整的电能表模型。
以下举例说明接口对象的程序实现,考虑单片机编译器只支持C 语言编程,故设计用函数指针来实现类和对象。以有功电能接口对象为例,在图3所示的仪表模型中,有功电能用寄存器类封装,OBIS 码就是寄存器类中的属性1:逻辑名。
typedef bool *( *ResetDef ) (char *); // 定义复位函数指针
bool Reg_reset(char *); // 定义公用复位函数, 函数内容略
struct Register // 寄存器接口类定义
{
unsigned char Logical_name[6]; // 属性1,逻辑名
unsigned long Value; // 属性2,值
Scaler_UnitType Scaler_Unit; // 属性3,倍率_量纲
ResetDef reset; // 方法1,复位
};
struct Register P_Act_Energy; // 总正向有功电能量对象
P_Act_Energy.reset = Reg_reset; //实现方法:复位
4.2.2通信协议栈的实现
通信协议栈包括物理层、数据链路层和应用层三层。
(1) 物理层的任务比较简单,包括连接管理、数据收发和与数据链路层接口三部分。它对应于通信系统的底层驱动部分。
(2) 数据链路层包括提供链路传输服务的LLC 子层和负责数据传输可靠性的MAC 子层。链路层采用HDLC 协议,它是一种透明数据传输协议。在DLMS/COSEM 协议模型中,链路层负责数据传输可靠性,应用层处理用户数据信息。链路层程序流程图如图4所示。
图4 数据链路层程序流程图
(3) DLMS/COSEM应用层用一种抽象语法语言来描述。这样做极大的提高了协议的抽象性和通用性,有利于程序移植。应用层规定用抽象语法记法ASN.1来描述应用层数据帧,而应用层的APDU (应用协议数据单元)用编码规则BER 和A-XDR 来实现ASN.1 语法。应用层作为协议栈的最上层,负责向COSEM 应用进程提供服务,包括建立应用连接服务和接口对象用户数据信息服务,并使用低层支撑协议提供的服务。应用层程序流程图如图5所示。
图5 应用层处理流程图
通过以上的处理,在完成信息编码后形成的报文即可通过信道进行传输了。本电能表配置的是抄表系统常用的485总线和红外口。
5 结论
利用本方法设计的电能表采用DLMS UA工作组提供的专用测试工具CTT 进行符合性测试,结果显示其符合DLMS/COSEM协议要求,因此获得了DLMS UA工作组的认证,这也是国内第一块获得该认证的三相电能表。基于DLMS/COSEM的电能表的实现,改变了现阶段国内计量仪表不具有互操作性的缺点,必将推动国内自动抄表系统的进一步发展。
本文作者创新点:
根据当前电能表要求设计了仪表模型,程序上利用C 语言函数指针实现类和对象;利用分层方式实现了通信协议栈,产品通过了DLMS 测试认证。
参考文献
[1]宋晓林,刘君华等 具有互操作性的新一代电能表通信协议标准[J].电力系统通信 2004(4):38-42
[2] 陈燕秀,王靖. 新型单片机电能表抄表系统设计[J]. 微计算机信息,2008,7-2:121-122
[3]杨晓西 计量仪表和抄表系统的设计与IEC62056标准[J].电测与仪表.2005,42(3): 37-41
[4]陆文远,徐人恒. DLMS/COSEM—关于互操作性[J].电测与仪表.2005,42(10): 51-54
[5]IEC62056.Electricity metering-Data change for meter reading ,tariff and load control[S]. FDIS (IEC),2004
[6] IEC 61334-6. A-XDR encoding rule overview[S].DLMS UA,2000
作者简介:雷利兵(1981-),男,汉族,湖南大学电气与信息工程学院,硕士研究生,研究方向:智能仪表, 嵌入式应用。
Biography: Lei Libing (1981-),Male, Han, College of Electric and Information Engineering, Hunan University, Master, Research area: intellective meter, Embedded applications.
导师简介:朱青(1968-),女,汉族,湖南大学电气与信息工程学院,副教授,博士,研究方向:嵌入式应用,信号处理。
Instructor Biography: Zhu Qing (1968-),Female, Han, College of Electric and Information Engineering, Hunan University, Associate professor, Doctor, Research area: Embedded applications, Signal Processing.
项目经济效益(200万)