Main Content

in

检查状态活动

描述

示例

如果状态 state_name 处于激活状态,则 in(state_name) 返回 1 (true)。否则,运算符返回 0 (false)。

示例

全部展开

检查状态 Fan 中的子状态活动,以保持状态 Heater 的子状态同步。

Fan.On 变为激活时,会发生从 Heater.OffHeater.On 的转移。

[in(Fan.On)]

Fan.Off 变为激活时,会发生从 Heater.OnHeater.Off 的转移。

[in(Fan.Off)]

Stateflow chart with two superstates called Fan and Heater. Each superstate has two substates called On and Off.

Fan 中激活子状态的变化导致 Heater 中激活子状态的对应变化。

airflow 的值设置为打开的风扇的数量。

airflow = in(FAN1.On) + in(FAN2.On);

Stateflow chart that uses the in operator in a state.

提示

为了确定状态活动,Stateflow® 图对状态层次结构执行局部化搜索。图不会对所有状态执行穷举搜索,也不会在找到第一个匹配项后停止。要增加找到唯一搜索结果的可能性,请执行以下操作:

  • 使用圆点表示法来限定状态名称。

  • 使状态具有唯一名称。

  • 使用状态和框作为条件来限制路径解析搜索的范围。

此外,Stateflow 图无法使用 in 条件基于其他 Stateflow 图中状态的活动来触发动作。

有关详细信息,请参阅Resolution of State Activity

版本历史记录

在 R2006a 之前推出