手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

虚拟现实技术在工业控制上的应用

我爱方案网| 虚拟现实,WTK| 2012-03-21
592 收藏
分享到: 
每日精选
热门文章
热门方案
中心议题:
    *  虚拟现实技术
    *  WTK 的虚拟环境合成及仿真管理
    *  虚拟现实在工业控制的应用
    *  显示界面
解决方案:
    *  通过计算机构成的三维空间或是把其他现实环境编制到计算机中去产生逼真的“虚拟环境”

0 引言


组态软件指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,其预设值的各种软件模块可以非常容易地实现和完成监控层的各种功能,并能支持各种硬件厂家的计算机和I/O 设备,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软硬件的全部接口,进行系统集成。组态软件作为用户可定制功能的软件平台工具,是随着分布式控制系统(distributed control system, DCS)及计算机控制技术的日趋成熟而发展起来的。目前自动化产品呈现出智能化、小型化、网络化、PC 化、低成本的发展趋势,并逐渐形成了各种标准的网络结构,硬件规范。这使得自动化系统的“水平”和“垂直”集成变得更加容易。监控组态软件已经成为其中的纽带和桥梁,是自动化系统的重要组成部分。

经过多年来不断的探索和发展,国内在智能建筑领域已经取得了相当大的成绩,智能化程度较高。其产品在系统实时性、可靠性、安全性等方面都达到了很高的水准。同时,在监控界面的显示、报表/趋势图的生成、实时数据的管理、与现场控制器的实时数据传递以及远程监控、智能化控制(专家控制)等方面都取得了突破性的进展,并且发展日趋成熟,出现了西安协同、北京三维力控等制作组态软件的厂家,他们开发的产品虽然还不能同国外的知名产品相比,但在一定程度上却代表了国内智能监控系统的发展现状,如三维力控Force Control 是一个面向方案的HMI/SCADA 平台软件。它基于流行的32 位Windows 平台,具有丰富的I/O 驱动接口,能够连接各种现场设备。分布式实时数据库系统可提供访问工厂和企业系统数据的一个公共入口。内置TCP/IP 协议的网络服务程序使用户可以充分利用Intranet或Internet 的网络资源。

目前的自控系统虽然功能方面已经较为强大,但是很可惜,已经成熟应用的系统其监控界面全部为二维图形界面系统。随着虚拟现实技术的发展,对现场实时的、完全逼真的三维动画显示将是一个重要的发展方向。

1 虚拟现实技术


虚拟现实技术(virtual reality,简称VR 技术)是20 世纪末才兴起的一门崭新的综合性信息技术。它融合了数字图像处理、计算机图形学、人工智能、多媒体技术、传感器、网络以及并行处理技术等多个信息技术分支的最新发展成果,为创建和体验虚拟世界提供了有力的支持,从而大大推进了计算机技术的发展。VR 技术的特点在于,由计算机产生—种人为虚拟的环境,这种虚拟环境是通过计算机构成的三维空间,或是把其他现实环境编制到计算机中去产生逼真的“虚拟环境”,从而使得用户在感官上产生一种沉浸于虚拟环境的感觉。

虚拟现实技术实时的三维空间表现能力、人机交互式的操作环境以及给人带来的身临其境感受,将一改人与计算机之间枯燥、生硬和被动的现状。它不但为人机交互界面开创了新的研究领域,为智能工程的应用提供了新的界面工具,为各类工程大规模的数据可视化提供了新的描述方法,而且还能为人们探索宏观世界和微观世界以及由于种种原因不便于直接观察的事物的运动变化规律提供极大的便利。

我们开发的虚拟现实系统是一个桌式非沉浸式的虚拟现实系统,用户与虚拟环境的交互采用鼠标与键盘。基于虚拟现实技术的工业控制组态软件与国内现有的组态软件不同之处在于:

① 对现场模拟的逼真度不同。虚拟现实技术模拟现场的环境、物体等。现场所有物体的形状属性、材质属性以及环境中的灯光、灰尘等均可在监控界面上表现出来,三维物体的所有部分均可浏览与察看。而现有的系统由于均为二维界面,对现场对象的表达主要以图形显示,要么是位图格式的对象,要么是矢量图形。虽然矢量图格式表达起来较位图有很多优点,如缩放时图像不失真,占用存储空间小等,但相对于三维的物体表达方式来说其功能就不值一提了。

② 浏览场景的方式不同。虚拟现实旨在提供用户一个完全逼真的虚拟场景,用户在这个虚拟场景中的操作如同在现实生活中对对象的操作一样,可以看到物体的前、后、左、右等所有部位,可以操控虚拟场景中的所有对象。而目前在二维界面下的浏览操作仅仅是观察一个图画界面,显得单调而乏味。

③ 功能不同。相对于以上两个特点来说,这个特点是最有价值的。新型工业自控系统并不是华而不实的。它所具备的功能除了当前系统具有的所有功能外,还有一个最重要的功能就是训练、引导功能。可以足不出户浏览全部现场的情况和各个控制对象。

虚拟场景建模工具的设计是一个复杂的工作,开发建模工具也是很困难的。为此选择了市场上目前最广泛流行的3DS Max 作为虚拟场景建模工具,3DS Max 是美国Autodesk 公司推出的功能强大的三维设计软件包,也是当前世界上销量最大的一种虚拟现实技术应用软件。它集三维建模、材质制作、灯光设定、摄像机使用、动画设置及渲染输出于一身,提供了三维动画及静态效果图全面完整的解决方案。因此,3DS Max 软件已在平面设计、机械制造、建筑装潢、室内外环境设计、军事科技模拟、事故分析、科研教育、影视娱乐等全世界范围内的多种行业中得到了极为广泛的应用。基于以上原因,我们选择3DS Max 软件作为虚拟现实建模软件。但3DS Max 软件毕竟不是专门面向工控领域的虚拟现实建模软件,需要将现场的实时数据与虚拟场景中的模型对象相互关联,这样才能够根据现场的传感器数据更新虚拟场景的内容,这就需要3DS Max 环境具有数据配置功能。另外,考虑到3DS Max 场景建模过程比较复杂,我们设计了一些专门用于制作3DS Max 工控对象的插件。

Sensor8 公司的WTK 虚拟现实软件开发包一种简洁的跨平台软件开发系统,可用于科学和商业领域建立高性能的、实时的、综合的三维工程。WTK 具有很强的功能及终端用户工具,可用来建立和管理项目并使之商业化。WTK 通过以C/C++外挂平台的方式为用户提供一个完整的三维虚拟环境交互开发平台。WTK 为用户提供1000 多个基于C 语言代码的库函数,可以在程序中直接调用。同时,WTK 借助于OpenGL 的底层图形函数为用户提供高层的应用软件开发接口,可直接将WTK 作为外部方库嵌入到自己的应用程序进行三维虚拟现实应用程序的开发。所以,我们所用WTK 作为场景浏览开发平台。

2 WTK 的虚拟环境合成及仿真管理

 

WTK 按照一种面向对象的命名方式来组织,其主要函数类由“Universe”、“Object” 、“Polygon”、“Vertex”、“Path”、“Sensor”、“Viewpoint”、“Light Source”、“Portal”和“Animation”等几大部分组成。从分层角度看,“Universe”是最高层的类,在一个WTK 虚拟环境中只有一个“Universe”处于激活状态。Universe 包含了虚拟环境中的所有对象并且被WTK 内部的一个“仿真管理程序”所维护。通过引入由外部工具制作的3D 对象,并在VC++程序中利用嵌入的WTK 库函数,可以实现WTK 虚拟环境的编译和测试。

仿真管理程序是 WTK 最重要的部分,控制着虚拟环境中进程的执行。图1 反应了一次仿真循环的流程。可以通过特定的动作函数来控制虚拟环境中的事件,在仿真循环中,每个对象都可以执行任务函数。



图1 WTK 仿真管理程序

3 虚拟现实在工业控制的应用


工业控制中的虚拟现实与其它虚拟现实系统不同之处在于除了与用户的交互之外,还要与现场实时数据库进行交互。当现场的状态改变时,在虚拟环境中用户能通过漫游看到和现场相匹配的模型状态的改变,或者当用户想改变现场的状态时,可以通过鼠标点击虚拟环境中的模型来实现。既需要与现场设备随时交换数据,又可根据现场的返回数据实时地改变虚拟场景。所以我们需要执行的工业控制软件部分总体结构如图2。



图2 虚拟现实组态软件运行模块
 

本方案使用的开发语言是 VC++.NET 和WTK 引擎。下面重点介绍在WTK 开发中比较重要的场景配置和场景浏览。

3.1 场景配置

系统采用的三维场景制作软件是3D Max,在3D Max 中做一些工业对象的插件,生成虚拟场景,然后再利用WTK 的导入功能将制作的三维场景导入。如图3 所示的工控对象就是针对工业控制的需要,在3DMax 中添加的插件。



图 3 DMax 建模界面图

3.2 场景浏览

3.2.1 场景生成

将用3D max制作的开关/报警器等的配置信息输出保存成WTK文件,用WTK引擎,通过WTnode_load()函数将WTK文件导入使3D图像重现。

在WTK运行时,首先初始化一个Universe(宇宙)对象作为“容器”,在Universe中加入构成场景图(Scene Graph)的各种节点(对象),每一幅场景图都是若干节点的有序集合,其结构相当于一棵自上而下倒置的树型结构。构成场景图的节点包括Geometry Node(几何节点)、Light Node(灯光节点)、Fog Node(雾节点)、Transform Node(位置方向节点)和Grouping Node(分组节点)等。应用程序通过调用库函数WTuniverse_go()进入仿真循环,WTK通过检测传感器的数据变化和各种输入激活一个与回调函数类似的任务处理器分派不同的任务,并根据定义的任务优先级别分别执行。通过定义特定的动作函数就可以控制虚拟环境中的各种对象。WTK的仿真循环可以执行一次或多次,在定义动作函数时设定一定的条件,满足条件后,WTK则调用WTuniverse_stop()函数,系统退出循环。

3.2.2 场景浏览交互控制


场景浏览交互控制用来处理鼠标及键盘的输入,利用鼠标的动作改变场景视点,达到浏览场景的目的。共制作了浏览、翻转、物体选择以及操作等4 种模式。浏览模式定义鼠标单击视图的第一点为基准点,以基准点为端点进行拖拉,可在视图中进行向前、向后、向左、向右的浏览操作。翻转模式定义鼠标单击视图的第一点为基准点,以基准点为端点进行拖拉,定义基准点到拖拉点的方向为翻转方向,可对视图进行任意角度的反转操作。物体选择模式定义鼠标单击视图的点为选择点,选择视图中选择点落入其范围的最前方物体,可进行选择物体的操作。操作模式可进行现场的实际控制,物体建模过程中定义了许多与现场节点相互关联的控制器模型,可通过操作控制器节点控制现场对象。

4 显示界面

通过场景建模和场景浏览实现了对工控对象的拾取、改变材质属性和使控制对象移动等虚拟现实的一般功能。当现场发出报警信号时,显示界面的报警灯发生颜色改变,用户可以通过改变显示界面中的开关状态关闭现场的阀门等,消除危险。图4 显示了当报警灯颜色发生改变时,即报警状态的开关开始动作。



图4 虚拟场景的界面

5 结束语

新型工业控制系统是在以往的监控系统基础上发展而来的,它具备成熟监控系统的所有功能,保留现有组态软件的优点,利用虚拟现实技术来弥补显示模式上的不足。为了给操作用户更好的视入感,更方便地操作控制界面,后续的工作还很多,比如实时数据库与配置表的读取、场景动画的控制等等,以便把虚拟现实技术更深入地应用在工业控制当中。

点赞

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号