开始使用快速重新启动

当你需要反复模拟模型来调整参数,实现期望的响应或自动测试,使用快速重启,以避免再次编译。快速的重启让您无需编译模型或每次终止模拟执行迭代模拟。使用快速重新启动通用的工作流包括以下步骤。

  1. 打开快速启动使用快速重新启动Simulink上的按钮万博1manbetx®工具条或从命令行。

  2. 模拟模型。第一个模拟需要模型编译、初始化和保存ModelOperatingPoint宾语。一旦模拟完成,它不会终止。取而代之的是,该模型是在快速重启再次初始化。

  3. 执行这些操作的:

    • 更改可调参数。

    • 调整根级输入。

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

    • 更改输入从文件从工作区阻碍。

    • 更改初始状态参数下次模拟。

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

    • 编程使用更改模型中的信号记录覆盖值set_param命令和DataLoggingOverride参数。看到覆盖从MATLAB信号记录设置

    一旦你已经初始化快速重启的模型,你不能

    • 改变尺寸,类型或信号或可变的复杂性。

    • 让如采样时间变为nontunable参数。

    • 使结构改变,例如添加或删除块或连接。

    这些变化需要您重新编译模型。为了使这样的改变,关闭快速重启,进行更改,然后重复这一过程。

  4. 模拟模型。该模型使用的参数和输入新的价值观,你提供的,但不会重新编译。

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

    注意

    当您关闭快速重启,Simulink中不存储模型中的任何编译信息。万博1manbetx该模型编译当你下次模拟模型。

准备一个模型中使用快速重新启动

之前模拟快速重启的模型,确保模型满足这些要求:

  • 如果已在模型中启用回调,请确保在重新初始化模型时它们不会尝试进行结构更改。例如,在每次模拟开始时调用回调(如掩码初始化命令)。因此,避免使用对模型进行结构更改的掩码初始化代码。

  • 在模型中必须支持所有块万博1manbetxModelOperatingPoint宾语。

  • 仿真模式是常规或加速器模式。

注意

当快速重启是,你不能改变它编译后保存到模型。保存更改需要Simulink中关于编译状态丢弃信万博1manbetx息。要保存到模型中的任何改变,关闭快速的重启第一。

启用快速重新启动

使用这些方法之一,实现快速重新启动:

  • 点击快速重启按键Simulin万博1manbetxk的编辑器工具栏上。

  • 在MATLAB®命令提示符下使用set_param以实现快速重启。类型

    设置参数(型号,'fastrest','on')

模拟使用快速重新启动模型

加载模型,并迅速开启重启后,仿真模型。

  1. 模拟通过调用模型SIM卡或点击按键在Simuli万博1manbetxnk编辑器工具条。在快速的重启第一仿真需要模型来编译和保存ModelOperatingPoint宾语。

    一旦模拟完成,状态栏表明,该模型在快速重启初始化。

  2. 调整在模型中的可调参数,诸如一个的增益值获得块,或调谐根级别的输入值。您也可以更改基工作区的变量。您不能调整nontunable参数,如采样时间,因为这样做需要的模型编译一次。

  3. 再次模拟模型。这一次,该模型不能编译。当您单击按钮或步骤向前,Simulink的更新有新的值,万博1manbetx以及该块参照的工作区的变量块。

  4. 当你满意你的结果,点击关闭快速重启快速重启键关机。

  5. 为了让您的更改,保存模型。

注意

一个模型在快速重启初始化后,Simulink的,如果你试图对模型中的结构变化显示警告。万博1manbetx做出这样的改变,你必须关闭快速重启。

停止模拟

当你点击停止在一个快速重启仿真的中间:

  • 模拟不终止。

  • 该模型是初始状态。

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

  • 您可以通过点击终止模拟和出口快速重启快速重启键关机。

退出快速重启

仅当模型是初始状态,您可以退出快速重启。模拟后,单击快速重启键关机。要以编程方式做到这一点,键入:

set_param(型号, 'FastRestart', 'off')中

  • 万博1manbetxSimulink的终止模拟。

  • 万博1manbetxSimulink中丢弃有关模型的任何编辑的信息。

  • 该模型必须重新您模拟下一次编译。

快速重启方法

模拟之间调整参数

  • 在当一个模型快速重启被初始化,除了块值和基工作区的变量,你可以调整参数数据导入/导出求解在配置参数对话框窗格(上模拟选项卡,在准备,点击模型设置)。

  • 某些参数仅当模型快速重启初始化模拟之间可调。它们包括:

    • 初始值的参数我知道了

    • 初始输出的参数合并

    • 数据的参数从工作区

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

模型方法和回调中快速重新启动

当快速重启是,Simulink的模型调用和块的方法万博1manbetx和回调如下:

  1. 呼叫模型InitFcn打回来。

  2. 呼叫模型SetupRuntimeResources方法。

    1. 呼叫mdlSetupRuntimeResourcesS-功能方法。

  3. 呼叫模型开始方法。

    1. 呼叫mdlStartS-功能方法。

  4. 呼叫模型初始化方法。

    1. 呼叫mdlInitializeConditionsS-功能方法。

      注意

      使用ssIsFirstInitCond标志后卫代码,应在任何模拟的初始化阶段,其中包括快速重启第一和随后的初始化只运行。

  5. 呼叫模型和块开始回调。

    注意

    步骤1-5适用于所有的模拟在Simulink(带或不带快速重新启动)。万博1manbetx

  6. 对于快速重启第一仿真,捕获模拟快照。仿真快照包含仿真状态(ModelOperatingPoint)以及与记录数据和可视化块相关的信息。作为快照捕获的一部分,调用ModelOperatingPointS-功能方法。

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

    • 呼叫模型输出

    • 呼叫模型更新

    • 呼叫模型衍生品

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

  8. 呼叫模型终止方法。

    1. 呼叫二氯甲烷S-功能方法。

  9. 经过模拟结束,呼叫模型和块StopFcn回调。这是任何模拟的标准阶段,有或无快速重启。

  10. 恢复采取快速重启模拟快照。由于恢复,呼叫的一部分S-功能方法。

  11. 等待的重新初始化的状态,直到这些操作之一:

    • 为了运行另一个模拟(编程方式或使用的Simulink编辑器)的快速重启,回到步骤3。万博1manbetx

    • 要结束快速重启模式和uncompile模型:

      1. 调用模型方法CleanupRuntimeResourcesmdlCleanupRuntimeResourcesS-功能方法。

      2. 不要打电话StopFcn在这一点上再次回调。

在某些情况下。该开始终止方法仅调用一次,不是每个连续快速重新启动模拟。在这些情况下,这些方法调用相结合,与调用SetupRuntimeResourcesCleanupRuntimeResources, 分别。这些情况如下:

  • 当S-功能包含自定义ModelOperatingPoint保存和恢复方法。

  • 当S-功能设置标志SS_OPTION_CALL_TERMINATE_ON_EXIT

  • 当S-功能被放置在参考模型的加速模式的内部。

关于模型回调的更多信息,请参阅回调定制模型行为

工作点和初始状态值

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

当一个ModelOperatingPoint对象初始状态快速重启时,每一个新的模拟复位到模型的开始时间,而不是每个快照时间ModelOperatingPoint宾语。之后,在向前的第一步骤中,Simulink中检查是否一个万博1manbetxModelOperatingPoint已经指定。如果是的话,Si万博1manbetxmulink的计算下一步骤之前恢复它。因此,第一模拟步骤有效地快进到指定的快照时间ModelOperatingPoint宾语。

分析数据使用模拟数据检查

快速重新启动支持数据使用模万博1manbetx拟数据查验记录。在快速重启每个仿真创建了一个名为的SDI对象快速重启运行<编号>。的价值递增每次模拟。

自定义代码在初始化函数

当您将自定义代码在配置参数>模拟目标>自定义代码>初始化函数窗格中模型配置参数对话框中,仅在快速重新启动中的第一个模拟期间调用此函数。

相关主题