adams和simulink联合仿真时,为什么从adams导出的文件中没有acf文件,这个文件时必须的吗?求助。

2025-03-07 06:09:32
推荐回答(1个)
回答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,重新执行各种操作