关于ADAMS与MATLAB联合仿真的一点经验
(2010-03-22 09:38:32)
标签:
学习公社校园生活教育杂谈 |
分类: 机械软件 |
小弟做了几天的联合仿真,没有取得预期的结果,参数在不断的修改,现在写一点没有多少技术含量的经验。
1、在matlab界面中启动simulink程序,点击仿真开始命令后,若搭建的仿真模块中的Animation mode为interactive,adams一般会被启动动态显示跟踪仿真结果,但是会发现adams中的仿真结果会被一个打开文件的对话窗口挡住,查询后知道,这是程序上的一个bug,修改方式如下:X:\MSC.Software->MSC.ADAMS->2005->aview->aviewAS,找到这个文件后,选择属性,将文件的只读属性去掉,然后右键单击文件编辑对话选项,在interface dialog display dialog=.gui.new_session此话之前添加一个!号即可。
2、此外,在联合仿真开始后,经常会出现找不到ADAMS服务器的提示,这是因为ADAMS提和Simulink联合仿真的通信和调度,如果simulink找不到它,则仿真不能进行,解决的方法有两个,一个是在matlab的默认路径中增加一个路径X:\MSC.Software->MSC.ADAMS->2005->win32,其中主要用到的是adams_plant.dll库函数,它实际是adams_sub的核心,ADAMS提供一个S函数,用于ADMAS和simulink联合仿真的调度和通信,如果simulink找不到它,则仿真就不能进行。或者将此路径adams_plant.dll以及X:\MSC.Software\MSC.ADAMS\2005\controls\win32下的plant.lib文件复制到adams和m文件的文件夹中,可以较大概率的解决此类问题,但是有时还会发现错误提示,这时一般要将所有程序全部重新启动,有时会试好几次,不知何故。当然,有时候在matlab中用clear命令也可解决,不过不是万能的。(看到论坛上有人说,用clear命令之所以能解决是因为每次运行都会产生误差积累,超过一定的限度仿真就跑不起来了)。
3、关于admas文件中的参数修改以后,simulink的更新问题。上述问题经在群里询问天津大学一个博士生后知道,每次admas修改之后,其中的机械模块都要修改。即需要重复仿真搭建过程了,变量已经设定好了,需要建立输入输出的定义、导出控制参数即可,然后调出adams_sys,将其中的机械模块复制代替原仿真文件中的机械模块即可。
4、关于变量的建立。adams状态变量建立后要与模型相关联,一般来说,adams输出是和具体的模型参数相联系的,比如位移、角度等等,而adams输入一般是力矩之类的。
有两本书写的不错,在此推荐一下:
[1]李增刚.ADAMS入门详解与实例[M].北京:国防工业出版社,2006.
[2]郭卫东.虚拟样机技术与ADAMS应用实例教程[M].北京:北京航空航天大学出版社,2008.
CopyRight:版权所有若需转载或使用请联系作者
Email:dingqian12345@126.com

加载中…