文件

保存和恢复仿真操作点

笔记

在R2019A中,SimState物体被重命名为ModeloperatingPoint.

为了有效地设计一个系统,您需要迭代地模拟一个模型,这样您就可以基于不同的输入、边界条件或操作条件来分析系统。在许多应用程序中,当执行多个模拟时,一个具有显著动态行为的启动阶段是很常见的。例如,燃气轮机的冷启动起飞发生在每组飞机机动之前。在多个模拟中,理想情况下:

  1. 模拟启动阶段一次。

  2. 在启动阶段结束时保存模拟快照。

  3. 使用此快照作为每组条件或操作的初始状态。

使用ModeloperatingPoint.对象保存模拟的快照。保存快照后,在将来的模拟中,还原ModeloperatingPoint.对象,并使用它设置初始条件。

ModeloperatingPoint.对象包含以下信息:

  • 登录状态

  • 求解器和执行引擎的状态

  • 用于注册过零点的块的零交叉信号

  • 模型中某些块的输出值

    金宝app®分析块连接和其他信息以确定是否有效地使用输出值作为状态信息。

ModeloperatingPoint.对象也存储这些块的隐藏状态:

  • 运输延迟

  • 可变运输延迟

  • 来自工作区

  • 为每个子系统

  • 有条件地执行子系统

  • 州流程

  • MATLAB系统

  • Simscape™多体™第二代

通过存储这些信息ModeloperatingPoint.对象确保从操作点开始的模拟结果与从头运行的模拟结果相同。

使用操作点的好处

  • ModeloperatingPoint.对象保存了模拟的快照,除了模型中的记录状态之外,它还保存信息。恢复所有这些信息,以确保模拟匹配不间断的仿真。例如,如果求解器信息影响了模拟,则在不使用的情况下更改块的状态ModeloperatingPoint.可以产生不同的结果。

  • 您可以在模拟期间保存几个操作点,然后从这些操作点中的任何一个恢复模拟。

  • ModeloperatingPoint.对象恢复通常难以恢复到特定状态的块的状态,例如传输延迟块。的状态运输延迟使用该数据时,块不会以结构格式或阵列格式保存最终状态配置参数。

你也可以使用最终状态选项数据导入/导出窗格以保存模拟状态。但是,此选项仅保存legged.状态—块的连续和离散状态。这些状态只是模型的完整仿真状态的子集。它们不包括关于块的隐藏状态的信息,而这些信息是正确执行块所必需的。

保存工作点

使用以下选项之一在最终步骤开始时保存操作点:

  • 在最后停止时间

  • 当您中断模拟时暂停停止按钮。您还可以在使用暂停模拟时保存操作点get_param(“modelName”、“CurrentOperatingPoint”)

  • 当你使用时set_param或者一个街区,就像停止块,停止模拟。

交互式保存

  1. 在“配置参数”对话框中,在数据导入/导出窗格,选择最终状态复选框。这保存最终的操作点复选框变为可用。

  2. 选择保存最终的操作点复选框。

  3. 最终状态文本框,输入变量名称ModeloperatingPoint.对象。

  4. 模拟模型。

程序拯救

使用SIM命令set_param.设定拯救浮萍参数到'在'

fuelsys set_param('fuelsys','savefinalstate','上','finalstatename',...'myoperpoint','saveoperationpoint','开');simout = sim('fuelsys','stoptime','10')myoperpoint = simout.myoperpoint

提示

在保存操作点之前,请禁用块减少参数in.配置设置>模拟目标>高级参数

恢复操作点

使用使用的仿真快照ModeloperatingPoint.修改模型后的对象。这开始时间从生成操作点的模拟中的值不会改变。它是原始和当前仿真中的所有时间和时间相关变量的参考值。例如,块可以保存和恢复自模拟开始以来发生的采样时间命中的数量ModeloperatingPoint.对象。

考虑一个从0运行到100秒的模型,现在您想从100运行到200秒。这开始时间对于原始仿真和当前仿真均为0 s。当前仿真的初始时间为100 s。此外,如果在原始模拟中块有10次采样时间命中,Simulink识别出下一个采样时间命中是第11次,相对于0,而不是100秒。金宝app

笔记

如果你改变开始时间在恢复之前ModeloperatingPoint.,S金宝appimulink覆盖了开始时间值保存在ModeloperatingPoint.

交互式恢复

  1. 在“配置参数”对话框中,在数据导入/导出窗格,下面从工作区加载,选择初始状态复选框。文本框变得可用。

  2. 的变量的名称ModeloperatingPoint.在文本框中。

  3. 设定停止时间值大于保存工作点的时间。

程序化的恢复

配置模拟以恢复在上面的示例中保存的操作点:

set_param('fuelsys','loadInitialstate','上','initialstate',...'myoperpoint');myoperpoint = simout.myoperpoint.

ModeloperatingPoint.对象在模拟模型时恢复。

从不同的恢复金宝app版本

您可以使用ModeloperatingPoint.从R2010a开始的版本中保存的对象来恢复ModeloperatingPoint.模型。但是,此选项仅恢复模型的记录状态。要查看用于保存的Simulink版本金宝appModeloperatingPoint.,检查一下版本参数的ModeloperatingPoint.对象。

金宝appSimulink检测是否ModeloperatingPoint.您作为初始状态提供的对象在当前版本中保存。默认情况下,Simuli金宝appnk如果存在错误消息ModeloperatingPoint.未保存在当前版本中。您可以配置诊断以允许Simulink将消息作为警告显示,并尝试尽可能多地还原。金宝app要启用此最佳恢复,请在“配置参数”对话框中设置消息早期版本中的操作点对象警告.以前叫SimState对象被加载为ModeloperatingPoint.对象在19。

相关的话题