Engee 文档

条件

State (状态)stateflow state 是有限自动机(CA)的区块之一。在该程序块中,描述系统在该状态下行为的操作被定义为朱莉娅过渡图 或嵌套 CA 中的程序代码,并可使用操作符组 进行配置。

stateflow actions

状态块遵循CA 运行逻辑

  1. 在 KA 模型中,如果使用状态层次结构,在任何给定时间都可能有一个或多个状态处于活动状态。在这种情况下,从最嵌套的状态到最外层的父状态都是活动状态(见状态机层次结构 );

  2. 如果向一个状态过渡的条件得到满足,则该状态被激活。如果一个状态是模型中的唯一状态,或者是嵌套状态中的唯一状态,那么它可以在没有传入过 渡的情况下被激活。

状态支持层次结构(见状态机层次结构 )。

状态语法

规则^ 如果违反条件则出错

每个状态必须有名称。

路由器循环错误:ErrorException('model_name/Chart': state name ' ' is incorrect)。

  • 状态名称可以包括

    • 任何大小写的拉丁字母。

    • 数字。

    • 下划线

  • 名称必须以拉丁字母开头。

  • 名称不得在同一嵌套层重复出现。

路由器中结果循环的错误:ErrorException('model_name/Chart': state name 'example of invalid name' is incorrect)。

操作符组只支持 Julia 语言操作。

模型初始化错误:[EXEC] 模型初始化错误 id_model id_simulation: UndefVarError(:incorrect syntax)

在没有指定前缀 entry:during:exit:on 的状态下编写的代码,在状态激活时和模型的每一步都会执行,只要状态保持激活状态,并使用匿名运算符组调用代码。这种操作符组结合了 entry:during: 前缀的行为。例如,一个带有 for 循环的状态块是这样的

stateflow cycles variables

您可以在状态块中留下注释,就像在任何 Julia 代码中一样:

stateflow commentary 2