jc_0531:默认转移
子 ID 建议
NA-MAAB - a、b、c、d、e、f、g
JMAAB - a、b、c、d、e、f、g
MATLAB 版本
全部
规则
子 ID a
当 Stateflow Chart (Stateflow) 的分解为 Exclusive (OR)
时,默认转移应连接到 Chart 模块的顶部。
当状态的分解为 Exclusive (OR)
时,默认转移应连接到状态的正下方。
不适用
默认转移线连接到顶部。
默认转移线未连接。
子 ID b
当分解设置为“并行(AND)”时,不应连接默认转移线。
不适用
状态 AA 和 AB 的父对象的分解 设置为 Parallel (AND)
,这使得状态 AA 和 AB 成为并行状态。这些并行状态没有连接默认转移线。
为并行状态 AA 连接了一条默认转移线。
子 ID c
一个层级不应有多个默认转移。
不适用
同一层级中不存在多个默认转移
在状态 A 的同一层级中存在多个默认转移。
子 ID d
默认转移应直接连接并垂直定位于状态或连接结点的上部。
不适用
默认转移垂直连接到状态的上部。
状态 A 的默认转移未垂直连接到状态的上部。
子 ID e
默认转移的目标状态或目标连接结点应位于同一层级的左上角。
不适用
默认转移位于同一层级的左上角。
状态 AB 的默认转移不在同一层级的左上角。
子 ID f
默认转移不应超出状态边界。
不适用
默认转移没有超出状态边界。
默认转移超出了状态边界。
子 ID g
配置参数不存在无条件默认转移应设置为 Error
,以确保在默认转移的转移路径中,优先级最低的路径是无条件转移。
不适用
默认转移的转移路径中优先级最低的路径是无条件转移。
默认转移的转移路径中优先级最低的路径不是无条件转移。
理由
子 ID a:
当状态图不包含默认转移线时,可能会出现仿真错误。
当流程图中包含默认转移时,无法确定是有意为之还是由于插入其他转移失败所致。
子 ID b:
当没有不必要的默认转移时,可读性会提高。
子 ID c:
当同一层级包含多个默认转移时,状态可能无法按预期运行,并会产生警告。
子 ID d:
当默认转移的角度或位置存在曲线或变化时,可读性会降低。
子 ID e:
当默认转移的转移目标状态或转移目标连接结点的位置发生变化时,可读性会降低。
子 ID f
当默认转移超出状态边界并与状态边界和表达式相交时,可读性会降低。
子 ID g:
当默认转移的转移路径中没有无条件转移时,若转移路径的所有条件均不满足,转移目标将消失。这可能导致意外行为。
验证
模型顾问检查:检查 Stateflow 图中的默认转移放置 (Simulink Check)
上次更改
R2020a
另请参阅
通过使用状态分解定义互斥和并行模式 (Stateflow)
工作模式之间的转移 (Stateflow)
Stateflow 对象在执行期间如何交互 (Stateflow)
版本历史记录
在 R2020a 中推出