主要内容

子系统的SIL验证

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

通过SIL模拟,您可以验证主机上生产源代码的行为。此外,通过PIL模拟,您可以验证要在生产中部署的已编译目标代码。您可以在实际目标硬件或指令集模拟器上运行PIL目标代码。

如果你有嵌入式编码器®许可证,您可以在SIL或PIL模式下创建一个测试工具以进行模型验证。您可以将SIL或PIL块结果与模型结果进行比较,并收集指标,包括执行时间和代码覆盖率。使用测试线束进行SIL和PIL验证,可以:

  • 使用您的模型管理线束。生成测试线束将生成SIL块。测试线束与正在验证的部件相关联。可以将测试线束与主模型一起保存。

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

    • 检查SIL或PIL块等效性

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

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

本示例对闭环控制器设备系统进行建模。控制器调节设备输出。

为控制器创建SIL验证线束

使用从控制器子系统模型模拟中记录的数据创建SIL验证工具。对于本示例,您需要一个Embedded Coder许可证。另一种创建SIL工具的方法是使用“为模型组件创建测试向导”(参见为零部件或模型生成测试和测试线束创建并运行背靠背测试).

  1. 通过输入打开示例模型

    rtwdemo_sil_block
    在MATLAB®命令提示符下,

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

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

    设置参数(bdroot、'SignalLogging'、'on'、'SignalLoggingName'、…'SIL_signals'、'SignalLoggingSaveFormat'、'Dataset')
  4. 右键单击进入控制器端口In1的信号,然后选择性质. 在信号特性对话框,用于信号名,输入controller_model_input.挑选测井信号数据点击好吧

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

  6. 模拟模型。

  7. 将模拟输出中记录的信号输入工作区。在命令提示下,输入

    out_data=out.get(“SIL_信号”);control_in1=out_data.get('controller_model_input');control_out1=out_data.get('controller_model_output');
  8. 创建软件在环测试线束。右键单击控制器子系统并选择测试线束>创建测试线束(控制器)

  9. 设置线束属性:

    • 名称:SIL_线束

    • 源和汇:轮廓尺寸外港

    • 挑选创建后打开线束

    • 高级属性–验证模式:软件在环(SIL)

    点击好吧. 由此产生的测试线束具有SIL块。

配置并模拟SIL验证线束

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

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

  2. 启用测试线束的信号记录。在命令提示下,输入

    设置参数('SIL_线束'、'SignalLogging'、'on'、'SignalLoggingName'、…'harness_signals'、'SignalLoggingSaveFormat'、'Dataset')
  3. 右键单击SIL块的输出信号并选择性质. 在信号特性对话框,用于信号名,输入屏蔽.挑选测井信号数据点击好吧

  4. 模拟利用。

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

比较验证装置和控制器子系统的输出。

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

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

    • 设置进口自致:基本工作空间

    • 设置导入致:新运行

    • 在下面要导入的数据,选择信号名从所有源导入数据。

  3. 点击进口

  4. 选择屏蔽控制器模型输出信号的运行“数据检查器”窗口的窗格。

    图表显示两个重叠的信号。这一结果表明SIL代码是等效的。您可以使用比较选项卡,并执行更详细的分析以进行验证。有关更多信息,请参见比较模拟数据

  5. 关闭测试线束窗口。返回到主模型。徽章在控制器块上显示SIL线束与子系统关联。

相关的话题