使用事件来执行图表
一个事件是nongraphical对象在Stateflow醒来,会引发行为吗®图表。有关更多信息,请参见通过广播事件同步模型组件。
如何Stateflow图表响应事件
Stateflow图表以循环的方式响应事件。
一个事件唤醒一个不活动的图表。
图表响应事件通过执行转换和国家行为通过图表层次从上到下。从图表水平:
图表检查有效的状态之间的转换。
图表执行
在
和在
行动的活动状态。图表进行到下一个层次的。
图表变得不活跃,直到它接收到下一个事件。
有关更多信息,请参见执行Stateflow图表。
事件金宝app模型
在仿真金宝app软件®模型,Stateflow图表模型中接收来自其他模块的输入事件。
在处理一个事件,一个国家或过渡动作可以产生显式或隐式的事件触发额外的步骤。例如:
在每种情况下,中断当前活动的图表来处理新事件。当新的事件造成的活动执行完毕,返回到活动的图表在中断前发生。
请注意
在仿真软件金宝app模型中,输出的执行edge-trigger事件的价值相当于切换输出数据值在0和1之间。这种类型的事件不中断当前活动的图表。相反,接收块过程模型执行的事件下次块。有关更多信息,请参见激活一个模型块通过发送金宝app输出事件。
复位逻辑
处理本地事件的结果可以用动作之前发生冲突事件生成。根据类型的行动,通过使用复位逻辑图表解决这些冲突。
动作类型 |
复位逻辑 |
---|---|
状态条目 行动 |
如果政府不再是活跃的本地事件处理后,图表停止进入状态的过程。图表不执行剩下的语句条目 行动。 |
状态在 行动 |
如果政府不再是活跃的本地事件处理后,停止执行的图表。图表不执行剩下的语句在 行动。 |
状态退出 行动 |
如果政府不再是活跃的本地事件处理后,图表停止退出状态的过程。图表不执行剩下的语句退出 行动也没有任何转换的行为和状态条目 行动,结果从退出状态。 |
条件作用 | 如果源状态内在或外在的转换路径,或父状态默认的转换路径,不再是活跃的本地事件处理后,图表停止过渡过程。图表不执行剩下的操作转换路径或任何状态退出 和条目 由于采取的过渡。 |
过渡行动 | 如果父母过渡路径的不活跃,如果家长有一个活跃的亚态,表停止过渡过程。图表不执行剩下的操作转换路径或任何状态条目 由于采取的过渡。 |
例如,在这个图表中,输入事件E
和当地的事件F
触发状态之间的转换。
假设状态一个
图表时积极接收事件吗E
。图表响应事件与这些步骤:
图确定活动状态的过渡
一个
州B
有效的事件吗E
。图表执行有效的过渡的条件作用和广播事件
F
。图表中断的过渡状态
一个
州B
并开始处理事件F
。图确定活动状态的过渡
一个
州C
有效的事件吗F
。状态
一个
执行它退出
行动。状态
一个
变得不活跃。状态
C
变得活跃。状态
C
执行它条目
行动。
在图表处理事件F
,国家C
的活动状态图。因为国家一个
不再活跃,图表使用复位逻辑和阻止过渡状态一个
州B
。
提示
避免使用无向本地事件广播。无向本地事件广播会导致不必要的递归的行为在你的图表。相反,使用定向广播发送本地事件。有关更多信息,请参见广播本地事件同步平行状态。
在仿真中,Stateflow图表可以检测无向本地事件广播。控制水平的诊断操作,打开配置参数对话框,,诊断>Stateflow窗格中,设置无向事件广播参数没有一个
,警告
,或错误
。默认设置是警告
。有关更多信息,请参见无向事件广播(金宝app模型)。
事件的独立的图表
独立Stateflow图表接收输入事件时调用一步
在MATLAB函数或一个输入事件函数®。
独立的图表也从MATLAB接收的事件计时器
对象的绝对时间时序逻辑操作符后
,在
,每一个
。这些操作符定义时序逻辑所。如果与时序逻辑操作符相关的状态变得不活跃在图表处理隐式事件,事件不会醒来的图表。
排队的事件
如果图表处理另一个操作接收到一个事件时,图表的事件队列执行当前步骤完成时。您可以指定事件队列的大小通过设置配置选项-eventQueueSize
当您创建表对象。有关更多信息,请参见图表对象的配置选项。
例如,在这个图表中,输入事件E
和F
触发状态之间的转换。假设SendF
在MATLAB路径是一个函数调用的输入事件函数F
。
假设状态一个
图表时积极接收事件吗E
。图表响应事件与这些步骤:
图确定活动状态的过渡
一个
州B
有效的事件吗E
。图表执行有效的过渡的条件作用和调用函数
SendF
。SendF
调用输入事件函数F
。因为图表正忙着处理条件行动,队列的事件F
。图表完成执行条件的行动。
状态
一个
执行它退出
行动。状态
一个
变得不活跃。状态
B
变得活跃。状态
B
执行它条目
行动。图表开始排队的事件过程
F
。图确定活动状态的过渡
B
州D
有效的事件吗F
。状态
B
执行它退出
行动。状态
B
变得不活跃。状态
D
变得活跃。状态
D
执行它条目
行动。
在图表处理事件F
,国家D
的活动状态图。