首页
视频教程
仿真模型
软件安装
精品文章
资料说明
留言板
全站
文章详情
Adams和Amesim联合仿真-cosim形式(Adms为主控)
2025-08-20
1.前言
在Adams 2008及之前版本,可通过Adams接口将Adams模型导Amesim
(
Amesim
主控)。但Adams 2013版本后取消了该接口,需借用FMU接口才可以,而Amesim没有取消与Adams专业接口。
FMU方式:Adams导入Amesim中(Amesim主控);
专用接口:
Amesim导入Adams中(Adams主控)。
Amesim专业接口又分成2种:
co-simulation(
联合仿真):
同时使用
Amesim
和Adams的各自求解器。这种"离散耦合"方式使两个仿真器彼此视为离散系统。由于每个模型部分都使用其原生的最优求解器,联合仿真在模型-求解器适配性方面更为鲁棒。需注意选择尽可能大的联合仿真步长(以提高性能),同时保持仿真稳定性。
model exchange(模型交互)
,
Adams求解器将同时求解
Amesim
和Adams部分,这通常(但非绝对)有利于提升性能。模型交换仅适用于需要紧密"连续"耦合的场景。当Amesim模型复杂时,adams求解器求解amesim模型就显得不合适了。建议采用第1种。
建议:模型较小时,采用第2种,精度更高;模型较大时,采用第1种,鲁棒性更好。
本案例采用
co-simulation接口,Amesim 2310版本+Adams 2020版本,模型文件见文末。且两者文件都保存在同一路径。
2.Amesim接口设置
打开模型,设置
co-simulation接口(序号1中图),2个输入:力和扭矩;4个输出:角速度+角度,线速度+位移。
生成接口
Amesim模型切换到仿真模式,软件编译后会生成
.dll
文件(名字为Amesim模型名字)。
3.Adams接口设置
设置输出接口(状态变量):
按如下图所示,选定1个物体绕另1个物体Z轴旋转的角速度。同样,设置其他3个输出接口。
注:名称要和Amesim接口设置一样。
设置输入接口(状态变量):
同样,设置2个输入接口,F值先保存默认值0,等下再关联(扭矩需Amesim模型计算,通过接口传递过来),如下图所示。
创建组:
创建输入组:如下图所示,依次创建即可,变量中,把4个输出量加进来,这里类型选择U输入(输入到Amesim中的量)。(右键-变量类型-浏览,可快速添加)。
再创建X状态组:大小为1,代表离散方式(cosim)。
再创建Y输出组:大小为2表示有2个输出量(输入力和扭矩)。
创建状态方程(关联数组):
按如下方法设置:把U数组(输入)、Y数组(输出)、X数组(离散)关联起来;用户函数参数:分别填写把输入和输出的ID,其余如图所示。
创建力和扭矩的关联接口
如下图:创建驱动位置的扭矩(先创建后修改),并关联F函数,注意函数名,数字2代表接口顺序(而1表示力顺序)。
系统单元
中也同步修改。
4.Adams脚本运行
在运行脚本之前,我们先把
.dll
文件加载进来。如下图所示,
执行
栏,选择外部;
求解库
栏,加载文件。
创建脚本,仿真时间与Amesim模型一致,且选择动力学仿真;然后运行脚本即可。
5.结果
对比Amesim与Adams值(第1张图为Amesim)。
公众号直接输入"关键词”检索历史精品文章
如需一起讨论,请在公众号后台回复:加群
分享
写评论...
发表评论
登录评论
匿名评论
提交
提交