中国电子科技集团公司第五十八研究所 赵子龙 钱宏文 侯东斌
随着航空发动机性能的不断提升,需要测试的项目越来越复杂,测试参数种类也越来越多。针对航空发动机数字式电子控制器传统测试方法效率低以及自动化程度不高的问题,基于PXI 模块化仪器,提出了一套自动化、可配置等效器系统设计方法,可以对输入输出控制信号、编码器位移值、CAN 总线数据等进行等效。硬件和软件均采用了模块化设计,支持功能的灵活配置和扩展。该系统真正实现了无人值守测试,极大地提高了测试的准确性,减少了人力成本。
航空发动机是飞机的重要系统,由多个子系统组成,其中控制系统是航空发动机的重要组成部分[1]。电子控制器作为发动机控制系统的核心部分,主要用于响应飞机综合控制计算机(以下简称综控机)的指令,根据预先设置的控制流程,控制执行机构执行相应动作,并通过各种传感器将发动机的状态信息反馈给综控机[2]。航空发动机早期采用模拟式电子控制器,近年来已经逐步升级为数字式电子控制器[3]。目前,国内对于这种先进的电子控制器的检测方法大多还是采用传统的手工测试仪,规范性差,而且无法对控制器的动态特性、控制精度等参数进行评估[4]。本文基于PXI 技术对旧版的等效器进行升级,达到全面提升测试的自动化程度的目的。
该等效器属于整套仿真试验平台的一部分,拥有综控机、总线通信模块以及各个单机模块共同完成全系统的半实物仿真控制及自动测试功能。等效器(机柜A,灰色部分)与其他部分连接关系如图1 所示。
图1 平台结构图Fig.1 Platform structure
等效器通过CAN 总线和系统其余部分建立数据通路,用于接收通信模块、综控机发送的控制指令。此外,通过连接外部设备的数字量、模拟量等接口,来模拟执行机构工作时,开关状态、位移值、压力等参数的变化。
为了使等效器更具通用性,内部采用了模块化设计,便于功能的变更和扩展。整套设备安装于一套加固机柜内,可适应不同的使用环境。设备由PXI 控制主机、I/O设备、电平转换模块、信号调理模块、电路保护装置和I/O 接线端子组成,如图2 所示。
图2 等效器内部组成示意图Fig.2 Internal composition of equivalent
PXI 控制主机是整个等效器的核心部分,它由PXI机箱、嵌入式控制器以及实现具体功能的板卡组成。选用了18 槽机箱,便于功能扩展。各功能板卡配置如下:
(1)模拟量输出板卡型号是PXI-6704,具有16 路电压输出通道和16 路电流输出通道,电流的输出范围是0.1 至20.2mA,主要用于模拟传感器的压力和温度参数。
(2)数字量输出板卡型号是PXI-6512,具有64 个数字输出通道,开合延时不超过75us,可通过软件配置初始输出状态,用于模拟执行机构中到位接近开关的开闭状态。
(3)数字量输入板卡型号是PXI-6511,具有64 个数字输入通道,最高输入电压为30VDC,低电平0VDC ~±4VDC,高电平±11VDC ~±30VDC,用于采集执行机构中电磁阀的开闭状态。
(4)脉宽测量板卡型号是PXI-6624,具有8 路计数器,最大输入脉宽为1us,最大输入频率为400kHz,用于采集控制阀开启的角度参数。
(5)CAN 适配器板卡型号是PXI-8512/2,具有2个8Mbit/s 速率通道,用于接入仿真平台的CAN 数据通路中,接收综控机发出的控制信号,实时更新各个变量的值,并对某些控制信号进行反馈。
(6)FPGA 板卡型号是PXIe-7846R,该卡内置Xilinx K7 可编程FPGA,可实现高精度波形生成、传感器仿真、自定义通信协议等多种功能。该卡主要用于模拟编码器的实时位置值参数。
等效器通过SSI 接口向综控机反馈编码器的位移值信息。SSI 是RS-422 上的单向串行协议,采用的是422 的差分接口。为了将FPGA 板卡的TTL 电平转化为422 电平差分信号,本文设计了一个电平转换模块,采用MAX3490收发器芯片,部分原理图如图3 所示。
图3 电平转换电路原理图(部分)Fig.3 Schematic diagram of level switching circuit (part)
电磁阀开闭状态信号的高低电平电压范围和PXI-6511板卡不同,不能直接接入,本文设计了一个信号调理电路,将电磁阀的电平范围(低:0 ~10V,高:15 ~36V)转化为PXI-6511 的可接受范围(低:0 ~4V,高:11 ~30V)。
信号调理电路和电平转换模块均安装于金属外壳内,固定在机柜预留位置处,并采用接插端子和外部设备相连。
在标准机柜的材质和尺寸基础上,针对特殊使用环境进行了加固处理,在底部安装了具有减震功能的滑轮,在柜体的底部预留了进线口,所有连接线均从底部接入机柜内部。
软件部分采用LabVIEW 开发环境,需要实现的等效功能主要包括:(1)对单机模块输入输出控制信号(含开关量输入、模拟量输入、开关量输出、PWM 输出控制等),以及编码器位移值、CAN 总线数据等进行等效,实现相关流程控制;(2)通过双冗余CAN 总线与综控机进行通信,当接收到流程控制指令后,模拟流程时序中各传感器与执行机构状态,完成系统流程功能;(3)在整个仿真平台的某些单机缺失的情况下,还要能模拟缺失单机向总线发送的心跳帧、状态帧,并能够模拟响应外部的控制指令。
如表1 所示是系统需要等效的信号信息汇总表。这些信号分属于16 个不同的单机节点,在流程执行过程中,这些信号需要按照预定的步骤进行变化:例如,液压装置在第1s 至第10s 区间内,按照每秒2.1mm 的速度正向移动;在第10s 至60s 区间内,按照每秒3.5mm的速度反向移动;且在变化过程当中,还需要同步控制某些开关量的开闭。
表1 信号信息汇总表Tab.1 Summary of signal information
整个系统相关的单机、变量和流程的数量较多(共有70 个不同流程),流程的执行需要多个单机协同工作,在某些情况下,还需要多个流程并行执行。采用开发小型应用程序常见的生产者/消费者结构已经难以满足需要,为了使软件的设计更加贴合真实情况,通过多人协作提高开发效率,并提升软件的可扩展性,采用了更适合多人协作开发的大中型软件框架——DQMH 架构。以下分别对DQMH 架构、模块的设计和界面的设计进行介绍。
等效器上位机软件在Delacor Queued Message Handler(DQMH)框架的基础上进行开发,这是一个成熟的LabVIEW编程框架,它在NI 官方QMH 框架的基础上进行了扩展,提供可靠的事件驱动型消息处理机制和一系列脚本工具。DQMH 框架适合应用在需要多个模块以不同速度并行运行,并且模块间需要相互通信的开发场景。在本系统中,采用DQMH 框架从三个维度对整个等效器进行了模拟:
(1)模拟真实硬件,为16 个单机节点分别创建了模块代码,来模拟真实存在的单机节点,每个节点都可以从CAN总线接收数据或向总线上发送数据,实现单机间通信;
(2)模拟测试流程,为70 个测试流程分别创建了模块代码,模块在空闲情况下处于停止状态,在收到相应的启动指令后才启动执行,并且即可以顺序执行也可以同步执行,具有较强的灵活性;
(3)PXI 机箱中的板卡驱动、数据库操作等软件其余部分也采用DQMH 模块进行封装,各个模块功能明确、单一。
如图4 所示,一个典型的DQMH 模块主要由以下部分组成:
图4 典型的DQMH 模块组成部分Fig.4 Typical DQMH module components
(1)Main.vi:模块的主体部分,由一个事件处理循环和一个消息处理循环组成,用于接收外部代码发送的指令,并执行相应的功能;
(2)启动模块接口:外部代码通过该接口来启动它的下一级模块;
(3)公共接口:外部代码不能直接调用Main.vi 中的功能,需要通过模块提供的公共接口来向Main.vi 发送消息,执行相应功能。
(4)广播消息:当模块的某个事件产生时,注册了该事件的外部代码可以接收到这个事件,以及附加的数据信息。
真实场景下,需要某些模块不仅能响应外部指令,还需要自主执行一些功能,例如:CAN 模块需要不间断的读取总线发来的数据,转发到对应的单机模块去处理,同时能够实时响应其他模块发送数据的请求。这时普通的DQMH 模块无法满足要求,需要在模块中增加一段称为助手循环(Helper Loop)的辅助代码,用于需要持续执行的操作。
等效器上位机软件采用分层结构,共有支持层、业务层和UI 层3 个层次,结构图如图5 所示。其中,支持层包括硬件驱动模块组、CAN 通信模块、数据库操作模块和缓存模块;业务层包括流程模块池、流程模块组和单机模块组;UI 层包括UI 框架、用户中心、状态显示、控制界面、系统设置和系统校准。
图5 等效器上位机软件分层结构Fig.5 Hierarchical structure of equivalent software
3.2.1 支持层
支持层作为最下层的主要作用是对底层操作进行封装,供上层代码调用。例如:硬件参数保存在MySQL 数据库中,对数据库的操作通常需要通过执行SQL 语句来完成,相对复杂,维护起来比较繁琐。通过模块化封装的方式,将所有和数据库操作相关的功能全部封装成接口,代码逻辑简单,并且易于维护。软件实现了在不修改代码的前提下,通过配置数据库实现CAN 数据帧和变量的扩展。
支持层兼容多种通信方式(CAN 通信、以太网通信和485 通信等),实现方式是:设计一个顶层通信模块,不操作具体的硬件,只提供标准的发送和读取接口。根据实际通信连接方式,在配置文件中配置正确的通信方式,顶层通信模块再调用具体的通信模块,实现通信模式的切换。
3.2.2 业务层
业务层的作用包括CAN 帧中变量值的解析,外界指令的反馈,以及70 个测试流程的逻辑实现。在业务层中设计了一个称为流程池的特殊模块,它的作用是根据需要启动和停止测试流程,并为流程模块提供统一的操作底层硬件的接口。这样做的目的是简化流程模块代码的编写,并确保硬件操作的安全性。
3.2.3 UI 层
UI 层使用了子面板技术,可以将某个模块的界面嵌入到另一个模块当中,通过切换内嵌模块来实现页面的切换。通过将UI 模块和底层逻辑模块的分离,让UI 模块专注于用户交互,响应速度更快,设计人员也有更多精力设计更加美观、便于操作的界面。
软件界面的设计力求功能区域分布合理,减少用户操作的步骤。以如图6 所示的软件控制界面为例,从上到下依次为导航区域、按钮控制区域、变量显示区域、系统信息显示区域。
图6 软件控制界面示意图Fig.6 Software control interface
基于PXI 的等效器和旧版本的等效器版本相比,智能化、集成化程度更高。旧版本等效器仅能够通过人工操作按钮的方式,来配置流程正常执行所需的信号状态,过程不连续,且设备分散,操作不便。基于PXI 的等效器不但可以等效信号的状态,而且可以等效信号随时间的变化,更加贴近机构的真实工作状态,此外由于采用了一体化设计,体积更小,操作更加方便,应用效果对比如表2 所示。
表2 应用效果对比Tab.2 Comparison of application effects
本文基于PXI 平台和LabVIEW 开发环境,实现了集总线通信、数据库技术、信号采集与输出、自动化测试为一体的航空发动机控制系统等效器。通过采用DQMH 架构,实现了软件的模块化设计与多人开发,并提高了开发效率。通过采用数据库技术,实现了在不修改代码的前提下实现软件功能的扩展。
目前设备已经投入使用,相比于旧版本,更加接近控制系统真实的工作状态,可用性更强,不需要人工操作,节约了人力成本。
下一步计划在现有软硬件的基础上,增加历史数据存储与回放以及故障注入等功能,进一步提高系统的实用性。