建模容错燃料控制系统

这个例子说明了如何Stateflow®用的Simulink相结合,有效模式混合动力系统。金宝app这种类型的建模为具有基于离散事件许多可能的操作模式的系统中特别有用。而在控制构造的变化状态流中实现传统的信号流在Simulink处理。金宝app以下描述的模型表示用于汽油发动机的燃料控制系统。在被检测到的个体传感器的故障和控制系统被动态地重新配置为不间断运行该系统是非常强劲。

分析与物理

物理和经验关系构成了油门,这款机型的进气歧管动力学的基础。空气 - 燃料比除以燃料的质量流率(在阀喷射)的空气质量流量(从进气歧管泵送)来计算。理想的(即化学计量)的混合物比率提供功率,燃油经济性和排放之间的良好折衷。该系统的目标空气燃料比为14.6。典型地,一个传感器确定存在于废气(EGO)中残存的氧的量。这给出了混合比的良好指示,并且提供反馈测量闭环控制。如果传感器指示高氧水平,控制规则增加了燃料消耗率。当传感器检测到一个富含燃料的混合物,对应于残余的氧的非常低的水平时,控制器降低了燃料消耗率。

建模

图1示出了仿真模型的顶层。金宝app来开放模型类型sldemo_fuelsys在MATLAB®命令窗口。按示范窗口工具栏上的播放按钮来运行模拟。该模型加载必要的数据从模型工作区sldemo_fuelsys_data.m。该模型登录称为数据结构的相关数据,以MATLAB的工作空间sldemo_fuelsys_output并将数据流送到仿真数据检查器。记录的信号用蓝色指示器标记,而流信号用淡蓝色标记(参见图1)。

注意,将初始条件加载到模型工作区中可以使模拟数据与您可能打开的其他打开模型中的数据隔离。这也有助于避免MATLAB工作空间的混乱。要查看模型工作区的内容,请选择Modeling >模型资源管理器,并从模型层次结构列表中单击模型工作区。

注意,单元在模型和子系统图标以及信号线上是可见的。单元是在端口和总线对象上指定的。要了解更多关于Simulink中的单元,请参见金宝app金宝appSimulink的单位

图1:燃料控制系统模型的顶层图

仪表板子系统(如图2所示)允许用户在模拟期间与模型交互。故障注入开关可以从正常位置移动到故障位置来模拟传感器故障,而发动机转速选择开关可以切换来改变发动机转速。燃料和空气/燃料比信号是可视化的使用仪表板仪表和范围,以提供可视化的反馈,在模拟运行。

图2:仪表板子系统为燃料控制系统模型

从系统的传感器的用途fuel_rate_control信号以确定燃料速率,提供化学计量的混合物。与发动机气体动力学模型中的实际空气流量的燃料消耗率相结合,确定作为在排气感测到所得到的混合物比例。

用户可以选择禁用四个传感器(油门角度,速度,自我和多方面的绝对压力[地图]),通过使用仪表板子系统中的滑动开关,模拟故障。金宝appSimulink通过将滑块开关绑定到常量块的值参数来实现这一点。双击仪表板子系统以打开控制仪表板来更改开关的位置。类似地,用户可以通过切换仪表板子系统上的发动机转速开关来诱发发动机转速过高的故障状态。重复表块提供节流角度输入,并定期重复掩码中指定的数据序列。

的fuel_rate_control块,如图3所示,利用传感器输入和反馈信号,以调整燃料率,得到的化学计量比。该模型使用三个子系统来实现这一战略:控制逻辑,气流计算,燃油计算。在正常操作下,该模型估计的气流速率和乘以估计由倒数所需比例的,得到的燃料消耗率。来自氧传感器的反馈提供,以维持理想的混合比率估计的闭环调整。

图3:燃油率控制器子系统

控制逻辑

由一组六个并行状态组成的单个状态流图完整地实现了控制逻辑。图4顶部所示的四个并行状态对应于四个单独的传感器。底部剩余的两个并行状态同时考虑四个传感器的状态,确定整个系统的工作模式。该模型以0.01秒的定期采样时间间隔同步调用整个状态流图。这允许及时测试转换到正确模式的条件。

开放在control_logic状态流图表中,双击它在fuel_rate_control子系统中。

图4:该控制逻辑图

当执行开始时,所有状态都从它们的正常的除氧传感器(EGO)外的模式。的O2_warmup状态最初进入到预热阶段完成。系统检测油门和压力传感器发生故障时它们的测量值落在外面它们的标称范围。在不存在的速度信号的歧管真空表示速度传感器故障。氧传感器还具有标称范围的故障情况,但是由于零既是最小信号电平与该范围的底部,故障可以只有当它超过上限值来检测。

不管哪个传感器发生故障时,该模型总是产生定向事件广播Fail.INC。以这种方式,通用传感器故障逻辑的触发是独立的传感器。该模型还使用相应的传感器恢复事件,Fail.DEC。的失败状态跟踪故障的传感器的数量。在每个计数器递增Fail.INC事件和递减每次失败。12月的事件。模型使用了超态,,到群里不止一个传感器出现故障的所有情况。

底部平行状态表示发动机的燃料供给模式。如果单个传感器发生故障时,操作继续,但该空气/燃料混合物是更丰富的,以允许在更高的排放的成本更为流畅的运行。如果多于一个的传感器发生故障时,发动机关闭作为安全措施,由于空气/燃料比不能可靠控制。

时的氧传感器预热,模型保持在正常水平的混合物。如果这是不能令人满意的,用户可以通过内部的热身运动状态变更设计Rich_Mixture超级大国。如果在预热期间发生传感器故障,则Single_Failure状态热身时间后进入。否则,正常的状态在这个时候启动。

属性中创建新状态,从而向模型添加了保护超速特性Fuel_Disabled超级大国。通过使用历史路口,我们放心,图表返回到合适的状态,当模型退出超速状态。至于发动机变得更好规定的安全要求,我们可以添加额外的关闭状态到Fuel_Disabled超级大国。

传感器修正

当传感器发生故障时,传感器的估计进行计算。例如,开放压力传感器的计算。在传感器正常工作时,使用压力传感器的值。否则,将对值进行估计。

ANS = 0逻辑

歧管压力的估计值被计算为发动机转速和油门位置的函数。该值被计算使用可方便内Stateflow的一个Simulink的功能。金宝app

气流计算

气流计算块(如图6所示)是中央控制律的位置。此块位于fuel_rate_control子系统(打开该块)。该模块估计进气流量,以确定燃料率,从而给出适当的空气/燃料比。闭环控制根据剩余氧反馈调整估计,以精确地保持混合比。即使传感器故障要求开环操作,也保留最新的闭环调整,以最好地满足控制目标。

图6:气流估计与校正

式(1)

发动机进气流量可以表示为发动机转速、歧管压力和一个时变尺度因子的乘积。

$ $ q = \压裂{N}{4 \π}V_ {cd} \ν\压裂{P_m} {RT} = C_{泵}(N, P_m) N P_m = \ mbox{进气质量流量}$ $

$$N = \mbox{引擎角速度(Rad/sec)}$$

$$V_{cd} = \mbox{引擎气缸容积}$$

$$\nu = \mbox{容积效率}$$

$$ P_m = \ {MBOX歧管压力} $$

$R, T =\mbox{具体气体常数,气体温度}$$

Cpump通过查找表计算并乘以速度和压力来形成初始流估计。在瞬态过程中,节流阀率,其导数近似于一个高通滤波器,修正了充注动力学的空气流量。控制算法根据公式2提供额外的校正。

公式2

$$e_0 = 0.5 \mbox{for} EGO\le 0.5$$

$$e_0 = -0.5 \mbox{for} EGO >0.5 $ $

$$e_1 = K_i (N,P_m) e_0 \mbox{for} EGO\le 0.5$$

$$ \ {点} E_2 = E_1 \ MBOX {用于与有效EGO信号LOW模式} $$

$$\dot{e_2} = 0 \mbox{为丰富,禁用或自我热身}$$

$$ E_0,E_1,E_2 = \ {MBOX中间误差信号} $$

图7:发动机气动力学子系统

图8:混合和燃烧块内的发动机气体动力学子系统

非线性氧传感器(EGO sensor block)位于发动机气体动力学子系统内的混合燃烧模块(如图8所示)内(如图7所示)。EGO sensor建模为双曲正切函数,在0.5伏特附近提供有意义的信号。因此,反馈回路中的原始误差通过一个开关阀值来检测,如公式2所示。如果空气-燃料比低(混合气稀薄),则原始空气估计值太小,需要增加。相反,当氧传感器输出高时,空气估计值太大,需要降低。利用积分控制使修正项达到使混合比稳态误差为零的水平。

正常的闭环操作模式,低,动态调整积分器,使误差最小化。集成是在离散时间内执行的,每10毫秒更新一次。然而,当开环运行时,在富或O2失效模式下,反馈误差被忽略,积分器被保留。根据最新有效的反馈,给出最佳的修正。

燃料计算

fuel_calc子系统(在fuel_rate_control子系统中,参见图9)设置喷油器信号以匹配给定的气流计算和故障状态。第一个输入是计算出的气流估计。这是乘上目标燃料/空气的比率,以获得所要求的燃料率。通常目标是化学计量的,即等于最佳空气燃料比14.6。当传感器发生故障时,Stateflow控制逻辑将模式输入设置为2或3(富或禁用),这样混合物要么略富化学计量值,要么完全关闭。

图9:fuel_calc子系统

fuel_calc子系统(图9)采用可调补偿(图10),以便在不同的模式下实现不同的目的。在正常工作中,相位超前补偿的反馈校正信号增加了闭环稳定裕度。然而,在富模式和自感知失效(开环)过程中,复合燃料信号经过低通滤波以衰减估计过程中引入的噪声。最终的结果是一个代表燃料流量的信号,在实际的系统中,它将被转换成喷油器脉冲时间。

图10:可切换的补偿子系统

结果与结论

仿真结果示于图11和图12的仿真与油门输入运行从10至20度在一段两秒斜坡,然后返回到10度下一个两秒以上。当发动机以恒定的速度,使得用户可以与不同的故障状况和故障模式实验保持该循环不断重复。点击在仪表板子系统中的传感器故障开关上以模拟关联的传感器的故障。重复此操作,滑动正常操作的切换回来。

图11:比较针对不同的传感器故障的燃料流率

图11比较,在每个传感器在单个故障的情况下单独地施加的速率无故障条件(基线)下的燃料流率。在每种情况下音符燃料流和三角节气门指令之间的非线性关系(图13中示出)。在基线的情况下,燃料消耗率是被严格调控,表现出小的波动,由于EGO传感器的输入电路的开关性质。在另4例,系统工作开环。控制策略被证明有效维持在单故障模式的正确的燃油轮廓。在每个故障情况下,燃料消耗率是基线流动的基本上125%,满足设计目标的80%丰富。

图12:比较不同传感器故障下的空燃比

图12绘制了每种情况的相应的空气/燃料比。基线图显示闭环操作的效果。的混合比被调节非常紧密14.6的化学计量目标。浓混合比在图12的底部四个图所示虽然它们不是严格调节,如在闭环的情况下,它们近似目标空气/燃料(0.8 * 14.6 = 11.7)的。

图13:油门命令

系统的暂态行为如图14所示。在恒定的12度油门角和系统处于稳态时,节气门故障在t = 2时出现,并在t = 5时得到纠正。在故障的开始,燃料率立即增加。当富比通过系统传播时,在排气处可以看到这种影响。当闭环操作被恢复时,稳态状态会很快恢复。

图14:故障检测的瞬态响应

讲话

与在状态流调试启用动画时,状态转换的状态流图高亮显示(参见图4)为各种状态被激活。激活的序列通过改变颜色来表示。Stateflow中和Simulink之间的这种紧密耦合的协同作用促进了完整的控制系统的建模和开发。金宝app工程师的概念可以在自然和结构化的方式即时视觉反馈加强的每一步发展。

相关的例子

请参考与sldemo_fuelsys相关的其他示例: