主要内容

通过使用控制振荡期间操作员

以下示例聚焦在汽车的齿轮逻辑上,因为它从第一齿轮转到第四档。

在建模该系统的换档变化时,控制发生的振荡非常重要。该模型sf_car使用并行状态替代逻辑控制哪个齿轮状态处于活动状态。有关Debouncers如何在州流中工作的更多信息®, 看使用Debouncing Logic降低瞬态信号

的方法可以简化debouncer逻辑期间操作员。您可以在模型中看到此简化sf_car_using_duration..这期间操作员评估条件表达式并输出表达式的时间长度真的.当该时间长度穿过已知的时间阈值时,状态转换到更高或更低的档位。

通过删除并行状态逻辑并使用期间操作员可以使用更简单的状态流逻辑控制振荡。这期间运算符仅在Simulin金宝appk中的状态流图中支持金宝app®模型。

使用并行状态逻辑控制振荡

打开模型sf_car.尽管shift_logic.被突出,在状态图选项卡,单击看看面具

stateflow图表shift_logic.鉴于汽车的速度以及正在施加多少节流阀,控制汽车进入的控制器。之内shift_logic.有两个并行状态:gear_stateselection_state.gear_state包含每个档位的四个独家状态。selection_state.确定车辆是否倒下,振幅或留在其当前档位中。

在此状态溢图中,为汽车从第一齿轮移动到第二档,事件向上必须从中发送selection_state.gear_state.当速度交叉阈值时,将发送事件,并且保持高于阈值,以便确定时间长度tw.当事件时向上已发送,gear_state转换从第一的第二

控制振荡期间操作员

打开模型sf_car_using_duration..尽管gear_logic.被突出,在状态图选项卡,单击看看面具

之内gear_logic.每个装备有四种独家状态。局部变量向上保护每个状态之间的过渡。

在这个状态流程图中,汽车从一档移动到二档时的状态向上必须是真的.的条件向上如果速度大于或等于阈值的时间长度大于所指定的时间长度,则定义为TRUEtw.的条件如果速度小于或等于阈值的时间长度大于由tw.运营商期间跟踪速度高于或低于阈值的时间长度。当。。。的时候向上满足条件,活动状态过渡第一的第二

通过替换并行状态替补逻辑逻辑期间操作员可以创建一个更简单的状态流图以模拟换档。

也可以看看

相关的话题