基于LabVIEW 7.0平台实现试飞科目时间历程实时监控软件的设计

发布时间:2023-06-02  

引言

LabVIEW软件是一种可视化程度较高的图形化编程工具,以其直观清晰、简明易学的优点被作为初级编程者的首选。迄今为止,LabVIEW软件已在石油、煤炭、工业自动测量与控制、航空及医学仪器等领域相继得到了成功应用。飞行试验实时监控软件是针对具体试飞科目而开发的专用型软件,它要求数据传输安全、稳定可靠及实时性好。目前,我院飞行试验遥测实时监控数据处理系统的客户端实时监控软件,绝大多数情况下是采用NI LabVIEW的软件开发平台进行开发。该类型客户端软件,一般满足了试飞课题的需求,保障了科研试飞。但是,针对一些实时性要求较高,试飞风险较大的特定试飞科目,如何开发高性能的试飞科目时间历程实时监控软件是本文研究的重点。


1 影响VI性能的因素

VI性能的好坏主要由VI的执行时间、数据的刷新速度和VI内存的使用三方面决定。

文件读和写、使用GPIB、数据采集及网络应用都影响VI的执行时间。数据在屏幕上的刷新速度与程序中控制控件、显示控件及与控制控件相关联的控件数目有关。此外,合理使用和高效管理VI的内存可以提高VI的性能。


2 提高VI执行效率的方法

针对以上影响VI性能的因素,为提高VI的执行效率,在进行某客户端实时监控软件系统设计时,采用了以下编程技术来增强程序的可读性。

(1)程序避免在循环体里计算。能在循环体外计算时,尽量将公式计算安排在循环体外。

(2)在满足软件设计要求的前提下,将前面板显示控件较多,画面布局大于屏幕尺寸的VI分割成几个VI进行设计;或者将大的VI分割成子VI。

(3)当VI程序框图中使用较多矩阵(Array)或字符串(string)函数时,程序框图中尽量少用全局变量或局部变量;且输入矩阵和输出矩阵尽量使用相同的数据类型。

(4)设计程序框图时,尽量使输出函数能复用输入函数的内存空间,尤其是使用矩阵、矩阵子集或字符串函数时。

(5)如果子VI的前面板不需要显示,去掉子VI中不用的属性节点。

(6)设计VI时,避免使用复杂的数据类型,开发高效的程序结构。

(7)在VI属性的“执行”选项里面,将子VI的优先级设置成“子程序”(subroutine),将主VI的优先级设置为“优先执行”(time criti-cal Priority)的最高优先级。


3 实时监控中的应用

在NI LabVIEW 7.0平台下基于以上编程思想,进行了某课题实时监控软件的系统开发。以下是其中的部分监控画面。监控画面中用Waveform Chart控件来实时显示参数的时间历程曲线。根据软件的设计要求,将Chart图表的y轴设置成自动,x轴利用控件本身的可见属性x Scrollbar来及时刷新图表显示。

图1描述了数据源以1倍速率从服务器向客户端VI发送网络数据,正常条件下,两参数Par1和Par2的典型Chart趋势图。

基于LabVIEW 7.0平台实现试飞科目时间历程实时监控软件的设计

保持客户端与服务器的网络通信状态不变,将数据源以4倍速率从服务器向客户端发送网络数据,客户端监控画面中两个参数曲线出现台阶式的跳点,对此现象不做任何处理,该现象一直持续。实时监控中两参数的曲线效果如图2所示。产生图2现象后,断开服务器,停止向客户端发送数据,同时将客户端VI重新打包生成.exe可执行文件,然后服务器重新开始以4倍速率向客户端发送网络数据。VI执行时,图2所示现象消失,客户端实时监控画面恢复良好。

或者利用Chart的属性节点函数编程将Chart历史数据清空,同样地,客户端实时监控Chart图表曲线正常,参数Par1,Par2实时曲线如图3所示。

对上述现象反复试验多次,结论仍然成立。研究、对比分析后,得出如下结论:

(1)实时监控软件是网络应用程序,它本身对VI的内存开销较大,影响VI的执行速度。当服务器向客户端发送数据的速率较高时,即单位时间内VI前面板需要更新,显示数据的频率较快。

(2)Chart图表数据更新的原理是将新的数据添加在旧数据之后,该VI中Chart的y轴使用了自动刻度。当参数Par1,Par2的y值随时间瞬时变化时,Chart绘图的基准点在不断变化,使得绘图曲线呈台阶式的现象。

(3)Chart图表的数据缓存区能够记忆显示的数据点数。所以,当服务器数据发送中断再重新开始发送时,原VI的Chart数据缓存区累计记忆着历史数据,当历史数据累积到一定程度,数据缓存区又没有完全释放。此时,虽然数据缓存区还在不断更新数据,但新到的数据在Chart图上未及时刷新绘制,同样使得曲线呈台阶式跳点的现象。

(4)当断开服务器,将VI重新打包时,打包后的VI所有数据缓存区都是置零的原始状态,重新接收数据,Chart图表曲线恢复良好。

(5)或者利用Chart控件的属性节点,通过编程方法定时将Chart图表的历史数据清空,实际飞行试验实时监控中,Chart图表曲线实时显示正常。

(6)该实时监控软件,根据其设计要求,VI前面板使用了18个Chart图表和大量字符串显示控件,Chart图表分别对称置于前面板中,9个Chart图表的垂直总高度尺寸大于显示器屏幕的高度,这降低了VI的性能,很大程度上也影响了Chart图表的刷新和实时显示。

此外,Chart图表的y轴使用了自动刻度(Auto Scale y),图表启用了图例标记(Plot Legend),这些都对Chart图表的刷新速度有一定程度的影响,但不是主要影响因素。


4 结语

NI LabVIEW作为一种图形化的编程工具,以虚拟仪器、图形化的编程语言等优点降低了软件的入门门槛。同时作为一种快速的软件开发工具,缩短了软件开发时间,节省了开发成本。本文从影响LabVIEW程序的性能因素出发,结合手动编程巧妙地解决了Chart图表数据实时刷新的问题。此外,在开发大型复杂的基于网络应用的飞行试验实时监控系统方面,应将NI LabVIEW软件平台与Microsoft Visual studio和Borland C++等开发工具有机结合起来,灵活地进行应用程序的开发。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>