基于opc技术的电网监控系统rtdb的设计与实现

基于opc技术的电网监控系统rtdb的设计与实现

ID:33521975

大小:282.57 KB

页数:4页

时间:2019-02-26

上传者:xinshengwencai
基于opc技术的电网监控系统rtdb的设计与实现_第1页
基于opc技术的电网监控系统rtdb的设计与实现_第2页
基于opc技术的电网监控系统rtdb的设计与实现_第3页
基于opc技术的电网监控系统rtdb的设计与实现_第4页
资源描述:

《基于opc技术的电网监控系统rtdb的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

维普资讯http://www.cqvip.com第30卷第191111计算机工程2004年l0月Vo1.3019ComputerEngineeringOctober2004·工程应用技术与实现·文章编号:l000—3428(2004)l9—0l5l—04文献标识码:A中图分类号:TP31l·138基于OPC技术的电网监控系TDB的设计与实现韩亚洪,王立新,陈祥‘(1河海大学计算机及信息工程学院,南京210098;2安阳师范学院计算机科学系,安阳4550007摘要:实时数据库系统能够很盘于地实现对过程监控系统中的数据管理、交换和共享。该文通过研究现有的实时数据库技术和当前最流行的l:业标准接13OPC技术,设计了支持OPc标准的实时数据库系统方案,并根据电网监控系统的实际需要,初步实现了一个实时数据库系统平台,应用开发可以使用该数据库系统COM控件创建任何需要实时数据库支持的监控系统。测试表明该系统能够满足农电网监控系统对数据实时处理的要求。关健词:实时数据库;OPC;内存数据库;并发控制DesignandImplementation0fAERTDBBased0noPCHANYahong‘,WANGLixin,CHENXiang‘(1CollegeofCollputmandInformationEngineering、HohaiUniversity,Nanjing2l0098;2DcptofComputerScience,Anyangl"eachersCollege,Anyang4550007【AbstractlT131oughmakingastudyol、pJ’csentrcal·timeDBtechnolog)andOPCtechnology,whichismostpopularindustrialstandardintcrface.Thepapm‘makesaprcliminao,designot’aR1、DBMSbasedonOIC.whichisdcsignedbasedonelectricnetworksupervisesystem.Allthcapplicationdexelopm’CalLISCtheRTDBcontroltocreatean)s)stemsthatneedsupportofreal·timedatabaseThetestsofRTDBMSshowthatthesystemsperI'oI。ll~lleeislbasible【Ke)、、ordslReal—timcdatabase(RTDB):OPC;Mainmemowdatabase;Concm‘rencycontrolOPC足以OLE/COM机制作为应用程序的通信标准。对实时数据的处理要求。用户还可以预先定义计算字段,当OLE/COM足一种客户/N务器模式,具有语言无关性、代码插入新记录或更新记录时,根据预定义的触发条件,系统自重用性、易一J集成性等优点【lIoOPC规范了接VI函数,不管动触发计算得到更新的计算字段值。现场设备以OIgt'形式存住,客,都以统一的方式去访问,从AERTDB内核要求是一个高效可靠的实时数据管理系而保证软件对客户的透明性,使得用户完全从低层的开发中统。外部对用户提供开放式的接VI。用户编写应用程序通过脱离出来。COM接口访问数据库中的数据,从而可供cH等多种高级语根据农电【叫监控系统的实际需求,实现一个数据库软总言调用。线,这样能方便地通过COM{[t件实现语言无关的开发新的1.3设计目标上层应用,并能与其它用数据库实现互访。用户这样就可第一步实现单机(单节点)版简单实时数据库:以实现应用程序的“即插即用”,使一个上层应用的开启(1)实时库看作整个系统的软总线,不同应用通过库来交换数据,避免使用其它方式:如网络和消息队列等,以简化应用程序接口;和关闭与分1}i式实时数据库无关。(2)有很快的访问速度,具体来说,应该使用内存库,从而避免l系统设计要求访问磁盘介质;1.1RTDBMS与AERTDB(31支持多进程、多线程同时i/j问;RTDBMS是指实时数据库系统中对数据进行管理的软(4)通用的、表结构无关的访问接口,支持SQL或类SQL的查询件系统,它是数据库系统的核心组成部分,数据库系统的一语言;切操作包括查询、更新及各种控制,都是通过RTDBMS进(5)触发机制,能根据数据变化情况实时更新。行的。RTDBMS通常由3部分组成:语言编译处理程序,系第二步为配合今后的主站或新一代调度集控系统开发实统运行控制程序和服务性程序。现分布式多机(多节点)版实时数据库:(17-个分布式的数据环境,即对于同一个对象,不同节点具有电网豁控系统实时数据库系统(AERTDB),管理和操作相同的描述,系统主动维护一致性;的数据包括各种电网运行参数、网络结构参数及实时数据库(2)提供注册/通知机制,主动PUSH变化数据到相关的节点和应自身管理的控制参数等,实现数据传递、交换及数据共享。用程序;1.2系统需求(3)向商用库提供标准的接口。AERTDB要求设计成一个开放式的实时数据库系统,使本文主要讨论第一步设计目标的实现方案。之能满足各种不同的应『fj需求,成为一个实时控制系统的开2系统总体设计发、台。这就需要建立一套可以完成数据采集、实时数据、整个实时数据库系统的设计分为驻内和留外两个部分,历史数据和统计数据存储管理的实时数据库平台软件,为用驻内部分采用内存数据库,存储形式采用顺序结构加索引的户提供接口,使用户能够对来自现场控制系统或人工键入的数据进行分析处理,并能对控制系统进行反馈控制输出,为作者简介:韩亚洪(1977一),男,硕士生,研究方向:数据库及实现过程控制及优化或其他应用提供数据服务。Web信息检索;王立新,讲师;陈祥,硕士AERTDB不仅要完成数据管理功能,还要满足控制系统牧稿日期:2003—08—17E—mail:ayhyh@mailchina.corn—l5l一 维普资讯http://www.cqvip.com方式,通过保持一定容量的内存,在内存中存放数据,对于送至RTU。超过一定时间的数据从内存中更新或清除写到外存关系数据库中,这样可以利用关系数据库产品对历史数据进行存储和管理。整个数据系统的总体结构如图1所示。图3基于0Pc的监控实时系统实时数据库用来存放前置处理系统从RTU中采集的遥测、遥信、电度量和保护信号等,以及客户端F达的遥控、图i实时库总体结构遥调信号等,调度主站端的应用程序也按照OPC规范进行编可以看出内存实时数据库是整个实时数据库系统的核写,主要完成数据处理、图形分析、报表输出、事故追忆和心,参考国内外的其它实时数据库产品,并结合当前系统的报警处理等。对于数据处理对象的对象层次,按JNOPC数据需求,确定了如图2所示AERTDB的功能模块组成。访问自动化规范进行划分,图4为数据和规约处理自动化服务器的对象层次。图2AERTDB功能组成3oPc技术及其接口设计3.1oPc技l术图4敦据/规约处理服务器对象层次由OPCTaskForce制定的OPC(OLEforProcessContro1)数据处理对象和规约处理对象的服务规则是通过对象的规范于l996年8月正式诞生,随着1997年2月Microsoft公司推属性、方法和事件的组合实现的。为了实现前蹬处理系统的出Windows95支持的DCOM技术,l997年9月新成立的OPC各种功能,增加相应的属性、方法和过程。可通过数据处理Foundation对OPC规范进行修改,增加了数据访问等一些标自动化服务器的对象类设计来说叨:准,OPC规范得到了进一步的完善l。(I1DataProcServer类:DataProcServcr’是由客户应用程序实例化0PC是基于Microsoft公司的DistributedinterNet的,它包含一个OPCSc~'erConnect方法,用于帮助客户获得Application(DNA)构架和ComponentObjectModel(COM)技DaredocSelwer的一个实例,Set’verShtitDown用于释放对该服务器对象的引用。术的,根据易于扩展性而设计的。OPC规范定义了一个工业(2)RTU类:RFU类含有所有附属于RFU的属性,包括标准接口,这个标准使得COM技术适用于过程控制和制造RTUNo、ChanNo、Prot0coI和uDdatcR|1tc等,RTU的实例为RTUI、自动化等应用领域。RTU2、⋯。3.2OPC设计f3)RTUs集合:RTUs集合不仅可使客户访问DataProServe~’的我们按照OPC技术规范来进行监控系统中的数据前置处RTus集合,通过其Item方法还可以访问单一的RTU对象,Add方法用理部分的设计,由于运用通用的方式来访问各个采用不同通于增加一个RTU对象,Remove方法馏于删除一个RTu对象,PropertySe方法用于修改RTu对象的属性值。信规约的RTU(RemoteTerminaIUnit),有效地解决_『数据处f41Data类:Data类包含实时数据的所有属性,如Value、理部分的不规范性、规约转换的不灵活性以及多种软件系统Quality、ThneStamp等,Read方法实现从Cache中凑数据,Write方集成的不兼容性等问题,实现原理见图3。法实现向Cache写入数据,ReadDFromDB方法实现从数据库读主站在系统中,OPC数据服务器主要完成规约处理和数据处端的控制信息,WriteToDB方法实现向数据库写入从RT[J采集来的理两大功能。RTU通过某种通信手段按照某种通信规约将实数据。Data类的实例为DataI、Data2、⋯,实际上是一些遥测YC、时数据传递至服务器高速缓冲存储器,由OPC数据服务器进遥信Yx、遥控YK、遥调YT数据。(5)Datas集合:Datas集合使客户应用程序可以操作一组Data对行规约转换,并经过采用相应的数据预处理之后,送入实时象,Addltem方法实现增加一个DataX,]-象,Remove方法实现删除一数据库;然后,具体的应用根据相应的要求对数据进行再次个Data对象,SetDataTypes方法用来设置Data对象的数据类型。处理,并完成处理结果的保存、显示和制表等工作。另外,4AERTDB的实现凋度主站下达的命令经处理,送入实时数据库,由OPC数据4.1AERTDB开发背景服务器进行判断后作相应的数据预处理,再进行规约转换后实时库平台作为南瑞城乡电网所开发农电网监控系统的送入服务器高速存储器,然后通过某种通信手段将控制命令一152一 维普资讯http://www.cqvip.com一部分,要求实现实时数据的存储、管理等功能,并向上层intconIrrentTrans//当前事务ID号,用于控制事务回滚应用提供数据访问接LI,包括:数据库定义,建表,删表,unsignedlastDeadlockReeoveryTime://fg录上次死锁恢复时间intusers;//数据库用户数查询,更新,添加,备份,恢复等操作。dbProcessldownerPid;N所拥有的进程ID4.2实现要点shm成员变量其实是一个内存映射文件对象,存储AERTDB的几个实现要点如下.monitor成员,这样不同进程之问通过内存映射文件读写并(I)快速反应。AERTDB的执行效率比传统数据库要快速得多,主要在于:先整个数据库放置在内存中,这样就不存在数据判断monitor成员变量的值,实现对数据库各种读写并发访库缓冲导致的超载问题,也无须在缓冲池和数据库文件问传输数问的控制。同时为了控制对数据库的并发访问量,设置了3据c其次客户应用程序使f}]AERTDB时,数据库文件映射到每个使个信号灯成员变量,分别控制读、写和锁升级的并发数:用数据库的虚拟内存空间上,这样查询就在应用的上下文内执行,writeSem;//写信标.无须,I下文切换和数据传输,通过原子指令实现对当前数据库的同readSem:∥读信标步存取,I司时又不增加查询处理的负载,然后通过优化记录搜索的upgradeScm;//升级信标算法和结构以及一个非常有效的锁机制,从而快速的查询执行得以通过面向对象技术能很好地构造出灵活的数据库层次实现。结构。(2)事务支持。AERTDB支持事务、在线维护和系统灾难后的原子恢复。事务提交协议基于一个影子根页算法,执行数据库的原5性能测试子更新。AERTDB的这些功能保障事故出现后,数据库的快速恢对实时数据库控件进行编译得到最小依赖发布复,从而为关键应用提供了高效的保障。(ReleaseMinDependency)版本AERTDB.dll,使用regsvr32.exe(3)使用灵活。AERTDB是一个面向客户端应用的数据库。使在系统上进行注册。用与应用类相关的信息来构建数据库表,并且提供了灵活和便捷的5.1测试程序接E1从数据库获取数据,并实现类SQ1浯言来实现对数据库的访问。为了便于对实时数据库控件进行测试,编写了一个测试4.3类的设计程序,主要功能如下:我们主要采用面ruJ对象实时数据库控件进行编译得到最插入新记录:在KG表中循环插入l000条新记录,语句小依赖发布(ReleaseMinDependency)版本AERTDB.dll,使如下:用regsvr32.exe在系统上进行注册。采用面向对象技术来设f0r(inti=1:i<1000;i++)计数据库组织,并以COM控件的方式来提供实时数据库控{sqlstr”insertintoKG(UU1D,DLXS.ADLGCZ.BDLGCZ、件。其中一些主要类的设计如一F:CDLGCZ、ZYX,rYX,YGGCL.YGXS.DIGCZ,DLXS2)(1)接口类values(%d,O.001.%d.%d,%d,I,l,%d,0.002,%d、lO)|,;设计了两个接13类:CCursor~tlCRtdb。其中CRtdb类实现对类ExecutcSqI(sqls仃):SQ1语句和触发计算表达式的扫描解析,并据此进行相应的动作响、“fori应,包括建表、删衷、没置索引、删除索引、添加汜录、删除记3s更新:进行周期为3s间隔的l000次单记录更新,语录、更新记录、启动周期计算、停止周期计算、打开数据库和关闭句如下:数据库等操作。tor(IntI=I;I<1000;IH)CCursor类根据输入的查询SQL语句,解析实现对数据库记录{sqlstr=”updateKGsetADLGCZ=%d.BDLGCZ=%d.的查询输出。CDLGCZ-%d,ZYX-%d,FYX%d,DLGCZ=%d,YGGCL=%d(2)数据库dbDatabase类whereUU1D=(%d1.,il0,il0,il0,l、O、il0,i1O,i):类dbDatabase完成数据库的基本操作,完成接El类传递来的各ExeeuteSqI(sqlstr);种指令,并且实现对数据库的同步并发访问、事务管理,内存分}//fori配、错误处理等读取KG记录:循环l000次随机读取KG表中的单条记(3)表Table类录,语句如下:实时库中的数据是存储在表中的,这里的一个表对应于一个f0r(inti=1:i<1000;i++)Table类,表类作为数据库类的一个链表数据成员,而表中的一个fsqlstr-”SelectfromKGwhereUUID=%d.1:记录则对应于Table类的一个实例,并以链表的形式连续存放。rand0%1000;(4)游标dbAnyCursor类open(sqlstr);游标用来访问SELECT语句返回的记录。在RTDB中设置有两{/,fori种类型的游标:只读游标和用于更新的游标。周期更新:启动后台线程进t5-8s和l0s的周期性KG全表(5)映射文件dbFile类更新。dbFile类封装了内存映射文件的各种操作,通过它来使用内存对于每个操作都使用GETTICKCOUNT()得到操作耗映射文件,实现对内存数据中数据的装载和卸出。费时间,并都进行3次测试,最后取平均值。(6)并发控制dbMonitor类5.2测试实例在数据库类中设置监视器dbMonitor类成员monitorial模板类成5.2.1测试1员shin来实现不同进程对数据库的访问控制,dbMonitor类定义如下:测试环境:P1111GHz,内存256MB,Win2000Professional,intnReaders;//{卖访问数intnWriters;//写访问数SQLServer7.0。intnWaitReaders;//等待读访问数在数据库中各建立一个只包含1个用户表“test'’的数据intnWaitWriters;//等待写访问数库,该表结构如下:intwaitForUpgrade;//等待写访问数ID:Biglnt(8)intctlrr;//当前指针的复制,实现对数据库的只读访问Caption:VarCha255)intCOllnlitlnProgress:,/是否处于提交过程中VaI:lnt(4)NOTNULL一153— 维普资讯http://www.cqvip.com都将1D字段设为主键,不可空,并在ID上设为索引。(1)索引对提高记录读取效率有显著的作用,其比例约为l45倍,但对添加和更新记录没有太大的影响测试说明:测试数据库在插入1000条记录,1D为循环(2)触发对于写操作影响较大,其巾添加记录情况下无索引约值,然后在TEST表中已有1000条记录的情况下再进行1000为975倍,带索引则为648倍;更新记录情况下无索引约为4l7次无条件SELECT,单次带条件SELECT,全表ORDER~}倍,带索引则为82倍。序,单次条件UPDATE的性能测试,同时为了测试的等同(3)并发情况下,SELECT操作没有受到影响,添加记录操作约性,我们将实时数据库的触发操作关闭。为单进程的1.15倍,更新操作则为l89倍。测试结果如表1所示,可以看出实时数据库比外存数据(4)在并发测试当中的CPU占用最低可达7%,可见对系统要求不是很高。库有着不是一个数量级的效率,这是因为数据全部在内存(5)经过了多次72小时不f.1断测试,证明系统有很高的稳定性中,没有磁蕊缓冲。表1测试l(单位ms)6总结与展望损0试项目AERTDBMySQLSQLODBCSQLOLEDB本文通过参考研究现有的一些实时数据库,初步没计实(无触发)现一个拥有自主版权的支持OPC标准的实时数据库系统软总lllse九l0008036961330919l77线,这样开发和打包可重用的模块而无须提供源代码。目前Selectl000236O8873lO7552SelectwhereoncaptionOO11O1O1O实现的实时数据库系统控件已提交并用以开发上层应用。同Orderb、,vaIOO212O16121O时所有的应用开发者也可以使用该控件创建包含事务对象的OrderbyidOO221O17I22O新解决方案、独立的对象和他们自定义的组件。updatecaptton0144147153O我们目前实现的实时数据库系统仅能在单机上运行,实updateid0.13955134092OO59合计l】1145203484I47758现一台机子上的多进程间的实时数据共享,因此在今后的工作当中应进一步完善现有的单机版实时数据库系统,解决在5.2.2测试2分布式网络环境下数据库数据一致性的并发、维护等一系列多进程并发测试,步骤:问题。(1)启动3个测试程序,启用3s更新。每隔3s,对KG中的所有记录进~TUPDATE;参考文献(2)启动第4个测试程序,启用读取KG记录,每隔5s获得KG中l刘云生实现数据库系统.计算机科学,1994、21(3):21.262卢炎生,王道忠,刘云生.主动的实现数据库管理系统研究华中理的所有记录,并刷新显示到屏幕上。测试结果如表2。表2测试2(单位ms)工大学学报.1994.22(9):86893刘云生,李国微实时数据库系统中的嵌大事务软件学报,l999,l0j曼4试项目第1次第2次第3次平均值f51:552—556UPDATEl87586O84486OUPDATE28448137878154AddottR.MolinaHGSchedulingReal-timeFransactions:APerfor·UPDATE3875891891886flanceEvaluation.ACMTransactionsonDatabaseSysems,1992,17SELECT31162022f31:5l3-560INSERTlI251078220314695SivasankaranR,StankovicJ,Towsle)D,etalPriorityAssignmentinReal—timeActiveDatabaseThenIntermationalJournalonVery'Large5.2.3结论DataBases,l995,5(I1经过测试得出以下几个结论☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆(上接第92页)3MathisM,MahdaviJ,FloydS,eta1.TCPSelectiveAcknox~ledgementI996-10l.FI。参考文献≥0i18M,,MiMa1.An。。。。,。oydS、JacobsonV.RandomEarlyDetectionGatewaysforConges.J⋯、⋯⋯⋯。”⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯83—999-08tjoAvl0idanceIEEE/ACMTransactionSonNetwor1993,1Ackno、legeent(SACK)Optionf'olTCP·R397.dl3)WangSY、K“ngHT·UseofICIljc。oLlpiing.‘nlnproving⋯JLP2RamakrishnanK、FloydS.AProposaltoAddExplicitCongesti【)nPerf0rmanceOVe『WirelessNetworksllEEI:MobjIcNct、Ⅵ)rkandNotificaIi0n(ECN)toIP.RFC2481.1999.01APPl’at’。“、2uuu、.):l-20☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆(上接第145页)SPC应用是衡量一个企业是否注重产品质量控制的重要因警,以便及时采取措施。素。目前国内SPc应用基本处于初期阶段,大多手工作业,另外,系统中的现场信息反馈和人员考勤模块主要用来有的企业采用了一些现成的通用软件但基本一k停留在离线使收集生产线现场情况(如产品质量、设备运行情况)和员工出用状态,其准确性、有效性和控制效率很难保证。上海庄臣勤、操作情况并及时通过网络反映到管理人员处。管理人员SPC分析与管理系统~-SPCN论与计算机技术有机结合,不也可以通过网络把命令发给SPC现场人员,进行管理和监督。仅具有SPC在线数据采集与分析功能,而且利用企业内部2.3.3系统维护与管理网,充分实现了企业领导的远程分析与管理,大大提高了工该模块是对SPC系统软件的维护与管理,主要功能包括作效率,保证了产品质量。用户管理(设置用户权限:分为超级用户、管理员和操作员3参考文献个权限壁0并设置用户密码,强制用户陆,鍪孽集詈釜萋宰景.统Jg计N技:N术~上毒技术系统通信参数配置、SPC管理机网络环境设置、数据共享、出版社。l997数据库备份等。3伍爱质量管理学.广州:暨南大学出版社,l9963结束语ge10QsQl邱仲潘译VjsuaBasjc高级开发指南北京:电子:亡业出QSPC应用是企业质量管理的有效工具,如何有效地开展一1S4一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭