您的位置 首页 技术

根据LabVIEW 7.0的某实时监控软件设计与实时性剖析

摘要:针对某试飞课题,在NI LabVIEW 7.0平台下进行了某试飞科目实时监控软件系统开发。飞行试验中,实验分析了影响该系统试飞参数时间历程图实时刷新

摘要:针对某试飞课题,在NI LabVIEW 7.0渠道下进行了某试飞科目实时监控软件体系开发。飞翔实验中,实验剖析了影响该体系试飞参数时刻进程图实时改写的原因,提出了在飞翔实验实时监控中,选用优化VI及对Chart控件二次编程的办法处理Chart曲线图实时改写的问题。在此充沛发掘LabVIEW中Chart控件的特点进行二次编程,处理试飞参数时刻进程图实时改写、显现问题,具有很高的实用价值。
关键词:VI的功能;VI履行速度;数据更新;实时显现

0 导言
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趋势图。

坚持客户端与服务器的网络通信状况不变,将数据源以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++等开发东西有机结合起来,灵敏地进行运用程序的开发。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/134098.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部