1 VRML概述 1.1 VRML语言 VRML(Virtual Reality Modeling Language)即虚拟现实建模语言,是一种用于建立真实世界的场景模型或人们虚构三维世界的场景建模语言。它是用来描述三维物体及其行为的,可以构建虚拟境界(ViaualWorld)。~RML的基本目标是建立因特网上的交互式三维多媒体,基本特征包括分布式、三维、交互性、多媒体集成、境界逼真性等,是目前Internet上基于"WWW"的三维互动网站制作的主流语言。
1.2 VRML引擎 楼宇自控系统的一个显著特点是需要采集底层各种控制器节点的数据以及与实时数据库进行数据交换。而VRML是一种在web上进行传输的三维虚拟规范,为了保证客户端计算机的安全,在访问计算机底层I/0方面没有做更多的考虑。尽管VRML可以使用JAVA程序和三维虚拟场景进行交互,但出于对计算机安全方面的考虑,JAVA在访问底层I/O方面远远不及VC等开发工具简单,且由于JAVA采用平台无关设计,JAVA虚拟机在解析JAVA程序并运行时牺牲了效率,所以JAVA不是理想的三维楼宇自控软件开发语言。
综合各种编程语言的优缺点,笔者认为VisualC++是比较合适的开发语言,但是MFC并没有提供现成的支持VRML的类库,所以必须选择一种符合VRML规范的C++类库,我们称之为VRML引擎。
2新型楼宇自控系统软件部分总体结构 目前,国内较流行的组态软件如三维力控、组态王、昆仑通态等,其结构体系都是建立在二维组态和二维监控的基础上,楼宇自控组态软件采用二维组态、三维监控的模式,分为场景配置与场景浏览两个部分。主体结构如图1所示:
2.1 场景配置 目前有关虚拟现实与生产自动化相结合的应用大多数采用的办法是先使用一些三维场景制作软件,如3DMax、AutoCAD、Maya等将工业现场的三维场景制作出来,然后再利用三维开发工具包如WTK、VTree等开发工具的文件导人功能将制作的三维场景导人。本系统采用的方法是制作一个二维的场景配置软件,运行时利用二维场景下所作的组态信息生成三维的场景,该软件界面如图2所示。
图2为利用配置软件制作的楼宇单层二维俯视图,里面包含了对墙、门、窗、地板、传感器等的配置信息,文件配置完成后以.dat文件形式保存。
2.2 场景浏览 场景浏览软件利用配置软件生成的.dat文件新建一个工程文件,该工程文件包含所需要的全部三维配置信息,然后再通过VBML引擎将配置场景重现。图3为根据图2配置生成的三维场景画面,可以三维浏览,实现虚拟现实的各项功能。
2.3 监控功能的实现 与其它虚拟现实应用有所不同的是楼自控系统需要与现场设备随时交换数据,并根据现场的返回数据实时改变当前的虚拟场景。图3中的绿色小点代表了楼宇自控系统的烟雾传感器,当传感器处于报警状态时,传感器状态变量通过现场总线传递到实时数据库,场景浏览器根据实时数据库的数据刷新当前场景。图4显示了传感器报警时对虚拟场景的刷新界面。
可以看出,第三层的传感器数据发生变化,系统采取的动作是将整个第三层楼层显示为透明,同时标出该传感器的位置,为用户提供更为直观的显示界面。
3 系统后续工作 由于VRML本身的特点与限制,当系统需要动态改变场景时,如传感器颜色变化,开关状态变化等,不得不将场景中的每一个组件更新一遍,这必然浪费系统大量的资源,需要进一步优化。
采用俯视图形式完成组态配置虽然较为方便,但用俯视图形式表达复杂形状物体时显得有点力不从心,需要更多的参数,因此有必要考虑其它方法弥补不足。
4 结束语 本系统只是将虚拟现实技术应用于楼字自控系统的一个小小尝试,笔者坚信,随着虚拟现实技术的发展,必将在工业控制领域有更广泛的应用。
参考文献 1 邹湘军.孙建.何汉武.虚拟环境下的生产线三维动态仿真及建模.《中国期刊网》 2004;4 2 吕惠强.李益明.杨洁.周坚忠.基于VKML的虚拟现实设计的基本原理.《浙江工业大学学报》2001;12






