APP下载

虚拟仪表可视化建模方法研究

2022-07-24刘东辉张国立孙恪成董海杰朱进全

科学技术创新 2022年21期
关键词:压力表指针仪表

刘东辉 张国立 孙恪成 董海杰 朱进全

(中海油能源发展股份有限公司采油服务分公司,天津 300450)

1 概述

根据美国国家仪器公司定义,虚拟仪表技术就是指利用高性能模块化硬件,集合高效灵活的软件来完成各种测试、测量和自动化的应用。其中由于软件具有灵活扩展的特点,能够方便构建完全自定义的界面,模块化的硬件能够方便的提供全方面的系统集成。对于各个仪表的时钟同步,也可以轻而易举的解决。工程师通过虚拟仪表技术把蓬勃发展的IT 技术引入到工业的测试、控制和设计的各个环节中,从而带来更加准确的模拟和测量。

传统仪表虽然随着计算机技术和其它相关技术的进步,以及制造工艺的精密,其性能和测量精度都有了长足的进步,但是对于环境苛刻,测量结果受影响参量多,对于人员要求高,操作、维护频繁的场合,传统仪表还是不能满足现场要求,同时在进行科研项目或者工程项目建设过程中,为了保证控制指标,常需要各种仪器仪表的参与,这些设备往往比较笨重、价格昂贵、占用场地。虚拟仪表的出现能够克服以上的种种不足,把信号检测、分析、处理等多种功能集成在一起,在一台计算机上就可以按需加载各种仪表,替代传统仪表。虚拟仪表技术继承了现代计算机技术,特别是计算机网络技术的发展使其优势不断扩大,表现为高速读写磁盘和文件处理能力;以较少的硬件投入即可满足测量系统性能不断提高的需求;在驱动和应用的两个层面上把软件设计与计算机、仪器仪表、通讯方面的最新技术结合,实现快捷配置、发布、维护。

2 虚拟仪表研究现状

美国国家仪器公司开发的LabView 程序开发平台,是研发测量和控制系统的优秀的工具,它提供丰富的控件且与传统的仪表(液位计、流量、电压、电流等)外观相似。LabView 充分利用了计算机数据处理能力,方便的自定义用户界面,延伸出更多功能强大的仪表。Creator 和Vega 是美国MultiGen-Paradigm 公司研发的虚拟现实软件系统,其中Creator 用于数学和物理的模型建立而MultiGen-Paradigm 用于2d、3d 等软件系统的开发,其作为软件开发环境可以快速搭建航空领域的仪表,相关领域的模板比较成熟,但是其仪表种类比较少。2014 年谷歌发布了Android Auto 系统,融合语音控制和人工智能的技术完成了整个汽车的仪表显示和控制功能。

国内虚拟仪表技术研究比较晚,依靠LabView 开发环境我国学者也开发了矿井提升监控系统,并利用DataSocket 技术实现了对提升机的现场监控;国内学者吧信号处理的相关理论算法整合到虚拟仪表中开发了机械设备故障检测系统。近几年,我国在智能化虚拟仪表的研发速度也在加速,结合以往积累的微机技术与虚拟仪器的信号分析和处理的方法也研发除了一些成熟的产品。但是在虚拟仪表设计平台软件的研发上投入较少,没有开发出具有影响力、成熟的虚拟仪表软件系统,可见加强虚拟仪表通用性平台和核心语言的开发就显得尤为重要。

3 虚拟仪表建模方法

3.1 虚拟仪表可视化技术

虚拟仪表可视化技术是指运用图像处理技术,把采集的数据转换成对应的图形、图像,并显示在相应设备上。把抽象的数据转化为图形图像,可以给人直观的认识,对于快速洞察仪表的问题和测量数据的变化、发展的趋势预判都有意义。虚拟仪表可视化技术包括数据可视化技术和信息可视化技术。

数据可视化技术是指借助图形化的手段,清晰有效的对数据库中的数据进行显示。其基本概念包括:

①数据空间:是由n 维属性和m 个元素组成的数据集所构成的多维信息空间;

②数据开发:是指利用一定的算法和工具对数据进行定量的推演和计算;

③数据分析:指对多维数据进行切片、块、旋转等动作剖析数据,从而能多角度多侧面观察数据;

④数据可视化:是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。

信息可视化技术是对数据进行抽象性、交互性处理,目的是增强人对抽象信息的理解、认识,同时提高人对信息的检索速度,使得用户能够目睹、探索乃至理解理解大量的信息。

按照Stuart K.Card 在1989 年信息可视化理论信息可视化模型表示如图1。

图1

3.2 虚拟仪表数学模型建立方法

本文将着重讨论虚拟指针仪表和柱状仪表的建模方法。根据实际的应用场景,指针型仪表主要是在表针的转动,指示范围,旋转幅度等控制上。传统仪表中以指针型压力表为例,其压力值对应的指针偏转的角度是成线性关系。同理对于液位计,温度计柱状仪表来说,其对应测量值和显示的柱状标识的高度也成线性关系。可以用通用线性函数表示为:

其中:y显:实际在表盘标注的物理量值;x测:是读入计算机的测量值,k,b 是相关常量。

虚拟仪表中数据从串口、RJ45 网口等硬件接口获得,测量值与显示值之间成线性关系。其函数关系也可以表示为:

为了求出最为合理的k 和b 值需要运用最小二乘法来进行参数估计,其基本原理如下:

为了使算式:yi-(kxi+b),(i=1,2,…n)值为最小,因此考虑选取参数k0,b0,使得:

中M 的值最小,求方程k0,b0的值。

对于从计算机新读入的x测,带入y显=k0x测,可以求得将显示的值y显。

4 虚拟仪表可视化建模程序设计

本次课题应用WPF 技术(Windows Presentation Foundation)开发,WPF 是微软新发布的Vista 操作系统的三个核心开发库之一,是微软推出的基于Windows Vista 的用户界面框架,属于.NET Framework 3.0 的一部分,并且已经在2018 微软公司宣布开源,它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

本次开发采用xaml 语言建模,通过数据绑定进行显示,对用户鼠标或者触摸的事件用命令的方式来响应,其代码组织图如图2 所示。

图2

WpfDragM.command 类主要完成整个虚拟仪表系统中鼠标点击响应,包括关闭、最小化窗口事件,WpfDragM.views.jiaoHuChart 类主要完成整个虚拟仪表的统计图表的生成;Snoop.Views 为开源的插件完成虚拟仪表部分动画的效果;WpfDragM.views 类完成所有虚拟仪表的外观建立工作。本次课题虚拟仪表的仿真流程如图3。

图3

以本次研究中的液位显示的虚拟仪表来说,程序首先绘制出液位计的整体,然后再绘制一个覆盖整个液位计液位显示部分的灰色矩形,通过对这个灰色矩形的裁剪来完成红色液位高度的动态显示,显然这个裁剪的高度就是将要在屏幕上显示的液位高度y显。最后把测得的数据带入已经求出最优参数的线性方程y显=kx测+b中,求出红色矩形的高度值y显,最后把y显值绑定在灰色矩形高度上。通过以上过程就可以用较少的代码来实现一个现场液位计的虚拟仿真。

图4

对于温度计虚拟仪表来说,其外观建立使用wpf path语句描述,并动态绑定温度值变量temp,其部分代码如下:

Binding bind0 = new Binding();

bind0.Source = DataContext;

bind0.Path = new PropertyPath ("Temp");wendd.Path_315.SetBinding(MarginProperty, bind0);

其中变量“Temp”是计算机获得温度值,“Path_315”是绘制温度计液柱的矢量。通过把这两个对象进行程序绑定,就可以把采集到的温度值显示在计算机屏幕上(图5)。为了追求对现场仪表的真实再现,本文还编写了更为逼真的耐震型压力表的虚拟仪表。对于耐震型压力表主要考虑其表壳中填充的阻尼液的动画仿真,当压力表的指针在阻尼液的上方时,表针会造成液面一些扰动(见图6),表现为表针透过阻尼液的一个动态折射的变化,这个过程本文力求真实再现。具体做法为:通过在阻尼液界面处放置一个水花样的图形,当压力表指针经过阻尼液的界面时启动水花动画,显示效果为指针带着小水花在阻尼液上方水平移动。虽然压力表指针用摆动的角度代表压力的大小,但其摆动的角度与计算机采集的数值也是线性关系。同理通过上文中的最小二乘法也可以求出虚拟仪表指针摆动角度与采集数据之间的最优线性方程,这样就可以对采集数据进行显示,完成虚拟仪表可视化的功能。

图5

图6

虚拟仪表进行可视化,还包括统计图表的显示(见图7),这是本文第二研究的内容。本文做法是首先把采集的数据存储在后台数据集合中,每隔一段时间进行数据的序列化操作,并存储在本地硬盘或者数据库中。同时把数据通过依次连线的方式显示在图像上,数据之间连线可以直接用直线连接,根据数据对采集时间的光滑情况也可以用样条插值的方法连接。程序实现过程就是在必要的时候更新图表的图案来显示当前时间段的曲线。

图7

对于数据的交互,本文操作是按下鼠标右键选中曲线一段数据,同时用一个半透明的灰色的矩形覆盖选中的区域,然后对这段数据进行提取,或者分析。当用户滚动鼠标滚轮时,图表会在X 轴方向上进行缩放,方便查看采集比较密集的数据。

最终虚拟仪表仿真显示如图8-9 所示:左半部分为对应的仪表显示界面,可以通过下拉列表框进行仪表切换,右面是对历史数据的一个图表统计,可以通过鼠标选取一段数据进行提取、分析。关闭整个仿真界面需要点击功能区下拉列表中的关闭按钮。

图8

图9

5 总结和展望

伴随着计算机技术的飞速发展,虚拟仪表技术也在各行各业进行广泛的应用,并有逐步取代传统仪表的趋势。我国在虚拟仪表的研究上距离国外还有较大的差距,本文给出的应用WPF 技术进行虚拟仪表可是化建模方法的研究,同时也探讨了对数据进行预处理的一些数学方法。通过本文的讨论可以看出WPF 建立模型更贴合真实的仪表,同时代码量少,人机交互的方式丰富。近日WPF 整个UI 框架已经宣布开源,对其进行工业软件的研发,能在一定程度上减少国外软件的依赖,提升自主研发实力。在下一步研究中将着重研究把一些机器学习算法结合到统计图表的生成中,同时研究常用的工业通讯协议下,数据接收、存储和实时显示的问题。

猜你喜欢

压力表指针仪表
汽车组合仪表氛围灯结构设计与开发
商用车仪表台中段下护板与仪表台本体间隙问题分析与解决方案
压力表计量检定中常见问题分析
电气仪表自动化安装与调试分析
弹性元件式普通压力表常见故障及维修方法
郊游
为什么表的指针都按照顺时针方向转动
探讨自动化仪表安装调试技术要点
浅析C语言指针
压力表非线性误差分析与调整