SimInTech支持与第三方软件的联合仿真,接口位于External models区块库。
图 1.1 SimInTech第三方软件接口界面
对于俄罗斯多体动力学软件Universal Mechanism,提供了以下两种方式。
SimInTech Import:从SimInTech编译DLL文件,导入UM
SimInTech Cosimulation:从UM生成cosim文件,链接到SimInTech
图 1.2 UM模块许可查看界面
SimInTech Import从SimInTech导出控制系统到UM进行联合仿真的流程如下:
在SimInTech里搭建控制框图;
从SimInTech输出动态链接库(DLL 文件);
在UM程序里创建机械系统模型;
在UM程序里加载机械系统模型,导入第二步得到的DLL文件;
在UM里进行仿真。
下面以UM软件自带的倒立摆模型为例进行介绍,该模型位于本地目录C:\Users\Public\Documents\UM Software Lab\Universal Mechanism\9\SAMPLES\ SimInTech\inv_pend_simintech。
操作步骤如下:
1. 运行SimInTech,打开UM软件自带的pid.prt文件,如图 1.3。
图 1.3 pid.prt文件位置
2. PID控制框图如图 1.4。
图 1.4 PID控制框图
注意:这里使用的是Signals区块库下的Input contact和Output contact。
3. 选择主菜单Code generation → C-code generation,弹出C-code generator窗口,在Setting页面确保选择的编译器是MinGW_DLL,如图 1.5。
图 1.5检查编译器
4. 点击按钮,在弹出的设置窗口展开Code Generation参数组,设置Name(s) of algorithm参数值(即编译得到的DLL文件的名称)为PID,如图 1.6。
图 1.6设置DLL文件名称
5. 选择主菜单Tools → Create sources。等待数秒,就在同一路径下生成了动态链接库文件PID.dll,如图 1.8。
图 1.7选择编译菜单
图 1.8 DLL文件创建成功
6. 关闭SimInTech软件。
7. 运行UM Simulation仿真程序,加载倒立摆模型C:\Users\Public\Documents\ UM Software Lab\Universal Mechanism\9\SAMPLES\SimInTech\inv_pend_ simintech。
8. 选择主菜单Tools → External library interface,弹出外部库向导窗口,定义好控制系统的输入和输出变量,如图 1.9。
图 1.9连接机械系统和控制系统
9. 点击OK,关闭外部库向导。
10. 开始仿真,从动画窗口可以观察到单摆在控制力作用下能保持稳定。
图 1.10单摆在在控制力作用下保持稳定
从UM导出机械系统模型到SimInTech进行联合仿真的流程如下:
在UM Input程序里创建机械系统模型;
在UM Simulation程序里加载机械系统模型,生成cosim文件;
在SimInTech里搭建控制框图;
添加一个UM专用接口区块到SimInTech控制系统;
在SimInTech里进行动力学仿真(UM在后台运行)。
同样,我们以倒立摆模型为例进行介绍,模型路径:C:\Users\Public\Documents\UM Software Lab\Universal Mechanism\9\SAMPLES\Cosimulation\inv_pend_cosim
1. 运行UM Simulation程序,加载模型inv_pend_cosim。
2. 选择菜单Tools → Wizard of export,弹出输出向导窗口。
3. 添加一个输入信号,从下拉菜单选择force;添加一个输出信号,从变量向导创建单摆绕X轴转动的角位移变量并拖至输出信号处,如图 1.11。
图 1.11定义UM模型输入输出信号
4. 点击按钮,设置名称inv_pend_cosim,点击保存。
5. 这样就生成了inv_pend_cosim.cosim文件,如图 1.12。在SimInTech环境中执行仿真时,通过cosim文件与UM进行数据交互。
图 1.12生成inv_pend_cosim.cosim文件
6. 运行SimInTech,搭建好PID控制系统框图,如图 1.13,并保存到UM的inv_pend_cosim模型目录下。
图 1.13包含UM专用接口的控制框图
7. 双击控制框图中的UM专用接口区块,在弹出窗口的Properties界面,设置Configuration file参数值为inv_pend_cosim.cosim,设置UM model file参数值为input.dat,如图 1.14。
图 1.14连接UM模型
8. 点击按钮,开始仿真,自动调出UM的动画窗口,可以观察到单摆在控制力作用下保持稳定,如图 1.15。
图 1.15在SimInTech环境里仿真