3. 示例教程¶
3.1. 运行示例¶
在了解仿真模型实现的细节之前,可以使用工具包自带的测试用例验证环境部署的正确性,我们先在GUI中快速完成这些操作。
运行MasterSimulatorUI.exe,启动MasterSim主界面,如 图 3.1 。
点击“Build model”,打开Milestone工具主界面,如 图 3.2 。
此处我们直接运行示例模型,切换至“代码生成”标签页,点击“创建工程”,如 图 3.3 。
弹出模型选择对话框,在模型列表中选择controller和plant模型,如 图 3.4 。
点击“创建工程”,完成编译工程的创建,如 图 3.5 。
点击“构建模型”,调用系统的编译环境,如 图 3.6 。
在工具包的export目录中,查看生成的FMU文件,如 图 3.7 。
在MasterSim主界面中打开自带的测试工程,如 图 3.8 。
测试工程在export/mastersim路径下,如 图 3.9 。
我们这里重新生成了其中的FMU模型,但他们的连接保持测试工程中的关系不变,如 图 3.10 。
MasterSim左侧的功能选择按钮可以启动Milestone,测试FMU中的信息,启动后处理程序,以图或表格的方式配置模型间的连接,以及配置仿真求解器参数等,请参考其 官方文档 获得更详细的信息。此处可直接使用示例中配置好的参数,点击“开始仿真”按钮,如 图 3.11 。
观察仿真器的监控信息,以及打印模型中输出的信息,如 图 3.12 。
生成的结果数据文件存放在results路径下,如 图 3.13 。
识别该csv文件的分隔符,用Excel等工具格式化查看,如 图 3.14 。
绘制仿真结果,验证模型的正确性,如 图 3.15 。
3.2. 示例模型说明¶
控制器模型为PD测速反馈控制器,如 Eq.3.1 。
被控对象为简单的一维质量块模型,如 Eq.3.2 。
所组成控制系统的原理框图如 图 3.16 所示。
系统的传递函数为 Eq.3.3 。
可见该反馈控制系统为典型的二阶系统,其特征方程为 Eq.3.4 , 为使得系统的响应具有较明显的动态过程,选择系统参数使得阻尼比较小且振荡频率为 \(0.5 \mathrm{Hz}\) 即取 \(\zeta=0.2, \omega_n=2\pi \times 0.5\) ,则系统的反馈增益为 \(k_p = \omega_n^2 m, k_d = 2 \zeta \omega_n m\) 。 对于这个简单的模型,当然没有必要分别使用不同的仿真工具对其不同部分进行建模, 但我们为了快速验证系统运行的正确性,可以以此作为测试用例,容易给出在Simulink中的仿真结果与设计的预期相一致,如 图 3.17 。
接下来,将控制器和被控对象分别实现为两个模型,通过接口的连接实现该系统的仿真,则系统的接口关系为 图 3.18 。