此示例演示如何为一对由冗余执行器控制的飞机升降舵设计故障检测、隔离和恢复(FDIR)应用程序。该模型使用与航空区块集航空电子子系统相同的故障检测控制逻辑™ 实例具有可选FlightGear接口的HL-20项目(航天Blockset).
典型的飞机有两个升降舵,机身两侧各一个,连接在水平尾翼上。为了提高飞机的安全性,电梯控制系统包含以下冗余部件:
四个独立液压执行机构(每个电梯两个执行机构)。
三个液压回路驱动驱动器。每个外部执行器都有一个专用的液压回路。内部执行机构共用一个液压回路。
两个主要飞行控制单元(PFCU)。
每个执行器有两个控制模块:全量程控制律和有限/缩小量程控制律。
如果飞机是完全水平飞行,那么执行器的位置应该保持一个恒定值。在以下情况下,故障检测系统记录执行器故障:
执行器的位置从该零点增加或减少10 cm。
执行器快速改变位置(例如,如果位置在0.01秒内至少改变20 cm)。
如果压力超出范围或压力变化迅速,故障检测系统还会在其中一个液压回路中记录故障。在此示例中,故障检测系统检查:
液压回路中的压力介于500 kPa和2 MPa之间。
0.01秒内压力变化不超过100kpa。
Stateflow®图表模式逻辑定义了电梯控制系统的故障检测逻辑。图表包含系统中每个执行器的平行子状态。每个致动器可处于五种模式之一:消极的
,备用物品
,活跃的
,从
,偏远的
. 这些工作模式表示为并联状态的子状态。
默认情况下,外部执行器从中启动活跃的
模式,内部执行器以备用物品
模式。如果在外部执行器或连接到外部执行器的液压回路中检测到故障,故障检测系统的反应是关闭外部执行器并激活内部执行器。
为了对模型进行实验,在仿真过程中,可以通过故障注入界面将液压回路和执行器位置故障引入故障检测系统。
例如,要在液压回路1中注入故障,请选择H1
选中复选框并单击更新.UI运行MATLAB®代码与Simulink®模型进行通信:金宝app
blockname=[mname'/信号调节'…'和故障/液压/测量',字符(10),…'液压系统1',…'压力/液压/H1_故障'];val=get(handles.H1,'Value');
如果val set_param (blockname、“价值”、“1”);其他set_param (blockname、“价值”、“0”);结束
此代码接通信号调理子系统中的一个开关,使故障检测系统在液压回路中登记故障。
图表模式逻辑通过真值表函数和事件广播响应液压回路和执行器的故障。例如,如果故障检测系统在液压回路1中登记了一个孤立故障,则:
真值表函数L_switch
广播活动go_off
到亚态罗
.
亚州罗
进入从
模式并发送事件E
到亚态李
.
因为亚态罗
已经不在了活跃的
模式李
进入活跃的
模式。
因为亚态李
现在处于活动模式,RI
进入活跃的
模式并发送第二个事件E
到亚态反渗透
.
亚州反渗透
进入备用物品
模式。
故障检测系统在液压回路1中记录故障后,左侧外部执行器关闭,右侧外部执行器处于备用状态,内部执行器启动。
故障检测控制逻辑使系统能够从液压回路故障中恢复。例如,要使液压回路1恢复在线,在故障注入UI中,清除H1
选中复选框并单击更新. 在图表中,条件!u、 低气压[0]
变为真,因此子状态罗
转换的从
模式到备用物品
模式。因此,当故障检测系统在稍后的模拟中记录到另一个故障时,可以激活左外执行器。
当故障检测系统在其中一个执行器中记录到故障时,该执行器将无法再激活。在图表模式逻辑中,执行器的故障由子状态表示偏远的
.这个基态没有传出转换,所以一旦执行器进入偏远的
状态,它将在模拟的其余部分中保持该状态。
Pieter J. Mosterman和Jason Ghidella,“航空航天故障场景训练的模型重用”AIAA®建模与仿真技术会议记录, CD-ROM,论文2004-4931,2004年8月16 - 19日,罗德岛会议中心,普罗维登斯,国际扶轮。
Jason R.Ghidella和Pieter J.Mosterman,“将基于模型的设计应用于故障检测、隔离和恢复系统”,年军用嵌入式系统,2006年夏季。