中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 1664查看
  • 1回复

adams和simulink联合仿真经典

[复制链接]


该用户从未签到

发表于 24-7-2011 09:13:33 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


发文庆祝一下ADAMS/contro中的例子ball_beam通过联合仿真,个人觉得这个例子比天线的例子更加直观,更容易理解adams和simulink的联合仿真精髓。小球在一脉冲力的作用下沿着横梁滚动,此时梁的两端受力不平衡,梁的一段倾斜,为了使得小球不掉下横梁,在横梁上施加一个绕Z轴的力矩,横梁达到一定
的角度之后逆向转动,然后小球就在这个作用力矩的控制下来回滚动而不掉下横梁!其中控制力矩在整个过程中是个动态变化的,力矩Torque_In是通过位移Position 和横梁转角Beam_Angle确定,这个是在simulink中通过框图完成的。
首先我申明一下我用的是adams2003和matlab6.5
以下我说明一下我的操作步骤:
1、把control中的ball_beam文件copy到另外一个文件夹下,同时设置adams和matlab的默认路径即为ball_beam文件夹,这样可以省略很多不必要的麻烦!

2、用aview打开ball_beam.cmd文件,先试试仿真一下,可以看到小球会在脉冲的作用下滚动,仿真时间最好大于8s

3、载入control模块,点击tools|plugin manager在control框选定。

4、点击control|plant export在file prefix下输入你的文件名,这个可以随便的,我输入的是myball,在plant input点击右键点击guess选定tmp_MDI_PINPUT,在tmp_MDI_PINPUT中就是输入力矩Torque_In,只有一个输入参数;同样在plant output中点击右键guess选定tmp_MDI_POUTPUT,这是模型的输出变量横梁转角Beam_Angle和小球与横梁中心轴的距离position。control
package选择matlab,type是non_linear,初始化分析选择no,然后按ok!此时m文件已经生成了!

5、打开matalb,设置你的工作路径在ball_beam文件夹上,键入myball,马上有
%%% INFO : ADAMS plant actuators names :
1 Torque_In
%%% INFO : ADAMS plant sensors names :
1 Beam_Angle
2 Position
出现
6、再键入adams_sys,弹出一个控制框图,这时可以新建一个mdl文件,将adams_sub拖入你新建的mdl框图中,其实再这里有一个偷懒的办法,就是在matlab中打开ball_beam.mdl文件,然后把他的那个adams_sub用你的刚产生的这个代替,然后另存为my_ball.mdl!

7、设置仿真参数,在你刚建立的my_ball.mdl框图上的simulation parameter里设置一下stop time为10s,步长为ode15s。然后双击adams_sub打开adams_pant,再双击adams_pant弹出一个设置框图,在animation mode这一栏中选择interactive这是交互的,如果选择batch的话在联合仿真中看不到adams模型的运行情况(个人这样理解的:)!最后保存一下!

8、开始联合仿真start simulation,就会出现asolver,弹出dos文件,这个不管他,然后adams模型中的小球开始运动,估计会比较慢,最后会出现小球在横梁上运动而不掉下横梁!

这是我在做这个模型的过程中的一些东东,写的比较杂,呵呵!
如果大家觉得好的话可以顶一下,希望能给那些在adams和simulink联合仿真而徘徊的xdjm一点启示就行了!

note:这个例子是adams/cotrol自带的,可以在example中找到!
关于下述错误,我找到一个解决方法
Error reported by S-function 'adams_plant' in 'my_ball/adams_sub/ADAMS Plant/S-Function':
error in startup Could not connect to ADAMS server

编辑myball.m文件,将第24行
ADAMS_sysdir = strcat(topdir, '');
替换为第29行
ADAMS_sysdir = '...' ;依各人配置不同,具体路径有所区别

改完之后保存即可


该用户从未签到

发表于 11-10-2011 09:27:08 | 显示全部楼层
学习一下 多谢啦
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 22-12-2024 22:15 , Processed in 0.235959 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.