Simulink+AMESim+Adams联合仿真详细教程(四)联合仿真案例制作
教程介绍
本教程适用于以simulink为主导,在simulink中搭建仿真流程,并调用AMESim和Adams完成计算的联合仿真项目。
本次联合仿真案例中AMESim模块将输入参数加0.5,然后输出;Adams模块模拟了一个小球从0位置处自由下落,同时收到向上的力时的运动过程,该力的施力物体可以简单理解为带阻尼的弹簧。
接下来我们正式开始。
准备工作
- 完成第一节教程,可以从AMESim中直接启动Matlab;
- 完成第二节教程,在AMESim项目文件路径存有给输入加1的项目文件;
- 完成第三节教程,建立了Adams动力学模型,在AMESim项目文件路径下存有Adams项目文件和Controls_Plant生成的几个文件。
联合仿真案例制作
- 启动AMESim,打开AMESim项目文件,并切换到SIMULATION;
案例中K为0.5,将输入参数“to_ame_1”加1输出给“from_ame_1”;
此时AMESim路径下会生成很多文件如下:
- 在AMESim中点击tools-Matlab,启动matlab;
- 在启动的Matlab中创建一个Simulink项目,命名为“Main_Simulink”;
- 添加“AME2SL”模块,并添加mexw64文件;
- 在Matlab中打开项目文件夹中Adams生成的.m文件,并运行;
- 在Matlab的命令窗口中输入“adams_sys”,打开adams_sys.xls
- 将其中的“adams_sub”模块复制到“Main_Simulink”Simulink项目中;
- 在Simulink中搭建仿真流程,具体操作步骤不做演示,最终项目案例如下:
案例实现的内容简单来说就是将小球挂在弹簧上,弹簧另外一端在沿着Y方向做正弦运动,示波器显示了弹簧两端的分别位移。 - 在simulink中双击adams_sub,再双击ADAMS Plant,在打开的窗体中将Animationmode修改为Interavctive;
- 提交计算,在示波器中可显示小球位置和弹簧另一端的位移曲线:
- 在simulink的参数进行调整,可以看到曲线发生变化;
将弹簧弹力由200调整为100,示波器中两条曲线的振幅差异增大一倍左右;
- 在AMESim中修改K值为0,保存项目,在Simulink中提交求解;
可以观察到蓝色曲线的起始点从0.5变为了0,同时黄色曲线开始时的运动状态由向上变为向下落。符合实际情况。
总结
本次教程中主要分4部分:环境配置、与AMESim的联仿、与Adams的联仿、三个软件的联合仿真。在这个过程中环境配置尤为重要,是每一步成功的基础。
联合仿真原本就是一项复杂的仿真任务,而对于一些复杂的系统,变量传递路径繁琐,这对联合仿真系统的开发和调试增加了更大难度。所以在开发联合仿真系统时,一定要心细细心再细心。
对与工程师来讲,同时掌握三个领域的知识也是一种挑战,可能需要耗费较大的时间成本。在此过程中要勇于利用资源,例如请求领域中更加专业的人员的帮助。
最后,联合仿真技术路线非常多,本次教程是常用的一种技术路线。但存在一定的缺陷,例如每次仿真开始与结束需要反复启动和结束Adams进程。这个行为在复杂模型仿真是会大幅度降低调试效率和仿真效率。
这里推荐一个比较好用的联合仿真软件:模型总线。它是一个支持跨领域、跨工具、跨尺度集成仿真的通用环境,适用与多系统并行求解联合仿真,不仅可以实现“白盒集成”,更显著提升了效率。该软件是西安中锐创联科技有限公司开发的商用软件,需要的可以了解一下。公众号直接搜“模型总线”即可。
最后
本次课程是产生的工程文件和word版本教程可以在主页下载。
《基于“ADAMS用户子程序”的联合仿真方法》正在编辑中,敬请期待…
相关课程
环境配置
请查阅文章:https://blog.csdn.net/a928115486/article/details/142636033?spm=1001.2014.3001.5501
AMESIM+matlab仿真案例制作
请查阅文章:https://blog.csdn.net/a928115486/article/details/142636882?spm=1001.2014.3001.5501
Adams+Simulink仿真案例制作
请查阅文章:https://blog.csdn.net/a928115486/article/details/142638973?spm=1001.2014.3001.5501