检查 Stateflow 中的隐式类型转换
检查 ID:mathworks.jmaab.jc_0802
规范:jc_0802:禁止在 Stateflow® 中使用隐式类型转换
描述
标识 Stateflow 中的隐式类型转换。
此检查需要 Simulink® Check™ 和 Stateflow 许可证。
检查参数化
此检查不包括子检查,因为 MAB 建模规范仅提供一个子 ID。
作为参考,NA-MAAB 和 JMAAB 建模标准组织建议使用的 MAB 规范子 ID 为:
NA-MAAB - a
JMAAB - a
结果和建议的操作
| 条件 | 建议的操作 |
|---|---|
| Stateflow 图中的一个或多个运算和/或函数调用的数据类型不匹配。 | 所有运算和函数调用都必须在相同数据类型的变量之间进行。如果数据类型不同,则需要对变量进行显式类型转换,使数据类型匹配。 |
功能和限制
如果未给枚举类型指定完整的类名称,则此检查不会分析 Stateflow 中的枚举类型。例如,如果枚举类命名为
Colors并且其中一个枚举为Red,则正确的用法是Colors.Red。此检查不分析定点上下文相关常量。
此检查将
Simulink.IntEnumType视作单独的数据类型。无法在库模型上运行。
允许排除模块或图。
可以分析库链接模块的内容。默认情况下,输入参数 Follow links 设置为 on。
可以分析封装子系统中的内容。默认情况下,输入参数 Look under masks 设置为 graphical。
不分析 C 函数调用及其返回值。
在某些情况下,不能由此检查来确定数据类型时,检查结果将报告为信息状态。
不支持 Truth Table (Stateflow) 模块和 Stateflow 转移表。