主要内容

控制图的行为通过使用隐式事件

隐式的事件是内置的事件发生在图表执行时:

  • 图表中醒来。

  • 图进入状态和状态变得活跃。

  • 出口的图表和国家变得不活跃的状态。

  • 图表将值赋给一个内部数据对象。

这些事件是隐式的,是因为你不显式地定义或触发它们。隐式事件图表中出现的孩子,只有在父表中是可见的。

基于图表执行隐式事件

关键字蜱虫指定了隐式事件时生成一个图表在离散时间模拟醒来。

例如,在这个图表,风扇加热器是平行的(和)状态。每个州都有一双亚态,。最初,亚态Fan.OffHeater.Off是活跃的。每次醒来的图表,它生成一个蜱虫事件。第三个蜱虫触发器的过渡Heater.OffHeater.On。同样,第四蜱虫触发器的过渡Fan.OffFan.On。在第八蜱虫图表转换回Fan.OffHeater.Off

Stateflow图表使用隐式事件蜱虫。

对时序逻辑操作符的信息,请参阅利用时序逻辑控制图执行

请注意

蜱虫事件是指图表包含行动被评估。事件不能引用不同的图表。

基于隐式事件数据和状态

在Stateflow®图表在仿真软件金宝app®模型中,这些操作符生成隐含的事件当图表设置一个变量的值或当一个图表进入或退出状态。

操作符 语法 描述 例子
改变

变化(data_name)

chg (data_name)

生成一个隐式的本地事件时,图表设置变量的值data_name

定义一个隐式的本地事件当州或过渡行动将值写入变量Engine.rpm

改变(Engine.rpm)

输入

输入(state_name)

在(state_name)

生成一个隐式的本地事件时指定的状态state_name变得活跃。

定义一个隐式的本地事件当图表执行进入状态Fan.On

输入(Fan.On)

退出

退出(state_name)

(交货state_name)

生成一个隐式的本地事件时指定的状态state_name变得不活跃。

定义一个隐式的本地事件当图表执行退出状态Fan.Off

退出(Fan.Off)

如果不止一个状态或数据对象有相同的名称,使用点符号符合国家的名称。有关更多信息,请参见通过使用点符号识别数据

例如,在这个图表,风扇加热器是平行的(和)状态。每个州都有一双亚态,。最初,亚态Fan.OffHeater.Off是活跃的。当醒来的图表,它生成一个蜱虫事件触发的过渡Fan.OffFan.On。当Fan.Off变得不活跃,图表生成另一个隐含的事件触发的过渡Heater.OffHeater.On。图表执行结束时,亚态Fan.OnHeater.On是活跃的。

Stateflow图表,使用隐式事件退出。

请注意

如果相同的隐式并行事件触发多个转换,转换执行的顺序不一定匹配并行的执行顺序。避免意想不到的行为,确保转换为并行执行指定的顺序,不要使用隐式事件。相反,使用电话运营商等的转换条件焕然一新。有关更多信息,请参见检查活动进行的操作状态检测数据和表达式值的变化

另请参阅

|||||

相关的话题