主要内容

利用控制振荡持续时间操作符

下面的例子侧重于汽车的档位逻辑,当它从第一个档位转换到第四个档位。

当对该系统的齿轮变化进行建模时,对发生的振荡进行控制是非常重要的。该模型sf_car.使用并行状态脱扣逻辑,控制哪个齿轮状态是活动的。有关在Stateflow中解码器如何工作的更多信息®,请参阅利用去抖逻辑减少瞬态信号

的方法可以简化debouncer逻辑持续时间操作符。您可以在模型中看到这种简化sf_car_using_duration.的持续时间运算符计算条件表达式并输出该表达式已存在的时间长度真正的.当这段时间超过一个已知的时间阈值时,状态会切换到更高或更低的档位。

通过删除并行状态逻辑并使用持续时间运算符,您可以用更简单的statflow逻辑控制振荡。的持续时间仅在Simulink中的金宝app状态流图中支持操作符金宝app®模型。

用并行状态逻辑控制振荡

打开模型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.条件下来如果速度小于或等于阈值的时间长度大于所指定的时间长度,则定义为trueTWAIT.操作员持续时间跟踪速度高于或低于阈值的时间长度。当向上条件满足时,活动状态从第一个第二个

将并行状态去解密器逻辑替换为持续时间操作,您可以创建一个更简单的状态流程图来建模换挡。

另请参阅

相关话题