过渡期
默认过渡 (默认过渡) -这是在激活任何状态或节点之前执行的转换。 系统会自动为第一个状态添加默认转换,并为转换添加节点。
*Transition*是一条带有箭头的线,描述从航天器的一个状态或节点过渡到另一个状态或节点的过渡。 这种转换不仅可以连接状态,还可以连接节点,或者将状态块连接到节点。 对于转换,您可以定义条件'[]'和操作'{}`。 转换条件确定是否会发生到下一个节点或状态的转换。 与转换相关联的操作指示在此转换期间将执行Julia上的哪些代码。
转换的语法
设置是在转换上设置的 时间逻辑运算符,变化,条件和行动的指标:
行动和条件受以下规则约束:
-
条件在方括号`[]'中指定。
-
操作在花括号'{}'中指定。
-
所有字段都是可选的,可以跳过。
-
条件和动作支持Julia语言的数学和逻辑运算。 例如:
-
您可以在转换上留下评论,就像在任何Julia代码中一样。:
-
为了容纳多个运营商 在Julia语言中,在一行上使用分号。 ; 作为分隔符:
{y = 0; v = 1}
-
使用逻辑运算符`&&`(and)和`||`(or)设置单个转换中的条件。
# 选项与"和" [x>1 && x<3] # 带有"或"的选项 [x>1 || x<3]
-
在条件中,可以在括号中设置运算符优先级,例如在Julia语言中:
[x == 1 && (y == 3 || after(3,sec))] # 表达式(y==3||after(3,sec))将首先计算
-
阅读文章中有关时间逻辑运算符的更多信息 时间逻辑运算符;
-
阅读更多关于变化指标的信息。 下面。
交通优先次序
*转换优先级*是在多个转换的条件为真的情况下计算和执行它们的顺序。
考虑从一个例子 文章:
在示例中,*Rest*状态有两个转换,其优先级自动设置。:
左键单击过渡以调整所需的优先级并选择*执行顺序*:
您还可以通过单击所需的过渡在设置窗口中更改过渡的优先级。:
在我们的例子中,到*Alarm*状态的转换首先被设置并且具有第一优先级,并且到*Fault*状态分别是第二和第二优先级。