iCAx开思网
标题:
adams与matlab的联合仿真!
[打印本页]
作者:
honggang
时间:
2005-8-19 11:15
标题:
adams与matlab的联合仿真!
论坛中有关adams和simulink联合仿真的帖子不少,部分是成功者的经验,多数是初学者的疑惑。怎么安装和找到control模块,怎么在control中生成必需的中间文件,为什么仿真会失败?本人也曾对这些问题困惑过,经过一番摸索,积累了一点经验,愿与大家商讨。
对于第一个问题,我想就不必多说了。对于第二个问题可以参考郑建荣的ADAMS虚拟样机技术入门与提高第十三章机电一体化系统仿真部分,书中有两个问题需要注意:(1)书中介绍的ADAMS版本好像是10.0的,对于使用12.0的有一些差异:在Plant Export设置中无法直接选择输入输出变量control_torque、azimuth_position、rotor_velocity,它们分别由专门的宏tmp_MDI_PINPUT和tmp_MDI_POUTPUT表示。(2)天线仰角的方位角似乎应该是elevation_position,而不是azimuth_position,后者是天线支撑的转角。其它按文中所述步骤进行,File Prefix栏可随便写,不必一定用ant_test,最后在ADAMS的当前目录下生成四个文件:
ant_test.cmd
ant_test.adm
ant_test.acf
ant_test.m
第三个问题基本上是由于没有正确设置路径,找不到所需的文件造成的 ,这也说明了control模块在设计时没有很好地考虑健壮性问题。具体来说simulink在开始仿真时要找到以下这些文件:
1。上述生成的文件,主要是ant_test.m和ant_test.cmd,ant_test.m用于在simulink中对control模块环境和一些参数进行初始化,它必须在仿真前执行;ant_test.cmd是天线模型定义文件,由于这里ADAMS是作为simulink创建的一个子进程而被启动的,它所需的模型文件名由simulink的调用参数传过来的,所以simulink要能够定位ant_test.cmd(我一开始把它放到adams当前目录下,频频失败)。
2。adams_plant.dll,它其实就是adams_sub的核心,ADAMS提供一个S函数,用于adams和simulink联合仿真的调度和通讯,如果simulink找不到它,则仿真就不能进行。adams_plant.dll位于\ADAMS12\controls下。
解决方法是在simulink中设置好上述文件所在的路径,但一个更方便的方法是把它们都拷到matlab的当前工作目录下,一般是\MATLAB6p1\work。经过以上设置,应该不会再出现仿真失败的对话框了吧。另外,如果因为一些原因仿真失败,需重启matlab,否则的话因为一些运行库的错误信息还保留在系统中,即便改正了错误仿真也会失败,只有重新启动初始化这些库。
我用的是adams12和matlab6.1,以前流传它们之间存在不兼容的问题,其实都是上述原因造成的,不存在版本兼容的问题,adams和matlab都是成功的商业软件,在发布前经过了大量的测试,如果不兼容他们不会置若罔闻,现在好像还没有他们的官方声明吧 。
有个小小请求,在做RTW的时候需要用到adams_plant.obj,谁能找到提供给俺,则感激不尽,如果有其源代码则更好了,这可是真正开启adams和simulink联合仿真的金钥匙啊!
作者:
viocan
时间:
2005-8-20 10:58
顶。。。。。。
作者:
andyxin
时间:
2005-8-20 13:34
不错 顶一下
作者:
adamsxuexi
时间:
2005-9-13 19:46
你想要得是什么?
这个不是就自动生成了ma?
作者:
chenghongmei
时间:
2006-11-19 11:55
请教一下:有关ASAMS对立体车库的仿真!
作者:
chenghongmei
时间:
2006-11-19 11:57
请教一下:有关ADAMS对立体车库的仿真
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3