刘建国,王世超,赵林明
(河北工程大学水电学院,河北 邯郸 056021)
水电站虚拟实践教学系统的开发
刘建国,王世超,赵林明
(河北工程大学水电学院,河北 邯郸 056021)
摘要:针对热能动力工程专业实践教学存在联系实习单位难、实习经费紧张等问题,开发了基于VRML的虚拟实践教学系统。在系统开发过程中,首先对水电站厂房和水轮发电机组的零部件进行了三维建模,然后应用VRML编程接口SAI和EAI构建了虚拟场景的动态交互,最终实现了水电站虚拟场景的漫游和水轮发电机组的虚拟安装。实际应用表明,虚拟实践教学系统有着较高的应用价值。图6幅。
关键词:水电站;实践教学;水轮发电机组;VRML;场景交互
1概述
热能动力工程(水动方向)专业的安装、检修实习与运行实习是该专业学生重要的实践教学环节,通过实习可以使学生全面掌握水轮发电机组的结构、安装检修及水电站生产过程,提高对所学理论知识的实际应用能力。但随着招生规模的扩大、市场经济的发展,实习教学遇到了前所未有的问题,如实习经费紧张;以及随着计划经济向市场经济的转变,电厂考虑到经济效益和安全问题,往往把学生实习视为负担,对承担学生实习任务的积极性下降[1_2]。这些问题严重影响了相关专业实践性教学的质量。
虚拟现实技术是以计算机为核心的现代科学技术,它可以向用户提供视觉、听觉、触觉一体化的虚拟环境,用户借助相应的设备可以与虚拟环境中的实体进行交互,有身临其境的感受;虚拟现实技术广泛应用于医学、教育、娱乐、建筑、机械制造等行业。本文将虚拟现实技术应用于热能动力工程专业(水动方向)的实践教学中,构建基于VRML的水电站实践教学辅助系统,学生在虚拟环境下可以完成对水利枢纽的认识、水轮发电机组的安装、检修等实习。
2系统功能
虚拟实践教学系统的基本功能是建立水利枢纽的虚拟场景,展示水轮发电机组零部件的结构,并能实现水轮发电机组的虚拟安装、实习辅助管理、在线讨论等功能[3]。系统可分为5个模块,如下所示(见图1)。
图1水电站虚拟实践教学系统示意
(1)水利枢纽虚拟场景,包括水库、大坝及水电站厂房的虚拟场景。用户可通过鼠标、键盘等输入设备对水库、大坝进行浏览,也可以进入厂房发电机层、水轮机层、中央控制室了解设备的布置情况。
(2)水轮发电机组的结构,包括水轮机零部件、发电机零部件、过流部件的结构形式、作用、检修规程等。
(3)水轮发电机组的虚拟安装,能够实现导水机构、水导轴承、主轴密封、调速机构、发电机定子、发电机转子、上机架、下机架等的自动虚拟安装和交互虚拟安装,其中虚拟场景的构建和虚拟安装的交互过程是系统的核心。
(4)辅助测试系统,建立实习测试试题库,自动生成测试试题,学生完成测试提交后,自动评定成绩。另外,还可以上传实习报告并可以对实习成绩进行管理。
(5)在线讨论,对实习中出现的问题进行在线讨论。
3关键技术
水库、大坝、水电站厂房及水轮发电机组各个零部件三维模型的建立是水电站虚拟实践教学系统实现的基础。由于水库、大坝、水电站厂房、水轮发电机组的零部件使用VRML语言建立虚拟场景是相当烦琐的,毫无直观性可言。因此在软件开发过程中,选用三维实体设计软件Pro/E建立水轮发电机组零部件的三维实体模型,并将Pro/E中设计好的三维模型再通过File(文件)命令输出为VRML文件[4_5]。为减少三维建模的工作量,采用3DMAX建立水库、大坝及水电站厂房的三维模型,并在3DMAX中导出VRML文件[6]。用Pro/E或3DMAX建模所生成的VRML文件比较大,这直接影响场景在服务器和浏览器之间的传输时间和虚拟场景在浏览器中的载入时间;这两个时间太长会影响场景的浏览速度,使场景失去真实感,因此需要对三维模型加以优化;可采用LOD技术[7]、代码重用技术及VRMLPad编辑器编辑压缩等方法对模型进行优化。
交互性是虚拟现实技术的重要特征,在本系统中通过交互实现场景的漫游及水轮发电机组的虚拟安装。VRML的交互方式有基于脚本编程接口SAI (Script Authoring Interface)的交互和基于外部编程接口EAI(External Authoring Interface)的交互[8]。
3.2.1基于SAI的交互
SAI是利用Script脚本节点实现VRML与Java、Javascript的交互,Script节点主要由4部分组成,即eventIn事件,eventOut事件,多数据接口的field域和将VRML与Java、JavaScript、VrmlScript相联系的url域,该域可以是Java程序(.class)的路径,也可以是JavaScript或VrmlScript程序[9]。
在VRML中,可通过Script节点利用JavaScript语言或VrmlScript语言实现VRML场景的交互,这种方法灵活、简单,但由于JavaScript和VrmlScript只是脚本语言,只能实现简单的逻辑控制和计算,如果要实现复杂的逻辑控制或计算,则需要使用Java语言。Java与VRML的交互是通过Script节点,利用VRML提供的vrml.*、vrml.field.*、vrml.node.*Java附加包实现的。Script节点的eventIn事件从一个节点接收参数,调用Java程序进行处理与计算并返回计算结果,被加工的信息由Script节点的eventOut事件赋给另一个节点,实现数据传递,即虚拟场景交互(见图2)。
图2SAI交互机制
3.2.2基于EAI的交互技术
如果要在VRML场景中添加VRML场景控制区,使用SAI不能满足要求,但利用VRML的EAI接口则可以实现。EAI接口实际上是一个允许Java应用程序访问浏览器窗中VRML场景的JavaAPI函数包,类包中共有51个类和1个接口,它们分别被放在vrml.external、vrml.external.field和vrml.external.exception 3个包中。其基本思想是将VRML虚拟场景与Java Applet嵌在同一网页中,Java Applet通过浏览器来控制VRML场景,实现Java与VRML的场景交互[10_11]。
利用EAI类包中的Browser和Node类,可以不用Script节点和路由,而直接由Java Applet调用getBrowser()方法建立Browser对象,以Browser对象的getNode()方法来引用虚拟场景的节点,由场景节点的getEventIn()、getEventOut()方法获取事件,通过改变事件的值来改变场景,达到动态效果,由此实现Java与VRML场景的交互(见图3)。
图3EAI交互机制
在本文中的虚拟场景漫游和虚拟安装就是以EAI方式来实现虚拟场景的控制。如水库大坝虚拟场景漫游,控制区包括自动漫游、暂停漫游、继续漫游、人工漫游按钮和改变漫游速度的控制条,来控制漫游的开始、暂停、继续和漫游速度(见图4)。
图4水库大坝的虚拟场景漫游
水电站虚拟实践教学系统的水轮发电机组的零部件、在线测试试题、用户信息等数据都存储于数据库中,在交互过程中需要对数据库进行访问。系统采用MVC模式的三层Browse/Server(浏览器/服务器)体系结构[12]。浏览器端安装VRML插件,用于虚拟场景的显示,该层是用户和系统的接口。中间层即应用服务器,采用JSP、JavaBean、Servlet等技术,实现数据库的操作和逻辑控制。数据库层采用SQLserver数据库(见图5)。
图5系统体系结构
应用服务器的视图层采用JSP技术,以网页形式向用户提供界面。Servlet实现控制层,Servlet控制器接收客户端发送的请求,调用模型层中的JavaBean组件,进行相应的业务逻辑处理,并将最终处理的结果返回给相应的页面进行显示。所有的业务逻辑和数据处理都封装在模型层的JavaBean组件中,包括数据库操作类DBConnect、用户对象类User、Sqluser等,用于实现数据库的连接、操作和修改等。
4系统实现
水电站虚拟实践教学系统是以Pre/E、3DMAX、VrmaPad为开发工具,在Windows XP+Tomcat 6.0+SQL Server 2000环境下实现的。系统主界面分为3部分,分别是树状目录、虚拟场景演示窗口和演示控制按钮。页面左侧采用树状的目录结构,便于虚拟场景的浏览、水轮发电机组各零部件结构的查看及水轮发电机组安装检修演示。用户可以通过树状目录选择场景漫游、零部件结构查看、安装演示、在线测试及在线讨论。例如,如果用户查看水轮发电机组的原理演示,可通过点击树状目录中的水轮发电机组,即可实现水轮发电机组的原理演示,在演示过程中可用右侧的按钮控制演示时间、暂停演示、继续演示(见图6)。
图6系统主界面
5结论
本文以某一水电站实际数据为背景,采用三维建模软件3DMAX、Pro/E分别对水电站的水库、大坝、厂房及水轮发电机组主要零部件进行三维建模,以VRML来建立虚拟场景,采用VRML和Java语言实现虚拟场景动态交互,完成了水利枢纽虚拟场景的漫游和水轮发电机组的虚拟安装,应用表明方法是行之有效的。使用虚拟实习教学系统进行学习和培训与传统的现场培训相比,具有可以减少经费的投入,不受时间和场地的限制,操作简单等优点,解决了当前学生实习存在的经费短缺等问题,因此具有较广阔的应用前景。
参考文献:
[1]王启广.实习教学改革与能力培养的探索[J].实验室研究与探索,2004,23(1):69_70.
[2]李贞培,李平.工科专业实习教学改革的探索与实践[J] .实验室研究与探索,2011,30(6):166_168.
[3]李永锋.基于VRML的机械基础虚拟实验系统[J].实验室研究与探索,2009,28(9):69_71.
[4]邓杰,陈锐.水轮机叶片测绘数据的三维CAD绘型[J] .水利水电技术,2009,40(11):103_106.
[5]马世霞,刘丹. 基于VRML的虚拟组装实验室的设计与实现[J]. 计算机应用与软件,2008,25(5):193_195.
[6]霍树义,贲国雄.水电站油系统虚拟现实技术应用研究[J].水电能源科学,2010,28(11):123_124.
[7]吴恩启,杜宝江. 基于虚拟现实的地下电力管线可视化规划研究[J]. 山东大学学报(工学版),2010,40(6):54_57.
[8]高建洪,胡志华.VRML虚拟场景中实时交互动画的实现[J].苏州大学学报(工科版),2006,28(6):36_38.
[9]陆昌辉.使用VRML与JAVA创建网络虚拟环境[M].北京:北京大学出版社,2007.
[10] 杜培富,刘衍聪.基于VRML和Java Applet的虚拟装配平台的实现[J]. 机械工程与自动化,2008,(3):50_51.
[12] 邹竹彪.JSP网络编程从入门到精通[M].北京:清华大学出版社,2007.
■
责任编辑吴昊
作者简介:刘建国(1964-),男,教授,主要从事计算机辅助设计、虚拟现实技术等方面的研究工作。
基金项目:河北省高等教育教学改革研究项目(2012GJJG089)
收稿日期:2015-07-20
E_mail: liujianguo_1964@163.com