主要内容

高完整性系统建模检查

高完整性系统建模检查

高完整性系统建模检查有助于为应用程序设计和排除模型、子系统和相应生成的代码,以符合高完整性系统建模指南。

类的签出金宝app®检查™许可证,当您运行高完整性系统建模检查。

高完整性系统建模检查分为以下几组:

金宝app

高完整性系统建模检查Simulink块和组件。金宝app

有关更多信息,请参见高完整性系统建模的模型检查

MATLAB

高完整性系统建模检查MATLAB代码。

有关更多信息,请参见高完整性系统建模的模型检查

配置

高完整性系统建模检查配置设置。

有关更多信息,请参见高完整性系统建模的模型检查

命名

高完整性系统建模检查命名约定。

有关更多信息,请参见高完整性系统建模的模型检查

需求

高完整性系统建模检查Simulink需求可追溯性。金宝app

有关更多信息,请参见高完整性系统建模的模型检查

代码

高完整性系统建模检查生成的代码。

有关更多信息,请参见高完整性系统建模的模型检查

Stateflow

高完整性系统建模检查状态流程图和组件。

有关更多信息,请参见高完整性系统建模的模型检查

高完整性系统建模的分割检查

从R2018b及以后,不建议使用以下检查。这些检查被分成多个检查,这些检查集中于单个操作或操作。有关更多信息,请参阅下面的拆分和新建检查表。

检查标准化的MATLAB函数头的使用情况

检查身份证mathworks.hism.himl_0001

描述

该检查检查模型中的所有MATLAB函数、局部函数以及标准化函数头的引用MATLAB文件,并检查这些细节:

  • 函数名

  • 功能描述

  • 输入变量描述

  • 输出变量描述

下面是一个如何定义函数头的例子:

%<函数名> -函数的描述

%<输入变量1> -输入变量1的描述

%<输入变量2> -输入变量2的描述

%<输出变量1> -输出变量1的描述

可以使用金宝app仿真软件检查

检查参数化

您可以通过Model Advisor配置编辑器设置以下配置。

选择MATLAB函数报头格式类型,并自定义报头格式并配置描述标签报头格式类型而且自定义报头格式输入参数。的格式。自定义报头格式应该是带有逗号分隔标签的字符串类型。

默认情况下,报头格式类型设置为默认的自定义报头格式参数是描述输入、输出

例如,考虑默认值(Description, Input, Output),模型中的每一层都应该具有如下所示的描述格式:

描述:<模型描述>

输入:<输入信息>

输出:<输出信息>

结果和建议措施

条件 建议的行动
MATLAB函数使用非标准函数头。

考虑根据以下准则为函数添加函数头:

  • 必须是有效的MATLAB注释。

  • 必须立即跟随函数签名。

  • 必须有“功能描述”部分。

  • 必须有一个“输入描述”部分。

  • 必须有一个“输出描述”部分。

能力和限制

  • 该检查只分析Simulink模型直接引用的函数。金宝app

  • 您可以使用输入参数将检查配置为在引用的MATLAB文件上运行检查模型中引用的.m文件在配置编辑器中。缺省情况下,该参数被选中。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查带有继承属性的MATLAB函数接口

检查身份证mathworks.hism.himl_0002

识别MATLAB®具有继承复杂性或数据类型属性的输入、输出或参数的函数。

描述

该检查识别具有继承复杂性或数据类型属性的MATLAB函数。一个结果表提供了未通过检查的MATLAB函数的链接,以及触发警告的条件。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
MATLAB函数具有继承接口。

为结果中确定的MATLAB函数的输入、输出和参数显式定义复杂度和数据类型属性。

如果适用,使用MATLAB函数块编辑器,在“属性检查器”中进行以下修改:

  • 改变复杂性继承了

  • 改变类型继承:与Simulink相同金宝app到显式类型。

能力和限制

  • 该检查只分析Simulink模型直接引用的函数。金宝app

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检验MATLAB函数指标

检查身份证mathworks.hism.himl_0003

显示复杂性和代码指标的MATLAB函数。报告度量违反。

描述

该检查提供了MATLAB函数的复杂度和代码度量。检查报告了两类指标违反:

  • 基于块的度量-用于MATLAB函数块的总体代码的度量

  • 基于功能的指标——每块功能的指标,单独呈现

可以使用金宝app仿真软件检查

输入参数

您可以使用Model Advisor配置编辑器来定义这些复杂性参数的容差:

  • 每个函数的最大有效代码行数—有效行不包括空行、注释行或带有函数的行结束关键字。默认值为60

  • 最小评论密度-密度是注释行与代码总行数的比率。默认值为0.2

  • 每个函数的最大圈复杂度圈复杂度是指通过源代码的线性独立路径的数量。默认值为15

结果和建议措施

条件 建议的行动
MATLAB函数违反了输入参数的复杂性。

MATLAB函数:

  • 如果有效行数过高,进一步划分MATLAB函数。

  • 如果注释密度太低,请添加注释行。

  • 如果每个函数的圈复杂度过高,则进一步划分MATLAB函数。

能力和限制

  • 该检查只分析Simulink模型直接引用的函数。金宝app

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查MATLAB代码分析器消息

检查身份证mathworks.hism.himl_0004

检查MATLAB函数% # codegen指令,MATLAB代码分析器消息,和证明消息id。

描述

验证% # codegen指令,MATLAB代码分析器消息,和验证消息id:

  • MATLAB代码中的MATLAB函数块

  • 在Stateflow中定义的MATLAB函数®图表

  • 叫做MATLAB函数

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

对于MATLAB函数块中的MATLAB代码,请选择以下任何一种:

  • 符号不会对代码行进行对齐% #好吧发表评论。

  • 代码行用% #好吧不要指定消息id。

  • 实现MATLAB代码分析器的建议。

  • 证明不遵循MATLAB代码分析器的建议% #好吧发表评论。

  • 使用消息id指定合理的代码行。例如,% #好< NOPRT >

对于在状态流程图中定义的MATLAB函数,请使用以下任何一种方法:

  • 符号不会对代码行进行对齐% #好吧发表评论。

  • 代码行用% #好吧不要指定消息id。

  • 实现MATLAB代码分析器的建议。

  • 证明不遵循MATLAB代码分析器的建议% #好吧发表评论。

  • 使用消息id指定合理的代码行。例如,% #好< NOPRT >

对于被调用的MATLAB函数:

  • 代码没有% # codegen指令。

  • 符号不会对代码行进行对齐% #好吧发表评论。

  • 代码行用% #好吧不要指定消息id。

  • 插入% # codegen指令的MATLAB代码。

  • 实现MATLAB代码分析器的建议。

  • 证明不遵循MATLAB代码分析器的建议% #好吧发表评论。

  • 使用消息id指定合理的代码行。例如,% #好< NOPRT >

能力和限制

  • 该检查只分析Simulink模型直接引用的函数。金宝app

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块或图表。

另请参阅

在MATLAB函数块中检查if/elseif/else模式

检查身份证mathworks.hism.himl_0006

描述

该检查在嵌入式MATLAB代码中识别if/elseif/else模式,而没有适当的else条件。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
不合适的if/elseif/else模式出现在嵌入的MATLAB代码中。 对于每个if/elseif/else模式,添加至少包含一个有意义注释的else语句。

能力和限制

  • 该检查只分析Simulink模型直接引用的函数。金宝app

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

另请参阅

检查MATLAB函数块中的开关语句

检查身份证mathworks.hism.himl_0007

描述

该检查识别了嵌入式MATLAB代码中没有适当条件的开关/case/ else语句。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
Switch语句没有任何其他条件。 确保switch语句有一个其他条件。
否则,语句为空,没有注释。 确保else语句至少有一个有意义的注释。
Switch语句只有一个case语句。 确保switch语句至少有两个case语句。

能力和限制

  • 这个检查排除了一个情况下带有两个或多个元素的单元格数组的语句。

  • 该检查只分析Simulink模型直接引用的函数。金宝app

  • 在库模型上运行。

  • 您可以使用输入参数将检查配置为在引用的MATLAB文件上运行检查模型中引用的.m文件在配置编辑器中。缺省情况下,该参数被选中。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查MATLAB函数块中关系运算符的使用情况

检查身份证mathworks.hism.himl_0008

描述

该检查检查模型中的所有MATLAB函数、局部函数和引用的MATLAB文件中的关系运算符语句,这些语句对不同数据类型的操作数进行操作。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
函数块中的关系操作符对不同数据类型的操作数进行操作。 将操作数类型转换为相同的数据类型。

能力和限制

  • 该检查只分析Simulink模型直接引用的函数。金宝app

  • 不能在库模型上运行。

  • 您可以使用输入参数将检查配置为在引用的MATLAB文件上运行检查模型中引用的.m文件在配置编辑器中。缺省情况下,该参数被选中。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查MATLAB函数块中逻辑运算符和函数的使用情况

检查身份证mathworks.hism.himl_0010

描述

该检查标识了操作数的逻辑操作符和函数,操作数的数据类型为数值MATLAB函数块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
用于具有数值数据类型的操作数的逻辑运算符或函数。 将操作数类型转换为逻辑数据类型。

能力和限制

  • 该检查只分析Simulink模型直接引用的函数。金宝app

  • 不能在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 您可以使用输入参数将检查配置为在引用的MATLAB文件上运行检查模型中引用的.m文件在配置编辑器中。缺省情况下,该参数被选中。

  • 允许排除块和图表。

另请参阅

检查状态流程图的状态机类型

检查身份证mathworks.hism.hisf_0001

识别状态机类型与“模型顾问配置编辑器”中设置的类型不同的状态流程图。

描述

将所有状态流程图的状态机类型与您在输入参数中指定的类型进行比较。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

输入参数

经典

检查所有图表是否为经典图表。

粉状的

检查所有图表是否为Mealy图表。

摩尔

检查所有图表是否为摩尔图。

结果和建议措施

条件 建议的行动
输入参数设置为经典模型中的图表使用其他状态机类型。 对于每个图表,在“图表属性”对话框中指定状态机类型经典
输入参数设置为摩尔模型中的图表使用其他状态机类型。 对于每个图表,在“图表属性”对话框中指定状态机类型摩尔
输入参数设置为粉状的模型中的图表使用其他状态机类型。 对于每个图表,在“图表属性”对话框中指定状态机类型粉状的

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查Stateflow用于状态和转换排序的图表

检查身份证mathworks.hism.hisf_0002

识别状态流图用户指定的状态/转换执行顺序清除。

描述

识别状态流图用户指定的状态/转换执行顺序清除,因此不使用并行状态和转换的显式排序。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
状态流程图有用户指定的状态/转换执行顺序清除。

对于指定的图表,在“图表属性”对话框中,选择用户指定的状态/转换执行顺序

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

行动的结果

点击修改选择用户指定的状态/转换执行顺序用于指定的图表。

另请参阅

检查递归的使用情况

检查身份证mathworks.hism.hisf_0004

描述

标识递归行为的使用。

请注意

已知无向事件会在生成的代码中导致递归。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
递归涉及一个或多个实体。 重构实体以删除递归。

能力和限制

  • 此检查只能从模型的根级别运行。

  • 在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查Stateflow调试选项

检查身份证mathworks.hism.hisf_0011

检查Stateflow调试设置。

描述

验证以下调试设置。

  • 换行溢出

  • 模拟距离检查

  • 检测周期

  • 不指定

  • Overspecification

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动

下列任何一项:

  • 换行溢出未设置为错误

  • 模拟距离检查未设置为错误

  • 检测周期清除。

在“配置参数”对话框中设置:

  • 换行溢出错误,或设置该参数IntegerOverflowMsg错误

  • 模拟距离检查

    错误,或设置该参数SignalRangeChecking错误

在模型窗口中,选择:

  • 调试>诊断>检测周期性行为

能力和限制

  • 允许排除块和图表。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

行动的结果

点击修改选择指定的调试选项。

另请参阅

检查状态流图,查找跨越并行状态边界的转换路径

检查身份证mathworks.hism.hisf_0013

在状态流程图中识别跨越并行状态边界的转换路径。

描述

在状态流程图中识别跨越并行状态边界的转换路径。此检查标识状态流程图中跨越并行状态边界的转换路径。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
状态流图具有跨越并行状态边界的转换路径。 修改状态流图,使转换不会跨越并行状态边界。欲了解更多信息,运行模式转换(Stateflow)

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查是否使用了不恰当的转换路径

检查身份证mathworks.hism.hisf_0014

描述

该检查检查状态内连接的使用情况,并识别进入和离开状态的路径上的连接。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
模型中的一个或多个转换路径遍历一个状态,而不会在子状态上结束。 重新构造连接以避免进入和离开状态而不终止于子状态的转换路径。

能力和限制

  • 在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

另请参阅

检查状态流程图是否有强数据类型

检查身份证mathworks.hism.hisf_0015

在statflow对象中使用不同数据类型识别表达式中的变量和参数。

描述

为了方便强数据类型,该检查在statflow状态和转换中标识具有不同数据类型的表达式中的变量和参数。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
Stateflow对象在表达式中具有不同数据类型的变量和参数。

显式地将表达式中的变量和参数转换为相同的数据类型。欲了解更多信息,

能力和限制

  • 不能在库模型上运行。

  • 允许排除块和图表。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 不分析状态流对象中的表达式中的文字类型。显式地将文字类型转换为预期的数据类型。

  • 不标记具有true和false关键字的表达式。有关更多信息,请参见为代码生成保留关键字(嵌入式编码)

  • 用C编写并嵌入到statflow中的外部函数将不能使用此检查。

另请参阅

检查状态流程图中的端口名称

检查身份证mathworks.hism.hisf_0016

描述

该检查可以识别状态流端口名称和相关信号之间的不匹配。可重用的Stateflow块可以有不同的端口名称。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
状态流图的输入和输出端口名称与连接的信号名称不相同。 请确保状态流图的输入、输出端口名称与所连接的信号名称相同。

能力和限制

  • 此检查不分析状态流真值表或状态流状态转换表的端口名称。

  • 此检查将可重用的状态流图视为库链接的图,并且不进行标记。

  • 该检查不会标记没有名称的信号。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查状态流数据对象的作用域

检查身份证mathworks.hism.hisf_0017

描述

此检查标识具有本地作用域的statflow数据对象,这些对象的作用域不在图表级别或更低级别。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
一个或多个具有本地作用域的statflow数据对象没有在图表级别或更低级别定义。 确保在图表级别或更低级别定义具有本地作用域的所有statflow数据对象。

能力和限制

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

  • 不分析被屏蔽子系统中的内容。

  • 允许排除块和图表。

另请参阅

检查状态流程图中的分配操作

检查身份证mathworks.hism.hisf_0065

识别状态流对象中的赋值操作。

描述

此检查标识statflow对象中的赋值操作,这些操作将隐式地将整数和定点算术计算转换为比输入数据类型更广泛的数据类型。

该检查只识别带有算术运算的赋值。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
statflow对象由赋值操作组成,这些操作将整数和定点计算转换为比输入数据类型更广泛的数据类型。 显式地将statflow对象中的赋值操作符(=)替换为:=操作符。

能力和限制

  • 不能在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 用C编写并嵌入到statflow中的外部函数将不能使用此检查。

另请参阅

检查状态流程图中的一元操作符

检查身份证mathworks.hism.hisf_0211

在状态流程图中识别一元操作符。

描述

此检查标识状态流程图中无符号数据类型上的一元减号操作符。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
状态流图由无符号数据类型上的一元减号运算符组成。 显式修改无符号数据类型上的一元运算符。有关更多信息,请参见一元操作和动作(Stateflow)

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 除了Shift和除法操作外,该检查不会标记带有位运算符和算术运算符的表达式。

另请参阅

检查Abs块的使用情况

检查身份证mathworks.hism.hisl_0001

识别用途数学操作可能影响安全的障碍物。

描述

此检查检查Abs块的使用情况。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

模型或子系统包含绝对值正在对下列之一进行操作的块:

  • 布尔或无符号输入数据类型。此条件导致无法通过模型到达模拟路径,并可能导致无法到达代码

  • 对象的有符号整数值饱和整数溢出未选中复选框。对于有符号的数据类型,最负值的绝对值是有问题的,因为它不能由数据类型表示。此条件将导致生成的代码溢出。

如果被识别绝对值Block操作的是布尔或unsigned数据类型,请执行以下操作之一:

  • 的输入绝对值块转换为带符号的输入类型。

  • 删除绝对值块从模型。

如果被识别绝对值块正在对有符号数据类型进行操作>信号属性对话框,选择饱和整数溢出

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。

  • 分析所有被屏蔽子系统中的内容。

  • 允许排除块和图表。

另请参阅

检查余数和倒数运算的用法

检查身份证mathworks.sldv.hism.hisl_0002

描述

确定导致非有限结果的余数和倒数运算的用法。

可以使用金宝app仿真软件检查.这张支票需要金宝appSimulink设计验证器™(SLDV)许可证。

注意:该检查将对模型执行SLDV分析。

结果和建议措施

条件 建议的行动
在模拟过程中,模型中的余数和倒数操作的输入可以等于零。 确保余数和倒数操作的输入不小于或等于零。

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查log和log10操作的使用情况

检查身份证mathworks.sldv.hism.hisl_0004

描述

标识模型中可能导致非有限结果的log和log10操作。

可以使用金宝app仿真软件检查.这张支票需要金宝appSimulink设计验证器(SLDV)许可证。

注意:该检查将对模型执行SLDV分析。

结果和建议措施

条件 建议的行动
自然对数/以10为底对数(日志而且Log10)在模拟过程中,模型中的操作的输入可以小于或等于零。 确保输入日志而且日志10模型中的操作不小于或等于零。

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查While Iterator块的使用情况

检查身份证mathworks.hism.hisl_0006

描述

此检查检查的使用而迭代器块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含而迭代器具有无限迭代的块。这种情况会导致生成的代码出现无限循环。

对于被识别的人而迭代器块:

  • 设置最大迭代次数(-1表示无限)参数设置为正整数值。

  • 考虑选择显示迭代数端口复选框,在模拟过程中观察迭代值。

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查For和While迭代器子系统的使用情况

检查身份证mathworks.hism.hisl_0007

描述

对象中依赖时间的块的使用情况对迭代器而迭代器子系统。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

的模型或子系统中包含下列与时间相关的块之一对迭代器而迭代器子系统:

  • 离散状态空间

  • 离散时间积分器

  • 离散FIR滤波器

  • 离散滤波器

  • 离散传输Fcn

  • 离散Zero-Pole

  • 转移Fcn一级

  • 转移Fnc实零

  • 转移Fcn领先或滞后

  • 具有初始输出的离散传递函数

  • 具有初始状态的离散传递函数

  • 具有初始输出的离散零极

  • 具有初始状态的离散零极

  • 离散微分

在模型或子系统中,考虑删除与时间相关的块。

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查For Iterator块的使用情况

检查身份证mathworks.hism.hisl_0008

描述

此检查检查的使用对迭代器块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含对迭代器具有变量迭代的块。这种情况可能导致不可预测的执行时间或生成的代码中的无限循环。

对于被识别的人对迭代器积木,做以下其中一项:

  • 设置迭代极限源参数内部

  • 如果迭代极限源参数必须为外部,使用常数探针,或宽度块作为源。

  • 接下来清除SetI(迭代变量)外部复选框。

  • 考虑选择显示迭代变量复选框,在模拟过程中观察迭代值。

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查If块和If动作子系统块的使用情况

检查身份证mathworks.hism.hisl_0010

描述

此检查检查的使用如果块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含如果block使用没有Else条件的Elseif表达式。 如果block块参数对话框,选中显示其他条件.将结果Else输出端口连接到If动作子系统块。
模型或子系统包含如果带有未连接的输出端口的块If动作子系统块。 的输出端口如果块连接到If动作子系统块。

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查开关案例块和开关案例动作子系统块的使用情况

检查身份证mathworks.hism.hisl_0011

描述

此检查检查的使用开关情况

检查标志开关情况不使用整数数据类型或枚举值作为输入的块。遵守hisl_0011: Switch Case块和Action子系统块的使用情况- C,使用整数数据类型或枚举值的输入开关情况块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含开关情况不使用默认大小写。 开关情况block块参数对话框,选中显示默认情况.将生成的默认输出端口连接到开关案例动作子系统块。
模型或子系统包含开关情况块,其输出端口不连接到开关案例动作子系统块。 的输出端口开关情况块连接到开关案例动作子系统块。
模型或子系统包含开关情况块,使用非整数或非enum输入端口数据类型。 确保Switch Case块的输入数据类型为整数或enum。

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查有条件执行的子系统的使用情况

检查身份证mathworks.hism.hisl_0012

描述

该检查在有条件执行的子系统和异步执行的依赖于采样时间的块中识别具有不正确采样时间的块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

块的采样时间未设置为-1在一个有条件执行的子系统中:

  • 如果行动

  • 交换机案例处理

  • 函数调用

  • 触发

  • 启用

将块的采样时间更改为-1

该模型包含异步执行的样本时间依赖块:

  • 离散状态空间

  • 离散时间积分器

  • 离散FIR滤波器

  • 离散滤波器

  • 离散传输Fcn

  • 离散Zero-Pole

  • 转移Fcn一级

  • 转移Fnc实零

  • 转移Fcn领先或滞后

  • 具有初始输出的离散传递函数

  • 具有初始状态的离散传递函数

  • 具有初始输出的离散零极

  • 具有初始状态的离散零极

  • 离散微分

重构以删除依赖于采样时间的块。

能力和限制

  • 异步执行的依赖于采样时间的块仅在以下情况下才被标记触发而且函数调用存在块。

  • 不能在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

另请参阅

检查数据存储内存的安全相关诊断设置

检查身份证mathworks.hism.hisl_0013

检查模型配置,以获得适用于数据存储内存并可能影响安全性的诊断设置。

描述

此检查验证与数据存储内存相关的模型诊断配置参数是否设置为为与安全相关的应用程序生成代码的最佳状态。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
用于检测模型是否试图从未在当前时间步中存储数据的数据存储中读取数据的诊断值设置为启用所有错误.在写入数据之前读取数据可能会导致使用陈旧数据或未初始化的数据。 先读后写2 .在“配置参数”对话框中进行设置ReadBeforeWriteMsg启用所有错误
之前在当前时间步骤中从数据存储中读取数据之后,检测模型是否试图将数据存储在数据存储中的诊断值设置为启用所有错误.在读取数据后写入数据可能会导致使用陈旧或不正确的数据。 读后检测写2 .在“配置参数”对话框中进行设置WriteAfterReadMsg启用所有错误
检测模型是否在当前时间步内连续两次尝试在数据存储中存储数据的诊断值设置为启用所有错误.在一个时间步骤中写入两次数据可能会导致不可预测的数据。 在写入之后检测写入2 .在“配置参数”对话框中进行设置WriteAfterWriteMsg启用所有错误
对象中读取数据时进行检测的诊断数据存储内存另一个任务写入数据的块没有一个警告.在多任务模式下,在不同的任务中读写数据可能会导致数据损坏或不可预测。 多任务数据存储2 .在“配置参数”对话框中进行设置MultiTaskDSMMsg错误
诊断检测参数数据存储名称重复未设置为错误 数据存储名称重复2 .在“配置参数”对话框中进行设置UniqueDataStoreMsg错误

行动的结果

点击修改设置配置适用于数据存储内存且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查合并块的使用情况

检查身份证mathworks.hism.hisl_0015

描述

此检查确定合并不直接连接到有条件执行的子系统并且具有允许不相等的端口宽度参数设置为开启。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
合并块不直接连接到有条件执行的子系统。 重构以便Merge块直接连接到有条件执行的子系统。
Merge块参数允许不相等的端口宽度设置为 设置Merge块参数允许不相等的端口宽度
在有条件执行的子系统中,多个子系统在一个时间步骤中执行。 指定有条件执行的子系统的执行,这样在一个时间步骤中只有一个子系统执行。
外港块参数禁用时输出未设置为举行对于模型中任何有条件执行的子系统。 设置外港块参数禁用时输出举行对于合并的每个有条件执行的子系统。

能力和限制

  • 该检查不会检查有条件执行的子系统的执行顺序。

  • 不能在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

另请参阅

检查浮点信号上的关系比较

检查身份证mathworks.hism.hisl_0016

描述

标识对浮点信号执行相等或不相等比较的关系块或操作。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型中使用的一个或多个关系操作对浮点信号执行相等或不相等比较。

对于已识别的块和表达式,执行以下操作之一:

  • 更改信号数据类型。

  • 改造以消除使用= =~ =浮点信号上的运算符。

再加一块如果模型中使用的块具有如果表达式或Elseif在生成的代码中可能导致浮点相等或不相等比较的表达式。 修改表达式以避免在生成的代码中进行浮点相等和不相等比较。

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查关系操作符块的使用情况

检查身份证mathworks.hism.hisl_0017

描述

此检查检查计算关系操作符的块的使用情况,包括关系操作符与常量比较与零比较而且,检测变化块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含一个块,该块计算对不同数据类型进行操作的关系运算符。在生成的代码中,这种情况可能导致不可预知的结果。 对于标识的块,使用公共数据类型作为输入。你可以使用数据类型转换块来更改输入数据类型。
模型或子系统包含一个计算关系运算符的块,该关系运算符没有布尔输出。在生成的代码中,这种情况可能导致不可预知的结果。 对于指定块,在块的参数>信号的属性窗格中,设置输出数据类型布尔

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查Logical Operator块的使用情况

检查身份证mathworks.hism.hisl_0018

识别用途逻辑运算符可能影响安全的障碍物。

描述

此检查检查的使用逻辑运算符块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含逻辑运算符块,其输入或输出不是布尔输入或输出。在生成的代码中,块可能导致浮点相等或不相等比较。
  • 修改逻辑运算符块,这样所有的输入和输出都是布尔值。在块的参数>信号的属性窗格,请考虑选择要求所有输入具有相同的数据类型和设置输出数据类型布尔

  • 在“配置参数”对话框中,考虑选择实现逻辑信号为布尔数据(vs. double)

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查位操作块的使用情况

检查身份证mathworks.hism.hisl_0019

标识带有符号数据类型的位操作块作为输入

描述

该检查标识输入和输出数据类型的按位操作的使用。检查还查看其他位操作块,如下所示:

  • 一些明确的

  • 位设置

  • 一些转变

  • 按位运算符

  • 提取部分

  • 移位运算

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
位操作不用于有符号的数据类型。 按位操作使用有符号的数据类型。

能力和限制

  • 允许排除块和图表。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

另请参阅

检查不推荐用于C/ c++产品代码部署的块

检查身份证mathworks.hism.hisl_0020

识别代码生成不支持或不推荐用于C/ c+金宝app+产品代码部署的块。

描述

这种检查部分地识别了不推荐用于C/ c++产品代码生成的模型构造。为金宝app仿真软件编码器™和嵌入式编码器®时,这些模型构造身份出现在表中金宝appSimulink块支持金宝app(金宝app仿真软件编码器)。。

在某些情况下,该检查标记代码生成支持的块。金宝app对于这些块,您应该查看支持说明中提供的脚注信息,并遵循Model Advisor提供的建议操作。金宝app

备有金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含不应该用于生产代码部署的块。 考虑替换结果中列出的块。单击可疑项列表中的元素以定位条件。
模型或子系统包含支持但不推荐用于生产代码生成的块。金宝app 检查支持说明,并遵循M金宝appodel Advisor提供的建议操作。

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。

  • 分析屏蔽子系统中的内容。

  • 允许排除块和图表。

另请参阅

检查不一致的矢量索引方法

检查身份证mathworks.hism.hisl_0021

用不一致的索引方法识别块。

描述

使用不一致的块索引方法可能导致建模错误。您应该对所有块使用一致的矢量索引方法。索引方法是基于零、基于一或用户指定的。

支持可配置索引的块:金宝app

只支持基于一个索引的块:金宝app

只支持从零开始索引的块:金宝app

  • C动作语言的状态流程图

  • 真值表函数用C动作语言编写

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含索引方法不一致的块。索引方法是基于零、基于一或用户指定的。 修改模型以使用单一一致的索引方法。

能力和限制

  • 在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查带有索引信号的块的数据类型

检查身份证mathworks.hism.hisl_0022

描述

该检查标识具有索引信号的数据类型不是整数或enum并且在索引值范围内的块。

可以使用金宝app仿真软件检查

检查参数化

您可以使用Model Advisor配置编辑器来配置此检查,以包含带有.m分析中的扩展。要启用此功能,请使用输入参数部分中,选择检查模型中引用的外部.m文件

结果和建议措施

条件 建议的行动
模型中的一个或多个Sim金宝appulink块具有除整数或enum以外的数据类型的索引信号。 将块索引信号的数据类型更改为覆盖索引值范围的整数或enum数据类型。
一个或多个MATLAB函数块具有数据类型不适当的索引变量。 将索引变量的数据类型更改为涵盖索引值范围的整数或enum数据类型。
模型中的一个或多个状态流程图具有除整数或enum以外的数据类型的索引变量。 将块的索引信号的数据类型更改为覆盖索引值范围的整数或enum数据类型。

能力和限制

  • 此检查不支持对话集索引。金宝app

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为图形化的

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查变量块的使用情况

检查身份证mathworks.hism.hisl_0023

检查变量块参数的设置,这些设置可能导致代码无法跟踪到需求。

描述

该检查验证代码生成的变量块参数是否被设置为跟踪需求。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
在模型中的一个或多个变量块中选择生成预处理器条件的选项。 为了简化对需求的代码跟踪,可以考虑清除在变量块中生成预处理器条件的选项。

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。

  • 分析屏蔽子系统中的内容。

  • 不允许排除块或图表。

另请参阅

检查缺少属性的根导入

检查身份证mathworks.hism.hisl_0024

识别根模型轮廓尺寸缺少或继承采样时间、数据类型或端口维度的块。

描述

使用根模型轮廓尺寸没有定义采样时间、数据类型或端口尺寸的块可能导致不期望的模拟结果。金宝appSimulink从下游块反向传播维度、采样时间和数据类型,除非您显式地指定这些值。你可以指定轮廓尺寸带有块参数的块属性或显式解析为所连接信号线的Simulink信号对象。金宝app当您运行检查时,一个结果表将提供到未通过的import块和信号对象的链接,以及触发警告的条件。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

缺少端口尺寸-模型包含继承端口尺寸的导入块。

对于列出的import块和Simulink信号对象,指定端口尺寸。金宝app

缺失信号数据类型—Model包含继承数据类型的导入块。

对于列出的import块和Simulink信号对象,指定数据类型。金宝app

漏口取样时间- Model包含继承采样时间的导入块。

对于列出的import块和Simulink信号对象,指定采样时间。金宝app具有总线类型的根导入的采样时间必须与总线对象的叶元素指定的采样时间匹配。

对Simulink信号对象的隐式解析金宝app- Model包含导入块信号名称,隐式解析到基本工作空间、模型工作空间或Simulink数据字典中的Simulink信号对象。金宝app

对于列出的Simulink信号金宝app对象,在属性对话框中,选择信号属性信号名称必须解析为Simulink信号对象金宝app.要以编程方式设置此选项,请使用port参数MustResolveToSignalObject

能力和限制

  • 不能在库模型上运行。

  • 允许排除块和图表。

提示

通过检查的配置如下:

  • > Solver >周期采样时间约束设置为确保采样时间独立

  • 对于输出函数模型,继承采样时间没有标记。

另请参阅

检查缺少范围定义的根导入

检查身份证mathworks.hism.hisl_0025

识别缺少或错误的最小或最大范围值的根级导入块。

描述

该检查识别丢失或错误的最小或最大范围值的根级导入块。您可以使用块参数或Simulink信号对象指定导入块最小值和最大值,这些块参数或Simulink信号对象显式地解析到所连接的信号线。金宝app结果表提供了到未通过检查的import块和信号对象的链接,以及触发警告的条件。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

失踪的范围- Model包含具有缺少范围参数(最小和/或最大)的数值数据类型的导入块。

对于列出的import块和Simulink信号对象,指定标量最小和金宝app最大参数。

总线对象缺少范围-定义import块的总线对象具有缺少范围的总线元素。

对于列出的总线元素,要指定模型接口范围,请提供标量最小和最大参数。

指定的范围将被忽略-总线数据类型不支持Inports或Simulink信号对象中的最小或最大值。金宝app金宝app这些值在范围检查时被忽略。

若要启用范围检查,请在定义数据类型的总线对象的总线元素上指定最小和最大信号值。

未指定数据类型- Model包含继承数据类型的import块或Simulink信号金宝app对象。

指定一种支持的数据类型:金宝app

对Simulink信号对象的隐式解析金宝app- Model包含导入块信号名称,隐式解析到基本工作空间、模型工作空间或Simulink数据字典中的Simulink信号对象。金宝app

对于列出的Simulink信号金宝app对象,在属性对话框中,选择信号属性信号名称必须解析为Simulink信号对象金宝app.要以编程方式设置此选项,请使用port参数MustResolveToSignalObject

能力和限制

  • 不能在库模型上运行。

  • 允许排除块和图表。

另请参阅

检查缺少范围定义的根Outports

检查身份证mathworks.hism.hisl_0026

识别丢失或错误的最小或最大范围值的根级输出端口块。

描述

该检查识别丢失或错误的最小或最大范围值的根级Outport块。您可以使用块参数或Simulink信号对象指定出端口块最小值和最大值,这些块参数或Simulink信号对象显式地解析为连接的信号线。金宝app结果表提供了到未通过检查的Outport块的链接,以及触发警告的条件。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

失踪的范围- Model包含具有缺少范围参数(最小和/或最大)的数值数据类型的Outport块。

对于列出的Outport块和Simulink信号对象,指定标量最小和金宝app最大参数。

总线对象缺少范围-定义Outport块的总线对象具有缺少范围的叶元素。

对于列出的叶元素,要指定模型接口范围,请提供标量最小值和最大值参数。

在Outport指定的范围将被忽略总线数据类型不支持Outports或Simulink信号对象的最小值或最大值。金宝app金宝app这些值在范围检查时被忽略。

若要启用范围检查,请在定义数据类型的总线对象的叶元素上指定最小和最大信号值。

未指定总线数据类型- Model包含继承总线数据类型的Outport块或Simulin金宝appk信号对象。

对于Outport块和Simulink信号对象,指定一金宝app种支持的数据类型:金宝app

对Simulink信号对象的隐式解析金宝app- Model包含输出端口块信号名称,隐式解析到基本工作空间、模型工作空间或Simulink数据字典中的Simulink信号对象。金宝app

对于列出的Simulink信号金宝app对象,在属性对话框中,选择信号属性信号名称必须解析为Simulink信号对象金宝app.要以编程方式设置此选项,请使用port参数MustResolveToSignalObject

能力和限制

  • 当未设置最小最大值时,该检查不会标记数据类型为Enum或Boolean的端口。

  • 不能在库模型上运行。

  • 允许排除块和图表。

另请参阅

检查分配块的使用情况

检查身份证mathworks.hism.hisl_0029

识别用途数学操作可能影响安全的障碍物。

描述

该检查检查分配块的使用情况。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统可能包含的赋值数组初始化不完整的块(不在迭代器子系统),没有块参数如果没有分配任何输出元素,则执行该操作设置为错误警告

设置块参数如果没有分配任何输出元素,则执行该操作到其中一个推荐值:

  • 错误

  • 警告

模型或子系统可能包含的赋值块的迭代器子系统与参数如果没有分配任何输出元素,则执行该操作未设置为错误 设置块参数如果没有分配任何输出元素,则执行该操作错误

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。

  • 分析所有被屏蔽子系统中的内容。

  • 允许排除块和图表。

另请参阅

检查模型文件名

检查身份证mathworks.hism.hisl_0031

描述

该检查检查模型文件名,以确保名称符合推荐的指导方针。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
文件名包含非法字符。 重命名文件。允许输入字符:a-z、a-z、0-9、下划线。
文件名以数字开头。 确保文件名不以数字开头。
文件名以下划线“_”开头。 确保文件名不以下划线(“_”)开头。
文件名以下划线(“_”)结尾。 确保文件名不以下划线(“_”)结尾。
文件扩展名包含一个或多个下划线。 修改文件扩展名。
文件名中包含连续的下划线。 重命名文件以消除末尾下划线。
文件名包含多个点(".")。 确保文件名中不超过一个点(".")。
文件名为C/ c++或MATLAB关键字或内置函数 重命名文件。

能力和限制

  • 在库模型上运行。

另请参阅

检查模型对象名称

检查身份证mathworks.hism.hisl_0032

检查模型对象名称。

描述

该检查验证以下模型对象名称是否符合您自己的建模准则或高完整性建模准则。该检查还验证模型对象是否使用保留名称。

  • 信号

  • 参数

  • 公共汽车

  • Stateflow对象

保留的名字:

  • MATLAB的关键词

  • C、c++和代码生成的保留关键字。有关完整列表,请参见保留关键字(金宝app仿真软件编码器)

  • int8uint8

  • int16uint16

  • int32uint32

  • 每股收益

  • intminintmax

  • 最小正浮点数最大浮点数

  • π

请注意

在某些情况下,Model Advisor会在该检查的多个子检查中报告问题。

可以使用金宝app仿真软件检查

输入参数

要指定检查标记的命名标准和模型对象名称,请使用model Advisor Configuration Editor。

  1. 打开模型配置编辑器并导航到检查模型对象名称.在输入参数窗格中,对于每个模型对象,选择以下之一:

    • 马伯使用MAB命名标准。当你选择马伯时,检查使用正则表达式(^。{32岁}$)| ([^ a-zA-Z_0-9]) | (^ \ d )|(^ )|(__)|(^_)|(_$)要验证这些名称:

      • 使用这些字符:无所不包的无所不包的0 - 9,下划线(_)

      • 不要以数字开头。

      • 不要在字符串的开头或结尾使用下划线。

      • 不要使用多个连续下划线。

      • 使用小于32个字符的字符串。

    • 自定义使用您自己的命名标准。当你选择自定义,您可以输入您自己的禁止的正则表达式<模型对象>的名字.例如,如果要允许多个连续下划线,请输入(^。{32岁}$)| ([^ a-zA-Z_0-9]) | (^ \ d )|(^ )|(^_)|(_$)

    • 没有一个如果您不希望检查来验证模型对象名称

  2. 点击应用

  3. 保存配置。当您使用此配置运行检查时,检查将使用您指定的输入参数。

结果和建议措施

条件 建议的行动
模型对象名称不符合输入参数中指定的命名标准。 更新模型对象名称以符合您自己的指导方针或高完整性指导方针。

能力和限制

  • 不能在库模型上运行。

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

  • 不分析所有被屏蔽子系统中的内容。

  • 允许排除块和图表。

另请参阅

检查查找表块的使用情况

检查身份证mathworks.hism.hisl_0033

检查查找表块是否生成超出范围的检查代码。

描述

该检查验证以下块是否生成代码以防止超出有效断点值范围的输入:

这个检查也验证了这一点使用预查找的插值块生成代码以防止超出有效索引值范围的输入。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

查找表块不会生成超出范围的检查代码。

更改块对话框上的设置,以便生成超出范围的检查代码。

  • 一维查找表二维查找表n-D查找表,Prelookup块时,清除的复选框在生成的代码中删除对超出范围输入的保护

  • 使用预查找的插值块,清除为的复选框在生成的代码中删除对超出范围索引的保护

能力和限制

  • 在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

行动的结果

点击修改验证查询表块是否设置为生成超出范围的检查代码。

另请参阅

检查信号路由块的使用情况

检查身份证mathworks.hism.hisl_0034

识别用途信号路由可能影响安全的障碍物。

描述

该检查确定模型或子系统开关在包含浮点变量或常量的表达式中,可能生成带有不等式操作(~=)的代码的块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型或子系统包含开关块,它可能在表达式中生成带有不等式操作(~=)的代码,其中表达式的至少一侧包含浮点变量或常量。的开关Block可能会在生成的代码中导致浮点不平等比较。

对于已识别的块,执行以下操作之一:

  • 对于控件输入块,更改数据类型参数设置。

  • 改变开关通过第一个输入的标准参数设置。这可能会改变算法。

能力和限制

  • 不能在库模型上运行。

  • 分析库链接块的内容。

  • 分析所有被屏蔽子系统中的内容。

  • 允许排除块和图表。

另请参阅

检查安全相关的诊断设置,以便保存

检查身份证mathworks.hism.hisl_0036

检查模型配置,以获得适用于保存模型文件的诊断设置

描述

该检查验证模型配置参数是否为为与安全相关的应用程序保存模型而进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
在保存模型之前检测模型是否包含禁用库链接的诊断设置为没有一个警告.如果未检测到这种情况,则可能生成错误的代码。 框图包含禁用的库链接在“配置参数”对话框中或设置参数SaveWithDisabledLinkMsg错误
在保存模型之前检测模型是否包含使用不在掩码中的参数的库链接的诊断设置为没有一个警告.如果未检测到这种情况,则可能生成错误的代码。 框图包含参数化的库链接在“配置参数”对话框中或设置参数SaveWithParameterizedLinksMsg错误

行动的结果

点击修改设置配置适用于保存模型文件的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与安全相关的模型引用设置

检查身份证mathworks.hism.hisl_0037

检查模型配置,查看可能影响安全性的模型引用设置。

描述

此检查验证用于模型引用的模型配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
所引用的模型被配置为每当您更新、模拟或为模型生成代码时,或者当Simulink软件检测到已知依赖项中的更改时,都会重新构建它的目标。金宝app这些配置设置可能导致不必要的代码再生,导致在使用模型引用时只更改文件的日期并减慢构建过程。 重建模型参考窗格,或自行设置参数UpdateModelReferenceTargets从来没有如果检测到任何变化
检测是否需要重建目标的诊断设置为没有一个如果目标需要重建,发出警告.对于与安全相关的应用程序,错误应该提醒模型开发人员父模型和引用模型不一致。此诊断参数仅当重建设置为从来没有 设置配置参数永远不要重新构建诊断模型参考窗格,或自行设置参数CheckModelReferenceTargetMessage错误
关闭按值传递标量根输入的功能。应该关闭此功能,因为标量值可能在时间步长期间发生变化并导致不可预知的数据。该参数仅当配置参数config每个顶级模型允许的实例总数设置为一个多个ModelReferenceNumInstancesAllowed). 按值传递固定大小的标量根输入用于代码生成模型参考窗格,或自行设置参数ModelReferencePassRootInputsByReference
该模型被配置为最小化代数循环的出现。的推荐设置与此配置不兼容单输出/更新功能用于嵌入式系统代码。 2 .在“配置参数”对话框中设置尽量减少代数循环的出现或设置参数ModelReferenceMinAlgLoopOccurrences

行动的结果

点击修改设置配置模型引用可能影响安全性的设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与安全相关的代码生成设置以获取注释

检查身份证mathworks.hism.hisl_0038

检查模型配置中可能影响安全的代码生成设置。

描述

此检查验证用于代码生成的模型配置参数是否为与安全相关的应用程序进行了最优设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
清除在生成的代码中包含注释的选项。注释提供了代码和模型之间良好的可追溯性。 选择包括评论(金宝app仿真软件编码器)代码生成>评论窗格,或自行设置参数GenerateComments
清除包含描述块代码的注释的选项。注释提供了代码和模型之间良好的可追溯性。 选择金宝appSimulink块注释(金宝app仿真软件编码器)代码生成>评论窗格,或自行设置参数金宝appSimulinkBlockComments
清除包含描述从模型中消除的块的代码的注释的选项。注释提供了代码和模型之间良好的可追溯性。 选择显示已消除的方块(金宝app仿真软件编码器)代码生成>评论窗格,或自行设置参数ShowEliminatedStatement
中将参数变量和源块的名称作为注释包含在模型参数结构声明中的选项模型_prm.h清除。注释提供了代码和模型之间良好的可追溯性。 选择“Model default”存储类的详细注释(金宝app仿真软件编码器)代码生成>评论窗格,或自行设置参数ForceParamTrailComments
清除作为注释包括分配给Simulink块的需求描述的选项。金宝app注释提供了代码和模型之间良好的可追溯性。 选择块注释中的需求(嵌入式编码)代码生成>自定义注释窗格,或自行设置参数ReqsInCode

行动的结果

点击修改设置配置可以影响安全性的模型代码生成设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与安全相关的代码生成接口设置

检查身份证mathworks.hism.hisl_0039

检查模型配置中可能影响安全的代码生成设置。

描述

此检查验证用于代码生成的模型配置参数是否为与安全相关的应用程序进行了最优设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
选择生成非有限数据和操作的选项。金宝app对于实时嵌入式系统,对非有限数的支持是不合适的。 清晰的金宝app支持:非有限数(金宝app仿真软件编码器)代码生成>接口窗格,或自行设置参数金宝appSupportNonFinite
选择为绝对时间和经过时间生成和维护整数计数器的选项。金宝app对绝对时间的支持不适用于与实时安全相关的系统。 清晰的金宝app支持:绝对时间(嵌入式编码)代码生成>接口窗格,或自行设置参数金宝appSupportAbsoluteTime
选中为使用连续时间的块生成代码的选项。金宝app对连续时间的支持不适用于实时安全相关系统。 清晰的金宝app支持:连续时间(嵌入式编码)代码生成>接口窗格,或自行设置参数金宝appSupportContinuousTime
选择为非内联s函数生成代码的选项。该选项要求支持非有限数,这对于实时安全相关金宝app的系统是不合适的。 清晰的金宝app支持:非内联s函数(嵌入式编码)2 .在“配置参数”对话框中进行设置金宝appSupportNonInlinedSFcns
生成与pre-R2012a GRT目标的主程序模块兼容的模型函数调用的选项被选中。此选项不适用于与实时安全相关的系统。 清晰的经典调用接口(金宝app仿真软件编码器)代码生成>接口窗格,或自行设置参数GRTInterface
属性的选项模型_update函数被清除。对输出和更新函数的单个调用简化了到实时操作系统(RTOS)的接口,并简化了对生成代码的验证。 选择单输出/更新功能(金宝app仿真软件编码器)代码生成>接口窗格,或自行设置参数CombineOutputUpdateFcns
属性的选项模型_terminate选中“功能”。该功能释放了动态内存,不适用于实时安全相关的系统。 清晰的终止函数(嵌入式编码)代码生成窗格,或自行设置参数IncludeMdlTerminateFcn
清除记录或监视错误状态的选项。如果不选择此选项,则金宝app仿真软件编码器产品生成额外的代码,这些代码可能无法用于测试。 选择删除实时模型数据结构中的错误状态字段(嵌入式编码)代码生成>接口窗格,或自行设置参数SuppressErrorStatus
选择mat文件日志记录。该选项为将测试点记录到mat文件添加了额外的代码,嵌入式目标不支持这一点。金宝app仅在测试设备中使用此选项。 清晰的MAT-file日志(金宝app仿真软件编码器)2 .在“配置参数”对话框中进行设置MatFileLogging

行动的结果

点击修改设置配置可以影响安全性的模型代码生成设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查模拟时间的安全相关解算器设置

检查身份证mathworks.hism.hisl_0040

检查模型配置中适用于模拟时间并可能影响安全性的求解器设置。

描述

此检查验证与模拟时间相关的模型求解器配置参数是否设置为最优,以便为与安全相关的应用程序生成代码。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

用于指定模拟或生成代码的开始时间的求解器设置被设置为0.0

2 .在“配置参数”对话框中设置开始时间或者设置参数开始时间0.0

用于指定模拟或生成代码的停止时间的求解器设置被设置为大于的值的负值或正值应用程序生命周期(天).默认情况下,应用程序生命周期(天)汽车.如果不更改此设置,则为的任何正值停止时间是有效的。

2 .在“配置参数”对话框中设置停止时间或者设置参数StopTime到小于的值的正数值应用程序生命周期(天)

行动的结果

点击修改设置配置适用于求解器且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

  • 分析屏蔽子系统中的内容。

另请参阅

检查解算器选项的安全相关解算器设置

检查身份证mathworks.hism.hisl_0041

检查模型配置中适用于求解器并可能影响安全的求解器设置。

描述

此检查验证与求解器相关的模型求解器配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

用于指定要模拟模型的求解器类型的求解器设置设置为变步

2 .在“配置参数”对话框中设置类型或者设置参数SolverType固定步

用于指定在模拟或代码生成期间计算模型状态的求解器的求解器设置被设置为离散(无连续状态)

2 .在“配置参数”对话框中设置解算器离散(无连续状态)或者设置参数解算器FixedStepDiscrete

行动的结果

点击修改设置配置适用于求解器且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

  • 分析屏蔽子系统中的内容。

另请参阅

检查任务和采样时间的安全相关解算器设置

检查身份证mathworks.hism.hisl_0042

检查模型配置中应用于周期性采样时间约束并可能影响安全性的求解器设置。

描述

此检查验证模型配置参数是否被优化设置,以确保模型在与安全相关的应用程序的特定优先周期采样时间集上运行。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
配置参数自动处理数据传输的速率转换被选中。 清晰的自动处理数据传输的速率转换在“配置参数”对话框中或设置参数AutoInsertRateTranBlk

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查解算器的安全相关诊断设置

检查身份证mathworks.hism.hisl_0043

检查适用于求解器并可能影响安全性的诊断设置的模型配置。

描述

此检查验证与求解器相关的模型诊断配置参数是否设置为最优,以便为安全相关的应用程序生成代码。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
将检测代数循环自动断裂的诊断设置为没有一个警告.代数循环的破坏会影响块执行顺序的可预测性。对于与安全相关的应用程序,模型开发人员需要知道这种中断何时发生。 代数循环诊断>解算器窗格,或自行设置参数AlgebraicLoopMsg错误.考虑显式地用单位延迟块,以便执行顺序是可预测的。至少,验证循环自动中断的结果是可接受的。
代数循环自动断裂的诊断方法模型块、原子子系统和启用的子系统设置为没有一个警告.代数循环的破坏会影响块执行顺序的可预测性。对于与安全相关的应用程序,模型开发人员需要知道这种中断何时发生。 最小化代数循环诊断>解算器窗格,或自行设置参数ArtificialAlgebraicLoopMsg错误.考虑显式地用单位延迟块,以便执行顺序是可预测的。至少,验证循环自动中断的结果是可接受的。
在块执行顺序中检测潜在冲突的诊断设置为没有一个警告.对于与安全相关的应用,块的执行顺序必须是可预测的。模型开发人员需要知道何时存在冲突的块优先级。 阻塞优先级违反诊断>解算器窗格,或自行设置参数BlockPriorityViolationMsg错误
用于检测Simulink软件是否自动修改解算器、步长或模拟停止时间的诊断设置为金宝app没有一个警告.这样的更改会影响生成代码的操作。对于与安全相关的应用程序,最好检测此类更改,以便模型开发人员可以显式地将参数设置为已知值。 自动求解参数选择诊断>解算器窗格,或自行设置参数SolverPrmCheckMsg错误
用于检测某个名称是否用于模型中的多个状态的诊断设置为没有一个.模型中的状态名应该是唯一的。对于与安全相关的应用程序,最好检测名称冲突,以便模型开发人员可以修复它们。 州名冲突诊断>解算器窗格,或自行设置参数StateNameClashWarn警告

行动的结果

点击修改设置配置适用于求解器且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查取样时间的安全相关诊断设置

检查身份证mathworks.hism.hisl_0044

检查适用于采样时间并可能影响安全性的诊断设置的模型配置。

描述

该检查验证与采样时间相关的模型诊断配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
用于检测源阻塞时的诊断正弦波块,则继承一个采样时间(指定为-1)设置为没有一个警告.对源块使用继承的采样时间可能导致源块和连接到它的块的不可预测的执行速率。对于与安全相关的应用程序,源块应该具有明确的采样时间,以防止错误的执行顺序。 源块指定-1采样时间诊断>样品时间窗格,或自行设置参数InheritedTslnSrcMsg错误
在多任务模式下,检测两个块之间的无效数据传输的诊断设置为没有一个警告.这种数据传输不应该用于嵌入的实时代码。 多任务数据转换诊断>样品时间窗格,或自行设置参数MultiTaskRateTransMsg错误
用于检测可能导致数据损坏或不确定性行为的子系统的诊断设置为没有一个警告.该诊断检测有条件执行的多速率子系统(启用、触发或函数调用子系统)是否在多任务模式下运行。在允许抢占的实时环境中,这样的子系统会破坏数据并表现出不可预测的行为。 多任务有条件执行的子系统诊断>样品时间窗格,或自行设置参数MultiTaskCondExecSysMsg错误
该诊断用于检查样品时间一致性信号规范块,连接的目标块设置为没有一个警告.过度指定的采样时间会导致不可预测的执行速率。 强制信号规范块指定的采样时间诊断>样品时间窗格,或自行设置参数SigSpecEnsureSampleTimeMsg错误
诊断检测参数单任务数据传输未设置为错误 单任务数据传输2 .在“配置参数”对话框中进行设置SingleTaskRateTransMsg错误
诊断检测参数具有同等优先级的任务未设置为错误 具有同等优先级的任务2 .在“配置参数”对话框中进行设置TasksWithSamePriorityMsg错误
用于检测模型是否包含未明确指定继承采样时间的s函数的诊断设置为没有一个警告.这些设置可能导致不可预知的行为。模型开发人员需要知道模型中何时存在这样的s函数,以便对其进行修改以产生可预测的行为。 采样时间的未指定继承性在“配置参数”对话框中或设置参数UnknownTsInhSupMsg错误

行动的结果

点击修改设置配置适用于采样时间并可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查逻辑信号的安全相关优化设置

检查身份证mathworks.hism.hisl_0045

检查模型配置,以获得可能影响安全的优化设置。

描述

此检查验证模型优化配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。尽管对于大多数实时系统来说,高度优化的代码是可取的,但一些优化可能会产生影响安全性的不良副作用。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
清除逻辑信号作为布尔数据的实现。对于与安全相关的代码,建议使用强数据类型。 选择配置参数实现逻辑信号为布尔数据(vs. double)或者设置参数BooleanDataType

行动的结果

点击修改设置配置可能影响安全性的模型优化设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查安全相关的减少阻塞优化设置

检查身份证mathworks.hism.hisl_0046

检查模型配置,以获得可能影响安全的优化设置。

描述

此检查验证模型优化配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。尽管对于大多数实时系统来说,高度优化的代码是可取的,但一些优化可能会产生影响安全性的不良副作用。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
选择减少块优化。这种优化可以从生成的代码中移除块,从而导致没有相关代码的需求和对可追溯性需求的违反。 清除配置参数块减少或设置参数BlockReduction

行动的结果

点击修改设置配置可能影响安全性的模型优化设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查代码样式的安全相关代码生成设置

检查身份证mathworks.hism.hisl_0047

检查模型配置中可能影响安全的代码生成设置。

描述

此检查验证用于代码生成的模型配置参数是否为与安全相关的应用程序进行了最优设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
指定圆括号使用的样式的选项设置为最小值(依赖于C/ c++操作符优先级)标称(优化可读性).对于与安全相关的应用程序,使用圆括号显式地指定优先级。 设置参数ParenthesesLevel标准(括号表示符合标准)最大值(用括号指定优先级)
清除指定是否保留操作数顺序的选项。这个选项增加了生成代码的可跟踪性。 设置参数PreserveExpressionOrder

行动的结果

点击修改设置配置可以影响安全性的模型代码生成设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与应用程序生命周期相关的安全优化设置

检查身份证mathworks.hism.hisl_0048

检查模型配置,以获得可能影响安全的优化设置。

描述

此检查验证模型优化配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。尽管对于大多数实时系统来说,高度优化的代码是可取的,但一些优化可能会产生影响安全性的不良副作用。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
该模型包含依赖于运行时间或绝对时间的块,并被配置为最小化分配给计时器的内存量。这样的配置限制了在计时器溢出发生之前应用程序可以执行的天数。许多航空航天产品都是持续通电的下载188bet金宝搏,计时器不应该有有限的使用寿命。 配置参数应用程序生命周期(天)或者设置参数寿命

行动的结果

点击修改设置配置可能影响安全性的模型优化设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与安全相关的代码生成标识符设置

检查身份证mathworks.hism.hisl_0049

检查模型配置中可能影响安全的代码生成设置。

描述

此检查验证用于代码生成的模型配置参数是否为与安全相关的应用程序进行了最优设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
为生成名称修改字符串指定的最小字符数小于4。您可以使用此选项来最小化在代码生成过程中,当模型发生变化时参数和信号名称发生变化的可能性。使用此选项有助于最小化文件版本之间的代码差异,减少执行代码审查的工作。 最小轧辊长度(嵌入式编码)代码生成>标识符窗格中的“配置参数”或参数MangleLength值为4或更大。

行动的结果

点击修改设置配置可以影响安全性的模型代码生成设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与数据初始化相关的安全优化设置

检查身份证mathworks.hism.hisl_0052

检查模型配置,以获得可能影响安全的优化设置。

描述

此检查验证模型优化配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。尽管对于大多数实时系统来说,高度优化的代码是可取的,但一些优化可能会产生影响安全性的不良副作用。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
选择抑制为0的根级输入和输出生成初始化代码的优化。对于与安全相关的代码,应该显式地初始化所有变量。 如果您有嵌入式编码器许可证,并且正在使用基于ert的系统目标文件,请清除“配置参数”删除根级I/O零初始化(嵌入式编码)或者设置参数ZeroExternalMemoryAtStartup.或者,确认您的编译器是标准兼容的,因为大多数现代C编译器将全局数据初始化为零。或者,集成外部手写代码,显式地将所有I/O变量初始化为零。
选择抑制为内部工作结构(如块状态和块输出)生成初始化代码的优化。对于与安全相关的代码,应该显式地初始化每个变量。 如果您有嵌入式编码器许可证,并且正在使用基于ert的系统目标文件,请清除“配置参数”删除内部数据零初始化(嵌入式编码)或者设置参数ZeroInternalMemoryAtStartup.或者,确认您的编译器是标准兼容的,因为大多数现代C编译器将全局数据初始化为零。或者,集成外部的手写代码,显式地将每个状态变量初始化为零。

行动的结果

点击修改设置配置可能影响安全性的模型优化设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查数据类型转换的安全相关优化设置

检查身份证mathworks.hism.hisl_0053

检查模型配置,以获得可能影响安全的优化设置。

描述

此检查验证模型优化配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。尽管对于大多数实时系统来说,高度优化的代码是可取的,但一些优化可能会产生影响安全性的不良副作用。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
禁止生成由包装超出范围值的浮点到整数转换导致的代码的优化被清除。必须避免与安全相关的代码溢出。当此优化被关闭并且您的模型包含禁用的块时饱和溢出参数时,代码生成器将为这些块包装超出范围的值。这可能导致代码不可访问,因此不可测试。 如果你有金宝app仿真软件编码器license,选择“配置参数”删除从浮点到整数转换中包装超出范围值的代码(金宝app仿真软件编码器)或者设置参数EfficientFloat2IntCast

行动的结果

点击修改设置配置可能影响安全性的模型优化设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查除法算术异常的安全相关优化设置

检查身份证mathworks.hism.hisl_0054

检查模型配置,以获得可能影响安全的优化设置。

描述

此检查验证模型优化配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。尽管对于大多数实时系统来说,高度优化的代码是可取的,但一些优化可能会产生影响安全性的不良副作用。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
选择了抑制代码生成的优化,以防止定点数据被零除。必须避免在与安全相关的代码中出现零除异常。 如果您有嵌入式编码器许可证,并且正在使用基于ert的系统目标文件,请清除“配置参数”删除防止除法算术异常的代码(嵌入式编码)或者设置参数NoFixptDivByZeroProtection

行动的结果

点击修改设置配置可能影响安全性的模型优化设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查指定的最小值和最大值的安全相关优化设置

检查身份证mathworks.hism.hisl_0056

检查模型配置,以获得可能影响安全的优化设置。

描述

此检查验证模型优化配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。尽管对于大多数实时系统来说,高度优化的代码是可取的,但一些优化可能会产生影响安全性的不良副作用。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
选择使用指定的信号和参数的最小值和最大值来优化生成的代码的优化。这可能导致需求没有可跟踪的代码。(参见DO-331 MB.6.3.4节。e -源代码可追溯到低级别的需求。) 如果您有嵌入式编码器许可证,并且正在使用基于ert的系统目标文件,请清除“配置参数”使用指定的最小值和最大值进行优化(嵌入式编码),或参数UseSpecifiedMinMax

行动的结果

点击修改设置配置可能影响安全性的模型优化设置。

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查状态流图,查找唯一定义的数据对象

检查身份证mathworks.hism.hisl_0061

识别包含非唯一定义的数据对象的状态流图。

描述

此检查在状态流图中搜索模型中未唯一定义的本地数据。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
状态流图包含在两个或多个作用域中定义的数据对象标识符。

对于已识别的图表,请执行以下操作之一:

  • 在每个作用域中创建唯一的数据对象标识符。

  • 在图表的父级上创建唯一的数据对象标识符。

能力和限制

  • 此检查不会查找Simulink信号的唯一标识符的使用情况。金宝app

  • 在库模型上运行。

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

  • 分析所有被屏蔽子系统中的内容。

  • 不允许排除块或图表。

另请参阅

检查图形函数中的全局变量

检查身份证mathworks.hism.hisl_0062

描述

此检查标识在statflow中读写相同全局数据的表达式。

这张支票要求金宝app仿真软件检查和状态流许可证。

结果和建议措施

条件 建议的行动
一个或多个表达式作用于图形函数和图形函数中使用的全局变量。 重新构造表达式,使函数和全局变量不在同一个表达式中使用。

能力和限制

  • 在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查用户定义的对象名称的长度

检查身份证mathworks.hism.hisl_0063

描述

这个检查检查这些用户定义的对象名称的长度与配置设置中的最大标识符长度参数:

  • 函数名选项设置为用户指定的子系统。

  • 指南中描述的数据对象。

  • 信号和参数对象。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
子系统中函数名的长度大于设置的阈值。 在子系统块中更改函数名,使其长度小于设置的阈值。
数据对象名称的长度大于阈值。 在子系统块中更改函数名,使其长度小于设置的阈值。

能力和限制

  • 此检查不会标记不解析为对象的信号。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

另请参阅

检查增益块的使用情况

检查身份证mathworks.hism.hisl_0066

描述

此检查确定获得值解析为1的块,一个单位矩阵,或者一个1的矩阵。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
一个或多个获得模型中的块解析为1或单位矩阵。 重构增益块,使增益值不解析为1,即单位矩阵或1的矩阵。

能力和限制

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查除以零的计算

检查身份证mathworks.hism.hisl_0067

描述

标识可导致除零计算的块。

可以使用金宝app仿真软件检查

这张支票要求金宝appSimulink设计验证器许可证。

结果和建议措施

条件 建议的行动
模型中的一个或多个块可以导致除零计算。 重构以避免除零计算。

能力和限制

  • 在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查没有链接到需求的模型元素

检查身份证mathworks.hism.hisl_0070

检查Simulink模型元素金宝app是否链接到需求文档。

描述

此检查验证模型对象是否链接到包含可追溯性工程需求的文档。

可以使用金宝app仿真软件检查

这张支票需要要求工具箱™许可证。

检查参数化

以下配置可以通过Model Advisor configuration Editor进行设置。

  • 每个元素允许的需求链接的最大数量可以通过输入参数来设置每个模型元素的需求链接的最大数量.缺省值为5

  • 可以通过输入参数设置Simulink中每个链接组件允许的最大子对象数量金宝app在Simulink/System Composer中,每个链接组件的最大子对象数金宝app.缺省值为One hundred.

  • 可以通过输入参数设置statflow中允许的每个链接组件的最大子对象数量状态流中每个链接组件的最大子对象数.缺省值为One hundred.

  • 每个链接的MATLAB函数允许的最大代码行数可以通过输入参数设置每个链接的MATLAB函数的最大代码行数.缺省值为200

  • 可以通过输入参数来设置可以从需求链接中免除的模型元素免于需求链接的模型元素列表.默认情况下,参数中包含以下块列表。您还可以根据需要添加或删除块。

    • 地面

    • 《终结者》

    • 轮廓尺寸

    • 外港

    • InportShadow

    • 转到

    • Mux

    • 多路分配器

    • CMBlock

    • DocBlock

    • 系统需求

结果和建议措施

条件 建议的行动
模型元素不链接到需求文档。 对于模型中的每个模型元素,在模型编辑器中,右键单击模型元素,选择需求并指定一个需求。
模型元素的链接需求超过了设置的阈值。 确保模型元素没有超过到需求的最大链接的设置阈值。
模型中带有需求链接的组件超过了子项数量的阈值。 确保带有到需求的链接的组件不超过子项数量的阈值。

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析没有工作区和对话框的屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为图形化的

  • 允许排除块和图表。

  • 不允许排除状态流元素。

  • 该检查只验证添加到MATLAB函数头或整个MATLAB函数体中的需求。

  • 检查报告在建议操作选项卡中提供了打开Traceability Matrix的链接。

提示

从您想要检查的顶层模型或子系统运行此检查。

另请参阅

  • hisl_0070:在模型中放置需求链接

  • 需求跟踪(需求工具箱)

  • 金宝app模型编辑器

  • DO-331, MB.6.3.1节。f -高级需求追溯到系统需求

  • DO-331, MB.6.3.2节。f -低层次需求可以追溯到高层次需求

  • IEC 61508-3,表A.2(12) -计算机辅助规范和设计工具,表A.2(9) -软件安全需求规范和软件架构之间的正向可追溯性,表A.2(10) -软件安全需求规范和软件架构之间的反向可追溯性,表A.4(8) -软件安全需求规范和软件设计之间的正向可追溯性,表A.8(1) -影响分析

  • IEC 62304, 5.2 -软件需求分析,7.4.2 -分析软件变更对现有风险控制措施的影响

  • ISO 26262-6,表8 (1a) -自然语言的软件单元设计文档,ISO 26262-6: 7.4.2。a -软件架构设计的可验证性,ISO 26262- 8,8.4.3变更请求分析

  • EN 50128,表A.3(23) -由计算机辅助设计和规范工具支持的建金宝app模,表D.58 -可追溯性,表A.10(1) -影响分析

检查硬件实现的安全相关设置

检查身份证mathworks.hism.hisl_0071

描述

识别可能导致非最佳结果的硬件属性的不一致或规格不足。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
系统中一个或多个参数未指定。 指定参数以确保为目标硬件生成正确且有效的代码。
一个或多个目标规格不匹配。 启用“测试硬件与生产硬件相同”或修改目标规格以匹配。

能力和限制

  • 在库模型上运行。

  • 允许排除块和图表。

另请参阅

检查回路控制变量的数据类型

检查身份证mathworks.hism.hisl_0102

描述

该检查使用以下非整数数据类型识别循环控制变量:

  • 用于迭代器块。

  • For循环在MATLAB函数块。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
一个或多个For迭代器块使用非整数数据类型For循环控制计数器变量。 将循环控制计数器变量的数据类型设置为整数数据类型。
一个或多个For循环在MATLAB函数块中使用非整数数据类型For循环控制计数器变量。 将循环控制计数器变量的数据类型设置为整数数据类型。

能力和限制

  • 此检查不检查状态流程图中的循环控制变量。

  • 不能在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 允许排除块和图表。

另请参阅

检查与安全相关的诊断设置以确保兼容性

检查身份证mathworks.hism.hisl_0301

检查型号配置是否有影响兼容性和可能影响安全性的诊断设置。

描述

此检查验证与兼容性有关的模型诊断配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
将检测块何时未升级为使用当前版本的特性的诊断设置为没有一个警告.为较早版本编写的s函数可能与当前版本不兼容,生成的代码可能操作错误。 s功能需要升级诊断>兼容性窗格,或自行设置参数SFcnCompatibilityMsg错误

行动的结果

点击修改设置配置影响兼容性和可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查参数的安全相关诊断设置

检查身份证mathworks.hism.hisl_0302

检查模型配置中适用于参数并可能影响安全性的诊断设置。

描述

此检查验证与参数相关的模型诊断配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
将检测参数向下转换何时发生的诊断设置为没有一个警告.向下转换到较低的信号范围可能导致参数的数值溢出,从而导致意外行为。 检测沮丧诊断>数据的有效性窗格,或自行设置参数ParameterDowncastMsg错误
将检测参数下溢何时发生的诊断设置为没有一个警告.当参数的数据类型没有足够的分辨率时,参数值为0,而不是指定的值。这可能导致生成的代码的错误操作。 检测下溢诊断>数据的有效性窗格,或自行设置参数ParameterUnderflowMsg错误
当发生参数溢出时检测的诊断设置为没有一个警告.数值溢出可能导致意外的应用程序行为,应该在与安全相关的应用程序中检测和修复。 检测溢出诊断>数据的有效性窗格,或自行设置参数ParameterOverflowMsg错误
将检测参数何时失去精度的诊断设置为没有一个警告.如果没有检测到这种错误,可能会导致在生成的代码中将参数设置为不正确的值。 检测精度损失诊断>数据的有效性窗格,或自行设置参数ParameterPrecisionLossMsg错误
将检测具有可调变量的表达式何时被简化为其数值等效的诊断设置为没有一个警告.这可能导致可调参数在生成的代码中不可调。 检测可调性的损失诊断>数据的有效性窗格,或自行设置参数ParameterTunabilityLossMsg错误

行动的结果

点击修改设置配置适用于参数且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查合并块的安全相关诊断设置

检查身份证mathworks.hism.hisl_0303

检查适用于合并块的诊断设置的模型配置

描述

此检查验证模型配置参数是否为与安全相关的应用程序的Merge块设置为最优。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
检测模型中是否包含Merge块且在同一时间步长执行多个驱动块的诊断设置为没有一个警告

2 .在“配置参数”对话框中设置检测在同一步中执行的多个驱动块或者设置参数MergeDetectMultiDrivingBlocksExec错误

行动的结果

点击修改设置配置适用于求解器且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与模型初始化相关的安全诊断设置

检查身份证mathworks.hism.hisl_0304

在模型配置中,检查影响模型初始化和可能影响安全性的诊断设置。

描述

此检查验证用于初始化的模型诊断配置参数是否被优化设置为生成与安全相关的应用程序的代码。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

在“配置参数”对话框中,设置未指定初始化检测诊断设置为经典,确保与以前版本的Simulink兼容。金宝app的检查未定义的子系统初始输出清除诊断。此诊断指定如果模型包含有条件执行的子系统,则Simulink是否显示金宝app警告,其中具有指定初始条件的块驱动外港初始条件未定义的块。有条件执行的子系统可能有一个未初始化的输出。如果没有检测到,这种情况会产生不确定的行为。

做以下其中一件事:

在“配置参数”对话框中,设置未指定初始化检测诊断设置为经典,确保与以前版本的Simulink兼容。金宝app此诊断可以检测与早期版本的潜在初始输出差异。有条件执行的子系统可能有一个未初始化的输出。如果没有检测到,这种情况会产生不确定的行为。

做以下其中一件事:

行动的结果

若要配置影响模型初始化并可能影响安全性的诊断设置,请单击修改设置

子检查取决于用标记的子检查的结果D在Model Advisor窗口的结果表中。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查用于调试的数据的安全相关诊断设置

检查身份证mathworks.hism.hisl_0305

检查模型配置,以确定应用于用于调试的数据并可能影响安全性的诊断设置。

描述

此检查验证与调试相关的模型诊断配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
启用模型验证块的诊断设置为使用本地设置让所有.应该禁用这样的块,因为它们是断言块,仅用于验证。模型开发人员不应该在嵌入代码中使用断言。 2 .在“配置参数”对话框中设置模型验证块启用或设置参数AssertControl禁用所有

行动的结果

点击修改设置配置适用于用于调试且可能影响安全性的数据的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与信号连通性有关的安全诊断设置

检查身份证mathworks.hism.hisl_0306

检查模型配置中适用于信号连接并可能影响安全性的诊断设置。

描述

此检查验证与信号连通性相关的模型诊断配置参数是否设置为最优,以便为与安全相关的应用程序生成代码。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
将检测源信号相同但标签不同的虚拟信号的诊断设置为没有一个警告.这种诊断只适用于虚拟信号,对生成的代码没有影响。然而,信号标签不匹配会导致模型审查时的混乱。 信号标签不匹配诊断>连接窗格,或自行设置参数SignalLabelMismatchMsg错误
检测模型何时包含未连接输入信号的块的诊断设置为没有一个警告.必须检测到这一点,因为没有为未连接的块输入生成代码。 未连接的块输入端口诊断>连接窗格,或自行设置参数UnconnectedInputMsg错误
检测模型何时包含未连接输出信号的块的诊断设置为没有一个警告.必须检测到这一点,因为未连接的块输出信号可能导致死代码。 未连接的块输出端口诊断>连接窗格,或自行设置参数UnconnectedOutputMsg错误
检测未连接信号线和不匹配信号线的诊断转到Blocks被设置为没有一个警告.必须检测到此错误,因为没有为未连接的线路生成代码。 未连接的线诊断>连接窗格,或自行设置参数UnconnectedLineMsg错误

行动的结果

点击修改设置配置适用于信号连接且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查总线连接的安全相关诊断设置

检查身份证mathworks.hism.hisl_0307

检查模型配置中适用于总线连接并可能影响安全性的诊断设置。

描述

此检查验证与总线连接相关的模型诊断配置参数是否设置为最优,以便为与安全相关的应用程序生成代码。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
诊断,检测是否a模型块的根外港块连接到总线,但没有指定要设置到的总线对象没有一个警告.为了使总线信号跨越模型边界,必须将该信号定义为总线对象,以便与使用模型作为参考模型的高级模型兼容。 根输出端口块上未指定的总线对象诊断>连接窗格,或自行设置参数RootOutportRequireBusObject错误
检测总线元素的名称是否与相应总线对象指定的名称相匹配的诊断设置为没有一个警告.此诊断可防止在支持总线的块中使用不兼容的总线,从而导致输出名称不一致。 元素名称不匹配诊断>连接窗格,或自行设置参数BusObjectLabelMismatch错误
当某些块将信号处理为mux/vector,而其他块将信号处理为总线时,诊断将被设置为没有一个警告.当Simulink金宝app软件自动将混合信号转换为总线时,可能会发生意想不到的操作或不可预知的行为。

总线信号作为矢量处理诊断>连接窗格中的“配置参数”对话框中的参数错误,或参数StrictBusMsgErrorOnBusTreatedAsVector

诊断检测参数非总线信号被视为总线信号未设置为错误

非总线信号被视为总线信号诊断>连接窗格中的“配置参数”或参数NonBusSignalsTreatedAsBus错误

行动的结果

点击修改设置配置适用于总线连接并可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查应用于函数调用连通性的与安全相关的诊断设置

检查身份证mathworks.hism.hisl_0308

检查模型配置中应用于函数调用连接并可能影响安全性的诊断设置。

描述

此检查验证与函数调用连通性相关的模型诊断配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
指定Simulink软件在执行子系统时是必须直接还是间接地计算函数调用子系统的输入的金宝app诊断设置为使用本地设置禁用所有.该诊断在生成的代码中检测函数调用子系统和子系统输入之间不可预知的数据耦合。 上下文相关的输入诊断>连接窗格,或自行设置参数FcnCallInpInsideContextMsg错误

行动的结果

点击修改设置配置适用于函数调用连通性且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查类型转换的安全相关诊断设置

检查身份证mathworks.hism.hisl_0309

检查模型配置,以获得应用于类型转换并可能影响安全性的诊断设置。

描述

该检查验证与类型转换相关的模型诊断配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
诊断检测数据类型转换当类型转换设置为时,将阻塞没有一个.Simu金宝applink软件可能会删除不必要的数据类型转换阻塞所生成的代码,这可能导致没有相应代码的需求。需要确定这些块的移除,以便模型开发人员可以显式地移除不必要的块。 设置不必要的类型转换配置参数或UnnecessaryDatatypeConvMsg参数警告
在块输入处检测向量到矩阵或矩阵到向量转换的诊断设置为没有一个警告.当Simulink金宝app软件在矢量和矩阵维度之间自动转换时,可能会发生意外操作或不可预知的行为。 设置矢量/矩阵块输入转换配置参数或VectorMatrixConversionMsg参数错误
将检测32位整数值何时转换为浮点值的诊断设置为没有一个.这种类型的转换由于截断大整数值的最低有效位而导致精度损失。 设置32位整数到单精度浮点数的转换配置参数或Int32ToFloatConvMsg参数警告

行动的结果

点击修改设置配置适用于类型转换并可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查与模型引用相关的安全诊断设置

检查身份证mathworks.hism.hisl_0310

检查模型配置中应用于模型引用并可能影响安全性的诊断设置。

描述

此检查验证与模型引用相关的模型诊断配置参数是否为生成与安全相关的应用程序的代码进行了优化设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
在模型加载和更新期间检测端口和参数不匹配的诊断设置为没有一个警告.如果未检测到,这种不匹配可能导致不正确的模拟结果,因为父模型和引用模型具有不同的接口。 端口和参数不匹配诊断>模型参考窗格,或自行设置参数ModelReferenceIOMismatchMessage错误
检测到当前模型根级的无效内部连接的诊断轮廓尺寸而且外港Blocks被设置为没有一个警告.当检测到这种情况时,Simulink软件可能会自动在模型中插入隐藏块来修复金宝app这种情况。隐藏的块可能导致生成的代码没有可跟踪的需求。将诊断设置为错误强制模型开发人员手动修复引用的模型。 无效的根导入/输出块连接诊断>模型参考窗格,或自行设置参数ModelReferenceIOMessage错误
检测是否到工作空间范围块是将引用模型中的数据设置为的日志记录没有一个警告.不支持数据日志记录金宝app到工作空间而且范围引用模型中的块。 不支金宝app持的数据日志诊断>模型参考窗格,或自行设置参数ModelReferenceDataLoggingMessage错误
要记录数据,请删除块并记录引用的模型信号。有关更多信息,请参见测井参考模型信号

行动的结果

点击修改设置配置适用于模型引用且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查状态流的安全相关诊断设置

检查身份证mathworks.hism.hisl_0311

检查状态流的安全相关诊断设置

描述

该检查验证模型配置参数是否为与安全相关的应用程序的statflow进行了最优设置。

可以使用金宝app仿真软件检查

此检查需要statflow许可证。

结果和建议措施

条件 建议的行动
在模拟期间检测图表配置是否导致不需要的回溯的诊断设置为没有一个警告

2 .在“配置参数”对话框中设置意想不到的回溯或者设置参数SFUnexpectedBacktrackingDiag错误

检测图表配置是否具有连接到图表输入端口的块的诊断在初始化期间不初始化其输出没有一个警告

2 .在“配置参数”对话框中设置图表初始化时输入数据访问无效或者设置参数SFInvalidInputDataAccessInChartInitDiag错误

将检测图表是否具有无条件默认转换到状态或连接的诊断设置为没有一个警告

2 .在“配置参数”对话框中设置没有无条件的默认转换或者设置参数SFNoUnconditionalDefaultTransitionDiag错误

检测图表是否包含在父状态或结之外循环的转换的诊断设置为没有一个警告

2 .在“配置参数”对话框中设置脱离自然父母的过渡或者设置参数SFTransitionOutsideNaturalParentDiag错误

用于检测图表是否在有效执行路径上构造的诊断设置为没有一个警告

2 .在“配置参数”对话框中设置执行路径不可达或者设置参数SFUnreachableExecutionPathDiag错误

诊断检测参数无定向事件广播未设置为没有一个警告 无定向事件广播2 .在“配置参数”对话框中进行设置SFUndirectedBroadcastEventsDiag错误
诊断检测参数在条件操作之前指定的转换操作未设置为没有一个警告 在条件操作之前指定的转换操作2 .在“配置参数”对话框中进行设置SFTransitionActionBeforeConditionDiag错误

行动的结果

点击修改设置配置适用于求解器且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查信号数据的安全相关诊断设置

检查身份证mathworks.hism.hisl_0314

检查适用于信号数据并可能影响安全性的诊断设置的模型配置。

描述

此检查验证与信号数据相关的模型诊断配置参数是否设置为最优,以便为与安全相关的应用程序生成代码。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
诊断,指定Simulink软件如何解析与金宝app金宝app仿真软件。信号对象设置为显性和隐性显式和警告式.对于与安全相关的应用,应该要求模型开发人员明确定义信号分辨率。(参见DO-331, MB.6.3.3节。b -软件架构一致。)

信号的分辨率诊断>数据的有效性窗格,或自行设置参数SignalResolutionControl明确的只.通过要求用户定义必须解析的每个信号和块设置,提供了可预测的操作金宝app仿真软件。信号工作区中的对象。

的使用金宝app仿真软件。信号对象时,将配置参数设置为没有一个

产品块诊断,检测一个奇异矩阵,同时反转它的一个输入在矩阵乘法模式设置为没有一个警告.在执行生成的代码时,除以奇异矩阵会导致数值异常。这在与安全相关的系统中是不可接受的。(参见DO-331, MB.6.3.1节。g -算法是准确的,DO-331, MB.6.3.2节。g -算法是准确的,MISRA C:2012, Dir 4.1) 用奇异矩阵除法诊断>数据的有效性窗格,或自行设置参数CheckMatrixSingularityMsg错误
在数据类型传播过程中,检测Simulink软件何时不能推断信号的数据类型的金宝app诊断设置为没有一个警告.对于与安全相关的应用,模型开发人员必须验证信号的数据类型。(参见DO-331, MB.6.3.1节。e -高级要求符合标准和DO-331, Section MB.6.3.2。e -低层次需求符合标准。) 未指定的数据类型诊断>数据的有效性窗格,或自行设置参数UnderSpecifiedDataTypeMsg错误
检测信号的值是否过大而无法由信号数据类型表示的诊断设置为没有一个警告.未检测到的数值溢出可能导致意外的应用程序行为。(参见DO-331, MB.6.3.1节。g -算法是准确的,DO-331, MB.6.3.2节。g -算法是准确的,MISRA C:2012, Dir 4.1) 换行溢出诊断>数据的有效性窗格,或自行设置参数IntegerOverflowMsg错误
检测信号的值是否太大而无法由信号数据类型表示,从而导致饱和的诊断设置为没有一个警告.未检测到的数值溢出可能导致意外的应用程序行为。(参见DO-331, MB.6.3.1节。g -算法是准确的,DO-331, MB.6.3.2节。g -算法是准确的,MISRA C:2012, Dir 4.1) 饱和溢出诊断>数据的有效性窗格,或自行设置参数IntegerSaturationMsg错误
检测块输出信号值何时为的诊断方法在当前时间步长设置为时没有一个警告.当这种类型的块输出信号条件发生时,会导致数值异常,而数值异常在与安全相关的应用中是不可接受的。(参见DO-331, MB.6.3.1节。g -算法是准确的,DO-331, MB.6.3.2节。g -算法是准确的,MISRA C:2012, Dir 4.1) Inf或NaN块输出诊断>数据的有效性窗格,或自行设置参数SignalInfNanChecking错误
检测以。开头的Simulink对象名称的诊断金宝apprt设置为没有一个警告.此诊断可防止与已生成的信号名称冲突rt前缀。(参见DO-331, MB.6.3.1节。e -高级要求符合标准和DO-331, Section MB.6.3.2。e -低层次需求符合标准。) 标识符的“rt”前缀诊断>数据的有效性窗格,或自行设置参数RTPrefix错误
检测模拟范围检查的诊断设置为没有一个警告.该诊断在模拟过程中检测信号何时超出其指定范围。金宝appSimulink将块输出的信号值与指定的范围和块数据类型进行比较。(参见DO-331, MB.6.3.1节。g -算法是准确的,DO-331, MB.6.3.2节。g -算法是准确的,MISRA C:2012, Dir 4.1) 模拟距离检查诊断>数据的有效性窗格,或自行设置参数SignalRangeChecking错误

行动的结果

点击修改设置配置适用于信号数据且可能影响安全性的模型诊断设置。

能力和限制

  • 不能在库模型上运行。

  • 不允许排除块或图表。

另请参阅

检查不支持代码生成的MATLAB函数金宝app

检查身份证mathworks.hism.himl_0012

描述

该检查确定了不支持代码生成的MATLAB函数。金宝app

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型中包含了不支持代码生成的MATLAB函数。金宝app 避免使用不支持代码生成的MATLAB函数。金宝app

能力和限制

  • 不能在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

生成代码复杂度的度量

检查身份证mathworks.hism.himl_0013

描述

识别内置MATLAB函数的使用与生成代码的高代码复杂度。

可以使用金宝app仿真软件检查

输入参数

对于此检查,您可以使用Model Advisor配置编辑器设置以下自定义:

  • 设置阈值以标记生成代码的代码复杂度较高的MATLAB函数复杂性阈值参数。缺省值为40

  • 排除使用该参数分析MATLAB函数排除在分析之外的函数.属性可以向字段中添加多个函数逗号分隔符。

结果和建议措施

条件 建议的行动
模型中使用的一些内置MATLAB函数在生成代码时可能会导致较高的代码复杂度。
  • 必须审查具有重大规模和复杂性的功能,以确保是否需要充分发挥功能的潜力。

  • 使用更简单的替代方法来降低代码的复杂性,或者将函数添加到Model Advisor Configuration Editor中的排除列表中。

能力和限制

  • 不能在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查参考模型忽略的参数可调性

检查身份证mathworks.hism.hisl_0072

描述

此检查标识使用“模型参数配置”对话框指定的模型参数可调性信息。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型包含参数可调性信息,如果可调参数是使用金宝app参数配置对话框。 使用金宝app仿真软件。参数对象用于定义可调参数。

能力和限制

  • 时,此检查不分析模型默认参数行为设置为可调

  • 在库模型上运行。

  • 允许排除块和图表。

另请参阅

检查移位操作的使用情况

检查身份证mathworks.hism.hisl_0073

描述

标识执行比Input类型的位宽更大的位移位操作的块或表达式,这可能导致违反编码标准。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型中的一个或多个块或表达式执行的位移位操作大于Input类型的位宽。 重构以避免移位操作大于输入类型的位宽。

能力和限制

  • 此检查不验证以信号作为输入的表达式。这些表达式必须手动验证。

  • 在库模型上运行。

  • 分析没有工作区和对话框的屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查变种的安全相关诊断设置

检查身份证mathworks.hism.hisl_0074

描述

识别模型配置中应用于变量的诊断设置。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
配置参数信号源和目标位置不匹配在模型中没有设置为错误 设置配置参数信号源和目标位置不匹配错误
配置参数不同条件下的算术运算在模型中没有设置为错误 设置配置参数不同条件下的算术运算错误

能力和限制

  • 在库模型上运行。

  • 允许排除块和图表。

另请参阅

检查平方根操作的使用情况

检查身份证mathworks.hism.hisl_0003

描述

标识输入可以为负的平方根操作。

可以使用金宝app仿真软件检查.这张支票需要金宝appSimulink设计验证器(SLDV)许可证。

注意:该检查将对模型执行SLDV分析。

结果和建议措施

条件 建议的行动
模型中的平方根操作的输入在模拟过程中可能变为负值。 重构以防止平方根操作的输入变为负数。

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

另请参阅

检查平方根块的使用情况

检查身份证mathworks.hism.hisl_0028

描述

标识互惠√6块的输入可以为零或负。

可以使用金宝app仿真软件检查.这张支票需要金宝appSimulink设计验证器(SLDV)许可证。

注意:该检查将对模型执行SLDV分析。

结果和建议措施

条件 建议的行动
一个或多个互惠√6模型中的块具有在模拟过程中可以变为零或负的输入。 重构以防止输入互惠√6阻止变为零或负。

能力和限制

  • 在库模型上运行。

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

另请参阅

检查禁用的和参数化的库链接

检查身份证mathworks.hism.hisl_0075

描述

标识模型中禁用的和参数化的库链接。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型中的一个或多个块是参数化的库链接。

使用以下选项之一解决问题,方法是右键单击受侵犯的块,并从库链接菜单:

  • 点击把链接将更改传播到库。

  • 点击禁用链接放弃更改。

模型中的一个或多个块是禁用的库链接。

使用以下步骤解析链接:

  1. 在Simulink图中右键单击被违反的块。金宝app

  2. 库链接菜单中,选择恢复链接

能力和限制

  • 在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

检查无法到达和死代码

检查身份证mathworks.hism.hisl_0101

描述

标识导致不可访问和死代码的块和操作。

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动
模型中的一个或多个块/操作会导致无法访问或死代码。 重构以防止不可访问和死代码。

能力和限制

  • 在库模型上运行。

  • 分析屏蔽子系统中的内容。默认情况下,输入参数戴上面具设置为所有

  • 分析库链接块的内容。默认情况下,输入参数链接设置为

  • 允许排除块和图表。

另请参阅

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

检查身份证mathworks.hism.himl_0011

描述

该检查对模型进行计算,以检查这些条件表达式是否使用了逻辑标量:

  • 如果表达式

  • elseif表达式

  • 表达式

  • 状态流转换的条件表达式

可以使用金宝app仿真软件检查

结果和建议措施

条件 建议的行动

如果表达式不是逻辑标量。

将表达式更改为逻辑标量。

elseif表达式不是逻辑标量。

将表达式更改为逻辑标量。

表达式不是逻辑标量。

将表达式更改为逻辑标量。

状态流转换表达式的条件表达式不是逻辑标量。

将表达式更改为逻辑标量。

行动的结果

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

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

能力和限制

  • 使用C作为状态流操作语言时,不检查状态流转换和状态操作的条件。

  • 此检查不会在库模型上运行。

  • 分析屏蔽子系统中的内容。

  • 分析库链接块的内容。

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

另请参阅

检查MISRA C:2012的配置参数

检查身份证mathworks.misra.CodeGenSettings

识别可以影响MISRA C:2012兼容代码生成的配置参数。

描述

遵循此检查的建议可以增加为嵌入式应用程序生成符合MISRA C:2012的代码的可能性。

可与嵌入式编码器和金宝app仿真软件检查

结果和建议措施

条件 建议的行动
数学和数据类型
配置参数采用除法进行定点净斜率计算未设置为只对整数的倒数使用除法 采用除法进行定点净斜率计算只对整数的倒数使用除法

配置参数Inf或NaN块输出设置为没有一个错误而且金宝app支持非有限数设置为

配置参数Inf或NaN块输出设置为没有一个而且金宝app支持非有限数设置为

金宝app支持非有限数是:

  • ,设置Inf或NaN块输出警告

  • ,设置Inf或NaN块输出警告错误

配置参数模型验证块启用设置为使用本地设置让所有 模型验证块启用禁用所有
配置参数无定向事件广播设置为没有一个警告 无定向事件广播错误
配置参数换行溢出设置为没有一个 设置配置参数换行溢出警告错误
硬件实现
配置参数生产硬件有符号整数除法到四舍五入设置为未定义的 生产硬件有符号整数除法到四舍五入地板上
配置参数对有符号整数右移作为算术移位被选中。 清晰的对有符号整数右移作为算术移位
模拟目标
配置参数MATLAB函数的编译时递归极限是否设置为其他值0 MATLAB函数的编译时递归极限0
配置参数动态内存分配的MATLAB函数被选中。 清晰的动态内存分配的MATLAB函数
配置参数为MATLAB函数启用运行时递归被选中。 清晰的为MATLAB函数启用运行时递归
代码生成

配置参数位字段声明器类型说明符设置为uchar_T当选择这些参数中的任何一个时:

  • 将布尔数据打包到位字段中

  • 使用bitset存储状态配置

  • 使用bitset存储布尔数据

位字段声明器类型说明符uint_T
配置参数铸造模式未设置为标准兼容 铸造模式标准兼容
配置参数代码替换库未设置为没有一个AUTOSAR 4.0

代码替换库没有一个AUTOSAR 4.0

配置参数外部模式被选中。 清晰的外部模式
配置参数生成共享常量被选中。 清晰的生成共享常量

配置参数包括评论清除。

选择包括评论
配置参数MAT-file日志被选中。

清晰的MAT-file日志

对于基于ert的目标系统,配置参数MATLAB用户评论清除。 选择MATLAB用户评论
配置参数的值最大标识符长度未提供。 将该值设置为与实现相关的限制。默认为31
配置参数括号水平未设置为标准(括号表示符合标准)最大值(用括号指定优先级) 括号水平标准(括号表示符合标准)最大值(用括号指定优先级)

对于基于ert的目标系统,配置参数在函数声明中保留static关键字文件包装格式设置为紧凑的紧凑(附独立数据文件)

选择在函数声明中保留static关键字
配置参数用有符号的位移位代替2的幂乘法被选中。 清晰的用有符号的位移位代替2的幂乘法
配置参数共享代码放置设置为汽车

共享代码放置共享位置

对于基于ert的目标系统,配置参数金宝app支持连续时间被选中 清晰的金宝app支持连续时间
对于基于ert的目标系统,配置参数金宝app支持非内联s函数被选中 清晰的金宝app支持非内联s函数
配置参数系统生成的标识符设置为经典 系统生成的标识符缩短
配置参数系统目标文件设置为基于grt的目标。 系统目标文件到基于ert的目标。
配置参数对模型初始化使用动态内存分配当选中时代码接口封装设置为可重用的功能

清晰的对模型初始化使用动态内存分配

请注意

仅在以下情况下选择代码接口封装设置为可重用的功能

行动的结果

点击修改所有将参数值修改为推荐值。

请注意

当你点击修改所有对于具有基于grt的目标的模型,模型顾问不会更新系统目标文件配置参数到基于ert的系统。

参数子检查取决于用标记的参数的结果D在结果表中。当结果是D-Warning,当前值列在结果表中的状态不满足先决条件约束对于子检查。修改参数后,请重新执行检查。

请注意

一些子检查是特定于基于ert的系统的配置参数的。单击时,这些参数不会更新修改所有除非你把模型改成基于ert的系统。

能力和限制

此检查不检查引用的模型。

另请参阅

检查MISRA C:2012不推荐的块

检查身份证mathworks.misra.Blk金宝appSupport

识别MISRA C:2012兼容代码生成不支持或不推荐的代金宝app码块。

描述

遵循此检查的建议可以增加为嵌入式应用程序生成符合MISRA C:2012的代码的可能性。

可与嵌入式编码器和金宝app仿真软件检查

结果和建议措施

条件 建议的行动

使用三次样条插值或外推方法在模型或子系统中找到查找表块。具体的块有:

考虑Lookup Table块的其他插值和外推方法。

在模型或子系统中发现已废弃的查找表块。具体的块有:

  • 查找表

  • 查找表(二维)

考虑替换已弃用的Lookup Table块。
s函数生成器在模型或子系统中找到块。 考虑将S-Function Builder块替换为推荐用于生产的块。
从工作空间在模型或子系统中找到块 考虑用推荐用于生产的块替换From Workspace块。

字符串块在模型或子系统中找到。具体的块有:

考虑将String块替换为推荐用于生产的块。

能力和限制

您可以:

  • 在您的库模型上运行此检查。

  • 分析库链接块的内容。

  • 分析屏蔽子系统中的内容。

  • 排除块和图表从此检查,如果您有金宝app仿真软件检查许可证。

编辑时间检查。编辑时检查支持此检查。金宝app

另请参阅