利用LabVIEW对飞机推进装置进行飞行压力测试
2009-05-20
作者:美国国家仪器有限公司
The Challenge:
在飞行中测量固定翼飞机推进装置的压力。
The Solution:
利用嵌入式张力测量装置、GPIB接口的自定义调理与数字化电路、以及LabVIEW控制的PCMCIA-GPIB板卡,构建一个基于PC的系统。
"为解决这一问题,我们使用了队列,这是LabVIEW的一个新的特性,您可以利用它在RAM中存储大量的数据,而不必使用占用大量存储空间的数组或字符串操作。为解决第二个问题,我们使用了LabVIEW的另一个特性——多线程。"
福克斯软件有限公司与传感器开发有限公司,共同开发了一项在飞行中测量飞机推进装置所承受压力的应用。传感器开发有限公司开发了定制的数据采集硬件——该硬件测量螺旋推进装置所承受的压力,并通过GPIB 将数据回传至便携式电脑。然后,福克斯软件有限公司利用LabVIEW进行了软件开发——该软件对硬件进行配置,利用一个PCMCIA-GPIB 板卡读入和解码GPIB 采样点,并使用后续处理,以ASCII 或DaDisp 兼容的格式导出数据。
硬件设计
由于该项测试的特殊性,传感器开发有限公司从对来自推进装置上所附着的32 个张力测量装置的数据进行量化处理的螺旋电路装配开始,设计并构建了自定义的信号调理和数据采集硬件。由于螺旋系统以“管线”的方式传输通过飞机引擎内部的现有除冰滑环,因此不存在遥感勘测的需求。所以,在许多不同类型的飞机上快速安装该系统将非常方便。来自螺旋电路的数据通过滑环传递至固定电路,该固定电路将这些数据转换为GPIB 格式并将其传送至便携式电脑。该便携式电脑运行LabVIEW,并采用PCMCIA-GPIB 板卡读入数据流。为使数据传输尽可能有效,LabVIEW 程序直接接收来自14- 位模数转换器的二进制数值,并在其后将数据转换为工程单位。
由于这是飞行中测试,因此该团队需要在测试设计中牢记导航安全。我们提供了一个附着于飞行操纵杆的简单的遥控吊件,使得导航员可以对测试序列进行控制。通过该遥控吊件,导航员可以通过视线外的便携式电脑显示器安全地启动和停止测试。该吊件还带有一系列LED以便为导航员指示测试状态以及错误状态。该遥控吊件与一个DAQ 板卡-DIO24 板卡相接口。
软件设计挑战
在进行软件设计时,福克斯软件公司面临的最大挑战便是GPIB 总线的吞吐速率。总的来看,共有41 条通道,每通道的数据采样率为6000 S/s。我们还在每次数据扫描之间使用了一个2- 字节的间隔符。每个采样点包含2 字节的数据,这就意味着我们需要以504kB/s 的速率通过GPIB 线路读入数据。硬件使用32 KB 输出缓存,这需要软件以高于20Hz 的速率读取硬件。我们发现,将数据以数据流的方式直接导入便携式电脑的硬盘,会导致两个问题:
- 程序运行过慢
- 输出缓存溢出,并伴有数据丢失
对于第一个问题,我们利用了便携式电脑上的192 MB RAM ——将所有数据存储在RAM 中直至测试完成,然后将其写入硬盘。但是,在内存中移动(伴有字符串连接和数组创建等操作)超过30 MB 的数据(来自一个60 秒长的测试)会严重降低程序的运行速度。为了杜绝这一问题,我们采用了队列,这是LabVIEW 的一个新特性,您可以利用它在RAM 中存储大量的数据,而不必使用占用大量存储空间的数组或字符串操作。
为解决第二个问题,我们利用LabVIEW的另一个特性——多线程。通过在其自身线程上运行GPIB 硬件调用,我们实现了获取高速所有数据而不造成硬件缓存的溢出。数据文件管理是我们面临的另一个挑战。将原始数据字节转换为ASCII 或DaDisp 格式,要求我们将文件分解为若干个小段。将整个30 MB 文件读入存储器并进行转换,需要奔腾II 266 MHz PC 运行约五分钟。然而,将该文件分解成若干个小段,其转化时间可以减少至20 秒左右。
结果
系统测试非常成功。LabVIEW 的特性对于该项应用提供了极大的帮助。利用多线程和队列,我们快速并有效地从GPIB 硬件读入数据。利用NI PC 板卡,我们在一台安放于导航员座位后面的便携式电脑上实现该应用。PCMCIA-GPIB 与DAQ板卡-DIO24 板卡完美协同工作。