找回密码
 注册
Simdroid-非首页
查看: 113|回复: 4

[联合仿真] adams与matlab的联合仿真

[复制链接]
发表于 2014-9-25 12:48:00 | 显示全部楼层 |阅读模式 来自 江苏镇江
大家好!我在做联合仿真的时候遇到如下的问题:我以弹簧刚度值作为输入,以simulink中的sources的constant作为输出,adams读不了constant的值。弹簧刚度值只能以Design variable定义 ,而建立adams与simulink联系必须要建立adams_variable,于是我建立了Design variable与adams_variable的联系,再建立一个Design variable:type为string,建立成功后我改变adams_variable的function的值时,弹簧刚度的值也发生变化,可是当我在simulink中建立好模型时,adams的却怎么也读不出信号源,也就是不管加什么信号 ,output曲线图都不变化,就是想问下 做adams与simulink,如何一Design variable作为输入(例如以弹簧刚度作为输入)?  求大家指点
发表于 2014-9-26 18:01:00 | 显示全部楼层 来自 河北石家庄
Simdroid开发平台
这个问题我也曾经尝试了很多方法,现在来看,唯一可行的或者就我知道的方法是:用力元函数(单向力)代替弹簧进行建模,力元函数编辑为状态变量与相对位移的乘积。即用最本质的方法(数学表达式)来模拟弹簧的作用。此时,弹簧刚度可以表示为状态变量。当然,涉及到阻尼作用的话,还需加上阻尼系数的状态变量与相对速度的乘积。
希望对你有用。
回复 不支持

使用道具 举报

发表于 2014-9-26 18:06:22 | 显示全部楼层 来自 河北石家庄
另外,你是如何建立设计变量和状态变量之间的联系的?请教了
回复 不支持

使用道具 举报

 楼主| 发表于 2014-9-27 18:10:30 | 显示全部楼层 来自 江苏镇江
john152 发表于 2014-9-26 18:06
另外,你是如何建立设计变量和状态变量之间的联系的?请教了

老师您好!
采用您说的方法 我试过  是可行的  谢谢老师   
1.我这个设计变量和状态变量的联系是这样理解的 先创建一个状态变量  variable1  对应在创建设计变量 DV_1  TPYE 设置 string 和vaule 都可以 value为  variable1.func.function  也就是说variable1.func.function 是个定量 对应就是状态变量中function的值  (我的理解是没有varval函数 所以不好返还matlab的值)
2.当我用力元函数(单向力)的时候,用不同的step size 比如(0.01和0.02)结果会产生很出现误差的 请问下老师是这样的么   {我弹簧建模的varval(状态函数)*(DX(part.mark_1)-长度))}
3.在simulink中的adams_sub中的ADAMS Plant 的Communication interval(adams与matlab的交互间隔)是不是就是指的adams/view 中的stip size
4 不知道老师能否方便留下个联系方式 qq或者qq群
回复 不支持

使用道具 举报

发表于 2014-10-22 11:54:35 | 显示全部楼层 来自 河北石家庄
xkhappy1 发表于 2014-9-27 18:10
老师您好!
采用您说的方法 我试过  是可行的  谢谢老师   
1.我这个设计变量和状态变量的联系是这样理 ...

步长越小,计算越精确。matlab中求解器的步长要跟adams_sub中的步长一致。可以加我QQ40140176
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-23 16:18 , Processed in 0.030607 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表