主要内容

db_0125:Stateflow 局部数据

规范来源

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

子 ID 建议

  • NA-MAAB - a、b、c、d

  • JMAAB - a、b、c、d

MATLAB 版本

全部

规则

子 ID a

数据对象不应在状态机级上将作用域定义为 Local

自定义参数

不适用

示例 - 正确

示例 - 不正确

在状态机级上将作用域设置为 Local 局部数据。

子 ID b

数据对象不应在状态机级上将作用域定义为 Constant

自定义参数

不适用

示例 - 正确

示例 - 不正确

在状态机级上将作用域设置为 Constant 局部数据。

子 ID c

数据对象不应在状态机级上将作用域定义为 Parameter

自定义参数

不适用

示例 - 正确

示例 - 不正确

在状态机级上将作用域设置为 Parameter 局部数据。

子 ID d

具有父子关系的 Stateflow 模块不应包含同名的状态流数据。

自定义参数

不适用

示例 - 正确

示例 - 不正确

具有父子关系的 Stateflow 模块具有相同名称的局部数据。

理由

子 ID a:

  • 当局部数据在状态机级上定义时,它会与模型中的所有模块共享。它的表现也不像是局部变量,且会受到任何操作的影响。

  • 遵守规则可以防止将 Stateflow 模块复制到另一个模型时定义消失。

子 ID b、c:

  • 遵守规则可以防止将 Stateflow 模块复制到另一个模型时定义消失。

子 ID d:

  • 当具有父子关系的 Stateflow 模块包含同名的 stateflow 数据时,会由于 stateflow 数据影响的不明确性而导致可读性会降低。

验证

模型顾问检查:检查 Stateflow 数据的定义 (Simulink Check)

上次更改

R2024b

版本历史记录

在 R2020a 中推出