当前位置:首页 > 消费电子 > 消费电子
[导读]针对在颤振飞行试验实时监控过程中高采样率动态信号时间历程曲线实时显示特点,介绍了如何在C++builder环境中使用TChart控件实时绘制动态参数曲线,并对采用控件和算法的特点及选择准则做了详细分析,给出了相关程序代码。该算法先将颤振数据实时存放在数组里,然后结合TChart控件和TTimer控件采用翻页方式来实时显示其时间历程曲线。通过在颤振试飞监控中实际应用表明,该算法能有效实时显示真实动态信号,满足课题监控需求。该算法还可应用于电力系统的振动检测系统。

0 引言

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

在开发颤振试飞实时监控软件过程中,为了在屏幕上实时精确绘制高采样率颤振参数时间历程曲线,对高采样率动态信号实时绘图技术做了深入研究,并采用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飞机颤振飞行试验中,对保障飞行安全和任务完成发挥了重要作用。实践表明,软件中涉及到的高采样率动态信号实时绘图算法能有效还原显示动态参数真实信号,可应用于其他用户群体中,如电力系统的振动检测系统等。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭