ADAMS与Simulink联合仿真(二)

ADAMS与Simulink联合仿真(二)

在上一篇中设置好ADAMS向Simulink生成的工程后打开Matlab,先定位到ADAMS的工作目录

一、输入对应文件前缀的名称(输入错误会有修正提示)

ADAMS与Simulink联合仿真(二)

在里面可以看到输入输出量,工作区会看到一些ADAMS的参数量

二、输入adams_sys,会启动simulink,并生成一个Model

ADAMS与Simulink联合仿真(二)
其中有两个红色的模块分别为S-Funtion和State-Space,用法和simulink是一样的,这里为了简单演示,通过一个Ramp模块输入驱动变量,即是通过ADAMS中的输入状态变量驱动旋转驱动

三、点击adams_sub,设置MSC Software

ADAMS与Simulink联合仿真(二)

默认是使用本地的模拟,Adams/Sover type选项选择C++,Interprocess option选择PIPE,选择TCP话可以远程调试,Animation mode选择batch是在Simulink中调试,不调用ADAMS,选择interactive是调用系统中的ADAMS进行联合仿真,Simulation mode选择continuous,若只选择simulink调试,后面选项不用改,若是选择联合ADAMS仿真这要将下面的步长设置的和ADAMS中相同。

四、simulink仿真与联合仿真区别

在设置好上面的参数后开始先进行simulink的单独仿真Ramp设置的是18,仿真时间为10秒,也就是旋转半周,我的ADAMS模型是两个旋转驱动驱动两个杆件,输出的状态变量参数为两个杆件相对与大地(缺省值)的X、Y轴的位移量。

ADAMS与Simulink联合仿真(二)

显然这个两个结构的X-Y位移图是正确的,设置adams_sub的MSC Software,Animation mode选项选择interactive选项,imulation mode选择discrete(离散),进行simulink和ADAMS的联合仿真,交互步长设置为0.05。仿真过程中会启动ADASM,没启动的话说明上面那一步错了。

ADAMS与Simulink联合仿真(二)

ADASM与simulink的联合仿真是离散的,调试值长一点的话,直线会变得圆滑,看个人使用,真正的联合仿真效果还是很好的,通过我上一篇的一些函数简绍,可以把一些接触力,摩擦力,力矩等以状态变量的形式表现出来。