主要内容

使用事件来执行图表

一个事件是nongraphical对象在Stateflow醒来,会引发行为吗®图表。有关更多信息,请参见通过广播事件同步模型组件

如何Stateflow图表响应事件

Stateflow图表以循环的方式响应事件。

  1. 一个事件唤醒一个不活动的图表。

  2. 图表响应事件通过执行转换和国家行为通过图表层次从上到下。从图表水平:

    1. 图表检查有效的状态之间的转换。

    2. 图表执行行动的活动状态。

    3. 图表进行到下一个层次的。

  3. 图表变得不活跃,直到它接收到下一个事件。

流程图显示一个图表如何回应一个事件。

有关更多信息,请参见执行Stateflow图表

事件金宝app模型

在仿真金宝app软件®模型,Stateflow图表模型中接收来自其他模块的输入事件。

在处理一个事件,一个国家或过渡动作可以产生显式或隐式的事件触发额外的步骤。例如:

  • 操作员发送可以播放本地或输出事件。

  • 运营商输入退出可以生成隐当地事件当图表执行进入或退出状态。

  • 操作员改变可以生成一个隐式的本地事件图表时设置一个变量的值。

在每种情况下,中断当前活动的图表来处理新事件。当新的事件造成的活动执行完毕,返回到活动的图表在中断前发生。

请注意

在仿真软件金宝app模型中,输出的执行edge-trigger事件的价值相当于切换输出数据值在0和1之间。这种类型的事件不中断当前活动的图表。相反,接收块过程模型执行的事件下次块。有关更多信息,请参见激活一个模型块通过发送金宝app输出事件

复位逻辑

处理本地事件的结果可以用动作之前发生冲突事件生成。根据类型的行动,通过使用复位逻辑图表解决这些冲突。

动作类型

复位逻辑

状态条目行动 如果政府不再是活跃的本地事件处理后,图表停止进入状态的过程。图表不执行剩下的语句条目行动。
状态行动 如果政府不再是活跃的本地事件处理后,停止执行的图表。图表不执行剩下的语句行动。
状态退出行动 如果政府不再是活跃的本地事件处理后,图表停止退出状态的过程。图表不执行剩下的语句退出行动也没有任何转换的行为和状态条目行动,结果从退出状态。
条件作用 如果源状态内在或外在的转换路径,或父状态默认的转换路径,不再是活跃的本地事件处理后,图表停止过渡过程。图表不执行剩下的操作转换路径或任何状态退出条目由于采取的过渡。
过渡行动 如果父母过渡路径的不活跃,如果家长有一个活跃的亚态,表停止过渡过程。图表不执行剩下的操作转换路径或任何状态条目由于采取的过渡。

例如,在这个图表中,输入事件E和当地的事件F触发状态之间的转换。

Stateflow图与状态称为A, B, C, D。

假设状态一个图表时积极接收事件吗E。图表响应事件与这些步骤:

  1. 图确定活动状态的过渡一个B有效的事件吗E

  2. 图表执行有效的过渡的条件作用和广播事件F

  3. 图表中断的过渡状态一个B并开始处理事件F

  4. 图确定活动状态的过渡一个C有效的事件吗F

  5. 状态一个执行它退出行动。

  6. 状态一个变得不活跃。

  7. 状态C变得活跃。

  8. 状态C执行它条目行动。

在图表处理事件F,国家C的活动状态图。因为国家一个不再活跃,图表使用复位逻辑和阻止过渡状态一个B

提示

避免使用无向本地事件广播。无向本地事件广播会导致不必要的递归的行为在你的图表。相反,使用定向广播发送本地事件。有关更多信息,请参见广播本地事件同步平行状态

在仿真中,Stateflow图表可以检测无向本地事件广播。控制水平的诊断操作,打开配置参数对话框,,诊断>Stateflow窗格中,设置无向事件广播参数没有一个,警告,或错误。默认设置是警告。有关更多信息,请参见无向事件广播(金宝app模型)

事件的独立的图表

独立Stateflow图表接收输入事件时调用一步在MATLAB函数或一个输入事件函数®

独立的图表也从MATLAB接收的事件计时器对象的绝对时间时序逻辑操作符,,每一个。这些操作符定义时序逻辑所。如果与时序逻辑操作符相关的状态变得不活跃在图表处理隐式事件,事件不会醒来的图表。

排队的事件

如果图表处理另一个操作接收到一个事件时,图表的事件队列执行当前步骤完成时。您可以指定事件队列的大小通过设置配置选项-eventQueueSize当您创建表对象。有关更多信息,请参见图表对象的配置选项

例如,在这个图表中,输入事件EF触发状态之间的转换。假设SendF在MATLAB路径是一个函数调用的输入事件函数F

Stateflow图与状态称为A, B, C, D。

假设状态一个图表时积极接收事件吗E。图表响应事件与这些步骤:

  1. 图确定活动状态的过渡一个B有效的事件吗E

  2. 图表执行有效的过渡的条件作用和调用函数SendF

  3. SendF调用输入事件函数F。因为图表正忙着处理条件行动,队列的事件F

  4. 图表完成执行条件的行动。

  5. 状态一个执行它退出行动。

  6. 状态一个变得不活跃。

  7. 状态B变得活跃。

  8. 状态B执行它条目行动。

  9. 图表开始排队的事件过程F

  10. 图确定活动状态的过渡BD有效的事件吗F

  11. 状态B执行它退出行动。

  12. 状态B变得不活跃。

  13. 状态D变得活跃。

  14. 状态D执行它条目行动。

在图表处理事件F,国家D的活动状态图。

另请参阅

|||||||

相关的话题