主要内容

jc_0741:更新状态图转移条件中所用数据的时机

规范来源

控制算法建模规范 - 使用 MATLAB®、Simulink® 和 Stateflow®

子 ID 建议

  • NA-MAAB - 无建议

  • JMAAB - a1、a2、b

MATLAB 版本

全部

规则

子 ID a1

状态转移条件中使用的变量不应使用状态动作 du 来执行更新。

自定义参数

不适用

例外

此规则仅适用于具有转移源的状态图中的写入操作。并行状态和图之外的更新不受限制。

示例 - 正确

示例 - 正确(例外情况)

示例 - 不正确

使用状态动作 du 执行更新。

子 ID a2

状态转移条件中使用的变量应使用状态动作 du 来执行更新。

自定义参数

不适用

例外

此规则仅适用于具有转移源的状态图中的写入操作。并行状态和图之外的更新不受限制。

示例 - 正确

使用状态动作 du 执行更新。

示例 - 正确(例外情况)

示例 - 不正确

子 ID b

当转移条件中引用的数据更新为使用 du 作为其源状态时,禁止在同一转移条件中混合已更新和未更新的数据,常量和参数除外。

自定义参数

不适用

示例 - 正确

示例 - 不正确

使用状态动作 du 执行更新。存在用状态动作 du(b) 更新的数据和未更新的数据 in2 混合在一起的情况。

理由

子 ID a1:

  • 转移条件的执行顺序和 during 的实现可能难以理解,这增加了出错的风险。

验证

模型顾问检查:检查状态转移条件中使用的变量的更新 (Simulink Check)

上次更改

R2024b

版本历史记录

在 R2020a 中推出