基于DLMS/COSEM协议的智能电表设计
摘要: DLMS/COSEM通信协议是国际电工委员会为解决自动抄表系统和计量系统中的数据采集,仪表安装、维护,系统集成等问题提出的新的电能表通信标准。它以良好的系统互连性和互操作性成为迄今为止较为完善的电表通信协议标准。DLMS/COSEM通信协议标准已经被IEC采纳作为国际标准,即IEC62056系列。本文采用该标准设计了满足AMR发展要求的电能表。
目前自动抄表系统(AMR)已在我国电能计量部门得到了广泛的应用,它为电能管理的现代化创造了良好的条件。但是由于国内没有实现电能表通信协议的统一,使得通信协议互不兼容,不利于电能管理系统的集成、维护和升级。
DLMS/COSEM通信协议是国际电工委员会为解决自动抄表系统和计量系统中的数据采集,仪表安装、维护,系统集成等问题提出的新的电能表通信标准。它以良好的系统互连性和互操作性成为迄今为止较为完善的电表通信协议标准。DLMS/COSEM通信协议标准已经被IEC采纳作为国际标准,即IEC62056系列。本文采用该标准设计了满足AMR发展要求的电能表。
2自动抄表系统组成
自动抄表系统大体由三部分构成:电能表、通信网络、数据交互设备。电能表是指具有数据存储以及通信交换能力的电力仪表;通信网络是指在电能表和数据交换设备之间进行数据传输的通道;数据交换设备则是需要与电能表进行数据通信、采集或调校电能表的设备,如抄表主台。电能表、数据交换设备、传输网络是自动抄表系统的基础,而自动抄表系统的核心是通信协议标准,因此,选择一个合适的通信标准对构建自动抄表系统显得至关重要。
3 IEC62056系列标准
传统的电能表通信协议采用面向虚拟设备的设计方法,即面向电表的设计方法,在协议中仅包含被访问设备和数据的地址,数据的数值。该种协议的特点是原理简单,对仪表和系统开发的要求不高,但是在与不同的设备集成时,需要编制特定的驱动程序。目前国内运用最广泛的DL/T645多功能电能表通信协议就是采用此方法。IEC62056标准致力于满足所有计量仪表与自动抄表系统的应用要求,满足不同设备系统之间的集成,它以兼容性、独立性、扩展性作为其实现目标。兼容性即不同厂商产品相互兼容、新开发产品与现存产品兼容;独立性即产品与通信介质、制造厂商等无关;扩展性即易于对现存系统进行扩展(仪表具备即插即用特性)、仪表功能可扩展。所有这些的关键在于互操作性的实现与认证。互操作性是指计量仪表数据管理系统能够与任何一个计量仪表进行对话,而与制造厂家、仪表型号、能量类型以及通信介质无关。
IEC62056标准协议(电能计量—用于抄表,费率和负荷控制的数据交换)整体上分两大部分:设备语言报文规范DLMS(Device Language Message Specification)和电能计量配套技术规范模型COSEM(Companion Specification for Energy Metering),故也被称为DLMS/COSEM协议。
4基于DLMS/COSEM协议的电能表设计
4.1电能表的硬件组成
三相电子式电能表由电流互感器、电压采样网络、计量集成电路ATT7022B等组成电能计量单元;由微控制器(瑞萨M30624单片机)、数据存储卡、时钟芯片、LCD组成数据处理与显示单元;由RS485总线、红外(或无线)等通信接口组成通信单元。如图1所示。
4.2电能表的软件实现
本设计电能表采用模块化方法实现软件功能,包括计量模块、显示模块、事件记录模块、分时模块、通信模块等,其中,除了通信模块,其他部分与一般电能表软件相比基本相同,因此以下重点分析电能表通信协议模块的实现。
电能表通信结构采用C/S模式,仪表端作服务器,抄表主台等作客户端。通信协议架构如图2示。DLMS/COSEM作为面向连接的协议,规定以下三个步骤来实现电能表系统的建立和通信:1.建立仪表模型和数据标识。2.将模型映射为协议数据单元APDU、对象的属性和方法可被用于定义访问。3.通过数据链路层与物理层连接,最后通过传输通道进行通信。以下主要从建立符合COSEM的仪表模型和满足DLMS的通信协议栈两方面分析电能表通信功能的实现方法。
4.2.1利用面向对象思想构建仪表模型
DLMS/COSEM协议使用COSEM接口对象,采用面向对象的方法来构建仪表数据模型和功能模型,通过各个COSEM接口类对象之间的配合来完成某个特定功能。
仪表模型的构建包括两部分重要内容:协议61部分的O-BIS—对象标识系统和62部分的接口类。
OBIS—对象标识系统给计量仪表中的所有数据都提供了一个标准的标识码,该标识码唯一标识一个数据对象。OBIS码由6个数码项(6个字节A-F)组合编码。每个数据项的含义为:A组值标识被测能量的类型(包括水、电、气等);B组值标识测量通道;C组值标识被测物理量;D组值标识被测物理量处理方法;E组值标识费率;F组值标识历史数据。从第B组到第D组为厂家自定义标识码预留了空间。
接口类—IEC62056针对仪表部件和通信接口单元引进了类的概念,每个分类号都对应于一类接口对象,每个对象包括属性和方法,根据这些属性和方法,可以构成该对象的参考模型,在对象模型中不用考虑对象接口的生产制造厂家。目前,在IEC62056-62中规定了电能表中主要的接口类包括:寄存器、时钟、曲线类、特殊日类、以太网设置类等。
本电能表根据需要设计了如图3所示的仪表模型。物理设备为本电表,考虑到电能表的功能可以整合在一个功能子集中,也为了节约资源,本电能表只构建了一个逻辑设备,用逻辑设备名LDN来标识。组成该电能表的对象有:包含有功、无功电量等的寄存器对象、包含需量数据的需量寄存器对象、实现多费率功能的日历表、时间表、特殊日、时钟以及脚本对象、用于连接功能的SAP和LN/SN对象以及实现失压断相等事件记录的寄存器监视对象等。电能表就通过这一系列接口类对象的相互配合构成一个完整的电能表模型。
以下举例说明接口对象的程序实现,考虑单片机编译器只支持C语言编程,故设计用函数指针来实现类和对象。以有功电能接口对象为例,在图3所示的仪表模型中,有功电能用寄存器类封装,OBIS码就是寄存器类中的属性1:逻辑名。
4.2.2通信协议栈的实现
通信协议栈包括物理层、数据链路层和应用层三层。
(1)物理层的任务比较简单,包括连接管理、数据收发和与数据链路层接口三部分。它对应于通信系统的底层驱动部分。
(2)数据链路层包括提供链路传输服务的LLC子层和负责数据传输可靠性的MAC子层。链路层采用HDLC协议,它是一种透明数据传输协议。在DLMS/COSEM协议模型中,链路层负责数据传输可靠性,应用层处理用户数据信息。链路层程序流程图如图4所示。
(3)DLMS/COSEM应用层用一种抽象语法语言来描述。这样做极大的提高了协议的抽象性和通用性,有利于程序移植。应用层规定用抽象语法记法ASN.1来描述应用层数据帧,而应用层的APDU(应用协议数据单元)用编码规则BER和A-XDR来实现ASN.1语法。应用层作为协议栈的最上层,负责向COSEM应用进程提供服务,包括建立应用连接服务和接口对象用户数据信息服务,并使用低层支撑协议提供的服务。应用层程序流程图如图5所示。
通过以上的处理,在完成信息编码后形成的报文即可通过信道进行传输了。本电能表配置的是抄表系统常用的485总线和红外口。
5结论
利用本方法设计的电能表采用DLMS UA工作组提供的专用测试工具CTT进行符合性测试,结果显示其符合DLMS/COSEM协议要求,因此获得了DLMS UA工作组的认证,这也是国内第一块获得该认证的三相电能表。基于DLMS/COSEM的电能表的实现,改变了现阶段国内计量仪表不具有互操作性的缺点,必将推动国内自动抄表系统的进一步发展。
本文作者创新点:根据当前电能表要求设计了仪表模型,程序上利用C语言函数指针实现类和对象;利用分层方式实现了通信协议栈,产品通过了DLMS测试认证。
暂无评论