主要内容

降低瞬态信号通过消除抖动的逻辑

当开关打开和关闭时,开关接触完全可以相互反弹前的开关转换到一个打开或关闭状态。跳跃的动作可以产生瞬态信号,并不代表真正的改变的状态。因此,建模时切换逻辑,重要的是要过滤掉瞬态信号通过消除抖动算法。

如果你在Stateflow模型控制器®图,你不希望你的开关逻辑加班它打开和关闭的控制器响应每一个瞬态信号接收。为了避免这种情况,设计一个Stateflow控制器,利用时序逻辑防反跳输入信号和确定一个开关是否打开或关闭。

如何防反跳信号

有两种方法可以防反跳信号通过Stateflow:

  1. 通过使用过滤瞬态信号持续时间时态算子。

  2. 过滤掉瞬态信号通过一个中间的图形状态。使用中间的图形状态为先进的过滤技术,如故障检测。

持续时间支持运营商只有State金宝appflow图表模型金宝app®模型。

防反跳的信号持续时间操作符

这个例子展示了一个使用的设计模式持续时间运营商过滤瞬态信号。

防反跳图包含了这个逻辑。

逻辑状态

该模型的初始状态。通过使用持续时间运算符,您可以控制状态是活跃的基于开关信号,多长时间西南消极的或负的。

  • 西南非负了超过0.01秒,开关从国家吗

  • 西南负了超过0.01秒,开关从国家吗

运行防反跳

  1. 打开模型。

  2. 打开块范围。

  3. 打开Stateflow图表防反跳。

  4. 模拟模型。范围显示了如何防反跳隔离瞬态信号从噪声输入信号。

防反跳信号与故障检测

这个例子展示了一个使用了一个中间状态的设计模式来隔离瞬态信号。防反跳设计使用操作符来实现绝对时间时序逻辑。通过这个设计模式,你也可以检测故障,让您的系统时间恢复。

防反跳图包含了这个逻辑。

逻辑状态

防反跳图包含一个中间状态防反跳。这种状态隔离瞬态输入通过检查,如果信号西南仍然是积极的还是消极的,或者如果它在规定期间的零交叉之间波动。

  • 西南一直在积极的超过0.1秒,开关动作状态

  • 西南负了超过0.1秒,切换到状态

  • 西南波动之间的零交叉超过0.3秒,开关动作Off.Fault、隔离西南瞬态信号和时间来恢复。

运行防反跳

  1. 打开模型。

  2. 打开块范围。

  3. 打开Stateflow图表防反跳。

  4. 模拟模型。范围显示了如何防反跳隔离瞬态信号从噪声输入信号。

使用基于事件的时序逻辑

代替绝对时间时序逻辑,可以运用基于事件的时序逻辑来确定防反跳的真实状态表使用操作符。关键字蜱虫指定和隐式生成一个图表唤醒时本地事件。

发电机块的错误sf_debouncer每0.001秒模型生成一个脉冲信号。因此,将绝对时间时序逻辑中指定防反跳图表基于事件逻辑,乘的论点1000年运营商,这个表所示。

绝对的基于时间的逻辑 基于事件的逻辑
后(0.1秒) 后(100年,蜱虫)
后(0.3秒) 后(300年,蜱虫)
后(1秒) 后(1000年,蜱虫)

另请参阅

|

相关的话题