沈 杰,胡忠志,沈立锐,王继强
(南京航空航天大学能源与动力学院,南京210016)
航空发动机控制系统的研制需要经历数字仿真、硬件在回路仿真、半物理仿真、台架试车和试飞5个阶段,其中精确的数字仿真能够有效缩短发动机控制系统研发周期并降低成本[1]。近几年美国NASA利用Matlab/Simulink开发出了TTECTrA、C-MAPSS等控制系统数值仿真软件[2-5],用于航空发动机控制律的设计,极大地提高了控制律的设计效率。但是,这些基于Matlab仿真环境设计的控制律和控制逻辑无法直接在真实控制器中运行,需要重新编写程序或使用基于模型的开发方法(MBD)和自动代码生成器产生高效规范的嵌入式代码,因而增加了设计人员的工作量。国内航空发动机控制系统仿真平台的开发大多基于面向对象编程语言C++实现[1,6-7],设计的控制律和控制逻辑可以更便捷地应用于真实电子控制器。但是,从国内、外发表的文献来看,目前的控制系统数字仿真软件或平台都没有包括航空发动机电子控制器的数字模型,因此设计人员无法利用现有的软件和平台进行与电子控制器结构相关的故障诊断和双通道控制器的通道切换等逻辑的设计、集成和测试验证。
目前,南京航空航天大学正在开发全数字发动机控制系统仿真平台FADEC Works[8-9](简称FWorks),FWorks是1个基于Internet的多用户、异地、协同、综合设计仿真平台,用于满足不同地域、不同部件的控制系统设计人员进行控制系统各部件设计、集成、测试和验证的需求。
为了给FWorks平台提供电子控制器基线模型,本文在已有航空发动机控制系统仿真平台FWorks的基础上,基于面向对象的建模方法进行数字电子控制器软/硬件结构分析,抽象其特征,创建电子控制器硬件各功能模块的部件类库,搭建双通道的电子控制器模型。
面向对象建模与面向过程建模的主要区别在于面向对象建模强调的是系统的总体结构而不是系统所涉及的具体过程,因此,建立数字电子控制器面向对象模型的首要任务是对典型数字电子控制器进行“抽象”,分析其软/硬件结构功能特征。目前发动机控制系统已发展成为能够控制包线内全部工作状态的具有容错能力且可靠性高的全权限数字电子控制系统[10],主要由传感器、数字电子控制器和执行机构组成,其中数字电子控制器是控制系统的核心,包括硬件电路和软件控制逻辑2部分。本文以CFM56发动机数控系统为原型,分析双通道数字电子控制器的硬件电路和BIT软件逻辑的特征,为后续的仿真类实现提供依据。
CFM56及其改进型发动机是目前使用最广泛的大涵道比民用涡扇发动机,其数字控制系统具有一定的通用性[11-12],其结构如图1所示。
图1 CFM56发动机数字控制系统结构
数字电子控制器作为数字控制系统最核心的部件,其主要任务是接收传感器的测量信号,在内部进行一系列的处理后,输出对执行机构的控制信号。
双通道数字电子控制器的功能结构如图2所示。包括独立但相同的2个通道A和B,1个通道作为主控通道时,另1个通道将作为热备份通道,但做同样的信号处理,一旦主通道出错,会视情切换到热备份通道,以保证满足控制系统安全性和发动机性能要求。
图2 双通道数字电子控制器功能结构
根据不同的功能特点,数字电子控制器每个通道可以划分为输入信号调理电路、核心数字电路以及输出信号调理电路3大模块[13-14]。输入信号调理电路根据数字电子控制器接收的信号的类型不同细分为模拟量输入调理电路、频率量输入调理电路以及开关量输入调理电路;输出信号调理电路分为模拟量输出驱动电路以及开关量输出调理电路等。此外,双通道数字电子控制器中需要设置BIT电路对控制器中的所有模块进行故障检测,提供通道切换的依据[14-15]。
为了建立数字电子控制器中各电路模块面向对象模型,本文对数字电子控制器各电路模块的主要功能进行分析,结果见表1。
双通道数字电子控制器的软件逻辑集成在每个通道的核心数字电路中,包括调节规律、限制逻辑、BIT检测逻辑、通道切换逻辑等。其中调节规律、限制逻辑、通道切换逻辑等一般由设计人员设计,与硬件电路的相关性不大;而BIT检测逻辑与硬件电路的结构有关。所以双通道电子控制器的软件逻辑主要分析BIT自检测逻辑并通过面向对象的方法建模实现。
BIT自检测一般分为4种模式,分别为上电BIT、飞行前BIT、飞行中BIT和维护BIT。其中飞行中BIT主要通过检测信号值范围来判断故障,而上电BIT、飞行前BIT和维护BIT由于不是处在数字电子控制器正常运行状态,所以某些类型的信号可以通过主动施加激励回绕的方法来检测信号处理回路的故障[14-15],如频率量信号和开关量信号。以频率信号处理回路的BIT检测为例,在上电BIT、飞行前BIT和维护BIT模式下,数字电子控制器的CPU产生1个固定频率的激励信号经过BIT电路施加到频率量输入调理电路,此时频率量输入调理电路不再处理传感器测量的信号,而是处理激励信号,并将处理的结果以方波的形式传递给CPU,CPU再将该方波信号的频率与激励频率进行对比,从而判断故障位置,如图3所示。
表1 双通道数字电子控制器电路原理
图3 频率量BIT自检回路结构
进行数字电子控制器建模的目的是为了搭建1个通用的民用大涵道比涡扇发动机数字电子控制器数值仿真平台,该平台能够给设计人员提供模拟数字电子控制器电路故障且进行控制逻辑和双通道数字电子控制器通道切换逻辑设计的功能。因此所搭建的数字电子控制器模型应该具有能模拟控制器中电路处理信号的功能,电路模块接口信号参照CFM56发动机数控系统的接口信号。综合前文双通道电子控制器的硬件结构和软件逻辑分析,每个电路模块具体的建模指标见表2。
表2 数字电子控制器各电路模块建模需求
面向对象建模的基本思路是采用面向对象的分析设计方法建立1个仿真类库,在仿真类库的基础上定义有关类的实例为对象,进行对象的合理组织,最终实现模块化建模。根据上文的数字电子控制器结构分析结果和建模需求,将各电路模块封装为电路模块类,形成数字电子控制器仿真类库,为后续的数字电子控制器建模奠定基础。
基于面向对象的思想,将CFM56的数字电子控制器抽象为对象,其内部不同的电路模块抽象为电路模块类,电路模块类封装了该电路模块所处理的数据和功能函数。仿真类库由电路模块类和辅助类组成,通过调用仿真类库的电路模块类可以搭建数字电子控制器模型对象。
以CFM56发动机数字电子控制器为对象分析,数字电子控制器模型的输入参数应包括模拟量、频率量、开关量和电源参数,模拟量输入接口参数包括P0、Pt12、Pt3、Pt13、Pt25、Tt12、Tt25、Tt3、Tt49.5、Tt5、Toil、Tfule和 所 有 的位置传感器信号,频率量输入接口参数包括N1、N2,开关量输入接口参数包括起动信号、停车信号和通道切换信号,电源输入接口参数包括28 V和330 V两种电压。数字电子控制器模型的输出参数应包括模拟量和开关量,模拟量输出接口参数包括供油信号和所作动机构的控制信号,开关量输出接口参数包括启动信号、点火信号和停车信号。
面向对象建模思想的1个突出优点是“封装”,数字电子控制器按功能划分的各电路模块再封装为多个电路模块类后就相互独立,要想实现各电路模块类间的数据传递,需要为每个电路模块类定义不同的数据端口,此外还需要定义数据线用于数据端口与数据端口之间的数据传递[18],电路模块类间的数据传递如图4所示。
图4 部件间数据传递
“继承”是面向对象方法的1个重要特点,面向对象建模的“继承”特性能够提高代码的重用率且方便后期的扩充,因此良好的类层次结构是建模质量的关键[19]。本文设计的数字电子控制器仿真类库框架如图5所示。最顶层的EEC是所有类的父类,派生出电源模块类Power、数据端口类Port、数据线类Cable、输入调理模块类Input Regulate、处理器模块类CPU、输出调理模块类Output Regulate和机内自检测模块类BIT。依据不同的处理信号类型,输入调理模块类Input Regulate派生出模拟量输入调理模块类Input Analog Regulate、频率量输入调理模块类Input Frequency Regulate、开关量输入调理模块类Input Switch Regulate,输出调理模块类Output Regulate派生出模拟量输出调理模块类Output Analog Regulate和开关量输出调理模块类Output Switch Regulate。
图5 数字电子控制器仿真类库框架
数字电子控制器仿真类库中各电路模块类的功能参照表2设计,各电路模块模型旨在实现电路功能的模拟,不细化到电阻、电容级别的模拟。各电路模块类的功能均单独编写为类的功能成员函数,每个模块类中均设置Run函数用于调用功能成员函数,此外,每个电路模块类依据输入和输出的数据类型不同,需要在类中定义不同的数据端口类Port的对象,电路模块类的程序结构如图6所示。
图6 电路模块类程序结构
频率量输入调理模块类Input Frequency Regulate用于调理转速信号,数据接口获取的转速信号为转速的频率值,getinputdata函数用于获取转速信号值,NSensor函数用于模拟出传感器产生的交流正弦信号,filter函数将正弦信号的幅值从1 V降低到0.3 V,amplification函数将正弦信号的幅值从0.3 V放大到1.5 V,compare函数模拟比较器将正弦信号转化为5 V方波,optoIsolator函数将5 V方波转化为3 V方波。
模拟量输入调理模块类InputAnalog Regulate用于调理压力、温度、位移传感器的传感器信号,主要进行电压信号的简单处理。以压力信号调理为例,设置功能成员函数Pressure Regulate,数据接口获取的压力信号为电阻阻值,功能成员函数Pressure Regulate通过模拟电桥平衡将电阻值转化为电压值,后续再经过滤波、放大处理,转化为幅值为0~3 V的电压信号输出。
开关量输入调理模块类Input Switch Regulate用于调理开关指令信号,数据接口获取的是开关量电压信号,通过getinputdata函数读取,opto Isolator函数将5 V信号转化为3 V信号。
处理器模块类CPU用于数据采集、数据通信以及控制逻辑设计,通过Getdata函数获取调理电路处理的所有信号,其中模拟量信号和开关量信号通过简单的数据传递获取。转速信号通过读取方波信号的上升沿和下降沿的时间,最后计算周期获取。BIT process函数用于控制器内部所有模式的BIT自检,此外设置的channelswitch函数和controllogic函数用于设计通道切换逻辑和控制逻辑。
模拟量输出调理模块类Output Analog Regulate以及开关量输出调理模块类Output SwitchRegulate主要进行简单的数据传递。
通用数字电子控制器模型的通用性体现在接口通用、内部处理过程通用和控制器结构通用。CFM56发动机是使用最广泛的民用大涵道比涡扇发动机,其数字电子控制器已相当成熟,数据接口涵盖的数据全面,控制器结构合理,内部处理过程安全可靠。本文所建立的数字电子控制器仿真类库以CFM56发动机数字电子控制器为分析对象,利用该仿真类库搭建的数字电子控制器模型对于民用大涵道比双轴涡扇发动机模型具有一定的通用性。本文根据仿真类库搭建通用数字电子控制器模型并集成到已有的FWorks数字仿真平台上来验证模型的有效性。
通用数字电子控制器模型设计为双通道控制器,包含2个完全相同的控制通道A和B,每个通道都有单独的输入信号调理电路模块、数字核心电路模块、输出信号调理电路模块。本文所搭建的通用数字电子控制器模型的单个通道的结构如图7所示。
通用数字电子控制器模型每个通道的输入信号包括27路模拟信号、4路频率信号、2路开关量信号和2路电源信号,输出信号包括7路模拟信号和3路开关量信号,通道内部电路包括模拟量输入调理模块、频率量输入调理模块、开关量输入调理模块、电源模块、BIT模块、CPU模块、模拟量输出调理模块、开关量输出调理模块各1个。
为了完善FWorks仿真平台并验证通用数字电子控制器模型的有效性,本文将搭建的通用数字电子控制器模型集成到FWorks平台上,并与FWorks平台中的民用大涵道比涡扇发动机模型进行闭环仿真,集成通用数字电子控制器的FWorks平台的结构如图8所示。航空发动机模型在服务器端,通用数字电子控制器集成在客户端后台,发动机模型与控制器通过Internet进行数据通信。
图8 FWorks仿真平台结构
本文在FWorks客户端后台的通用数字电子控制器中设计了简单的转速稳态PI控制器,分别对通用数字电子控制器各模块类进行仿真测试,检验是否符合设计需求。
发动机高、低压转速信号是重要的控制信号,控制系统需要计算转速信号的频率才能计算出转速值,通用数字电子控制器模型模拟了转速传感器产生交流信号、转速信号调理为方波和最后CPU模块计算出转速,频率量输入调理模块对转速信号的处理结果如图9所示。从图中可见,频率量输入调理模块实现了模拟传感器、滤波、放大、整形和隔离的功能。
图9 频率量输入调理模块对转速信号的处理结果
为了检验处理器模块CPU对转速的测量精度,对低压转速做连续阶跃处理,低压转速和低压转速测量误差分别如图10、11所示,高压转速和高压转速测量误差分别如图12、13所示。从图中可见,处理器模块CPU测量的高、低压转速值与实际值的相对误差均在0.2%以内,并且转速测量的误差波动均出现在动态过程中,稳态过程中转速误差没有波动且误差较小,不影响控制。
图10 低压转速
图11 低压转速测量误差
图12 高压转速
图13 高压转速测量误差
通用数字电子控制器对模拟量、开关量信号的处理只有幅值的变化,所以不会出现误差。
综上所述,通用数字电子控制器模型在加入控制逻辑后可以有效地控制发动机模型,且控制器模型模拟了硬件的结构和功能,可以用于软件逻辑设计,尤其是进行双通道电子控制器通道切换逻辑的研究。
本文基于面向对象建模的方法搭建了通用数字电子控制器仿真平台,填补了以往没有进行数字电子控制器功能结构数值模拟的空白。仿真结果表明,所搭建的通用数字电子控制器模型能够模拟真实电子控制器的功能特征,可应用于控制系统软件逻辑开发、集成和验证,为控制系统故障诊断、容错和双通道电子控制器通道切换逻辑研究建立了仿真基础。控制器内部细化的软件结构和相关电路故障模拟功能有待进一步完善。