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