状态可以有不同的操作类型,包括条目
,在
,出口
,绑定
和,上
动作。通过使用这种全盘格式化状态动作标签指定状态下的操作:
的名字/条目:输入操作期间:在行动退出:退出动作绑定:data_name,EVENT_NAME上EVENT_NAME:event_name行动上message_name:在MESSAGE_NAME行动
在不同的行中,在状态名称后面输入不同类型的操作。您可以按任何顺序输入这些操作。如果你做不显式指定一个语句的操作类型,图表将该语句视为一个组合项,在
行动。
例如,此图表包含各种状态操作类型。
此表总结了不同的状态操作类型。
政府行动 | 缩写 | 描述 |
---|---|---|
条目 |
在 |
当状态变为活动状态时执行。 |
出口 |
前女友 |
执行时的状态是活动的和流出状态下发生的转变。 |
在 |
杜 |
在状态为活动且发生特定事件时执行。 |
绑定 |
没有一个 | 绑定事件或数据对象,以便只有该状态及其子状态才能传播事件或更改数据值。 |
|
没有一个 | 当状态为活动状态且接收到广播时执行EVENT_NAME 。 |
|
没有一个 | 执行消息时message_name 是可用的。 |
|
没有一个 | 执行时:
欲了解更多信息,请参阅 |
|
没有一个 | 执行时:
欲了解更多信息,请参阅 |
|
没有一个 | 执行时:
欲了解更多信息,请参阅 |
|
没有一个 | 执行:
欲了解更多信息,请参阅 |
条目
行动当一个国家变得活跃表项执行该操作。进入动作包括前缀条目
(或简称在
),后跟冒号(:
)和一个或多个动作。要分隔多个输入操作,请使用分号或逗号。您还可以在单独的行上输入操作。
在前面的示例中,是entry操作ID = X + Y
当图表采用默认转换并且状态A变为活动时执行。看到输入图表或状态。
出口
行动退出操作是在状态处于活动状态并发生从状态转移时执行的。退出操作由前缀组成出口
(或简称前女友
),后跟冒号(:
)和一个或多个动作。要分隔多个退出操作,请使用分号或逗号。您还可以在单独的行上输入操作。
在前面的示例中,是退出操作time_out
当图表从状态A转换到状态B或状态c时执行退出状态。
在
行动期间,当一个状态是活动的动作的执行,一个事件发生时,和为另一状态没有有效转变或当前状态是可用的。在行动由前缀在
(或简称杜
),后跟冒号(:
)和一个或多个动作。要在操作期间分隔多个,请使用分号或逗号。您还可以在单独的行上输入操作。
在前面的示例中,操作期间打开()
每当执行,因为有另一个国家没有有效转换的状态C是有效的。看到一个Stateflow框图的执行。
绑定
行动控件可以将数据和事件绑定到状态绑定
行动。一个绑定
动作由前缀组成绑定
后跟冒号(:
)和一个或多个事件或数据。分隔多个事件和数据,使用分号或逗号。您也可以输入在单独的行事件和数据。
只有一个国家和它的孩子们可以更改绑定到该状态数据或广播的事件。其他州可以读取绑定的数据或监听绑定的事件,但他们不能更改绑定的数据或发送绑定的事件。
绑定操作适用于图表绑定状态是否处于活动状态。在前面的例子中,绑定动作绑定:id、time_out
国有一个
绑定的数据id
和事件time_out
国家一个
。此绑定防止图表中的任何其他状态(或其子状态)发生变化id
或广播事件time_out
。
如果另一个状态包含更改数据或广播绑定到另一个状态的事件的操作,则会发生解析错误。此图表包含两个会产生解析错误的状态操作。
政府行动 | 原因分析错误 |
---|---|
绑定:ID 在国家B |
只有一个国家可以更改数据id ,它一定会表述A |
条目:time_out 在国家C |
只有一个国家可以播放事件time_out ,它一定会表述A |
绑定一个函数调用事件的状态还结合它调用的函数调用子系统。当进入和残疾人绑定状态时绑定状态退出函数调用子系统已启用。有关此问题的详细信息,请参阅控制功能调用子系统使用绑定操作。
仅在Stateflow中支持绑定操万博1manbetx作®图表在仿真软件万博1manbetx®模型。
上
行动当状态为活动状态并接收到事件或消息时,将执行操作。操作由前缀组成上
然后是一个独特的事件EVENT_NAME
或消息message_name
,一个冒号(:
),以及一个或多个动作。分隔多个上的操作,使用分号或逗号。您还可以在单独的行上输入操作。
您可以指定一个以上的事件或消息的行为。例如,如果你想不同的事件来触发不同的动作,输入多个上
在该州行动标签的行动说明:
ev1: action1 ();ev2: action2 ();
EV1
和EV2
然后同时发生action1 ()
首先执行,动作2()
执行第二个。看到一个Stateflow框图的执行。