您的位置 首页 解答

根据 C++ builder 的高采样率动态信号实时绘图研讨

颤振飞行试验是新机或有重大改型飞机都必须进行的试飞科目,是世界公认的Ⅰ类风险试飞科目,所以必须通过实时监控保障飞行安全。颤振试飞与其他试验科目相比,具有风险高、参数采样率高的特点,对实时监控系统的实时

颤振飞翔实验是新机或有严重改型飞机都有必要进行的试飞科目,是国际公认的Ⅰ类危险试飞科目,所以有必要通过实时监控保证飞翔安全。颤振试飞与其他实验科目比较,具有危险高、参数采样率高的特色,对实时监控体系的实时性、牢靠性以及准确性都要求较高。

在开发颤振试飞实时监控软件过程中,为了在屏幕上实时准确制作高采样率颤振参数时刻进程曲线,对高采样率动态信号实时绘图技能做了深入研讨,并选用C++++ builder进行编程完结。通过软件测评和实时体系验证,该监控软件运转安稳、牢靠,能实时准确显现高采样颤振参数时域曲线。

1 开发渠道介绍

C++ Builder是由Borland公司继Delphi之后又推出的一款高性能可视化集成开发东西[7],它具有快速的可视化开发环境:只需简略地把控件拖到窗体上,界说它的特点,设置它的外观,就可以快速地树立应用程序界面。它内置了100 多个彻底封装了Windows 共用特性且具有彻底可扩展性(包含全面支撑ActiveX控件)的可重用控件。C++ Builder具有一个专业C++开发环境所能供给的悉数功用:快速、高效、灵敏的编译器优化,逐渐衔接,CPU透视,命令行东西等,完结了可视化的编程环境和功用强壮的编程言语(C++)的完美结合。运用C++ Builder 开发实时监控软件,可以充分运用可视化编程言语的高效、灵敏等长处,使得开发出来的应用程序具有更好的用户界面,合适飞翔监控运用。

2 高采样率动态信号实时绘图算法研讨及完结

颤振试飞实时监控软件通过接纳服务器发送过来的数据,对软件界面上参数进行实时显现,并对要害参数数据进行主动或许手动收集。因为颤振参数为高采样率速变参数,假如依照惯例缓变参数那样接纳每点数据都画图的办法在屏幕上实时制作时刻进程曲线,发现软件数据显现常有迟滞现象,而且严重影响软件数据收集精度,因而对数据绘图办法进行优化研讨,将颤振数据实时收集到内存里,而且用数组来寄存收集数据,然后运用TChart控件运用翻页办法来实时显现时刻进程曲线,每个页面显现一段时刻内的数据曲线,其间翻页时刻距离(由采样频率决议)由守时器操控,也可以通过运用接纳服务器发送数据点数抵达定值后进行翻页的绘图算法来完结。

2.1 C++ builder控件介绍

2.1.1 TTimer控件

TTimer控件是C++ builder供给的一个一般计时器,运用简略便利,但具有两大缺点:守时精度差和音讯优先权低。首要,根据Windows计时器的硬件计时器每隔54.925 ms走1次(约18.2 次/s),也就是说,这种办法的守时器只能准确到大约55 ms,关于55 ms以下的时刻精度便力不从心;别的,因为Windows是根据音讯机制的体系,任何事情的履行都是通过发送和接纳音讯来完结的。

TTimer控件的优先权太低,这样一旦计算机的CPU被某个进程占用,或体系资源严重时,发送到音讯行列中的WM_TIMER音讯就被暂时挂起,得不到实时处理。

2.1.2 多媒体守时器

多媒体守时器是由Windows体系供给的毫秒级守时器,其守时精度可达1 ms.从运转基理来看,多媒体守时器供给的是硬件中止服务,不传送任何音讯,优先级很高。多媒体守时器运用自己独立的线程,调用回调函数进行处理,但在多媒体守时器的运用过程中需求留意的是:在多媒体守时器处理的线程完毕之前不要再次发动守时器,不然会形成死机。在运用之后一定要删去守时器及呼应的参数,不然体系的呼应会变得很慢。

2.1.3 TChart控件

C++ Builder嵌入了Borland公司产品Delphi的控件TeeChart[10],可以便利地完结曲线制作,绘图功用强壮,界面友爱。本文运用C++ Builder 自带的画图控件TChart,它是TeeChart类库中最首要的类,具有11 种规范的Series 类型,325 个特点,125 个办法以及28 个事情,这使得TChart具有十分强壮的绘图功用。

2.2 绘图算法详细完结

将颤振数据实时收集到内存里,而且用数组Show-Buff []来寄存收集数据,然后运用TChart控件运用翻页办法来实时显现其时刻进程曲线。TChart 控件中Ad-dXY 函数和AddArray 函数都可以来完结绘图功用,可是AddXY 函数每次调用都要改写屏幕,当需求实时绘图参数较多时会引起监控软件界面数据显现迟滞现象,因而本文选用用于制作数组数据曲线的AddArray函数进行绘图,通过实时体系验证标明,AddArray 函数比AddXY函数可以有用进步绘图功率。

动态信号实时绘图要害代码如下:

两种算法实时绘图作用相同,如图1所示为应用于ARJ21 飞机飞翔实验实时监控的动态信号实时绘图作用:

该段动态参数过后处理数据绘图作用如图2所示。

由图1、图2比照可知,运用本文中高采样率动态信号实时绘图算法能有用复原实在信号,满意使命监控需求。

3 结语

文中根据C++ Builder开发的颤振试飞实时监控软件现已成功应用于ARJ21飞机颤振飞翔实验中,对保证飞翔安全和使命完结发挥了重要作用。实践标明,软件中涉及到的高采样率动态信号实时绘图算法能有用复原显现动态参数实在信号,可应用于其他用户集体中,如电力体系的振荡检测体系等。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部