转型
Default transition (默认过渡) 是在激活任何状态或节点之前执行的过渡。系统会自动为第一个状态添加默认过渡,并为过渡添加一个节点。
过渡*(transition)是一条带箭头的线,描述从航天器的一个状态或节点(过渡开始的地方)到另一个状态或节点的过渡。这种过渡不仅可以连接状态,也可以连接节点,或将一个状态块连接到一个节点。对于一个过渡,可以定义"[]"条件和"{}"动作。过渡条件决定是否发生向下一个节点或状态的过渡。与过渡相关的操作则指定在过渡期间将执行 Julia 上的哪些代码。
转换语法
过渡语可通过时间逻辑运算符 、变化指示器、条件和操作进行定制:
行动和条件须遵守以下规则:
-
条件用方括号"[]"表示。
-
操作用大括号"{}"指定。
-
所有字段都是可选的,可以省略。
-
条件和操作支持 Julia 语言的数学和逻辑运算。例如
-
您可以像在任何朱莉娅代码中一样,在转场时留下评论:
-
要将多条语句 Julia 语言放在一行,请使用分号; 作为分隔符:
{y = 0; v = 1}
-
单个过渡中的条件通过逻辑运算符
&&&
(和)和|||
(或)来指定。#Вариант с "и" [x>1 && x<3] #Вариант с "или" [x>1 || x<3]
-
在条件中,运算符的优先级可以用括号给出,例如在 Julia 语言中:
[x == 1 && (y == 3 || after(3,sec))] # выражение (y == 3 || after(3,sec)) будет вычислено первым
-
有关时态逻辑运算符的更多信息,请参阅文章时间逻辑运算符 ;
-
有关变化指标的更多信息,请参阅如下。
过渡优先级
转场*的优先级是指多个转场的条件同时为真时,转场的评估和执行顺序。
请看文章 中的一个例子:
在这个例子中,Rest 状态有两个转换,其优先级是自动设置的:
左键单击过渡设置所需的优先级,然后选择 优先级顺序:
在本例中,到*警报*状态的过渡被放在第一位,具有第一优先权,到*故障*状态的过渡被放在第二位,具有第二优先权。