Main Content

选择 SIL 或 PIL 方法

假设有一个由组件 ABCD 组成的顶层模型:

  • AB 是现有组件,之前已为其生成并测试代码。

  • 引用模型 C 和子系统 D 是新组件。

通过软件在环 (SIL) 和处理器在环 (PIL) 仿真,您可以使用以下方法进行数值等效性测试:

对于某些形式的测试,您需要一个测试框架模型。该测试框架模型:

  • 生成会馈送到在测模块的测试向量或激励输入。

  • 使您能够观测或捕获模块的输出。

以下示例展示一个简单的测试框架模型。

在测模块是一个 Model 模块。Sine Wave 模块为 Model 模块生成输入。通过 Scope 模块,您可以观测 Model 模块的输出。有关创建和使用测试框架的信息,请参阅Create or Import Test Harnesses and Select Properties (Simulink Test)Code Generation Verification Workflow with Simulink Test (Simulink Test)

测试顶层模型代码

要一起测试从顶层模型组件(ABCD)生成的代码,可以使用顶层模型 SIL/PIL 或 Model 模块 SIL/PIL。

  • 顶层模型 SIL/PIL:

    1. MATLAB 工作区中创建测试向量或激励输入。

    2. 在普通、SIL 和 PIL 仿真模式下运行顶层模型。软件从 MATLAB® 工作区加载测试向量或激励输入。

    3. 对于每种仿真模式,观测或捕获输出。

    4. 通过将正常输出与 SIL 和 PIL 输出进行比较,验证数值等效性。

  • Model 模块 SIL/PIL:

    1. 创建一个包含顶层模型组件的 Model 模块。

    2. Model 模块插入一个仿真模型中,例如测试框架模型。

    3. 运行仿真,在普通、SIL 和 PIL 模式之间切换 Model 模块。对于 SIL 和 PIL 仿真模式,将代码接口 Model 模块参数设置为顶层模型

    4. 通过将正常输出与 SIL 和 PIL 输出进行比较,验证数值等效性。

有关详细信息,请参阅使用顶层模型进行仿真SIL/PIL Manager Verification Workflow

测试引用模型代码

要将从组件 C 生成的代码作为模型引用层次结构的一部分进行测试,请使用 Model 模块 SIL/PIL 方法:

  • 将 Model 模块 C 插入一个仿真模型中,例如测试框架模型。

  • 运行仿真,在普通、SIL 和 PIL 模式之间切换 Model 模块。对于 SIL 和 PIL 仿真模式,将代码接口 Model 模块参数设置为模型引用

  • 通过将正常输出与 SIL 和 PIL 输出进行比较,验证数值等效性。

有关详细信息,请参阅使用 Model 模块进行仿真SIL/PIL Manager Verification Workflow

测试子系统代码

要测试从子系统 D 生成的代码,请使用以下工作流之一。

工作流描述
已设置 SIL/PIL 管理器的 Simulink Test 框架

对作为从父模型生成的代码的一部分的子系统代码执行单元测试。

  1. 通过运行 slbuild(model)slbuild(model, 'RTWModelReferenceTargetOnly'),为包含子系统的模型生成代码。

  2. 在模型中,右键点击子系统,然后为子系统创建一个测试框架。

  3. 打开 SIL/PIL 管理器。如果需要,启用代码覆盖率分析。然后运行背靠背模型和 SIL 或 PIL 仿真。

  4. 如果需要,导出等效性测试用例。

有关详细信息,请参阅使用 SIL/PIL 管理器的单元测试子系统代码

如果此工作流不支持该子系统,请使用 SIL 或 PIL 模块工作流。有关不支持的子系统和其他限制的详细信息,请参阅Atomic Subsystem Workflow Limitations

SIL 或 PIL 模块

从子系统中生成并测试新独立代码。

  1. 将子系统插入一个仿真模型中,例如测试框架模型。

  2. 运行普通模式仿真以捕获输出。

  3. 从该子系统创建一个 SIL 或 PIL 模块。

  4. 在模型中,用 SIL 或 PIL 模块替换该子系统。

  5. 运行模型的仿真以捕获输出。

  6. 通过将普通模式子系统输出与 SIL 或 PIL 模块输出进行比较,验证数值等效性。

有关详细信息,请参阅SIL 或 PIL 模块仿真

摘要

用于生成代码的组件 仿真用途步骤生成的代码接口测试信号源
顶层模型顶层模型 SIL/PIL

在 SIL/PIL 管理器中:

  1. 选择仅 SIL/PIL 仿真模式。

  2. 在测系统中,选择顶层模型

独立MATLAB 工作区
Model 模块引用的模型Model 模块 SIL/PIL

  1. 在 SIL/PIL 管理器中:

    1. 选择仅 SIL/PIL 仿真模式。

    2. 在测系统中,选择 SIL/PIL 模式下的 Model 模块

  2. Model 模块中,将仿真模式设置为软件在环(SIL)处理器在环(PIL)

Model 模块参数代码接口确定 - 独立或模型引用。仿真模型,例如测试框架模型
子系统Simulink Test 框架和 SIL/PIL 管理器

  1. 为包含原子子系统的模型生成代码。

  2. 为子系统创建一个测试框架。

  3. 从 SIL/PIL 管理器中,运行背靠背模型和 SIL 或 PIL 仿真。

  4. 如果需要,导出等效性测试用例。

由生成的父模型代码确定 - 独立或模型引用。 Simulink® Test™ 框架
子系统SIL 或 PIL 模块手动模块代换独立仿真模型,例如测试框架模型。

相关主题