今天翻SIMPACK帮助文档的时候发现SIMOACK的一个好强的功能,记录一下……
我SIMPACK版本是2021版的,大概在帮助文档的这个位置,帮助文档在这提供了一个完整的示例
简单机翻下:
此示例使用 Excel® 和它的 VBA 编程语言来读入 Simpack 模型、修改 SubVars、运行模拟并直接在 Excel® 中查看输出通道。已准备好启用 Excel® 宏的电子表格,以便您可以加载示例 Simpack 模型并专门在电子表格中工作。您可以按照电子表格中的编号步骤执行操作,也可以在此处查看详细步骤。如果您选择按照电子表格中的编号步骤进行操作,则需要执行此处描述的第一个步骤才能访问示例。
- 单击 COM_Scripting_example.zip 访问示例:电子表格和 Simpack 模型。
- 将 .zip 文件保存在计算机上的任何位置并解压缩。
- 打开启用宏的电子表格 COM_Scripting_example.xlsm 并确保启用了宏。
- 单击模型 (.spck) 输入单元并选择 COM_Scripting_example.spck 文件的位置。
- 单击从 Simpack 中读取变量。这将打开所选模型并将 SubVar 值写入电子表格。
- 修改电子表格中的一个或多个 SubVar。这些更改仅适用于模拟运行,不会永久修改模型。
- 单击使用 Excel 中的 SubVar 值运行模型。这将使用 simpack-slv(Simpack Solver)打开 Simpack 模型,由选项定义:模型选择,并运行时间积分。您可以在消息中看到求解器的输出打印。
- 从结果 (.sbr) 输入单元格中选择结果文件。 .sbr 文件位于模型子目录“COM_Scripting_example.output”中。
- 您将看到标题为结果编号的不同列。单击标题正下方的输入单元格并选择通道“pos\$_Body2\alpha”。此通道返回此主体的 alpha 角度位置。
- 单击填充结果。这将使用选定的结果文件调用 simpack-post(Simpack Post 用户界面),返回时间历史,并将值填充到选定的列中。您可以使用 Excel® 绘图功能以图形方式查看结果。
- 如果要清除结果,请单击清除结果。
所有这些操作都是通过 VBA 编程语言执行的。您可以打开代码并调查执行了哪些操作:
- 要了解如何与 SubVar 进行通信,请参阅函数 Sub ReadSimpack()。
- 有关更新 Subvars 和运行模型,请参阅 Sub RunSimpackPre()。
- 要从 .sbr 文件中读取结果,请参阅 Sub Post2Excel()、Sub Results ()、Function FindChild 和 Sub displayObject。
帮助文档蓝色部分是一个跳转链接,打开是一个文件夹,可以复制到任意位置
打开是两个示例文件,可以用这个Excel控制SIMPACK的仿真
打开Excel文件,里面步骤还是标记的很清楚的,可以在这里面修改变量的值、控制仿真和得到仿真结果。
用示例文件尝试了一下,可以修改变量值和输出结果,感觉这个功能可以比较方便的修改变量值+出结果,不用打开-修改-保存-仿真-后处理……,还是简化了一些步骤的