本人用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,重新执行各种操作

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐