控制振荡使用持续时间操作者

下面的例子集中于汽车的齿轮逻辑,因为它从第一档到第四齿轮移动。

当模拟该系统的齿轮变化,重要的是控制发生的振荡是重要的。该模型sf_car使用平行状态反跳逻辑控制哪个档位状态是活动的。有关去抖在Stateflow中如何工作的更多信息®利用反跳逻辑降低瞬态信号

您可以使用简化反跳逻辑持续时间运营商。您可以在模型中看到这种简化sf_car_using_duration。该持续时间操作者评估条件,表达和输出的时间长度,该表达式已真正。当该时间长度跨越一个已知的时间阈值,则状态转换到更高或更低的齿轮。

通过去除平行状态逻辑,并使用持续时间运营商可以控制与简单的逻辑Stateflow的振荡。该持续时间运营商只支持在State万博1manbetxflow图中的Simulink万博1manbetx®模型。

具有平行状态逻辑控制振荡

打开模型sf_car。而shift_logic被突出显示,在状态图选项卡,单击下看面具

该Stateflow框图shift_logic该齿轮控制汽车中,考虑到汽车的速度和被多少油门施加。内shift_logic有两个平行的状态:gear_stateselection_stategear_state包含每个齿轮四个忌状态。selection_state判定轿厢是否被降档,升档,或留在其当前齿轮。

在这种状态流图表,为汽车从第一齿轮移动到第二齿轮,所述事件向上必须从发selection_stategear_state。当速度超过阈值,并保持低于的时间长度来确定由阈值更高的发送事件TWAIT。当事件向上已发送,gear_state从转变第一第二

与控制的振荡持续时间操作者

打开模型sf_car_using_duration。而Gear_Logic被突出显示,在状态图选项卡,单击下看面具

Gear_Logic有每个齿轮四个忌状态。局部变量向上守护各状态之间的转换。

在这种状态流图表,为汽车从第一齿轮移动到第二齿轮,条件向上一定是真正。的条件向上被定义为真,如果的时间长度的速度大于或等于所述阈值是比由指定的时间长度大TWAIT。的条件被定义为true如果速度的时间长度小于或等于阈值大于由TWAIT。运营商持续时间跟踪时间,该速度已经高于或低于所述阈值的长度。当。。。的时候向上条件满足时,激活状态转换从第一第二

通过用替换平行状态反跳逻辑持续时间运营商,您可以创建一个简单的Stateflow框图的换档建模。

也可以看看

相关的话题