本人用ADAMS2005r2和Matlab7.1版本,其他版本未尝试
下面的步骤是在模板中建立相应状态变量的基础上进行的。
1.首先将adams的路径改为matlab下的work工作目录;file/select directory
2.进行only-files的动力学仿真,比如analysis
name设置为test1car(这里的仿真时间和步长可以设置得非常小,比如0.01s和1个步长)
3.在设置好input和output后,用controls/plant export将模型输出,比如file
prefix设置为semiactive1s
4.再进行一次only files的动力学仿真,设置与前一次相同;
5.这时,你将在work文件夹下找到6个文件,如:
test1car_dyn.acf
test1car_dyn.adm
test1car_dyn.log
test1car_dyn.nam
semiactive1s.adm
semiactive1s.m
6.用记事本把 test1car_dyn.acf 打开,将前4行和后3行删掉,剩余内容为:
array/3, numbers = 2, 1, 50.000000
simulate/static
control/function=user(917,6,50.000000)
control/function=user(300,50.000000,328)
7.用记事本打开semiactive1s.m,将ADAMS_prefix = 'semiactive1s'
项修改为:
ADAMS_prefix = 'test1car_dyn' ;
再将ADAMS_init = '' 项修改为:
ADAMS_init = 'file/command=test1car_dyn.acf'
;
8.打开matlab,在命令窗口输入:semiactive1s,按回车,将显示出所有的输入和输出变量
再输入命令:adams_sys,后回车,将出现adams模型窗口,把adams_sub拷贝到新的simulink窗口,关掉adams_sys,注意:不要保存修改(弹出save
*** before closing?时选择NO),不然下次会出错
9.建立控制系统,进行仿真即可
仿真时易出现各种错误,有很多是adams与matlab信息交换不畅造成的,一般解决方法是:
1.关掉防火墙或杀毒软件,比如卡巴斯基开着的话,仿真总是失败
2.彻底关掉matlab,重新执行各种操作
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删