降低瞬态信号通过消除抖动的逻辑
当开关打开和关闭时,开关接触完全可以相互反弹前的开关转换到一个打开或关闭状态。跳跃的动作可以产生瞬态信号,并不代表真正的改变的状态。因此,建模时切换逻辑,重要的是要过滤掉瞬态信号通过消除抖动算法。
如果你在Stateflow模型控制器®图,你不希望你的开关逻辑加班它打开和关闭的控制器响应每一个瞬态信号接收。为了避免这种情况,设计一个Stateflow控制器,利用时序逻辑防反跳输入信号和确定一个开关是否打开或关闭。
如何防反跳信号
有两种方法可以防反跳信号通过Stateflow:
通过使用过滤瞬态信号
持续时间
时态算子。过滤掉瞬态信号通过一个中间的图形状态。使用中间的图形状态为先进的过滤技术,如故障检测。
的持续时间
支持运营商只有State金宝appflow图表模型金宝app®模型。
防反跳的信号持续时间
操作符
这个例子展示了一个使用的设计模式持续时间
运营商过滤瞬态信号。
防反跳图包含了这个逻辑。
逻辑状态
该模型的初始状态从
。通过使用持续时间
运算符,您可以控制状态是活跃的基于开关信号,多长时间西南
消极的或负的。
当
西南
非负了超过0.01秒,开关从国家吗从
州在
。当
西南
负了超过0.01秒,开关从国家吗在
州从
。
运行防反跳
打开模型。
打开块范围。
打开Stateflow图表防反跳。
模拟模型。范围显示了如何防反跳隔离瞬态信号从噪声输入信号。
防反跳信号与故障检测
这个例子展示了一个使用了一个中间状态的设计模式来隔离瞬态信号。防反跳设计使用后
操作符来实现绝对时间时序逻辑。通过这个设计模式,你也可以检测故障,让您的系统时间恢复。
防反跳图包含了这个逻辑。
逻辑状态
防反跳图包含一个中间状态防反跳
。这种状态隔离瞬态输入通过检查,如果信号西南
仍然是积极的还是消极的,或者如果它在规定期间的零交叉之间波动。
当
西南
一直在积极的超过0.1秒,开关动作状态在
。当
西南
负了超过0.1秒,切换到状态从
。当
西南
波动之间的零交叉超过0.3秒,开关动作Off.Fault
、隔离西南
瞬态信号和时间来恢复。
运行防反跳
打开模型。
打开块范围。
打开Stateflow图表防反跳。
模拟模型。范围显示了如何防反跳隔离瞬态信号从噪声输入信号。
使用基于事件的时序逻辑
代替绝对时间时序逻辑,可以运用基于事件的时序逻辑来确定防反跳的真实状态表使用后
操作符。关键字蜱虫
指定和隐式生成一个图表唤醒时本地事件。
发电机块的错误sf_debouncer
每0.001秒模型生成一个脉冲信号。因此,将绝对时间时序逻辑中指定防反跳图表基于事件逻辑,乘的论点后
1000年运营商,这个表所示。
绝对的基于时间的逻辑 | 基于事件的逻辑 |
---|---|
后(0.1秒) |
后(100年,蜱虫) |
后(0.3秒) |
后(300年,蜱虫) |
后(1秒) |
后(1000年,蜱虫) |