主要内容

本页采用了机器翻译。点击此处可查看英文原文。

检查条件表达式的类型和大小

mathworks.hism.himl_0011

依赖关系: Simulink® Check™

用法: 高完整性系统建模

规范: himl_0011:条件表达式的数据类型和大小

说明

使用此检查来验证条件表达式中是否使用了逻辑标量。

条件表达式包括:

  • if 表达式

  • elseif 表达式

  • while 表达式

  • Stateflow® 转换的条件表达式

检查参数

使用模型顾问配置编辑器,通过指定输入参数来定义分析范围。

参数描述
检查模型中引用的外部 .m 文件

指定是否对模型中引用的 MATLAB® 文件运行。

on (默认) | off

跟随链接

指定是否将文库链接模块的内容纳入分析。

on(默认)| off

查看封装内部

指定是否在分析中包含掩码模型元素。

全部(默认)| | 图形 | 功能性

  • 全部 - 检查分析是否包含所有掩码模型元素。

  • - 检查分析排除了已屏蔽的模型元素。

  • 图形 - 检查分析仅包括图形掩码模型元素。

  • 功能性 - 检查分析仅包括功能掩码模型元素。

建议的行动和结果

查看检查中标记出的违规行为以及建议的修复措施。应用更改后,保存模型并重新运行检查分析。

建模条件建议的操作

if 表达式不是逻辑标量。

将表达式改为逻辑标量。

elseif 表达式不是逻辑标量。

将表达式改为逻辑标量。

while 表达式不是逻辑标量。

将表达式改为逻辑标量。

Stateflow 转换表达式的条件表达式不是逻辑标量。

将表达式改为逻辑标量。

功能和限制

  • 当使用 C 作为 Stateflow 动作语言时,不会检查 Stateflow 转换和状态动作的条件。

  • 无法在库模型上运行。

  • 可以分析封装子系统中的内容

  • 分析库链接模块的内容。

  • 无法达到的不变条件和代码片段可能不会被分析。

  • 仅支持活动变体选择

  • 执行模型编译

提示

结果表标识出每个包含非逻辑标量表达式的表达式。要查看问题,请从结果表中选择相应的功能链接。模型顾问会打开并突出显示相应的函数定义,或者,对于 Stateflow,会打开图并突出显示问题发生的状态。

手动将条件表达式更改为逻辑标量。保存模型并重新运行检查。

版本历史记录

在 R2019b 中推出