MATLAB与ADAMS联合仿真说明

前面很多文章是针对有限元计算这块的,这次对联合控制仿真进行一次说明。虽然网上有很多相关详细的教程说明,但是仍然在自己具体操作中,很多人仍然遇到问题。

用MATLAB跟ADAMS做联合仿真,可以用来进行pid控制,或者结合PLC输入来验证和调试程序等等。这些都需要明确输入输出,明确输入输出之后其他的都是软件设置问题。

我采用ADAMS2013和MATLAB2013(a)进行联调,具体的技术操作跟网上一样。

1、在ADAMS中建立模型,设置好运动副。

2、根据模型建立输入输出状态变量,就是在ADAMS中的element中建立x变量;通过VARVAL(…)函数对输入变量处理,也就是说这个是变化的;然后在data element中设置对应的输入输出,如下图红框内容。

《MATLAB与ADAMS联合仿真说明》
《MATLAB与ADAMS联合仿真说明》

3、设置完成之后,在control模块导出生成MATLAB的*.m文件备用。如下图。

《MATLAB与ADAMS联合仿真说明》
《MATLAB与ADAMS联合仿真说明》

4、生成m文件之后,进入MATLAB。需要保证MATLAB的当前工作路径与ADAMS生成的*.m文件路径一致。设置一致之后运行adams_sys,然后弹出对应的ADAMS模块。该模块可以通过simulink与其它响应模块进行输入输出的建模。

至此,需要注意几点:

a)设置*.m文件时应该选择Fortran语言,不然容易出问题。

b)输入状态变量值默认取0就行F(t=0)=0。

c)利用好VARVAL()函数。

5、在simulink中,对ADAMS_sub设置如下。选择求解语言,这个应该是你再ADAMS的solver中设置的那个C++。设置通讯和交互方式,因为是一台电脑设置PIPE通讯方式,实时交互,就是运行simulink会启动ADAMS实时仿真。还需要设置仿真通讯时间(communication interval),这个值越小那么仿真时间会越长,也就是ADAMS与MATLAB之间数据传递时间越慢,但是仿真输出的曲线越平滑精确。

《MATLAB与ADAMS联合仿真说明》

6、在仿真结束之后,会有*.res文件,可以打开刚刚建立的ADAMS模型,通过import导入这个res文件,则可以再ADAMS中复现仿真,并在后处理输出数据和分析处理。

至此就完成了整个联合仿真。当然上述内容都比较简单,在网上也有很多更详细教程,但是对初入学习者来说能够很好的入门。另外因为不同人采用的仿真软件版本不一样,所以如果你不成功不一定是你弄错了,很可能是软件匹配的问题。

对于大家遇到的很多问题,如果在国内的论坛无法得到及时解答,可以考虑到ADAMS官网提问,上面很多专业工程师和技术支持工程师能很好地快速给出解答,供参考MSC.ADAMS Discussion Community: Viewing list of forums

简单一篇联合仿真内容,祝各位周末愉快~

    原文作者:Nan Chiang
    原文地址: https://zhuanlan.zhihu.com/p/22974733
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞