主要内容

快速重启开始

当您需要迭代地模拟模型以优化参数、实现所需的响应或自动化测试时,请使用快速重启以避免再次编译。快速重启允许您执行迭代模拟,而无需每次编译模型或终止模拟。使用快速重启的通用工作流涉及以下步骤。

  1. 打开快速重启使用快速重启Simulink上的按钮金宝app®工具条或命令行。

  2. 模拟模型。第一个仿真要求模型编译,初始化和保存ModeloperatingPoint.目的。一旦模拟完成,它就不会终止。相反,该模型在快速重启时再次初始化。

  3. 执行任何这些操作:

    • 改变可调参数。

    • 调谐根级输入。

    • 修改基本工作区,模型工作区变量和可调谐参数引用的数据字典条目。

    • 更改输入从文件来自工作区块。

    • 改变初始状态参数,用于下一次模拟。

    • 使用信号生成器块,更改数据,重命名信号和信号组,并添加新组。

    • 通过使用的方式更改模型的信号记录覆盖值set_param命令和dataloggingoverride参数。看到从MATLAB覆盖信号日志记录设置

    在快速重启时初始化模型,您就不能

    • 更改信号或变量的尺寸、类型或复杂性。

    • 更改诸如采样时间之类的不可运送参数。

    • 进行结构更改,如添加或删除块或连接。

    这些更改要求您再次编译模型。要进行这样的更改,请关闭快速重启,进行更改,然后重复此过程。

  4. 模拟模型。该模型使用您提供的参数和输入的新值,但不再编译。

  5. 一旦你达到了期望的响应,关闭快速重启。

    笔记

    当您关闭快速重新启动时,Simulink不会存储模型的任何编译信金宝app息。当您下一次模拟模型时,模型将进行编译。

准备模型以使用快速重启

在快速重启时模拟模型之前,请确保该模型满足这些要求:

  • 如果您在模型中启用了回调,请确保当模型重新初始化时,不需要尝试进行结构更改。例如,在每个模拟开始时称诸如掩码初始化命令之类的回调。因此,避免使用掩码初始化代码,使结构变化为模型。

  • 模型中的所有块都必须支持金宝appModeloperatingPoint.目的。

  • 模拟模式为正常模式或加速模式。

笔记

快速重启时,您无法在编译后保存对模型的更改。保存更改需要Simulink丢弃有关编译状态的信金宝app息。要保存对模型的任何更改,请先关闭快速重启。

启用快速启动

使用其中一种方法来启用快速重启:

  • 单击快速重启按钮在Simuli金宝appnk编辑器工具栏上。

  • 在MATLAB®命令提示符,使用set_param启用快速重启。类型

    set_param(型号,'fastrestart','开')

使用快速重启模拟一个模型

加载模型并打开快速重启后,模拟模型。

  1. 通过调用来模拟模型SIM或点击按钮在Simuli金宝appnk编辑器工具栏中。快速重启中的第一个模拟要求模型编译并保存ModeloperatingPoint.目的。

    仿真完成后,状态栏显示该模型在快速重启时初始化。

  2. 调整模型中的可调参数,例如a的增益值获得块或调优根级输入值。您还可以对基本工作区变量进行更改。不能调整样本时间等不可调优参数,因为这样做需要再次编译模型。

  3. 再次模拟模型。这一次,模型不能编译。当你点击按钮或步骤向前,Simulink更新具有新值的块金宝app以及参考工作区变量的块。

  4. 当您对您的结果感到满意时,通过单击快速重启按钮。

  5. 要保持更改,请保存模型。

笔记

在快速重启中初始化模型后,如果您试图对模型进行结构更改,Simulink将显示一条警告。金宝app要进行这些更改,必须关闭快速重启。

停止模拟

当你点击停止在快速重启模拟的中间:

  • 模拟不会终止。

  • 该模型处于初始化状态。

  • 您现在可以更改模型中的可调参数

  • 您可以通过单击终止模拟并退出快速重启快速重启按钮。

退出快速重启

只有在初始化状态下时,才能退出快速重启。模拟后,单击快速重启按钮。要以编程方式完成此操作,输入:

set_param(模型,'fastrestart','关闭')

  • 金宝app仿真软件仿真终止。

  • 金宝appSimulink丢弃了所有关于模型的编译信息。

  • 该模型必须在下次模拟下次进行下次编译。

快速启动的方法

调整模拟之间的参数

  • 在快速重启中初始化模型时,除了块值和基础工作空间变量之外,您还可以调整参数数据导入/导出求解器“配置参数”对话框中的模拟标签,下面准备,点击模型设置).

  • 只有在快速重启时初始化模型时,才会在模拟之间调谐某些参数。它们包括:

    • 初始值参数的集成电路

    • 初始输出参数的合并

    • 数据参数的来自工作区

    • 信号的参数和信号组信号生成器堵塞。

快速重启模型方法和回调

当快速重启开启时,Simulink调用模型和块方法金宝app和回调如下:

  1. 调用模型InitFcn回调。

  2. 调用模型SetupRuntimeResources方法。

    1. 称呼mdlsetupruntimeresources.S函数方法。

  3. 调用模型开始方法。

    1. 称呼mdlstart.S函数方法。

  4. 调用模型初始化方法。

    1. 称呼mdlinitializeConditions.S函数方法。

      笔记

      使用SSISFIRSTINITCOND.标志,用于保护只应在任何模拟的初始化阶段(包括快速重启中的第一次和后续初始化)运行的代码。

  5. 调用模型和块startfcn.回调。

    笔记

    步骤1-5适用于Simulink中的所有模拟(有或没有快速重启)。金宝app

  6. 对于快速重启中的第一个模拟,捕获一个模拟快照。模拟快照包含模拟状态(ModeloperatingPoint.)和与记录数据和可视化块相关的信息。作为快照捕获的一部分,呼叫ModeloperatingPoint.S函数方法。

  7. 这是任何模拟的标准执行阶段,有或没有快速重启。

    • 调用模型输出

    • 调用模型更新

    • 调用模型衍生品

    • 在循环中重复这些步骤,直到请求停止时间或停止。

  8. 调用模型终止方法。

    1. 称呼mdlterminate.S函数方法。

  9. 仿真结束后,调用模型和块StopFcn回调。这是任何模拟的标准阶段,无论是否快速重启。

  10. 恢复为快速重启所拍摄的模拟快照。作为恢复的一部分,打电话S函数方法。

  11. 在重新初始化状态下等待,直到以下操作之一:

    • 要在快速重启时运行另一个模拟(以编程方式或使用Simulink编辑器),返回步骤3。金宝app

    • 要结束快速重启模式并解编译模型,请执行以下操作:

      1. 拨打模型方法cleanupruntimeresourcesmdlCleanupRuntimeResourcesS函数方法。

      2. 不叫StopFcn此时再次回调。

在某些情况下。这开始终止方法仅调用一次,而不是每次连续快速重启模拟。在这些情况下,这些方法调用与呼叫相结合SetupRuntimeResourcescleanupruntimeresources, 分别。这些案件如下:

  • 当S函数包含自定义时ModeloperatingPoint.保存和恢复方法。

  • 当s函数设置标志时SS_OPTION_CALL_TERMINATE_ON_EXIT

  • 当s函数被放置在参考模型的加速模式内时。

有关模型回调的更多信息,请参阅自定义模型行为的回调

操作点和初始状态值

您可以更改初始状态值,包括ModeloperatingPoint.,在快速重启模拟之间。

当一个ModeloperatingPoint.对象的初始状态用于快速重新启动,每次新的模拟将重置为模型的开始时间,而不是每个模型的快照时间ModeloperatingPoint.目的。此后,在第一步前进,Simulink检查是否存在金宝appModeloperatingPoint.已经指定。如果是,Simu金宝applink会在计算下一步之前将其恢复。因此,第一个模拟步骤有效地快进到指定的快照时间ModeloperatingPoint.目的。

使用仿真数据检查器分析数据

快速重启支持使用模拟数据检金宝app查器的数据记录。快速重启时的每一个模拟都会创建一个名称的SDI对象快速重启运行。的价值数量每个模拟的增量。

初始化函数中的自定义代码

将自定义代码放入配置参数>仿真目标>自定义代码>初始化功能窗格中模型配置参数对话框,这仅在快速重启时在第一次仿真中调用。

相关话题