主要内容

子系统的SIL验证

此示例通过确保软件在环(SIL)代码的输出与模型子系统的输出相匹配来展示子系统验证。您可以生成SIL验证束,收集模拟结果,并使用模拟数据检查器比较结果。您可以为循环中处理器(PIL)验证应用类似的过程。

通过SIL模拟,您可以验证主计算机上生产源代码的行为。通过PIL模拟,您可以验证您打算在生产中部署的已编译的目标代码。您可以在真正的目标硬件或指令集模拟器上运行PIL对象代码。

如果你有嵌入式编码器®license中,您可以在SIL或PIL模式中创建一个测试工具以进行模型验证。您可以将SIL或PIL块结果与模型结果进行比较,并收集度量,包括执行时间和模型代码覆盖率。你不能收集SIL或PIL块上的覆盖。使用测试工具来执行SIL和PIL验证,您可以:

  • 用您的模型管理安全带。生成测试线束会生成SIL块。测试工具与被验证的组件相关联。您可以用主模型保存测试工具。

  • 为这些测试-设计-测试工作流使用内置工具:

    • 检查SIL或PIL块等价性

    • 更新SIL或PIL块到最新的模型设计

  • 使用测试管理器和模拟数据检查器查看和比较日志数据和信号。

当您创建一个等价测试来比较正常和SIL或PIL模拟模式时,将使用一个单独的测试工具来测试每个模式。然而,如果您正在对一个原子子系统或模型块进行等价测试,单个测试工具可以用于常规模拟和SIL或PIL模拟。有关何时将单个工具用于原子子系统等价性测试的信息,请参见为模型或组件生成测试和测试工具

这个例子模拟了一个闭环控制器-工厂系统。控制器调节装置的输出。

为控制器创建SIL验证线束

使用从闭环控制器工厂系统记录的数据创建SIL验证束。控制子系统调节装置的输出。对于这个示例,您需要一个嵌入式Coder许可证。创建SIL工具的另一种方法是使用“为模型组件创建测试向导”(参见为模型或组件生成测试和测试工具而且创建并运行背靠背测试).

  1. 在MATLAB中输入以下命令打开示例模型®命令窗口。

    openExample (“是/ SILPILVerificationExample”...supportingFile =“SILBlock.slx”

    这个图像显示了SILBlock模型。

  2. 使用该名称保存模型的副本controller_model在一个新的文件夹中,在MATLAB路径的可写位置。

  3. 为模型启用信号日志记录。在命令提示符处,输入

    set_param (bdroot SignalLogging =“上”SignalLoggingName =...“SIL_signals”SignalLoggingSaveFormat =“数据集”);
  4. 右键单击进入Controller port In1的信号,然后选择属性.在信号特性对话框,用于信号的名字,输入controller_model_input.选择测井信号数据并点击好吧

  5. 右键单击控制器端口Out1输出的信号,选择属性.在信号特性对话框,用于信号的名字,输入controller_model_output.选择测井信号数据并点击好吧

  6. 模拟模型。

  7. 从模拟输出中获取日志信号到工作区中。在命令提示符处,输入

    out_data =重燃(“SIL_signals”);control_in1 = out_data.get (“controller_model_input”);control_out1 = out_data.get (“controller_model_output”);
  8. 创建软件在循环测试工具。右键单击Controller子系统并选择为“控制器”创建测试套件>

  9. 设置线束属性:

    • 的名字SIL_harness

    • 源和汇轮廓尺寸而且外港

    • 选择创建后打开线束

    • 高级属性-验证模式Software-in-the-loop(银)

    点击好吧.得到的测试工具有一个SIL块。

    对控制器子系统进行测试

配置和模拟SIL验证线束

为控制器子系统配置并模拟SIL验证线束。

  1. 配置测试工具以导入记录的控制器输入值。在模型中,从测试束带的顶层配置参数对话框中的数据导入/导出窗格中,选择输入.输入control_in1。值作为输入并单击好吧

  2. 为测试工具启用信号日志记录。在命令提示符处,输入

    set_param (“SIL_harness”SignalLogging =“上”SignalLoggingName =...“harness_signals”SignalLoggingSaveFormat =“数据集”);
  3. 右键单击SIL块的输出信号,选择属性.在信号特性对话框,用于信号的名字,输入SIL_block_out.选择测井信号数据并点击好吧

  4. 模拟利用。

比较SIL块和模型控制器输出

比较验证线束和控制器子系统的输出。

  1. 在测试线束模型中模拟选项卡,审查结果部分中,点击数据检查打开模拟数据检查器。

  2. 在仿真数据检查器中,单击进口.在进口对话框。

    • 进口的:基本工作空间

    • 导入:新运行

    • 的名字,选中所有复选框以从所有来源导入数据。

  3. 点击进口

  4. 选择SIL_block_out而且controller_model_out信号的运行数据检查器窗口的窗格。

    图表显示了重叠的两个信号。这个结果表明SIL代码是等价的。方法可以绘制信号差异比较选项卡,并为验证执行更详细的分析。有关更多信息,请参见对比仿真数据

    图比较测试线束和控制器子系统输出

  5. 关闭测试线束窗口。您返回到主模型。徽章在Controller块上表示SIL线束与子系统相关联。

相关的话题

Baidu
map