控制图的行为通过使用隐式事件
隐式的事件是内置的事件发生在图表执行时:
图表中醒来。
图进入状态和状态变得活跃。
出口的图表和国家变得不活跃的状态。
图表将值赋给一个内部数据对象。
这些事件是隐式的,是因为你不显式地定义或触发它们。隐式事件图表中出现的孩子,只有在父表中是可见的。
基于图表执行隐式事件
关键字蜱虫
指定了隐式事件时生成一个图表在离散时间模拟醒来。
例如,在这个图表,风扇
和加热器
是平行的(和)状态。每个州都有一双亚态,在
和从
。最初,亚态Fan.Off
和Heater.Off
是活跃的。每次醒来的图表,它生成一个蜱虫
事件。第三个蜱虫
触发器的过渡Heater.Off
来Heater.On
。同样,第四蜱虫
触发器的过渡Fan.Off
来Fan.On
。在第八蜱虫
图表转换回Fan.Off
和Heater.Off
。
对时序逻辑操作符的信息后
,请参阅利用时序逻辑控制图执行。
请注意
的蜱虫
事件是指图表包含行动被评估。事件不能引用不同的图表。
基于隐式事件数据和状态
在Stateflow®图表在仿真软件金宝app®模型中,这些操作符生成隐含的事件当图表设置一个变量的值或当一个图表进入或退出状态。
操作符 | 语法 | 描述 | 例子 |
---|---|---|---|
改变 |
|
生成一个隐式的本地事件时,图表设置变量的值data_name 。 |
定义一个隐式的本地事件当州或过渡行动将值写入变量 改变(Engine.rpm) |
输入 |
|
生成一个隐式的本地事件时指定的状态state_name 变得活跃。 |
定义一个隐式的本地事件当图表执行进入状态 输入(Fan.On) |
退出 |
|
生成一个隐式的本地事件时指定的状态state_name 变得不活跃。 |
定义一个隐式的本地事件当图表执行退出状态 退出(Fan.Off) |
如果不止一个状态或数据对象有相同的名称,使用点符号符合国家的名称。有关更多信息,请参见通过使用点符号识别数据。
例如,在这个图表,风扇
和加热器
是平行的(和)状态。每个州都有一双亚态,在
和从
。最初,亚态Fan.Off
和Heater.Off
是活跃的。当醒来的图表,它生成一个蜱虫
事件触发的过渡Fan.Off
来Fan.On
。当Fan.Off
变得不活跃,图表生成另一个隐含的事件触发的过渡Heater.Off
来Heater.On
。图表执行结束时,亚态Fan.On
和Heater.On
是活跃的。
请注意
如果相同的隐式并行事件触发多个转换,转换执行的顺序不一定匹配并行的执行顺序。避免意想不到的行为,确保转换为并行执行指定的顺序,不要使用隐式事件。相反,使用电话运营商等的转换条件在
或焕然一新
。有关更多信息,请参见检查活动进行的操作状态和检测数据和表达式值的变化。