微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
2000　Vol.19　No.4　P.29-30



Java技术在开发分布交互式电站仿真系统中的应用
刘勇利　刘强　冯德群
摘 要： 基于Ｊａｖａ技术实现电站仿真的开发环境，给出了应用面向对象的方法建立电厂仿真模型的过程，并论述了在互联网上进行电站系统仿真的可行性。
关键词：Ｊａｖａ技术 电站仿真 实现方法
　　仿真技术是以控制论、系统论、相似原理和信息技术为基础，以计算机和专用的物理设备为工具，借助系统模型对实际或设想的系统进行动态试验的一门综合性技术。随着发电机组向高参数大容量的不断发展，对运行人员的操作水平提出了更高的要求，多样灵活的电站仿真培训装置越来越受欢迎。近几年，在多媒体和虚拟现实技术支持下，计算机仿真技术又有了新的发展，网上的信息交流越来越普及，在线式仿真培训已成为可能。Java技术的推出及应用，为进一步开发分布交互式电站仿真系统提供了强有力的技术支持。
1　基于Java技术开发分布交互式仿真机的体系结构介绍
　　基于Java语言开发交互式仿真系统的体系结构JADISJava－based Architecture for Developing Interactive Simulation是针对大型复杂系统仿真而设计的。JADIS是用Java程序设计语言来实现的，Java语言的最大优势是它的可移植性。由Java所编写的源程序经编译成为可读的代码文件，适用于多硬件平台，包括PC机和Macintoshes及UNIX工作站。Visual J＋＋是Microsoft研制的程序开发环境，它能用于开发跨平台的Java应用程序。
　　JADIS不依赖于某一硬件平台，仿真模型允许有多个界面，可在不同的计算机上并行处理。JADIS集成了面向对象的程序设计方法和并行处理以及图形用户界面的概念，提供了开发分布交互式仿真系统强有力的设计方法。
　　在JADIS结构中，模型―视图―控制器框架MVC（Model－View－Controller）是一种用模块化方法开发图形用户界面的结构。在MVC结构里，建模和图形用户的开发可并行进行，并且，这种结构支持多图形进入同一仿真系统。图形专家可按用户要求建立一个图形库，众多的用户可共享同一图形库。这可以极大地满足电站仿真的实时性。
2　电站系统仿真的实现过程
　　电站仿真系统是由硬件系统和软件系统构成。其中硬件系统包括计算机、物理盘台、控制系统操作台和就地操作台等。软件系统包括计算机系统软件、仿真支撑软件、电站仿真模型软件、教练员台培训软件等，其中仿真模型软件的建立是实现电站仿真的核心部分。下面介绍应用JADIS结构开发电站仿真系统应进行的工作。
2．1　电站仿真类库的建立
　　Java语言是一种面向对象的编程语言，它的基本组成是对象，1个对象是1组数据及对数据进行操作的程序的集合，对象将数据结构和行为合为单一的实体，对象具有标识的唯一性、继承性、操作的多态性和数据的封装性。类是构造对象的基础，可以利用方法的重载和类的继承性增加新的对象和类。
2．1．1　创建类的基本原则
　　在创建电厂仿真类库时应遵循下列基本原则：
　　（1）类的属性和操作组成了1个类，类中的变量分为局部变量和全局变量，全局变量是不同类相互通信的接口部分，在划分类时，局部变量尽可能在该类中是相对独立、紧密相关的，这样可大大减少模型调试过程中的相对影响。力求使类完成某一特定功能，并考虑到类本身内部联系较弱，接口简单（输入／输出个数少），所以在建立类时应尽可能采用局部变量，少采用全局变量。
　　（2）对于各种不同的对象，即使名称不同或在系统中所起的作用不同，但只要它们所完成的功能基本相同，就可将其创建成同一类，只不过是在创建对象时，各项常数、控制变量值不同而己，从而增加了类的通用性。
　　（3）每个类的建立都应按照其物理过程并遵循质量和能量守恒的基本定律。在电厂中根据所完成的特定功能，建立相应的电厂类库。
2．1．2　电站仿真类库建立的过程
　　对于电站系统中的某一类设备或某一种控制装置，按其功能被确立为1个基本对象，再根据描述对象共性的微分方程、代数方程或逻辑关系式计算其动态过程中各输出参数的变化。应用Java语言对实现某一功能的对象进行编程，创造相应的类和方法，并对该类自身的属性进行封装。每一个类可以是多输入、多输出环节，也可以是单输入、单输出环节。在创建类时，对反映不同对象的个性参数（如结构尺寸、材料性能等）设计成局部变量，该变量为类内部享用，而其输出则做为公用参数，在创建对象时与其它相关类发生关系。用户可根据自己的需要对类进行扩充、修改，也可以加入新类。
　　继承是面向对象编程中一个独特而强大的工具，在电厂系统中，一些最基本、最通用的设备可创建类，具体到某一型号时可创建子类，通过类的继承可以减少编程的工作量。如单相介质换热器类的创建，是针对火电厂中各种过热器、再热器、省煤器等同一类对象而设计的，在对某一具体机组建立过程仿真模型时，通过多次继承并创建实例，只不过是其换热面积、金属比热、导热系数、管内容积等参数不同而己。
2．2　电厂过程模型的生成
　　在JADIS结构下，应用面向对象的方法建立电厂仿真模型时，首先将整个电厂系统分解为若干个子系统，然后根据各子系统的组成和功能要求，将其划作为几个相对独立的对象，再按照各个对象的具体特性，从已建立好的电厂仿真类库中选择出一些相互关联的类，并对其进行实例化，逐层联结组成整个电厂仿真模型。也就是说模型开发人员不必关心其工作过程，即可通过图形编辑工具将仿真对象的设备和系统再现到屏幕上，依托相应的支撑软件，根据具体的对象填充表格参数，并输入有关的原始数据，即可自动生成仿真模型软件[2]。通过这种方法建立过程模型，既方便又省时，使建模周期大大缩短，并可清楚地表达整个系统各部分之间的关系。
2．3　人机界面部分的实现
　　发电厂人机界面部分包括系统的组成设备、工质及流动方向、设备与工质之间的连接关系、操作量、显示量，其中操作量有开关量（如转动设备的启／停）和模拟量（如调节汽门开度），操作界面及属性与电厂热力过程的动态数学模型相关联，构成了过程模型与用户的接口。
　　Java中含有丰富的类库，其中Graphics类提供了绘制直线、曲线、椭圆、矩形等各种图形的方法。在MVC结构里，应用Java可开发标准的图素，以生成电厂生产流程图。Java语言具有支持多媒体功能，它提供了用于处理图像、声音的类Imagine、AudioClip。通过该类库所提供的几种方法，可实现一些特殊仪表的仿真，象锅炉炉膛火焰仿真、马达启／停声音仿真等，从而使电站仿真效果更加逼真。
　　在应用Java技术所创建MVC结构中，可方便自动地生成满足需要的用户界面，而不用从头编写用户源程序，从而建立一个友好的人机界面。有了丰富的用户界面，就可根据要求进行事件处理或消息传递。作为一个实时仿真系统，用户可能随时要求与仿真系统对话，应用该技术可实现以下功能：（1）实时监控功能。在电厂生产流程图上可定义所要显示参数的位置、名称及变化曲线，并实时动态地显示各主要参数值及过程曲线。（2）在交互动态仿真图上流程图、虚拟操作盘台图、报警光字牌可以对过程模型进行在线调试，并对设备进行控制性操作。
3　在互联网上实现电站系统仿真的可行性
　　Java的网络功能封装在类库Java．net中，包含有一套功能强大的类，这些类提供用于Internet和WWW上通信的TCP和IP协议机制，用来开发一些有用的应用程序。完全面向网络的任务，包括为应用程序提供服务器、构造客户程序用来访问Internet上的服务，或自动完成一些诸如传递文件或登录上网的服务。Java支持数据分布和操作分布二种分布性。数据分布是指数据可以分散在网络上的不同主机，操作分布将计算分给不同主机进行处理。对于数据分布Java提供了1种URL（Uniform Resource Locator）对象，便于打开并访问网络上的对象，其访问方式与访问本地文件系统几乎一样。对于操作分布Java的Client／Server模式可以把运算从服务器分散到客户端，从而提高了系统的执行效率。加之与Java相关技术ActiveX的应用，提供了可行的网上仿真技术，实现真正的交互性，Web可传送用Java程序写的执行内容，当用浏览器访问时，就可下载和执行所有嵌入式的Java程序。由于此程序与运行平台无关，可置于任何计算机上。交互性可以使用户与嵌入在Web中下载的图形、画面进行交互式对话等，实现网上仿真。
4　结束语
　　Java是面向对象的编程语言，具有平台无关性、稳定性、安全性、多线程等优点，为用户提供了一个良好的分布交互式仿真开发环境。目前，该技术正用于通用型电站仿真培训装置的开发，并在我校的校园网上进行了尝试。应用该技术将大大缩短仿真机的开发周期，提高仿真机的可靠性、可维护性和可移植性。
刘勇利（西安电力高等专科学校710032）
刘强（西安电力高等专科学校710032）
冯德群（西安电力高等专科学校710032）
参考文献
１，Ｓｉｙａｎ Ｋ Ｓ，ＰＨ Ｄ．Ｖｉｓｕａｌ Ｊ＋＋实用大全．北京：清华大学出版社，１９９８
２，刘强，白延丽．基于ＪＡＶＡ语言开发电站仿真机的研究．计算机仿真，１９９９；（３）
３，美Ｊｏｓｈｉ Ｄ，Ｃｈａｎｄａｎｋ Ｒ．Ｖｉｓｕａｌ Ｊ＋＋精通指南．北京中国水利水电出版社１９９７
４，杨明．面向对象建模技术开发大型培训仿真系统的一种方法．系统仿真学报，１９９７；（４）
收稿日期：１９９９－１０－２２
