主要内容

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

隔离模型组件以进行功能测试

您可以为使用 设计模型架构 设计的模型创建一个独立模型。模型切片将模型组件和相关信号分离出来,以便进行调试和改进。

隔离子系统进行功能测试

要调试和改进模型的子系统,请创建一个独立模型。独立模型将子系统和相关信号隔离出来。无需模拟整个源模型即可观察子系统行为。虚拟子系统无法进行切片。要隔离虚拟子系统,首先将其转换为原子子系统。

利用基于仿真的输入隔离子系统

为了观察子系统的仿真行为,将记录的信号输入包含在独立模型中。配置模型切片时,请指定仿真时间窗口。对于大型模型,在单独的模型中观察子系统行为可以比编译和运行整个源模型节省时间。

本示例展示了如何为巡航控制系统的控制器子系统添加仿真效果。

Simulink canvas for cruise control system

  1. 要打开模型切片器,在 App 选项卡上的模型验证、确认和测试库中,点击模型切片器

  2. 要选择依赖性分析的起点,请右键点击模块、信号或端口,然后在模型切片器应用程序部分 中选择“添加为起点”按钮

  3. 要隔离切片模型中的子系统,请右键点击该子系统,然后在“模型切片器”应用程序部分中选择“切片组件”按钮

    在示例模型中,选择切片组件作为控制器子系统,将依赖性分析限制在起点(油门输出端口)和控制器子系统之间的路径上。

    Simulink canvas with Controller subsystem and throttle outport highlighted

  4. 指定仿真时间窗口:

    1. 在模型切片器中,选择仿真时间窗

    2. 点击运行仿真按钮

    3. 输入仿真停止时间,然后点击确定

      Record simulation time window showing Stop time of 45 seconds

      模型切片器分析仿真区间内的模型依赖关系。

  5. 要提取子系统和已记录的信号,点击生成切片。输入切片模型的文件名。

    根据依赖性分析,Signal Editor 模块为子系统提供信号输入。

    在所示的切片模型中,切片模型 Signal Editor 模块包含一个测试用例,表示仿真时间 0-45 秒内控制器子系统的信号输入。

    Simulink canvas for sliced model

隔离引用模型进行功能测试

要对引用模型进行功能测试,您可以创建一个引用模型的切片,该模型被视为开环模型。您可以将简化的开环引用模型与通过仿真闭环系统生成的输入隔离开来。

此示例说明如何对容错燃油控制系统的引用模型控制器进行切片,以便进行功能测试。要创建一个简化的开环引用模型用于调试和细化,需要生成引用控制器的切片。

打开模型

容错燃油控制系统模型包含一个引用模型控制器 fuel_rate_control

open_system('sldvSlicerdemo_fuelsys');

对引用模型进行切片

要分析 fuel_rate_control 引用模型,请对其进行切片以创建一个独立的开环模型。要打开模型切片管理器,请打开应用库,然后选择模型切片器。或者,右键点击 fuel_rate_control 模型,然后在模型切片器应用程序部分中选择切片组件按钮。打开模型切片管理器时,模型切片器会编译模型。然后配置模型切片属性。

注意sldvSlicerdemo_fuelsys 模型的仿真模式是 Accelerator 模式。对引用模型进行切片时,软件会将仿真模式配置为 Normal 模式,并在退出模型切片器时将其设置回原始仿真模式。

选择起点

打开 fuel_rate_control 模型,右键点击 fuel-rate 端口,然后在模型切片器应用程序部分,选择“添加为起点”按钮。模型切片器会突出显示影响 fuel_rate 的上游构造。

生成切片

a.在“模型切片管理器”对话框中,选择仿真时间窗

b.点击运行仿真

c.对于停止时间,输入 20。点击确定

d.点击生成切片。软件通过使用闭环 sldvSlicerdemo_fuelsys 模型的输入对切片的引用模型进行仿真。

对于切片模型,在“信号编辑器”窗口中,将显示一个测试用例,该测试用例表示在仿真时间 0-20 秒内输入到引用模型的信号。

另请参阅

|