数字化变电站客户端软件的研发
2013-12-10哈尔滨电气集团阿城继电器有限责任公司白彦锋
哈尔滨电气集团阿城继电器有限责任公司 白彦锋
一、概述
数字化变电站是由智能化一次设备和网络化二次设备分层构建,建立在IEC61850通信规范基础上,能够实现变电站内智能电气设备间信息共享和互操作的现代化变电站。数字化变电站就是使变电站的所有信息采集、传输、处理、输出过程由过去的模拟信息全部转换为数字信息,并建立与之相适应的通信网络和系统。IEC61850标准体系作为变电站自动化系统电力信息传输的标准,它规范了变电站自动化系统与电力二次智能设备及智能一次设备之间,以及IED设备之间交换的电力信息的模型和通讯应用程序接口。在统一标准下,不同厂家的设备可以方便的实现数据共享和互操作。
客户端在站控层中设备中实现IEC61850-8-1规定的具体通讯服务映射SCSM,完成IEC-61850客户端和服务器端的服务交互过程,不仅可以用于后台系统的数据传输,还可以用于工程师站、远动站、继保站的数据传输和实现。
二、开发思路
基于SISCO公司软件产品包MMS-LITE之上实现,充分复用MMS EaseLite中的数据结构和函数功能模块,对象空间结构采用MMS对象空间结构,软件的跨平台和模块化实现,有利于功能的裁减和扩展。根据软件设置既可以实现客户端功能,又可以实现服务器端功能,还可以同时实现客户端功能和服务器端功能。IEC61850客户端软件总体实现框图如图1。
三、软件实现
(一)客户端应用程序总流程设计(如图2)
(二)模块设计
1.程序环境管理模块
提供程序环境初始化和终止化处理接口及接收网络数据接口。包含以下函数:
(1)环境初始化函数
完成程序运行所必须的初始化步骤:多线程环境的初始化、时钟初始化,全局变量初始化、内存管理初始化、调试log初始化以及网络初始化
(2)环境终止化函数
完成运行环境终止化,释放初始化及程序运行过程中占用的资源
图1 IEC61850客户端软件总体实现框图
图2 客户端应用程序总流程设计
(3)接收服务函数
完成接收服务返回结果,调用相应服务的回调函数;接收并处理服务器上送的报告;也可接收处理其他客户端的请求。
2.客户端站点管理模块
提供站点初始化、站点状态处理及其他操作接口。站点状态的处理包括IED相关信息,对象空间的创建状态,站点数据的刷新状态以及数据刷新次数等数据。包括的处理函数如下:
(1)站点初始化函数,初始化所有站点管理数据结构,并通过文件进行类型ID、对象空间、对象ID的创建。
(2)站点终止化函数,终止化站点管理,释放所有站点管理数据结构。
(3)客户端状态处理接口,客户端状态处理函数接口,检查连接状态、对象空间创建状态、数据刷新状态并进行请求队列的处理。
(4)站点结构各属性值读写接口,站点结构各属性值的读写接口,通过这些接口访问各属性值,在接口内加同步处理,防止多线程的情况下读写出错。
3.SCD文件解析模块
根据SCD文件的内容,模块的数据结构中包括IED设备个数,数据模板节点,节点链表等。模块中的基本处理函数包括解析函数(解析其中的Communication、IED、DataTypeTemplates三部分)和释放结构空间的函数。
4.对象管理模块
完成对对象空间的各种操作,包括增加和查找逻辑设备,增加逻辑节点,创建、查找和删除数据集,以及释放对象空间等功能。
5.读服务处理模块
读服务信息结构应包括命名变量ID数组、命名变量个数(如果是数据集,那么该变量则是数据集的数据成员个数)、用户回调函数指针。
6.写服务处理模块
写服务信息结构包括命名变量的值信息结构指针、命名变量总数、用户回调函数指针。包括以下的处理函数:
(1)写服务函数,写服务请求构造、并加入待发送请求队列。
(2)释放信息结构函数,释放结构成员所占资源。
7.本地目录接口模块
提供本地对象空间目录查询接口,通过这些接口,应用层可很方便的得到整个对象空间的结构信息。
8.报告服务模块
处理报告控制块实例的使能和读写以及服务器端上送报告的处理。包括的函数接口如下:
使能报告函数;
报告回调函数;
9.文件服务模块
用来处理IEC61850服务器端和客户端之间文件传输,包括以下的函数接口:
(1)读文件函数,从服务器读取一个文件存到本地。
(2)写文件函数,将本地的一个文件写到服务器中。
(3)删除文件函数,删除文件请求。
10.控制服务模块
在IEC61850标准里,控制分为常规安全直接控制,增强安全直接控制,常规安全选择控制,增强安全选择控制,客户端可以控制和外部设备、控制输出或其它内部功能有关的DATA。控制模型提供服务对带功能约束FC(=CO或SP)的DataAttribute的DATA进行操作这些数据包括:可控的单点(SPC),可控的双点(DPC),可控的整数状态(ISC),二进被控步位置信息(BSC),整数被控步位置信息(IST),模拟设点(APC)。客户端软件实现了如下服务:Select(Sel选择)/SelectWithValue(SelVal带值选择);Cancel(取消);Operate(Oper操作)/TimeActivatedOperate(TimOper时间激活操作);CommandTermination(CmdTerm命令终止)。
11.定值服务模块
客户端定值首先定义基本的acsi服务,然后封装出两个应用扩展接口。基本acsi接口有:选择激活定值区、选择编辑定值区、读定值、写定值、确认编辑定值、读定值控制块。
读写定值即是普通的读写服务,不用再实现,为应用方便,我们提供两个扩展的读写定值的接口:
读定值组,支持读某个定值区的所有定值,可以是当前激活区也可以是非激活区,且支持一次性读完某个逻辑设备下所有定值。可通过配置选择一次下发读一个定值的请求或一次下发整个逻辑设备下所有定值的请求。
写定值组,支持一次写多个定值,可写当前区(这个需要服务器端支持,根据61850定值组状态机,当前激活区的定值是不能写的)。实现时也是通过配置分两种情况:一次写一个定值,循环写直到写完,或一次就下发多个定值的写服务。
12.日志服务模块
用来实现多种日志信息的输出,包括以下的函数接口:
(1)日志输出函数,用户自定义日志输出接口,产生日志时会调用此接口输出日。
(2)按条目读日志函数,发送一个按条目读日志服务请求。
(3)按时间读日志函数,发送一个按时间读日志服务请求。
(4)按时间读日志请求构造函数,按时间读日志服务请求构造、并加入待发送请求队列。
(5)按条目读日志请求构造函数,按条目读日志服务请求构造、并加入待发送请求队列。
四、结束语
数字化变电站的数字化、网络化、标准化特征,完成了信息采集、测量、控制、保护、计量和监测等基本功能的同时,也为自动控制、智能调节、在线分析决策、协同互动打下了良好的技术基础。数字化变电站已经是变电站建设的大势所趋。工程实践表明,该系统在后台,远动工作站及采集RTU等设备上运行良好,完全实现了设计目标。