当你需要反复模拟模型来调整参数,实现期望的响应或自动测试,使用快速重启,以避免再次编译。快速的重启让您无需编译模型或每次终止模拟执行迭代模拟。使用快速重新启动通用的工作流包括以下步骤。
打开快速启动使用快速重新启动Simulink上的按钮万博1manbetx®工具条或从命令行。
模拟模型。第一个模拟需要模型编译、初始化和保存ModelOperatingPoint
宾语。一旦模拟完成,它不会终止。取而代之的是,该模型是在快速重启再次初始化。
执行这些操作的:
更改可调参数。
调整根级输入。
修改基工作区,工作区模型的变量和数据由可调参数引用字典条目。
更改输入从文件和从工作区阻碍。
更改初始状态参数下次模拟。
使用信号生成器块,变化数据,重命名的信号和信号组,并添加新组。
编程使用更改模型中的信号记录覆盖值set_param
命令和DataLoggingOverride
参数。看到覆盖从MATLAB信号记录设置。
一旦你已经初始化快速重启的模型,你不能
改变尺寸,类型或信号或可变的复杂性。
让如采样时间变为nontunable参数。
使结构改变,例如添加或删除块或连接。
这些变化需要您重新编译模型。为了使这样的改变,关闭快速重启,进行更改,然后重复这一过程。
模拟模型。该模型使用的参数和输入新的价值观,你提供的,但不会重新编译。
一旦你已经达到了预期的响应,关闭快速重启。
当您关闭快速重启,Simulink中不存储模型中的任何编译信息。万博1manbetx该模型编译当你下次模拟模型。
之前模拟快速重启的模型,确保模型满足这些要求:
如果已在模型中启用回调,请确保在重新初始化模型时它们不会尝试进行结构更改。例如,在每次模拟开始时调用回调(如掩码初始化命令)。因此,避免使用对模型进行结构更改的掩码初始化代码。
在模型中必须支持所有块万博1manbetxModelOperatingPoint
宾语。
仿真模式是常规或加速器模式。
当快速重启是,你不能改变它编译后保存到模型。保存更改需要Simulink中关于编译状态丢弃信万博1manbetx息。要保存到模型中的任何改变,关闭快速的重启第一。
使用这些方法之一,实现快速重新启动:
点击快速重启按键Simulin万博1manbetxk的编辑器工具栏上。
在MATLAB®命令提示符下使用set_param
以实现快速重启。类型
设置参数(型号,'fastrest','on')
加载模型,并迅速开启重启后,仿真模型。
模拟通过调用模型SIM卡
或点击跑按键在Simuli万博1manbetxnk编辑器工具条。在快速的重启第一仿真需要模型来编译和保存ModelOperatingPoint
宾语。
一旦模拟完成,状态栏表明,该模型在快速重启初始化。
调整在模型中的可调参数,诸如一个的增益值获得块,或调谐根级别的输入值。您也可以更改基工作区的变量。您不能调整nontunable参数,如采样时间,因为这样做需要的模型编译一次。
再次模拟模型。这一次,该模型不能编译。当您单击玩按钮或步骤向前,Simulink的更新有新的值,万博1manbetx以及该块参照的工作区的变量块。
当你满意你的结果,点击关闭快速重启快速重启键关机。
为了让您的更改,保存模型。
一个模型在快速重启初始化后,Simulink的,如果你试图对模型中的结构变化显示警告。万博1manbetx做出这样的改变,你必须关闭快速重启。
当你点击停止在一个快速重启仿真的中间:
模拟不终止。
该模型是初始状态。
现在,您可以更改模型的可调参数
您可以通过点击终止模拟和出口快速重启快速重启键关机。
仅当模型是初始状态,您可以退出快速重启。模拟后,单击快速重启键关机。要以编程方式做到这一点,键入:
set_param(型号, 'FastRestart', 'off')中
万博1manbetxSimulink的终止模拟。
万博1manbetxSimulink中丢弃有关模型的任何编辑的信息。
该模型必须重新您模拟下一次编译。
在当一个模型快速重启被初始化,除了块值和基工作区的变量,你可以调整参数数据导入/导出和求解在配置参数对话框窗格(上模拟选项卡,在准备,点击模型设置)。
某些参数仅当模型快速重启初始化模拟之间可调。它们包括:
初始值的参数我知道了块
初始输出的参数合并块
数据的参数从工作区块
信号的参数和信号组信号生成器块。
当快速重启是,Simulink的模型调用和块的方法万博1manbetx和回调如下:
呼叫模型InitFcn
打回来。
呼叫模型SetupRuntimeResources
方法。
呼叫mdlSetupRuntimeResources
S-功能方法。
呼叫模型开始
方法。
呼叫mdlStart
S-功能方法。
呼叫模型初始化
方法。
呼叫mdlInitializeConditions
S-功能方法。
使用ssIsFirstInitCond
标志后卫代码,应在任何模拟的初始化阶段,其中包括快速重启第一和随后的初始化只运行。
呼叫模型和块开始
回调。
步骤1-5适用于所有的模拟在Simulink(带或不带快速重新启动)。万博1manbetx
对于快速重启第一仿真,捕获模拟快照。仿真快照包含仿真状态(ModelOperatingPoint
)以及与记录数据和可视化块相关的信息。作为快照捕获的一部分,调用ModelOperatingPoint
S-功能方法。
这是任何模拟的标准执行阶段,有或无快速重启。
呼叫模型输出
。
呼叫模型更新
。
呼叫模型衍生品
。
在循环中重复这些步骤,直到停止时间或请求停止。
呼叫模型终止
方法。
呼叫二氯甲烷
S-功能方法。
经过模拟结束,呼叫模型和块StopFcn
回调。这是任何模拟的标准阶段,有或无快速重启。
恢复采取快速重启模拟快照。由于恢复,呼叫的一部分组
S-功能方法。
等待的重新初始化的状态,直到这些操作之一:
为了运行另一个模拟(编程方式或使用的Simulink编辑器)的快速重启,回到步骤3。万博1manbetx
要结束快速重启模式和uncompile模型:
调用模型方法CleanupRuntimeResources
和mdlCleanupRuntimeResources
S-功能方法。
不要打电话StopFcn
在这一点上再次回调。
在某些情况下。该开始
和终止
方法仅调用一次,不是每个连续快速重新启动模拟。在这些情况下,这些方法调用相结合,与调用SetupRuntimeResources
和CleanupRuntimeResources
, 分别。这些情况如下:
当S-功能包含自定义ModelOperatingPoint
保存和恢复方法。
当S-功能设置标志SS_OPTION_CALL_TERMINATE_ON_EXIT
。
当S-功能被放置在参考模型的加速模式的内部。
关于模型回调的更多信息,请参阅回调定制模型行为。
您可以更改初始状态值,包括ModelOperatingPoint
在快速重启模拟之间。
当一个ModelOperatingPoint
对象初始状态快速重启时,每一个新的模拟复位到模型的开始时间,而不是每个快照时间ModelOperatingPoint
宾语。之后,在向前的第一步骤中,Simulink中检查是否一个万博1manbetxModelOperatingPoint
已经指定。如果是的话,Si万博1manbetxmulink的计算下一步骤之前恢复它。因此,第一模拟步骤有效地快进到指定的快照时间ModelOperatingPoint
宾语。
快速重新启动支持数据使用模万博1manbetx拟数据查验记录。在快速重启每个仿真创建了一个名为的SDI对象数
递增每次模拟。
当您将自定义代码在配置参数>模拟目标>自定义代码>初始化函数窗格中模型配置参数对话框中,仅在快速重新启动中的第一个模拟期间调用此函数。