持续时间
操作符下面的例子侧重于汽车的档位逻辑,当它从第一个档位转换到第四个档位。
当对该系统的齿轮变化进行建模时,对发生的振荡进行控制是非常重要的。该模型sf_car.
使用并行状态脱扣逻辑,控制哪个齿轮状态是活动的。有关在Stateflow中解码器如何工作的更多信息®,请参阅利用去抖逻辑减少瞬态信号.
的方法可以简化debouncer逻辑持续时间
操作符。您可以在模型中看到这种简化sf_car_using_duration
.的持续时间
运算符计算条件表达式并输出该表达式已存在的时间长度真正的
.当这段时间超过一个已知的时间阈值时,状态会切换到更高或更低的档位。
通过删除并行状态逻辑并使用持续时间
运算符,您可以用更简单的statflow逻辑控制振荡。的持续时间
仅在Simulink中的金宝app状态流图中支持操作符金宝app®模型。
打开模型sf_car.
.而shift_logic
是突出显示的,在国家图表选项卡上,单击看下面具.
Stateflow图shift_logic
控制汽车在哪个档位,给定汽车的速度和多少油门正在被应用。在shift_logic
有两种平行状态:gear_state
和selection_state
.gear_state
包含每个齿轮的四个独家状态。selection_state
确定汽车是降档、升档还是保持当前档。
在这个状态流程图中,汽车从第一个档位移动到第二个档位,事件向上
必须从selection_state
来gear_state
.当速度超过阈值并在一定时间内保持高于阈值时,发送该事件TWAIT
.当事件向上
发送,gear_state
从第一个
来第二个
.
持续时间
操作符打开模型sf_car_using_duration
.而Gear_Logic
是突出显示的,在国家图表选项卡上,单击看下面具.
在Gear_Logic
每个齿轮都有四个独有的状态。的局部变量向上
和下来
保护每个状态之间的转换。
在此状态溢图中,对于汽车从第一齿轮移动到第二档,条件向上
必须真正的
.条件向上
如果速度大于或等于阈值的时间长度大于由TWAIT
.条件下来
如果速度小于或等于阈值的时间长度大于所指定的时间长度,则定义为trueTWAIT
.操作员持续时间
跟踪速度高于或低于阈值的时间长度。当向上
条件满足时,活动状态从第一个
来第二个
.
将并行状态去解密器逻辑替换为持续时间
操作,您可以创建一个更简单的状态流程图来建模换挡。