摘 要:IEC61850是将来变电站无缝通信体系的基础,国内对IEC61850的研究还主要停留在理论层面上,对它的实际应用的研究并不多见,本文从实际应用角度出发,以故障录波通信系统为目标,采用了面向对象的技术,详尽分析了基于IEC61850的IED(故障录波器)的建模,传输中数据库的建立、数据链接以及ASCI到具体通信栈的映射的实现,并通过PC机得到模拟结果,取得了较理想的结果,为工业变电站自动化应用IEC61850做了前瞻性工作。
关键词:IEC61850;MMS;故障录波;数据通信;面向对象
故障录波信息系统构成从故障录波装置到变电站子站、主站侧的前置、主站侧的数据库、主站侧的应用服务器,直至主站侧客户端的一个完整的信息传输、处理、应用的过程,是一个典型的分散分级数据采集、传输、数据汇集的过程。采用IEC61850的故障录波信息系统所提供的对象调用将极大地满足主站实时数据调用的自由度和效率,从调度端的应用出发,发挥最大效能最迫切、最实际的就是首先在变电站加速建立符合IEC61850和制造报文规范(MMS)的故障录波信息系统模型,这样,调度端对录波数据获取将完全是面向对象、面向目标应用和面向点对点通信。
完成录波系统数据通信的主要工作有:建立录波系统(IED)抽象模型、数据库设计、ASCI-MMS映射、网关设计和数据连接等。VMD中应有唯一的标识,同时其属性不仅要满足现有IED的属性定义和操作,以实现对实设备IED的控制,并实现实设备VMD的属性向IEC61850定义的逻辑节点(LN)构成的逻辑设备的映射,同时实现其IEC61850和MMS与主站通信。
1 录波系统通信建模
对于录波系统通信模型,采用扩展的RADE和RBDE分别描述模拟通道和数字通道以便对IEEE-COMTRADE通道数据进行全局性标识。由于IEC61850没有规定以文件方式交换录波系统数据的通信方式,本文建立了录波系统的通信功能模型,如图1所示。
RADE和RBDE分别描述模拟通道和数字通道。对每一通道建模一个RADE或RBDE实例。以对IEEE-COMTRADE通道数据进行全局性标识以及进行配置描述。RADE和RBDE的cmtCfg数据项(CHNDT类型)用于描述该通道与信号源设备的对应关系以及描述承载该通道数据的IEEE-COMTRADE文件和与文件中通道编号的对应关系。IEDM用于建模录波系统的通知和交换功能。扰动记录装置每次动作产生的数据可以根据需要形成或分解成多个IEEE-COMTRADE数据文件(.DAT),根据数据文件的个数,建模IEDM实例的个数。IEDM的chgEvt数据项用于通知新扰动记录的产生以及对应的.HDR.CFG.INF文件的更改。其中,
ehgEvt.eelssx(x=1到5)将反应本次事件的触发条件:ChgEvt.eClssl为TRUE表示发生了1类事件,一般指
.HDR.CFG.INF文件的更改事件;
chgEvt.eclss2为TRUE表示发生了2类事件,一般指新扰动记录产生的事件;
chgEvt.eclss3为TRUE表示发生了3类事件,一般指有持续5 ms以内的模拟量波形的突变;
chgEvt.eclss4为TRUE表示发生了4类事件,一般指有持续5 ms以上的模拟量波形的突变;
chgEvt.eclss5为TRUE表示发生了5类事件,一般指有数字量波形的突变。
chgEvt.FileName属性用于指定事件所涉及文件的文件名。
2 数据库设计
2.1 实时数据库的总体规划
实时数据库管理实时数据以及与实时数据有关的信息,与传统数据库相比,主要在调度机制、并发控制机制和事务管理方面有较大的区别。实时应用是具有定时限制的数据库任务,它是实时数据库系统的服务对象,也是实时事务产生的源泉。基于此,本文将从实时调度、实时并发控制与数据管理三方面设计面向对象实时数据库。
2.2 实时数据库的实现方法
通过解析IEC 61850中的变电站描述语言SCL,根据SCL的内容,动态创建和管理实时数据库的数据结构,调用IEC61850类库中相关类的定义,动态地创建面向对象的数据和服务。在此基础上创建基于IEC61850协议的面向对象内存数据库系统,并通过对此面向对象内存数据库添加相应的实时性约束,将其最终创建为满足实时性要求的基于IEC61850协议规定的面向对象实时数据库系统。
主要步骤如图2所示,包括以下3步:
(1)利用XMLDOM,依据IEC61850-6中SCL的描述,动态创建内存数据库的数据结构。
(2)根据IEC61850类库提供的相关类的定义,创建实时数据库数据和服务,并将这些数据和服务添加到对应的数据结构中。
(3)为面向对象的内存数据库系统,添加实时调度算法和并发控制策略等实时性约束条件,使之最终能够建成面向对象的实时数据库系统。
在这3步中,对于第一部分而言,主要工作包括数据库结构的动态创建、动态管理、数据对象的添加和删除等基本工作;第二部分的工作主要是根据IEC61850类库所提供的数据类和相关服务,初步实现内存数据库中的数据对象的一些基本操作功能,如数据对象的基本读、写、修改等操作。这两步工作的结果在内存中动态创建基于IEC61850协议的面向对象的内存数据库的数据结构和内存数据对象和服务。第三部分工作的主要功能是为这个基于IEC61850协议的面向对象的内存数据库添加实时性约束,根据实时事务的轻重缓急决定哪个实时事务在何时执行,使之既能够满足实时性的要求,又能够满足数据库逻辑一致性,并最终将此内存数据库设计成为满足实时性要求的面向对象的实时数据库。
3 ASCI类到MMS的映射实现
ASCI类向MMS映射需要将ACSI类的属性结构映射为MMS类的一个或多个字段的值。这种映射可以看作是ACSI类的MMS封装。下面以逻辑节点类的映射为例加以说明。逻辑节点类的实例被映射为一个MMS的有名变量对象。MMS有名变量类的ASN.1描述如下:
NAMED-VARIABLE ::= CLASS
{ &name ObjectName,
&accessControl Identifier,
&typeDescription TypeDescription,
&value Data,
&accessMethod ENUMERATED
{
public ,
anythingElse ,
... },
&address Address ,
&meaning ObjectName
}
以上类定义中的字段类型TypeDescription是一个用于嵌套的、分层的描述一个数据类型的结构,它的值可以完整地确定一个数据结构。Data则是用于存储相对应的结构的值的结构。在实现MMS映射时,逻辑节点的属性结构可以映射为MMS有名变量的TypeDescription的一个值,相应的逻辑节点实例的值映射为按TypeDescription指定的用Data结构存储的值。这个类型描述的生成可按如下算法实现:
针对IEC61850定义的每一功能约束(FC)的值c,进行如下操作:
(1)对于逻辑节点中的每一成员DATA(d),
①初始化一空结构s;
②如果在功能约束c下产生的功能约束数据FCD非空,则在结构s中添加一个成员到结构s,成员的名称为d,类型为由FCD确定的类型。
③重复①、②,直到逻辑节点所有成员被处理。
(2)如果结构s非空,则在生成的TypeDescription中添加一个以功能约束值c为名称成员,其类型为结构s。
(3)重复(1)、(2),直到所有功能约束值被处理。
如果一个功能约束值在任何成员上产生的FCD均空,则这个功能约束值将不作为有名变量的TypeDescription的一个成员出现。
4 通信网关的设计
设备接口模块使用同设备相同的通信协议,实现同设备的通信,并将收到的点信息存放到一个点信息表结构中。针对设备采用的通信协议不同,可以设计不同的设备接口模块,但它们完成的功能是相同的,即点信息的采集和发送。基于IEC 61850和MMS的通信网关系统结构如图3所示。
点信息表是一个针对设备发送的点信息设计的数据结构,它应满足设备点信息的唯一标识,例如通过一个点ID号,还应具备存储点信息值的能力。由于设备接口模块和MMS服务器可能同时访问(读写操作)点表中信息,因此应为每一个点信息增加一个标志(互斥信号量),以实现对点表信息的互斥访问。此外还可以包含点信息的含义、数据类型等信息。点信息表的结构也会因设备传输的点信息的不同而不同。
5 数据连接过程
在故障录波数据传输中采用客户-服务器模型,服务器端程序实现IEC61850的变电站智能电子设备代理功能,主要是调用前面定义的SCL解析程序,根据配置文件描述,采用ACSI动态连接库的调用,生成IEDs的代理并初始化,然后发布61850 Server服务器,等待客户访问,同时启动服务器端的事件监视功能,完成报告、记录的更新。客户端程序调用ACSI动态连接库中没有具体实现的版本,也就是接口定义部分,接口定义的主要作用就是让客户程序知道每个类的具体方法,客户并不关心实现,只要调用所需方法,就可以获得所需要的结果:
InitClient();//本地安全控制;
TcpChannel chan=new TcpChannel();
ChannelServices.RegisterChannel(chan);//注册信道;
abc=(SERVER)Activator.GetObject(typeof(SERVER),'tcp://202.206.215.119:8085/SERVER');//得到远程对象;
…………//远程调用过程;
5.1 建立连接阶段
建立连接的过程可以用一个服务原语的序列来描述:首先客户端发出N-CONNECT.REQUEST原语,服务器端接收N-CONNECT.INDICATION原语并返回N-CONNECT.RESPONSE原语,客户端接收N-CONNECT.CONFIRMATION原语。当用TCP实现时,为了实现N-CONNECT.REQUEST,客户端TS(OSI传输服务)提供者使用指定的IP地址和特定的端口执行TCP-OPEN_PORT操作。在服务器端通过N-CONNECT.INDICATION事件通知连接指示的产生。为了捕获N-CONNECT.INDICATION事件,服务器端需预先执行TCP-LISTEN_PORT动作,监听特定端口(102端口),当一个客户成功连接到这个端口,TCP-CONNECTED事件发生时,执行N-CONNCET.RESPONSE动作。在这个过程中,服务器端的地址是IP地址加上端口号,客户端地址是一个IP地址,其他参数不进行映射。
5.2 数据传输阶段
为了执行N-DATA.REQUEST动作,TS提供者首先将构造好的传输协议数据单元(TPDU)传递给NS(网络层服务)服务提供者,NS服务提供者再将TPDU封装成称为TPKT的报文单元(TPKT的定义将在下节介绍),然后利用TCP-SEND_DATA传输数据。当数据到达对端后,TCP通过TCP-DATA_READY事件表示数据到达,并触发N-DATA.INDICATION事件,TS用户通过TCP-READ_DATA读取数据。
5.3 释放连接阶段
为了执行N-DISCONNECT.REQUEST动作,TS提供者只需通过TCP-CLOSE原语关闭TCP连接即可。TCP-CLOSED事件表明连接已关闭。
作为未来电力系统无缝通信的基础,IEC61850定义了变电站通信网络和系统的抽象通信服务接口,并采用特殊通信服务映射的方式映射到多种具体的通信协议。MMS是其中最为重要的一个应用层通信协议,本文研究了基于IEC61850/MMS的电力录波数据通信系统,实现了录波数据传输中对61850规约的解析,以及到通信栈的映射,取得一定的成果。
参考文献
[1] IEC61850-7-2. Communication networks and system in substations-Part 7: Basic communication structure for substation and feeder equipment-Abstract communication service interface(ACSI), 2003.
[2] IEC61850-7-3. Communication networks and system in substations-Part 7: Basic communication structure for substation and feeder equipment-Common data classes,2003.
[3] IEC61850-7-4. Communication networks and system in substations-Part 7: Basic communication structure for substation and feeder equipment-Compatible logical node classes and data classes, 2003.
[4] LIN K J, SANG H S. Real-Time Databases: Chatacteristics and Issues, IEEE, 1995:113-116.
[5] 仝庆贻,颜钢锋.面向对象的实时数据库管理系统的研究与实现,电力系统及其自动化学报,2001,13(5):62-64.
[6] IEC.IEC 61850-8-1. Communication networks and systems in substations-Part 8-1: Specific Communication Service Mapping(SCSM)-Mappings to MMS(ISO 9506-1 and ISO 9506-2) and to ISO/IEC 8802-3. Geneva: IEC, 2004-05.
[7] IEC. IEC 61850-9-2. Communication networks and systems in substations-Part 9-2: Specific Communication Service Mapping(SCSM)-Sampled values over ISO/IEC 8802-3. Geneva: IEC,2004-04.