或者利用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++等开发工具有机结合起来,灵活地进行应用程序的开发。