仿真技术在变电站中的应用.docx
仿真技术在变电站中的应用hesp导语:第一套大型火电机组仿真机在我国研制成功。1988年能源部发出“关于开展火电机组模拟培训装置的通知,此后电力系统仿真技术得到了迅猛开展,出现了大量的仿真公司和研究中心。1仿真技术在国内电力系统的开展和应用80年代初,第一套大型火电机组仿真机在我国研制成功。1988年能源部发出“关于开展火电机组模拟培训装置的通知,此后电力系统仿真技术得到了迅猛开展,出现了大量的仿真公司和研究中心。1990年清华大学电机系完成了国内第一套电网仿真系统即东北电网仿真系统,1993年清华大学电机系厂站仿真室完成了国内第一台水电厂仿真器即吉林省饱满水电厂仿真器。到1999年,大多数省网已使用了变电站仿真器、火电仿真器和电网调度仿真器。b2采用分布交互式仿真技术的优越性/b分布交互式仿真DistributedInteractiveSimulation,DIS是从美国SIMNET工程中开展起来的一种仿真技术,它连接不同地理位置上的仿真应用来创立一个逼真而复杂的虚拟世界,以进展具有强交互作用的仿真,并允许各仿真应用之间的互操纵。DIS系统在设计时应遵循以下原那么:1对象事件构造对象之间通过一系列的事件产生交互作用。2仿真接点的自治性所有事件通过仿真网络进展播送式传播,自治原那么使仿真接点可以动态地参加和脱离仿真运行,而不会影响其他接点的交互。3传递真实信息各仿真对象即时状态的如实传播。4仅传递状态变化信息以减少不必要的数据传输和通讯处理任务。5采用预估算法和仿真时间约束以降低网络传输的负荷。近几年来,随着计算机技术的飞速开展,仿真技术越来越广泛地应用于各个领域,使传统意义上的PC可以完成以前工作站才能完成的工作。由于PC的价格比工作站低很多,因此,怎样充分利用PC的资源来完成传统上由工作站完成的工作,进而到达更好的性能价格比,是仿真技术面临的一个新问题。分布交互式仿真技术能充分利用计算机资源,进而使问题得到解决,仿真技术也从单机仿真开展到多机仿真。变电站仿真器主要由教员台、学员台、计算台和下位机组成。基于单机的变电站仿真器以一高性能的工作站为主,运行一种操纵系统,例如VMS或者UNIX。工作站主机运行教员台和计算台,并负责和下位机的网络通讯任务,因此其计算和网络通讯负荷很重,而学员台运行在工作站主机的Xterm上,因此可以以为整个仿真器都运行在单机上,如图1所示。img=311,135zszl.cepee/cepee_kjlw_pic/files/wx/dwjs/2000-9/50-1.jpg/img基于多机的分布交互式变电站仿真器一般是在一高性能的微机上运行教员台,在另一微机上运行计算台,其余的微机运行学员台,详细的体系如图2所示。img=297,192zszl.cepee/cepee_kjlw_pic/files/wx/dwjs/2000-9/50-2.jpg/img在多机运行形式中,教员台和计算台运行在不同的微机上,计算台负责计算每个仿真周期里的电压、有功、无功等的变化量和保护动作量,并把计算出的各量通过网络播送的方式发送给下位机、教员台和学员台,而不管它们是否需要这些数据。由图2可以看到,整个仿真器之间的网络通讯是通过播送的方式实现的,这种方式下的计算台、学员台、教员台和下位机都向网络发送数据,而承受端只好被动地承受数据并判定其所感兴趣的内容。因此整个仿真器运行时在网络上充满着大量冗余数据,网络通讯是无序的,而且负荷比拟重。b3基于高层体系构造HLA的分布式变电站仿真器/b31传统DIS仿真形式的缺乏1基于播送的通讯方式,传播的信息有大量的冗余DIS的网络通讯采用播送方式,这种通讯机制不能保证通讯数据的无误传输,而播送方式的通讯是面向整个网络的,每个节点都向网络上的其它节点播送自身的状态信息,而其它节点那么不加区分地接收这些信息。随着仿真应用的扩大,仿真节点的增多,必然要在网络上传递大量的信息,然而各个仿真节点必须承受的信息却不多。2仿真支撑功能的不可重用DIS中仿真应用和仿真支撑功能网络通讯是集成在一起的,开发人员必须花费大量的时间和精力去开发仿真支撑功能,而不同的仿真应用的网络通讯功能是不可重用的,这就意味着网络通讯功能的重复开发。因此怎样开发一个通用的仿真支撑功能,进步仿真效率,便成为迫切需要解决的问题。3不能知足仿真应用的实时性在采用动态数学模型的变电站仿真器中,仿真的步长已缩短至002s,随着仿真应用范围的扩大假如用户要求同时仿真地区电网,那么传统的DIS仿真形式难以知足仿真的实时性。32高层体系构造1996年8月美国国防建模与仿真办公室制定了HLA技术框架,HLA主要由3局部组成13:1联邦规那么RULES2对象模型样板ObjectModelTemplate,OMT3运行支撑系统RunTimeInfrastructure,RTI在HLA体系中,实现特定仿真目的的分布式系统叫做联邦,联邦由仿真应用、RTI、联邦对象模型构成,而RTI那么起到支撑各种不同仿真应用的作用。在HLA中对象模型是描绘客观事物的一组对象的集合,在对象模型中描绘了这些对象的属性、联络、交互。对象模型在HLA中包括2类:联邦对象模型FederationObjectModel,FOM,用于描绘联邦执行经过中成员分享的信息;成员对象模型SimulationObjectModel,SOM,用于讲明成员在介入联邦时提供的才能。在HLA中规定了统一的表格OMT来标准对象模型的描绘。OMT提供了一个可共同理解的机制来描绘成员数据的交换。联邦规那么有10条:1必须有一个联邦对象模型FOM,用于记载运行时成员交换数据的协议和条件;2FOM中所有对象属于各个成员,而不在RTI中,使仿真应用和通用的支撑效劳别离;3所有数据的交换必须通过RTI,保持联邦数据交换的一致性;4成员与RTI的交互遵循RTI接口标准,标准化的接口使得开发仿真应用无需考虑RTI的实现;5对象的属性在任一时刻只能为1个成员所有,保证联邦成员数据的一致性。HLA提供了将属性动态地从1个成员到另1个成员的机制;6必须有成员对象模型SOM,SOM充分描绘了成员能向外提供的根本才能;7必须能更新和使用内部对象的属性以及发送和承受对象的交互;8必须能按SOM的规定迁移和承受属性的使用权;9必须能改变属性公布的条件;10必须能治理部分时间,进而保证它能协调与联邦中其它成员交换数据。HLA的RTI提供了各种效劳来处理联邦运行时成员间的互操纵和治理联邦的运行:1联邦治理效劳FM提供创立,删除,参加,退出联邦运行等效劳;2声明治理效劳DM成员可订购它所需要的属性值和公布它能提供应其它成员使用的属性值;3对象治理效劳OM提供成员在联邦运行时创立和删除对象以及属性值的传送;4所有权治理效劳OWM提供属性所有权在成员间迁移和承受的效劳;5时间治理效劳TM用于控制联邦仿真时间的推进;6数据治理效劳DDM提供对数据空间的治理,提供数据分发的效劳。相对于DIS形式,HLA形式通过引入RTI运行支撑系统,把仿真应用和运行支撑系统环境别离开来。比拟好地解决了运行支撑在仿真中的可重用性并有效地减少了网络上大量冗余的数据量。其原理如图3所示。img=256,186zszl.cepee/cepee_kjlw_pic/files/wx/dwjs/2000-9/51-1.jpg/img在HLA中各个仿真应用之间的交互通过HLA提供的接口来进展。每个仿真应用向RTI声明其能“发布和“订购的数据,在仿真器运行时由RTI运行支撑系统来确定网络的连接和数据的收发,各个仿真应用并不关心网络数据的传输,而只关心其感兴趣的数据。而且RTI中可以实现有连接和无连接的通讯方式,有连接的方式是一种可靠的通讯方式,在必须保证通讯正确的要求下采用它,而无连接的方式相对于有连接的方式耗时要少。在HLA中可以实现点对点、多播、播送的通讯方式,整个网络的传输是有序的。然而HLA的标准是美国军方针对军事领域的仿真应用而提出、制定的,对于其它领域的仿真应用显得比拟复杂和臃肿,因此吸收HLA标准,采用其接口的标准性、仿真支撑重用性、应用和支撑的别离性来重新设计了分布式变电站仿真器的体系构造,以期到达如下效果:1每个仿真节点能“发布和“订购数据;2每个仿真节点能动态地“参加和“退出仿真运行;3对网络数据进展过滤,减少通讯量;4利用多线程来处理网络数据的收发;5采用面向对象的方法来实现进步模块的可重用性。33基于HLARTI的RtiServRTI的运行支撑程序RtiServ运行在效劳器NTServer上,并采用集中式的RTI。在RtiServ程序中采用了一对一单播和一对多多播的传输方式。单播和播送是编址方案的2个极端一对一或者全网,多播的目的在于提供一种折衷方案,多播数据仅由对该数据感兴趣的接口接收,也就是讲,由运行希望参加多播会话应用系统的主机上的接口接收。播送一般局限于局域网,而多播既可用于局域网,也可跨越广域网。FedM是运行的主线程,负责治理整个联邦运行,其它对象的实现由各个子线程来完成。FedM对象负责治理总的联邦运行:创立、控制、参加、删除联邦执行。在一个成员参加到联邦执行前,联邦执行必须存在。成员参加联邦执行的顺序是不定的,但删除联邦执行必须在所有成员都退出联邦执行以后。联邦执行的创立和删除的示意图见图4。img=294,194zszl.cepee/cepee_kjlw_pic/files/wx/dwjs/2000-9/52-1.jpg/imgRtiServ由不同的对象构成RtiM,PubM,SubM,RtiR。RtiR对象负责联邦成员和RtiM的交互,包括属性的更新和调度等。PubM对象负责治理发布数据对象状态的变化,并将这些变化传递给其他的对象。SubM对象那么把各个对象的定购区域和更新区域作比拟,对知足条件的对象发出定购信息。RtiM对象由DM、OM、TM和OWM等不同对象构成,它完成对象治理、声明治理、所有权治理、时间治理,以保持一致性。RtiM还可声明能发出的信息和希望承受的交互,给参加联邦执行的每个对象唯一的ID,对象的ID由RTI动态地产生,当对象被删时RtiM应该通知对该对象感兴趣的各个成员,该对象已经脱离联邦运行。所有权治理效劳那么提供了成员间属性所有权的迁移和承受。在得到受权以后,一个成员有权利将另一个成员从联邦运行中删除。TM对象负责计算时间量TimeStamp,TS,使仿真世界中的事件发生的顺序与真实世界中的事件发生的顺序相一致,维护内部的一致性和成员的相关信息。成员可以恳求联邦时间,当前的LowBoundonTheTimeStamp,LBTS值和时间推进量以知足成员之间的交互。DM对象的主要功能是限制一个大规模范围的数据分发和承受,减少网络上的传输数据和成员处理的数据量。在HLA中数据分发的根本概念是途径空间RoutingSpace,RS,途径空间是一个多维的关联空间,成员可以用它来描绘其希望承受和发送的数据,它有3个要素:坐标系统的维数、途径变量对应于坐标系统的每一维和途径变量在每维上的定义。成员指定一定购区域,意味着只有落入该区域的数据才被发送,而指定一更新区域并将该区域与一对象相联络,成员将保证当对象更新时,如对象的属性落入了更新域,那么将发出更新值。联邦成员先向RtiM对象讲明其想定购或者发送的数据,由RtiM对象进展匹配,选择路由空间,并建立连接,最后发送数据。如图5所示,当定购对象S1和发布对象P1重叠时,与P1对象相关的属性将由RitM对象传递给S1对象。对象P2的发布区域与其他定购区域不相交,因此将制止发送对象P2的数据。通过对发img=213,140zszl.cepee/cepee_kjlw_pic/files/wx/dwjs/2000-9/52-2.jpg/img布和定购区域的计算,可以确定发布方是否可以发布,以及定购方是否应该承受,故称区域的匹配为过滤计算。过滤信息的处理建立了数据源与一组目的地的对应关系,数据只需1次多播即可,进而减少了网络的流量。因此RtiServ实现了仿真应用和仿真支撑功能的别离,并大幅度地减少了网络的通讯量。公共对象恳求代理构造Corba是一基于分布式面向对象的计算体系构造,可以隐藏底层通讯协议和硬件的细节,因此RTI的原型一般基于Corba来实现45。当对象在另一机器上时,客户端和效劳端必须分别通过一特殊层来治理网络通讯,在客户端是存根stub,在效劳端是骨架skeleton,对象恳求代理ORB负责屏蔽网络通讯,而Stub类和Skeleton类那么是在编译Idl文件时生成的。Idl语言提供了一种类似于C的语法6,供Corba应用的开发者描绘效劳对象的界面。在详细实现中,采用了可视化编程工具CBuilder4。在CBuilder4中已经方便地提供了可视化的CorbaServer、CorbaClient、CorbaIDLFile、CorbaObjectImplementation对象和大量基于Corba的应用例程,可以很方便地实现分布式计算。CBuilder4还提供效劳代理smartagent来实现动态,分布的目录效劳。在运行时,ORB通过播送来建立和SmartAgent的联络。一旦建立联络,那么采用基于UDP点对点的通讯方式来传递数据。img=313,141zszl.cepee/cepee_kjlw_pic/files/wx/dwjs/2000-9/53-1.jpg/img34分布式数据过滤机制的实现在HLA下,数据过滤的实现是通过途径空间RS来实现的,通过发布和定购区域的匹配计算,确定发布方是否可以发送数据和定购方是否可以承受数据,并建立了数据源与一组目的地的对应关系,在此根底上通过底层网络的多播功能,数据只需1次发送即可。如基于网格gridbased过滤机制把途径空间划分为粒度相等的网格,并为每个单元分配1个地址,发送者向与其公布区域相交的网格对应的地址发送数据。但是这种方式的地址数目太大,网络资源浪费严重。因此必须寻找一种更好的过滤方法,如在RS的根底上采用基于数据发送源的过滤机制SendBasedFilter,SBF。在分布式仿真中的数据过滤机制应该是高效的,并不影响仿真器的实现效率。在各个仿真节点上,计算机CPU的开销主要由3局部组成,即仿真模型计算、承受数据和过滤机制开销。在每个仿真节点上由仿真主进程派生一个过滤子进程,该子进程负责过滤由RtiServ发送的信息定购信息,发布信息,定购区域信息和其它发布区域信息进展匹配,根据匹配的结果指导相应的节点开场或者停顿发送数据,进而有效地减少了网络数据的冗余量。4HLARTI实现中要留意的问题41多线程数据分享多线程应用程序与单线程应用程序相比,有很大的差异。在单线程应用程序中,进程中的所有系统资源均由1个线程来使用,而在多线程中,进程中的多个线程共存于进程的虚拟空间,它们分享进程所有资源。假如发生多个线程同时访问或者操纵进程中的某个变量时,将会使应用程序产生意想不到的错误。因此对数据的读、写操纵必须采用“数据锁来处理,当某一线程对数据进展读写操纵时,应首先调用Lock方法将数据锁定以阻止其它线程对它的访问,操纵完毕再调用UnLock方法,释放对数据的控制权。42异步传输的采用在缺省状态下,套口是阻塞方式的。当一个套口调用不能立即完成,进程进入睡眠状态,等待操纵的完成。为了进步网络的传输速度,应该采用非阻塞IO套口。b5结语/b分布交互式仿真技术在不断开展。本文把HLA标准应用到变电站仿真中,是一个有益的尝试。随着CORBA技术的进步,分布式仿真技术也日趋完善,这必然会推动仿真技术在电力工业中的应用。b参考文献/b1华东电力试验研究所.华东500kV电网谐波结合测试报告R.19942冯宝忆.华东500kV电网谐波问题初探J.华东电力,1992,43GB/T14549-93.电能质量公用电网谐波S.4姚国灿,等.电力系统谐波程序简称CHP程序使用讲明R.电力部电力科学研究院技术报告,1991.0