设计仿真 | Adams_Controls变拓扑分析

2024-12-27 17:39:56·  来源:海克斯康工业软件  
 

文章摘要

Adams的机电联合仿真解决方案在工程中有众多的应用,我们可以方便地利用联合仿真方式将Adams创建的机械模型输出到指定的一维软件环境中,不论是Matlab还是其它类似软件都可以实现。但是,用户经常苦恼于单纯的Adams仿真,他们可以使用脚本轻松地实现绝大部分的变拓扑分析,但是将Adams模型导入Matlab后,由于脚本不再能用,仿真以Matlab为主导进行,无法实现对Adams模型在仿真过程中的调整。本文针对该问题进行处理。


解决方法

第一种解决方法,不再使用联合仿真方式,而是使用控制模型导入Adams的方式,由于所有计算都是在Adams环境中完成的,脚本仿真仍旧可以使用,因此,这是一种比较直接的方法,也是很有效的。但是,使用该方法需要用户对Matlab模型转变为动态连接库的流程要比较熟悉,而且并不是所有Simulink元素都支持这种应用方法。

 第二种解决方法,仍旧采用联合仿真方式,此时,需要引用一下《Adams变拓扑分析之回调子程序》中所阐述的方法,通过回调函数以及传感器的综合使用,达到我们的目的。

当然还有一些方法也可以实现,比如通过参数传递的方式,通过控制一些弹性连接对象实现相应功能等。本文主要针对第二种解决方法的实现展开应用说明。


软件应用

由于涉及到多个软件的应用,因此,需要明确一下软件的版本:

  •  Adams2023.2

  •  Matlab R2019b

所使用的模型为Adams安装路径下的ball_beam模型,只不过需要对模型做一点修改,具体如下所示:

图片

图 1 平衡木基本模型

为了展示联合仿真过程中对模型拓扑的修改,在基础模型上添加了两个部件球体,一个位于小球的质心处,一个位于平衡木的左侧,然后分别定义固定副与原有小球和平衡木连接。另外,定义两个对应的sensor,为了方便,以时间为监测对象,分别设置了8秒和10秒的触发时间,也即8秒后与小球固连的部件自由落体,10秒后与平衡木固连的部件自由落体。最后,定义了回调对象,指定回调子程序。具体如下所示:

图片

图 2 平衡木修改后模型

上图中可以看到绿色部件与小球在质心处固连,红色部件与平衡木在左侧一个位置固连。传感器的定义以时间为监测对象,必须指定一个响应动作。

图片

图 3 两个传感器的定义

图片

图 4 回调对象定义  

指向czw_cbk_c.dll中的CBKSUB函数。关于CBKSUB程序的内容与《Adams变拓扑分析之回调子程序》完全相同。

图 5 机械模型输出

按照常规的联合仿真步骤进行Adams模型的输出,选择Matlab目标软件,输入和输出物理量。这里需要注意的一点是下部的User Defined Library Name处,可以指向回调函数的动态链接库,再配合回调对象中的设置;也可以不设置,因为,回调函数的动态链接库已经在当前工作路径之下,该路径也是一个变量对象。

完成模型输出后,剩余的操作转入Matlab中,通过执行接口m文件,将一些列用于联合仿真的设计量读入到workspace中,然后执行adams_sys将代表Adams模型的框对象打开,并与Matlab的控制模型融为一体。实现后的效果。

图 6 机电模型融合过程

图片

图 7 机电一体化模型

最后在Matlab中提交仿真,这里为了方便将仿真时间设置为11秒。联合仿真完成后,将Adams的计算结果导入进来,可进行如下分析查看及验证工作。

图片

图 8 8秒后绿色球与白色球固定副失效

图片     图 9 10秒后红色球与平衡木间的固定副失效

为了展示联合仿真过程中对模型拓扑的修改,在基础模型上添加了两个部件球体,一个位于小球的质心处,一个位于平衡木的左侧,然后分别定义固定副与原有小球和平衡木连接。另外,定义两个对应的sensor,为了方便,以时间为监测对象,分别设置了8秒和10秒的触发时间,也即8秒后与小球固连的部件自由落体,10秒后与平衡木固连的部件自由落体。最后,定义了回调对象,指定回调子程序。具体如下所示:总  结

通过回调函数子程序与传感器的联合应用,在Adams/Controls联合仿真中,可以有效地完成约束的失效等类似脚本仿真实现的功能,甚至一些脚本仿真实现不了的功能。这为扩展Adams/Controls联合仿真应用场景提供了便利条件,为复杂的机电仿真工况模拟提供了新的手段。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25