AMESim与ADAMS联合仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AMESim与ADAMS联合仿真
1.引言
AMESim(Advanced Modeling Environment for Simulation of engineering systems)软件是由法国IMAGINE公司于1995年推出的多学科复杂领域系统工程高级建模和仿真平台,该软件不要求用户具备完备的仿真专业知识,采用面向系统原理图建模的方法,便于工程技术人员掌握和使用。机构动力学分析软件ADAMS (automatic dynamic of mechanical system)集建模、求解和可视化技术于一体,能有效分析和比较多种参数方案。运用AMESim与ADAMS的联合仿真,可以有效的对设备的动态过程进行分析,根据交互分析产生的结果来评价设备的性能,为了更加真实的符合实际情况,理论分析用来完成检验产生的数值结果。这种虚拟产品开发方法与得出的结论将对设计人员提供一定帮助。
通过AMESim/ADAMS之间的接口,有两种方式实现联合仿真:
1)将模型从一个平台中输入到另一个平台中,采用单一的积分器进行计算。
2)各个平台分别利用自己的积分器计算自己的模型,通过预先统一的通讯间隔进行信息交换。
2.软件环境要求:
首先AMESim软件需要4.2级以上版本; ADAMS需要2003级以上版本(含A/Control模块)。其次必须要有Microsoft Visual C++ 编译器。如果需要从ADAMS环境中使用接口,那么还强烈推荐Fortran编译器,这样可以将AMESim的模型编译成为ADAMS的子函数(Subroutine)。该接口支持的操作系统包括Windows、Sun、SGI和IBM。
3.AMESim与ADAMS接口操作:
要成功使用接口,必须在Windows中设置环境变量%AME_ADAMS_HOME%,该环境变量的值为ADAMS的安装路径(例如C :\ADAMS2003。注意在ADAMS 的安装路径中不能出现空格)。如果需要从ADAMS环境中使用接口,那么还需要将dfvars.bat文件拷贝至AMESim的安装路径下。
3.1.在ADAMS中设置用于输入到AMESim的模型
在这种情况下,AMESim是主控软件,用户需要在AMESim中运行并控制ADAMS的仿真进程。从ADAMS输出到AMESim有两种方式:
1)共同仿真模式,AMESim通知ADAMS在给定的时间间隔提供它的输出。由ADAMS自己来求解它的模型。
2)连续模式,AMESim从ADAMS输入完整的系统模型并将所有的方程集成起来在AMESim中求解,此时ADAMS只起到函数评估器的作用。
不管上述哪种模式,在ADAMS中的设置过程是一样的。用户只需要在AMESim中选择是共同仿真方式或是连续模式输出方式。
3.1.1:创建/检查需要交换的变量。
在这个步骤中,用户需要检查一些状态变量的定义,使用这些状态变量作为两个软件间的交换变量。例如,如果用在AMESim建立的液压作动器模型来驱动ADAMS中建立的机构模型,那么这些变量就应该是力、位移以及速度等。事实上, AMESim需要根据位移和速度计算得到力。
ADAMS中的输出变量,通常是速度和位移,主要是使用ADAMS内部函数来定义;如AZ()用于角度测量,WZ()用于转速,DM()用于位移。
注意变量的单位。也就是说需要注意ADAMS中变量的单位和AMESim 中的单位之间是否一致,如果不一致而用户又不希望分别在AMESim和ADAMS中修改单位,那么可以在AMESim的模型中加入信号控制库中的增益模块来实现单位的协调。
ADAMS的输入变量,通常是力或者扭矩,以标准的单元使用,比如单个单元力/扭矩或者通用力(6个元件)。在创建时,这些变量设置为0,因为它们的值是由其它软件(AMESim)计算得到。
在本例中,唯一的输入变量是扭矩,采用函数VARVAL来定义。
在ADAMS/View中,点击菜单Tools/Database Navigator…来定义azimuth_zctuator单元。点击菜单Build/System Elements/State Variables/Modify…来定义状态变量control_torque。
当用户完成创建输入、输出变量后,下一步需要在ADAMS中定义接口了。
3.1.2:定义接口
利用上一步创建的变量,使用现存的Plant Input和Plant Output建立接口模型。Plant Input:{control_torque}, 其中扭矩以单一单元扭矩使用,即VARVAL(control_touque)。Plant Output : {rotor_velocity, azimuth_position}, 这些变量由ADAMS的函数计算得到。
3.1.3:输出系统模型
ADAMS中用于存储结果的文件名(File prefix);
在第二步中创建的“plant input”和“plant output”;
在控制包(Control package)中选择“EASY5_和_MATRIXx”;
输出类型,选择线性还是非线性;
如果用户希望让ADAMS在运行系统前计算初始稳态分析的话,则需要选择“yes”反之选“no”;如果需要的话,填入用户定义的库名字。经过上述的步骤后, ADAMS将在用户的当前的工作路径中创建了3个文件:adams2amesim.inf…adm和…cmd。用户只需要注意adams2amesim.inf 即可。在此简单介绍一下这三个文件:
inf文件包括接口软件的基本信息:ADAMS的路径,ADAMS写入的文件名,求解器需要的信息,交换变量的定义,状态变量的数量。
adm文件包括ADAMS求解器进行仿真运算时需要读取的ADAMS系统的信息。
cmd文件包括所有AMDAMS/View需要的相关系统的信息。
到此为止,在ADAMS软件中的操作部分就完成了。
3.2 在AMESim中输入模型
用户已经在ADAMS中定义并生成了接口使用所需要的文件:.inf, .adm 以及.cmd文件。然后将在AMESim中建立的相关部分的模型保存到上述三个文件所在的目录中。
3.2.1:打开AMESim中的Interface菜单,选择Import Adams model,如下图所示。
在随后打开的对话框中选择在ADAMS中生成的.inf文件,然后可以出现下列窗口:
在左边的窗口中,AMESim将会自动将在ADAMS中定义的输入输出变量填入到相关的空格中。用户可以检查变量的名字并为该接口命名。在右边的窗口中各项的含义如下:
Output prefix name : 是ADAMS输出文件的名字;
User executable : 必要时可以在此加入ADAMS模型中需要的用户自定义应用库的路径,它通常包括一些子函数。
Simulation mode:Continuous代表将ADAMS的模型全部输入到AMESim 中进行仿真, Discrete代表共仿真。
Animation mode : Interactive代表在仿真的同时,运行A/View进行动画处理。Batch代表在仿真的时候不运行A/View,而是仿真结束后根据需要,用户自己运行A/View进行动画处理。
Output step size : 给出ADAMS写入结果文件时的时间间隔。
最后三项可以选择缺省设置。
3.2.2:从AMESim的Sketch模式进入AMESim的Parameter模式后,