基于嵌入式系统的变电站信息接入实时数据库的应用管理方法

文档序号:6419895阅读:165来源:国知局
专利名称:基于嵌入式系统的变电站信息接入实时数据库的应用管理方法
技术领域
本发明涉及变电站自动化中的保护信息处理技术,尤其特别的,涉及一种基于嵌入式系统的变电站信息接入实时数据库软件平台(CSM-RTDB)的应用管理方法。
背景技术
基于嵌入式系统的软件平台设计,应用于变电站自动化系统中的综合控制系统。通过搭建不依赖于任何保护装置通信规约的实时数据库软件平台,既可以作为变电站监控系统的保护设备规约转换装置,又可以作为变电站内电网继电保护及故障信息处理系统子站的保护设备管理装置,以实现各个继电保护设备生产厂家保护装置信息的收集、上送及远传。
目前常见的用于变电站内接入保护设备信息的软、硬件平台主要有1、架构于Microsoft Windows操作系统平台之上,运行于工业控制计算机或者PC机,采用Microsoft或其它公司提供的面向对象的编程工具及相应的编程环境(VC,VB,Delphi)开发的保护信息接入软件。这种类型的产品的优点是运行于主流操作系统,开发及配置、调试工具功能可以做得非常强大。但缺点是对于硬件平台的资源要求比较高,包括CPU的运算速度、内存容量等;另外,变电站内对各种通信设备的抗干扰性能和可靠性要求很高,能够满足要求的计算机其成本较高。
2、基于单片机结构的硬件平台,使用汇编/C语言完成软件设计。这种类型的产品,其优点是性能可靠,且对于硬件平台的资源要求低,成本可以控制在较低水平。但缺点是硬件平台的开发及后期维护工作量大,软件调试不够灵活、方便。

发明内容
为了克服现有技术中存在的上述问题,本发明提供了一种基于嵌入式系统的变电站信息接入实时数据库软件平台(CSM-RTDB)的应用管理方法,该CSM-RTDB包括基于变电站内各种信息体对象的信息资源库的信息抽象模型以及为外围的应用软件提供了应用程序接口(API)函数库,采用微内核的嵌入式实时多任务操作系统QNX做最小化安装时,需占用不足2兆的存储空间,加入网络组件后不超过3兆,完全可以安装在DOC(Disk On Chip)或DOM(Disk On Module)上。采用486的CPU(主频为133MHz)和32兆的内存,就完全可以达到变电站现场控制和通信的实时性要求。由此可见,基于QNX进行软件开发与其它类型的产品相比对硬件的要求低得多,可以应用于嵌入式的硬件平台。
为了实现变电站内所有继电保护设备、智能电子设备的实时数据的统一管理,需要在嵌入式硬件系统上搭建一个软件平台,实现数据的及时更新,及必要的应用接口功能。硬件载体可能是一般工控机,也有可能是嵌入式的计算机,对于软件的界面要求不高,但是对数据的实时性、可靠性和可用性有很高要求。
由于变电站内的数据来源复杂,数据类型多样,通信协议不一,因此为了容纳所有必要的信息,同时保证效率,必须在内存中建立一个格式比较通用的实时数据库,同时为外围应用对实时数据的访问建立必要的、和功能完备的API(Application Programming Interface—-应用程序接口)接口。


图1显示了数据库软件平台的模块结构示意图。
图2显示了本发明的软件实现的整体流程图。
具体实施例方式
为了兼容不同厂家设备的信息,同时考虑最新国际标准的发展趋势,嵌入式系统的变电站信息接入实时数据库软件平台(简称CSM-RTDB)以IEC60870-5-3中描述的“应用数据的一般结构”为蓝本,为遥信、遥测和电度量的存储建立了抽象模型。本抽象模型还描述了国内变电站的其他一些基本信息,包括保护事件、告警信息、保护整定值和扰动记录等等。这个模型与外部的物理接口、传输介质、通信协议完全无关,甚至与站内的任何设备都没有任何关系,概括地说,这个建模过程是完全“面向信息体对象的”。
CSM-RTDB的另一个重要特点是它为数据库内的每一个信息体对象建立了两个索引,其中一个索引被称为“控点名”,以字符串方式表示。这种命名方式使得数据库外围的特定应用,可以以一种最简单的方式解释CSC2000变电站自动化系统内部网络上传递的系统信息。另外一个索引是简单的整数,整数索引的使用,使得任何一个数据库中任何一个数据对象的读写变得十分高效、简单,外围应用可以使用这个索引迅速在数据库中定位到相应的信息体,而后进行读或写的操作。这种方式免去了通常数据库检索常用的字符串匹配方法,尤其适应于嵌入式的硬件环境。
CSM-RTDB为了使得不同应用进程共享数据库资源,应用了共享内存的方式,这种进程通信的方式与其他进程间通信方式比较起来,具有速度高的明显优势。同时CSM-RTDB也使用共享内存的机制,建立了与应用进程交换消息的队列。
◆包含内容描述及相应功能 信息抽象模型信息抽象模型主要包括以下数据结构1)遥测ID、控点名、工程值、品质描述、刷新时戳2)遥信ID、控点名、值、变位标志、品质描述、刷新时戳3)遥脉ID、控点名、脉冲量、品质描述、刷新时戳4)SOEID、对应遥信的ID、控点名、值、时间5)事件及告警ID、编码、值、时戳6)遥控ID、控点名、性质、计时、命令来源、去向、结果7)定值与遥控类似,考虑到定值操作时命令方通常只召唤某保护装置的某套定值,以保护装置为对象形成定值表。
8)控点实际物理量名称表所有控点都对应有中文物理名称,但如把名称存在各模型中,则数据结构太占空间,更影响搜索速度,故把所有名称单独建立对应表,供应用程序检索。
信息抽象模型是所有应用的信息源,其内容是变电站信息的全集。为了适应各种应用的需要,最大限度避免对数据库和应用程序的修改,抽象信息模型具有以下功能特点1)允许修改或增加新的应用而无需修改实时数据库;
2)任意增加、删除、修改数据记录或改变记录顺序而无需修改应用程序;3)应用程序与实时数据库的接口简单、统一,应用程序查询数据时能够快速、正确;4)实时数据库信息的格式不局限于各种具体的网络及报文格式,不因上层应用格式的变化而修改;5)应用程序查询数据库时通过控点名或其索引,而不是直接使用数据的具体位置信息,避免由于数据记录的增加而使实时数据库进行全部更新。
CSM-RTDB应用管理进程CSM-RTDB的构造通过应用管理进程dbms实现,其它应用程序通过调用API函数实现对实时数据库的操作和访问。dbms完成两个主要任务一个是利用抽象信息模型建立实时数据库,另一个则是处理实时信息,如保护动作信号、召唤定值、遥控操作等。
开放的接口函数库CSM-RTDB为外围的应用软件提供了简单明了的应用程序接口(API)函数库并存放于krnl.lib中,其它应用程序可以调用该文件中的各个API函数。这些API包括BOOL ConnectRTDB(USHORT);——连接实时数据库vold DisConnectRTDB(void);——断开与实时数据库的连接shortGetIndexByName(BYTE*,USHORT);——根据控点名获取数字索引BOOL GetNameByIndex(BYTE*,USHORT,USHORT);——根据数字索引获取控点名USHORT GetYxLibSize(void);——获取遥信库大小USHORT GetYcLibSize(void);——获取遥测库大小
USHORT GetYmLibSize(void);——获取电度量库大小BYTE GetYxByIndex(const USHORT);——根据数字索引获取遥信值shortGetBinYcByIndex(const USHORT);——根据数字索引获取遥测值,以二进制表示floatGetFloatYcByIndex(const USHORT);——根据数字索引获取遥测值,以浮点数表示UINT GetYmByIndex(const USHORT);——根据数字索引获取电度值void SetYxByIndex(const USHORT,const BYTE);——根据数字索引改写库中的遥信值void SetYmByIndex(const USHORT,const UINT);——根据数字索引改写库中的遥脉值void SetBinYcByIndex(const USHORT,const short);——根据数字索引改写库中的二进制遥测值void SetFloatYcByIndex(const USHORT,const float);——根据数字索引改写库中的浮点数遥测值BOOL PostMsg(MSG*);——向队列中发布消息BOOL PeekMsg(MSG*);——从队列中获取消息BOOL GetRouteInfo(ROUTEINFO*);——获取信息传输的路由BOOL GetRouteInfoEx(ROUTEINFOEX*,BYTE);——获取信息传输的路由UINT GetYxAgeByIndex(const USHORT);——根据数字索引获取遥信值的历史信息UINT GetBinYcAgeByIndex(const USHORT);
——根据数字索引获取遥测值的历史信息UINTGetYmAgeByIndex(const USHORT);——根据数字索引获取电度值的历史信息图1为数据库软件平台的模块结构示意图。应用A/B为外围应用程序,数据库维护进程为CSM-RTDB的应用管理进程dbms,实时数据库为根据信息抽象模型建立的共享内存数据区。
在图1中,各模块之间的联系如下L01-应用A到实时数据库的连接。每个应用通过CSM-RTDB提供的接口函数都可以对实时数据库进程操作,获取或者更新数据库的内容。
L02-数据库维护进程与实时数据库的连接。数据库维护进程是实时数据库的建立和维护者。
L03-应用A到数据库维护进程的连接。数据库维护进程维持与每个应用的两个单向消息队列,一个用来接收应用的请求和命令,另一个用来把遥信变位、遥控返校等信息优先通知给该应用。
L04-应用B到数据库维护进程的连接。说明同L03。
L05-应用B到实时数据库的连接。说明同L01。
CSM-RTDB的管理模块实现方法可以概括为如下步骤1.对整个数据结构及程序进行初始化。启动必要的系统定时器,完成异常处理。同时对需要提供的功能进行配置,并从配置文件读取必要的信息放在内存区中。
2.创建需要提供服务的客户进程信息的共享内存区,用来保存客户进程的相关信息。
3.根据第1步中的配置情况建立实时数据库的共享内存区。该共享内存区以信息体为对象建模,并建立索引,以实现快速、高效、简单的数据访问。
4.在前面3步工作完成后进入服务提供程序。本步骤就是循环检查CSM-RTDB需要提供的各种服务。只要没有终止服务的命令,则依次进入第5~7步。当有终止服务的命令时,直接跳转至第9步。
5.当有客户进程向CSM-RTDB注册后,CSM-RTDB进入注册程序,即把客户进程的信息加入客户信息资源库,这样CSM-RTDB就能够为该进程提供服务。
6.当有客户进程向CSM-RTDB请求某种服务,如通知其它进程有一个保护动作信号产生,CSM-RTDB则接受该服务请求,并向其它客户转发该消息。
7.当有客户进程向CSM-RTDB注销后,CSM-RTDB将该客户进程的信息从客户信息资源库中删除,结束对该客户进程提供的服务。
8.返回第4步。
9.清理现场,将CSM-RTDB建立的各种资源释放。结束。
图2显示了软件实现的整体流程图。如图2所示,图中各模块的功能解释如下S01-程序初始化部分。考虑到嵌入式系统提供有限的硬件资源,CSM-RTDB在启动时并不是启动所有的服务功能,而是根据用户的需要由用户选择特定的服务,例如通过命令行方式由用户输入需要提供服务的功能条件。在初始化部分,CSM-RTDB启动了必要的系统定时器,来协助完成对服务的异常处理。
S02-创建进程共享资源。CSM-RTDB为客户进程提供服务,因此必须保存客户进程的相关信息。此部分就是建立相应的客户进程共享资源。
S03-创建信息体资源。CSM-RTDB搭建的是一个能够实现变电站信息接入的实时数据库平台,因此需要建立基于变电站内各种信息体对象的信息资源库。
S04-判断当前的CSM-RTDB服务是否终止。如果没有终止,则进入正常的服务巡检(第一步到S05);否则执行S11(退出处理)。
S05-判断当前是否有客户进程启动后向CSM-RTDB申请注册。如果有客户进程需要注册则执行S06,否则执行S07。
S06-加载客户进程信息。它的输入条件是S05(有客户进程要注册)。本步骤实现的内容是在CSM-RTDB中注册新加入的客户进程,并保存其相关信息,任务完成后进入S07。
S07-判断当前是否有客户进程要向其它进程转发消息,也就是需要提供的各种服务,包括变电站遥测、遥信、遥脉数据的读/写,保护装置定值操作,遥控操作,故障录波,保护动作等。如果有需要转发的消息,则进入S08,否则执行S09。
S08-转发客户消息。它的输入条件是S07(有消息需要转发)。CSM-RTDB处理有服务要求的客户提出的请求,进行处理,并根据请求向其它客户转发。本步骤完成后进入S09。
S09-判断当前是否有客户进程退出,并从CSM-RTDB中注销客户进程信息。如果有客户进程要注销,则执行S10,否则重新回到S04。
S10-客户进程注销。它的输入条件是S09(有客户进程注销的请求)。本步骤实现的任务是从CSM-RTDB中将要注销的客户进程信息删除,这表明CSM-RTDB可以不再为注销掉的客户进程提供任何服务。本步骤完成后重新回到S04。
S11-退出处理部分。在CSM-RTDB退出时必须进行清理现场的工作,结束所有的服务,将占用的各种系统资源释放。
CSM-RTDB是专为变电站自动化系统设计的实时数据库软件平台,原则上可以不限制其应用范围,可以在各种厂家、各种结构的SAS(Substation AutomationSystem)中获得最大限度的应用。只需要根据实际应用的环境,编写外部的应用代码,使用数据库提供的API函数,将系统数据写入CSM-RTDB中,而后根据需要,使用API函数,在适当的时候将数据从CSM-RTDB读出,通过特定的信道,供SAS系统的其他具有通信能力的节点使用。
权利要求
1.一种基于嵌入式系统的变电站信息接入实时数据库软件平台(CSM-RTDB)的应用管理方法,包括a)对整个数据结构及程序进行初始化;b)创建需要提供服务的客户进程信息的共享内存区,用来保存客户进程的相关信息;c)根据第a步中的配置情况建立实时数据库的共享内存区;d)在前面3步工作完成后进入服务提供程序;e)当有客户进程向CSM-RTDB注册后,CSM-RTDB进入注册程序,即把客户进程的信息加入客户信息资源库,从而CSM-RTDB为该进程提供服务;f)当有客户进程向CSM-RTDB请求某种服务,CSM-RTDB则接受该服务请求,并向其它客户转发该消息;g)当有客户进程向CSM-RTDB注销后,CSM-RTDB将该客户进程的信息从客户信息资源库中删除,结束对该客户进程提供的服务;h)返回第4步;i)清理现场,将CSM-RTDB建立的各种资源释放,结束。
2.如权利要求1的方法,其中步骤a)进一步包括启动必要的系统定时器,完成异常处理;同时对需要提供的功能进行配置,并从配置文件读取必要的信息放在内存区中。
3.如权利要求1的方法,其中步骤c)中所述的共享内存区以信息体为对象建立信息抽象模型,并建立索引,以便实现数据访问。
4.如权利要求1的方法,其中步骤d)进一步包括循环检查CSM-RTDB需要提供的各种服务,只要没有终止服务的命令,则依次进入第e~g步,当有终止服务的命令时,直接跳转至第i步。
5.如权利要求3的方法,其中所述信息抽象模型是基于变电站内各种信息体对象的信息资源库,包括以下数据结构1)遥测ID、控点名、工程值、品质描述、刷新时戳2)遥信ID、控点名、值、变位标志、品质描述、刷新时戳3)遥脉ID、控点名、脉冲量、品质描述、刷新时戳4)SOEID、对应遥信的ID、控点名、值、时间5)事件及告警ID、编码、值、时戳6)遥控ID、控点名、性质、计时、命令来源、去向、结果7)定值与遥控类似,考虑到定值操作时命令方通常只召唤某保护装置的某套定值,以保护装置为对象形成定值表。8)控点实际物理量名称表。
6.如权利要求1的方法,其中CSM-RTDB为外围的应用软件提供了应用程序接口(API)函数库。
全文摘要
本发明涉及一种基于嵌入式系统的变电站信息接入实时数据库软件平台(CSM-RTDB)的应用管理方法,该CSM-RTDB包括基于变电站内各种信息体对象的信息资源库的信息抽象模型以及为外围的应用软件提供了应用程序接口(API)函数库,通过采用嵌入式系统的变电站信息接入实时数据库软件平台的应用管理方法,具有很低的硬件和软件界面要求,而且具有很高的数据的实时性、可靠性和可用性,可以方便灵活的应用于变电站自动化中的保护信息处理。
文档编号G06F17/30GK1538292SQ20031010161
公开日2004年10月20日 申请日期2003年10月22日 优先权日2003年10月22日
发明者峰 高, 高峰, 杨常府, 孟凯锋, 吴涤 申请人:北京四方继保自动化有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1