三维虚拟动态测量系统构建方法研究

2016-11-23 10:02:21张登攀田振华王东升
计算机测量与控制 2016年5期
关键词:耦合服务器界面

张登攀,田振华,王东升

(河南理工大学 机械与动力工程学院,河南 焦作 454000)

三维虚拟动态测量系统构建方法研究

张登攀,田振华,王东升

(河南理工大学机械与动力工程学院,河南焦作454000)

针对传统二维测量系统存在测量精度较低、稳定性差的不足,提出一种基于数据交互的三维虚拟动态测量方法;该方法采用三维构型与总线技术同步耦合的工作方式,对三维测量系统中模型驱动的关键问题进行了研究,探讨了三维测量系统中数据交互解决方法的可行性,并将该方法应用于煤矿排水系统,完成了三维虚拟动态测量系统的开发;试验结果表明由该方法实现的三维虚拟动态测量系统具有运行稳定、操作简单、直观性强、可靠性高的优点,应用前景广阔。

三维可视化;三维测量;模型驱动;数据交互

0 引言

目前在企业安全生产过程中,对生产和制造系统的测量精度要求越来越高,如何更加直观、准确、及时地监测和控制设备运行状态是一项重要的任务和课题。

在复杂现场设备的测量过程中,存在大量测量和控制数据,用简单的数字或曲线无法直观的表现出设备的工作状态,同时在二维图形的测量系统中存在测量精度较低的问题。文献[1]中采用平台级和用户级两级调度策略,通过配置Labview软件的RT实时引擎设计了一种基于Labview的工业现场测控系统[1]。文献[2]采用分布式结构,由测试计算机和控制计算机分别完成人机交互、数据采集及控制任务,设计了一种工业现场用多任务实时测控系统[2]。文献[3]基于B/S模型的网络测控系统,并对其嵌入式Linux喜爱的串口通信、网络通信及CGI关键技术进行分析,完成了基于Linux的网络测控功能[3]。上述应用都取得了良好的效果,具有实时性强、运行稳定等优点,但也具有实时交互性差、测量精度低等弊端。

通过对传统测量系统的研究,提出一种基于数据驱动的三维虚拟动态测量系统构建方法,该系统以三维场景作为系统软件的主要操作界面,可实现三维模型的数据驱动以及动态响应用户操作;针对三维测量系统中的数据交互问题,提出了高效、安全的数据交互方案。面向煤矿排水系统的测量需求,开发了煤矿排水系统的三维虚拟动态测量系统。

1 三维动态测量系统组成

三维动态测量系统主要由现场分布性设备、三维场景模型、虚拟仪器控件库、数据交互通信系统、传感器节点和控制节点组成。三维动态测量系统组成如图1所示。

图1中,三维场景模型根据现场分布性设备构建,包括静态模型和动态模型,静态模型仅作为静态三维展示,而动态模型是三维场景中的主要组成部分,负责显示现场设备的状态变化和响应用户的操作。为向用户展现更加详尽、全面的设备运行数据和状态,在测量软件中引入了虚拟仪器控件库,系统运行时,虚拟仪器控件库根据用户操作动态生成虚拟仪器控件并将其添加入界面中,并且对数据观察完毕后,可以将控件删除释放其所占用的资源。为使系统能够对现场设备进行实时的测量与控制,在测量系统中构建了基于数据服务器的数据交互通信系统。分布在现场设备上的传感器节点和控制节点,挂接在数据总线上,通过现场总线网络与数据服务器相连通。

2 三维模型场景

2.1三维模型构成

三维测量系统与二维测量系统最大的区别是现场设备的状态监测和控制是通过三维场景的变化来展示,本文使用3ds Max软件建立三维模型。三维场景中动态模型和静态模型的构成如图2所示。

图1 三维测量系统组成示意图

图2 三维模型构成

图2中,静态模型不响应用户操作且不被数据驱动,动态模型可分为三类,一类是用于展示设备数据的模型;第二类是用于接收用户操作的模型;第三类是同时具有上述两类特征的模型,这类模型既可展示数据又可响应用户操作。数据驱动的模型部件通过数据通道与测量系统的数据流相连,当系统启动时,会根据配置首先为模型分配数据通道和地址;系统运行过程中,软件后台根据数据通道和地址将对应于第一类和第三类模型的数据提取并进行分析,然后调用模型驱动程序驱动前台的模型;当用户操作第二类和第三类三维模型时,触发与其关联的操作响应模块,操作响应模块根据用户的操作将模型部件ID和操作命令传递给数据耦合模块,数据耦合模块对数据进行封装和处理后发送到数据服务器,最终完成对现场设备的控制。

本文使用WPF技术开发三维虚拟动态测量系统,WPF应用程序由前台XAML代码和后台程序模块组成,在前台XAML代码中可以展示三维场景,并可直接使用XAML代码对三维模型进行定义。使用3ds Max软件将建立好的模型导出为OBJ或3DS格式文件,然后使用ZAM3D工具转换为XAML格式文件,即可将建立的模型嵌入WPF软件的界面中。

三维模型嵌入到测量系统界面后,为响应用户操作,在系统后台程序中编写了事件处理程序,并将其封装为操作响应模块,模块中的事件响应程序与模型部件的ID相关联;为实现基于数据的模型驱动,在后台程序中开发了数据耦合模块和模型驱动模块。工作流程为:当用户操作三维场景中的某个模型部件时,将触发与其关联的事件响应程序;当数据到达测量系统后,数据耦合模块对其进行处理,然后交由模型驱动模块驱动三维场景中的模型部件。三维模型和测量系统交互的如图3所示。

图3 三维模型与测量系统交互

图3中,测量系统软件主要由前台界面和后台程序模块组成。前台界面的主要部分是三维场景,其次包含一些软件用户接口,比如菜单、按钮等;测量系统后台为前台界面提供逻辑和数据支持,主要包括操作响应模块、数据耦合模块和模型驱动模块。数据耦合模块主要负责数据的接收、发送、解析和封装,其内部包含了数据交互接口、数据协议读取及分析模块、数据打包和解析模块。模型驱动模块用于接收数据耦合模块解析处理过的数据来驱动三维模型,主要包括三维模型状态驱动模块、模型动作驱动模块和模型对象匹配模块。

下面是根据数据动态改变三维模型材质的后台代码。首先通过LINQ语句从实时数据库中查询出pump01的工作状态,然后在前台模型代码中找到pump01部件并将其内容转换为Geometry Model3D对象,然后根据状态对pump01的材质进行修改[6]。在三维模型的动态模型部件中存在较多的需要更改材质的部件,有些部件的材质为单一材质Material,而一些部件的材质由材质组Material Group构成,为增强代码的通用性,在向外暴露接口时不区分模型部件材质,而是代码结构内部增加一个判断以适应不同材质构成的部件。若是材质组,则通过foreach循环找出其中的Diffuse Material材质更改其Brush属性完成材质颜色的更改;若是单一材质,则直接更改其Brush属性。

pumpdbEntities pe=new ptanpdbEntities0;

var pump St ate=pe.pump state.First(o=>o.pumpid==" pump01").state;

Geometry Model3D geometrymodel=pump01.Content as Geometry Model3D;

if(pumpState)

if(geometrymodel.Material is Material Group)

var materialGroup=geometrymodel.Material as MaterialGroup;

foreach(var groupltem in materialGroup.Children)

if(groupItem is Diffuse Mat erial)

Di ffuseMaterial tmpltem=groupltem as DiffuseMaterial;

tmpltem.Brush=newSolid ColorBmsh(Color.From Argb(255,192,42,42));

else

Diffuse Material material=geometrymodel.Material as Diffuse Material;

if(material!=null)

material.Brash=newSolidColor Bmsh(Color.From Argb(255,192,42,42));

下面是前台Storyboard结合后台完成模型运动的代码。在前台界面的Window.Resources节点下定义一个名为ppcRotation的Storyboard对象。在ppc Rotation节点下定义了关键帧Rotation3Danimation Using Key Frames和Point 3DanimationUsing Key Frames。在Rotation3D animationUsing Key Frames内部首先设置了其所指向的对象ppc和其要影响的属性Rotate Transform3D.Rotation,然后设置其执行动画的时长Key Time为1秒以及属性Axis和Angle的目标值。Point3Danimation Using KeyFrames是针对ppc的位置ProjectionCamera.Position而设定,设置了其要将摄像机移动到的目标位置的值以及所用的时长。当此模型部件以及此动作的数据到达测量系统软件时,在后台通过ppc Rotation.Begin()命令进行调用,则前台开始驱动模型部件执行此动作。

<Storyboard x:Key="ppcRotation">

<Rotation3 DAnimation Using Key Fr ames

St oryboard.IargetProperty="(Camera.Iransform).(I ransform3 DGr oup.Children)[2].(RotateI ransfor m3 D.Rotation)"

St oryboar d.Iarget Name="ppc">

<Easing Rotation3 DKey Frame Key~ime="0:0:1">

<EasingRotation3D Key Frame.Value>

<AxisAngleRotation3D Axis="-0.055,-0.996,-0.068"Angle="88.686"/>

</EasingRotation3 DKey Fr ame.Value>

</EasingRotation3 DKey Frame>

</Rotation3 DAnimation Using Key Fr ames>

<Point3 DAnimation Using Key Fr ames

St orybmr d.IargetProperty="(ProjectionCamera.Position)"

Storyboar d.Iar get Name="ppc">

<EasingP oint3 DKey Frame KeyI ime="0:0:1"

Value="-320,3 8.0012588500977,300.8946992064Y'/>

</Point3 DAnimation Using Key Fr ames>

</Storyboard>

ppcRotation.Begin0;

3 三维测量系统数据交互

3.1数据服务器

在测量系统中不仅需要对数据进行实时的观察,也需要对重要的数据进行记录备份。一般测量系统将数据直接发送至测量系统,由测量系统软件进行显示和记录,这样存在一定的数据风险。本文在控制系统与测量系统之间的通信系统中加入了数据服务器,专用于数据处理、缓存和存储等,使数据交互更加安全可靠。具体设计结构如图4所示。

图4 数据服务器工作示意图

图4中显示了数据服务器在数据交互过程中的位置和作用。在数据服务器上部署的模块包括数据处理模块、数据耦合模块、数据库和数据缓冲池等。在测量软件和数据服务器上都部署有数据耦合模块,通过网络进行数据传输,数据服务器上的数据耦合模块与测量软件的数据耦合模块的结构和功能相同。数据处理模块负责对接收到的数据进行分析和处理,主要包括数字信号处理模块,数值计算和转换模块,数据缓冲模块,数据存储与数据库操作模块。数字信号处理模块是对数据进行处理和分析的关键模块;系统运行过程中,现场传感器采样频率较高,数据源源不断推送到数据服务器,需要数据缓冲模块首先将数据放置到缓冲区中,然后根据需要打包交由数据处理模块处理;数据存储与数据库操作模块主要负责将数据进行永久存储、管理、操作。

一些设备的运行数据需要长期存储,在数据服务器上建立了设备的测量数据库,用户可以根据配置选择将测量数据入库保存,基于数据库可以进行长时间大数据量的分析,为设备的测量提供经验数据,提高设备异常情况判定的准确度。

3.2数据交互流程

本文所述系统数据的基本交互流程为:用户操作测量软件中的三维模型通过通信系统将控制命令发送到控制系统;传感器获取信号后通过通信系统将信号传递到测量软件中并驱动三维模型运动。现场设备上的传感器节点和控制节点通过网络挂接在数据总线上,而数据服务器与数据总线相连接,数据交互示意图如图5所示。

图5 数据交互示意图

图7中,在数据上行时,总线控制器对虚拟数据总线上的数据进行统一的分配,挂接在数据总线上的传感器通过数据总线将从现场设备上获取到的数据发送到数据服务器,数据服务器接收到数据后首先缓存入数据缓冲池,然后交由数据耦合模块进行分析处理,再将数据发送到测量软件,测量软件的数据耦合模块接收到数据服务器发送来的数据后,根据数据协议进行解析,将解析的结果传给模型驱动模块驱动前台模型。

在数据下行时,当用户操作某个动态模型,将触发系统后台与其关联的操作响应模块中的事件响应程序,事件响应程序对操作命令进行分析后,将初级命令交由数据耦合模块,根据数据协议对初级命令进行封装后,发送到数据服务器;数据服务器接收到数据后,调用数据耦合模块,根据数据协议对操作命令进行反向解析,将命令解析为控制数据发送到数据总线,挂载在数据总线上的对应控制节点将对此命令进行响应并执行特定动作。

4 应用实例及评价分析

4.1煤矿排水测量系统界面构建

煤矿排水系统是煤矿安全生产过程中重要的系统之一,对煤矿排水系统的监测和控制是煤矿安全生产中非常重要的一项工作。传统的煤矿排水系统中,二维图形界面不能直观的反映排水系统的工作状态,并且对排水系统中泵、电机和管道阀门等的控制没有较为直接的控制感受。根据煤矿排水系统测量方法的需求,本文根据前面所述方法和步骤构建了面向煤矿排水系统的三维测量系统。

在系统开发过程中,首先构建了三维煤矿排水系统的三维测量软件界面。通过现场考察以及查阅相关资料,针对煤矿排水系统的实际需求利用3ds Max软件完成了泵房、排水泵、电机、进水管道、出水管道等的三维建模。在建模过程中采用先分步建立三维模型然后组合的方式。首先建立泵房场景,再根据现场获取到的排水泵的参数建立排水泵模型,然后建立驱动排水泵的电机模型,模型建立完成后,将各个模型按照实际的比例和放置位置组合到一起形成三维场景。按照第一部分中所述的系统构成,将建立好的排水系统三维场景导入到WPF应用程序中,并为场景中的动态模型设置了ID,并将其与后台对应的响应事件相关联。在测量系统后台开发了操作响应模块和数据驱动模块等关键模块。根据测量需求定义了数据协议,数据耦合模块对其进行调用。完善了前后台代码,包括后台驱动代码和前台动画代码,最终完成模型的驱动。完成后的测量系统工作界面与排水系统泵房现场的对比如图6所示。

图6 三维界面与泵房实景对比图

从图6中可以看出,三维场景完整展示了现实泵房中泵、电机、阀门和管道等关键部件,系统运行时电机的运行、阀门的开闭将同步显示在测量软件界面中,同时操作人员对阀门、电机的开关操作也将实时的通过控制命令传递到泵房中,完成对泵和阀门等的控制。

4.2煤矿排水测量系统数据交互系统构建

根据数据交互方法完成了排水系统的数据交互,构建了数据服务器,在数据服务器上部署了数据库,并开发了运行于数据服务器上的软件模块,配置了数据接口,测试了数据总线的连通性,最后对数据服务器和数据协议进行了同步配置,保证数据传输的准确性。在三维模型对现场设备数据进行表现的同时,在虚拟仪器控件库中生成的虚拟仪器控件也丰富了数据的表现形式,完成后的三维煤矿排水测量系统数据交互整体示意图如图7所示。

图7 三维煤矿排水测量系统数据交互

从图7中可以看出,现场设备的状况与三维测量系统中的场景一致,测量系统中的三维场景与泵房内现场设备通过数据服务器建立数据连接,构成了一个数据驱动且数据流完整的三维测量系统。与传统的二维测量系统界面相比,新构建的三维测量系统具有较强的真实感,界面中显示了泵的运行状态和为其提供动力的电机运行参数,用户可在左侧快捷菜单栏进行界面选择、系统漫游等操作。系统运行过程中,用户可以随时选择电机、泵、管道等观察其运行参数,泵的运行状态会通过模型状态的改变实时显示在三维界面中,在三维界面中可以对处在排水系统现场的电机、管道阀门进行实时控制。

5 结论

通过对三维测量系统关键技术进行研究,并应用在煤矿排水系统中,得出如下结论:

1)利用三维建模方法建立设备的三维模型,并将三维模型与测量系统相耦合,可提高计算机测量系统的测试效率和监控效果。

2)通过测量系统中三维模型驱动交互,实现虚拟设备与真实设备的状态的同步,操作人员对现场设备状态的感知更加实时准确。

3)基于数据服务器的三维构型与总线技术同步耦合的数据交互方法,测量系统各部分之间工作任务唯一,互不干扰,系统运行高效可靠,重要的数据的保存和备份更加安全。

[1]宋敦波.基于 Lab VIEW 的工业现场测控系统设计与实现[J].计算机测量与控制,2010(7):1528-1530.

[2]刘为玉,席志凤,董涛.基于 Lab VIEW 平台的多任务实时测控系统的实现[J].微计算机信息,2012,28 (10):144-145.

[3]屈剑锋,柴毅,郭茂耘,等.嵌入式网络测控系统研究与设计[J].计算机测量与控制,2007,15 (10):1283-1286.

[4]王鑫,王超,彭演兵,等.WPF技术在无人机地面控制站中的应用[J].无线电工程,2015,45 (1):9-12.

[5]梁博,葛庆平.基于标记模型的桌面应用系统开发[J].计算机工程与设计,2006,27 (16):2928-2930.

[6]韩双旺.LINQ 数据库访问技术研究[J].自动化与仪器仪表,2011(4):11-13.

Research on Method of Establishing 3D Virtual Dynamic Measurement System

Zhang Dengpan,Tian Zhenhua,Wang Dongsheng
(School of Mechanical&Power Engineering,Henan Polytechnic University,Jiaozuo454000,China)

Aiming at the problems that the measurement accuracy is low and the stability is poor of the traditional two dimensional measurement system,we proposed a method of 3D virtual dynamic measurement based on data interaction.This method adopted the working mode of the synchronous coupling of the three dimensional configuration and bus technology.We studied the key problem of the model driven system in 3D measurement system,discussed the feasibility of data interaction in 3D measurement system,and applied this method to coal mine drainage system.Experimental results show that the 3D virtual dynamic measurement system realized by this method has the advantages of stable operation,simple operation,high reliability,and wide application prospect.

3D visualization;3D measurement;model driven;data interaction

1671-4598(2016)05-0059-04

10.16526/j.cnki.11-4762/tp.2016.05.018

TP288.4

A

2015-11-16;

2015-12-04。

河南省重点科技攻关项目(142102210051);河南省教育厅科技攻关项目(13A460338)。

张登攀(1975-),男,河南平顶山人,副教授,博士,主要从事精密测量技术及仪器方向的研究。

猜你喜欢
耦合服务器界面
非Lipschitz条件下超前带跳倒向耦合随机微分方程的Wong-Zakai逼近
国企党委前置研究的“四个界面”
当代陕西(2020年13期)2020-08-24 08:22:02
通信控制服务器(CCS)维护终端的设计与实现
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
人机交互界面发展趋势研究
得形忘意的服务器标准
知识产权(2016年8期)2016-12-01 07:01:13
计算机网络安全服务器入侵与防御
基于“壳-固”耦合方法模拟焊接装配
大型铸锻件(2015年5期)2015-12-16 11:43:20
手机界面中图形符号的发展趋向
新闻传播(2015年11期)2015-07-18 11:15:04
求解奇异摄动Volterra积分微分方程的LDG-CFEM耦合方法