CAE大拿 发表于 2017-6-2 16:11:07

Adams/Car如何与控制软件联合仿真


在做ADAMS/Car与控制软件进行联合仿真过程中,可能很多人会有这样的疑问:如果按照ADAMS/View中介绍的流程从Control Export输出*.inf或*.m文件,则联合仿真过程中信息可能不全,比如,整车路面信息和其它一些分析设置文件,因为它们需要在Adams/Car界面Simulate>Full-Vehicle Analysis菜单下设置,从而导致联合仿真没法进行,怎么办?

下面通过操作流程介绍Adams与控制软件实现联合仿真的方法,包括Adams/Car与Matlab、Adams/Car与Easy5的联合仿真流程。

一、ADAMS/Car与Matlab联合仿真流程
1、在ADAMS/Car界面下打开或建立好整车模型后,导入Controls插件:Tools>Plugin Manager>ADAMS/Controls;

2、开启ADAMS/Controls>Plant Export对话框,设置输入输出变量,点击ok,工作路径下会生成Controls_Plant_1.m文件,如下图所示:

图1设置输入输出变量
这里以软件安装路径下的Vehicle_demo为例,分别以sdi_testrig中的steering_wheel_torque和steering_wheel_angle作为输入、输出变量。

3、点击Simulation菜单,进行整车仿真,设置整车分析的模式mode of simulation为files_only,下面以step_steer仿真为例进行说明,分析设置如下图所示:
点击ok,会生成一系列文件,其中有后面步骤中需要用到的cosimulation_step_steer.acf、cosimulation_step_steer_controls.acf和cosimulation_step_steer.m文件。

图2整车分析设置

4、鼠标双击cosimulation_step_steer.m文件,修改ADAMS_outputs为testrig.steering_wheel_angle,一一对应具体的输入输出变量,修改ADAMS_uy_ids中的变量编号代码,具体形式可参照Controls_Plant_1.m中的设置;

图3修改cosimulation_step_steer.m文件中的输出变量名及编号

5、打开Matlab,设置工作路径与ADAMS/Car一致(非常关键),运行cosimulation_step_steer:
>> cosimulation_step_steer
%%% INFO : ADAMS plant actuators names :
1 testrig.steering_wheel_torque
%%% INFO : ADAMS plant sensors   names :
1 testrig.steering_wheel_angle

6、运行adams_sys,调出adams_plant,打开simulink,建立控制系统框图,设置adams_sub输出文件;

图4建立控制系统框图

7、点击simulation运行联合仿真。
ADAMS/Car与Matlab联合仿真也可以改变上面流程的第4步,通过修改ADAMS/Controls Plant Export生成的Controls_Plant_1.m文件,即保留前面的步骤,作如下调整:
鼠标双击第1步生成的Controls_Plant_1.m文件:
修改ADAMS_prefix=‘*******’为ADAMS_prefix = 'cosimulation_step_steer',
修改ADAMS_init = 'file/command=Controls_Plant_1_controls.acf'为ADAMS_init = 'file/command=cosimulation_step_steer_controls.acf';
打开Matlab,设置工作路径与ADAMS/Car一致(非常关键),运行Controls_Plant_1:
>> Controls_Plant_1
%%% INFO : ADAMS plant actuators names :
1 testrig.steering_wheel_torque
%%% INFO : ADAMS plant sensors   names :
1 testrig.steering_wheel_angle
后面步骤与前面相同。

二、ADAMS/Car与EASY5联合仿真流程
1、在ADAMS/Car界面下打开或建立好整车模型后,导入Controls插件:Tools>Plugin Manager>ADAMS/Controls;

2、开启ADAMS/Controls>Plant Export对话框,设置输入输出变量,点击ok,工作路径下会生成Controls_Plant_1.inf文件,如下图所示:

图5设置输入输出变量
这里以软件安装路径下的Vehicle_demo为例,分别以sdi_testrig中的steering_wheel_torque和steering_wheel_angle作为输入、输出变量。

3、点击Simulation菜单,进行整车仿真,设置整车分析的模式mode of simulation为files_only,下面以step_steer仿真为例进行说明,分析设置如下图所示,点击ok,会生成一系列文件,其中有后面步骤中需要用到的cosimulation_step_steer.acf、cosimulation_step_steer_controls.acf和test_step_steer.inf文件。

图6整车分析设置

4、鼠标双击cosimulation_step_steer.inf文件,修改NUMBER OF INPUTS/OUTPUTS,由“1 30”改为“1 1” (当然输入输出变量个数是多少就写多少), 修改OUTPUT VARIABLES,去除多余的输出变量,按照第2步中ADAMS/Control Plant Export的要求,仅留下testrig.steering_wheel_angle 31 1;

图7修改输出变量个数及输出变量名

5、打开EASY5,设置路径与ADAMS/Car一致,点击Configure,选cosimulation_step_steer.inf和co-Simulation,点击done完成设置;

图8在Easy5软件的Adams接口元件中读取inf文件

6、在EASY5图形界面中完成控制系统框图,进行分析设置;

图9建立控制系统框图

7、点击运行联合仿真。
ADAMS/Car与EASY5联合仿真也可以改变上面流程的第4步,通过修改ADAMS/Controls Plant Export生成的Controls_Plant_1.inf文件,即保留前面的步骤,作如下调整:
鼠标双击Controls_Plant_1.inf文件:
将文件中的Controls_Plant_1全部替换为cosimulation_step_steer,例如,
file/command=Controls_Plant_1_controls.acf变成
file/command=cosimulation_step_steer_controls.acf

图10修改Controls_Plant_1.inf文件
打开EASY5,设置路径与ADAMS/Car一致,点击Configure,选Controls_Plant_1和co-Simulation,点击done完成设置;

图11在Easy5软件的Adams接口元件中读取inf文件
后面步骤与前面相同。



swag91 发表于 2020-7-11 16:59:29


可以加下楼主嘛,联合仿真这块一直弄不通

my_dear2002 发表于 2020-7-11 18:24:56

swag91 发表于 2020-7-11 08:59
可以加下楼主嘛,联合仿真这块一直弄不通

就是文件数据的传递,想清楚了就不难了。

swag91 发表于 2020-8-4 11:29:48

my_dear2002 发表于 2020-7-11 18:24
就是文件数据的传递,想清楚了就不难了。

谢谢楼主:kiss:

zc630359 发表于 2020-8-31 16:20:49

有和amesim的联合仿真吗?
页: [1]
查看完整版本: Adams/Car如何与控制软件联合仿真