主要内容

使用基于活动的时间切片突出显示活动时间间隔

Stateflow®在模型模拟期间,状态和转换可以是活动的、不活动的或休眠的。您可以使用模型切片器来约束模型高亮显示,以只高亮特定状态流所处的时间间隔通过使用状态来表示操作模式(Stateflow)而且运行模式转换(Stateflow)是活跃的。因此,您可以将您感兴趣的领域细化到仅在所选状态和转换操作期间影响模型模拟的模型部分。您还可以将模型高亮显示约束为两个或多个状态或转换的时间间隔的交集。

突出显示Stateflow®状态或转换的活动时间间隔

slslicer_fuelsys_activity_slicing模型包含一个容错燃料控制系统。在本教程中,您将使用基于活动的时间切片来将模型高亮显示细化到仅在某些状态和转换处于活动状态的时间间隔。你必须熟悉如何突出功能依赖关系通过使用模型切片机。

为感兴趣的区域创建动态切片突出显示

1.打开slslicer_fuelsys_activity_slicing模型。

open_system (“slslicer_fuelsys_activity_slicing”);

2.打开模型切片机并添加控制逻辑燃料率控制器子系统中的状态流程图作为模型切片器的起点。

3.的上游突出显示模型的部分控制逻辑Stateflow图表。

4.在有限的模拟时间窗口(最多20秒)内模拟模型,以突出显示起点上游的模型区域,并在感兴趣的时间窗口内活动。

sf_highlight.png

将模型高亮显示约束为状态流状态的活动时间间隔

1.在应用程序选项卡,在模型验证、验证和测试画廊,点击模型切片机

2.导航到控制逻辑中的状态流图燃油率控制器子系统。

open_system ('slslicer_fuelsys_activity_slicing/燃料率控制器/控制逻辑');

3.将模型高亮显示限制为Fueling_Mode > Running > Low_Emissions > Warmup状态为活动,右键单击热身状态并选择模型切片机>约束为热身的活动时间间隔

sf_chart_select_warmup.png

模型切片器被更新为只突出显示模型中在事件发生的时间间隔内活动的那些部分热身状态为active。

sf_chart_constrained_warmup.png

模型切片器也被更新,以显示所处的时间间隔热身状态为激活状态:

实际仿真时间:0.01 ~ 3.86秒:1个活动间隔。

高亮显示了压力状态从正常到失败的转换,表明在激活Warmup状态的时间间隔内发生了压力故障。

将模型高亮显示约束为状态流状态和转换的活动时间间隔的交集

1.清除模型切片器中的任何时间间隔约束。

2.将模型高亮显示限制为O2 > fail状态为active。

sf_chart_constrained_O2.png

模型切片器被更新为只突出显示模型中在事件发生的时间间隔内活动的那些部分O2 > fail状态为active。模型切片器也被更新,以显示所处的时间间隔O2 > fail状态为激活状态:

实际仿真时间:4.83 ~ 20秒:1个活动间隔

3.控件所处的时间间隔限制为高亮显示O2 > fail状态是活动的正常的失败转换发生在节气门图表,右键单击正常的失败转换并将其添加为约束。模型切片器被更新为只突出显示模型中在时间间隔的交集期间活动的部分O2 > fail状态是活动的正常的失败转换发生在节气门图表。

sf_chart_two_constraints.png

模型切片器也被更新,以显示所处的时间间隔O2 > fail状态是活动的正常的失败转换发生在节气门图:

实际仿真时间:13.87 ~ 13.87秒:1个活动间隔

基于活动的时间切片限制和注意事项

有关基于活动的时间切片的限制和注意事项,请参见模型切片机的注意事项和限制

Stateflow状态和过渡活动

有关状态流状态和转换活动的更多信息,请参见图表模拟语义(Stateflow)图表执行类型(Stateflow),状态和转换的语法(Stateflow)

相关的话题