文档库 最新最全的文档下载
当前位置:文档库 › 插入您的内部代码到AMESim仿真模块中

插入您的内部代码到AMESim仿真模块中

Technical Note n°312

Titre INSERT YOUR IN-HOUSE CODE IN YOUR AMESim MODEL

How to contact IMAGINE:

North America imagine-us@https://www.wendangku.net/doc/8b11868505.html,

Europe imagine@https://www.wendangku.net/doc/8b11868505.html,

Asia imagine-japan@https://www.wendangku.net/doc/8b11868505.html,

Visit https://www.wendangku.net/doc/8b11868505.html, for further contact information and details on other countries.

Copyright ? IMAGINE S.A. 1995-2002

AMESim? and AMESet? are the registered trademark of IMAGINE SA.

All other product names are trademarks or registered trademarks of their respective companies

Latest update: Dec. 18th, 2002

https://www.wendangku.net/doc/8b11868505.html, –

Insert your in-house code in your AMESim model 3/16

https://www.wendangku.net/doc/8b11868505.html, –

Insert your in-house code in your

AMESim model

The aim of this technical note is to provide to advanced users the capability to run their in house code in AMESim.

In the control library, you will find these three icons :

Dynamic mux and demux congest several information in a same table. Basically, because of the multiport approach from AMESim, the Mux and Demux have to be the inlet and outlet of your external executable. An adaptation will have to occur over your existing C/fortran code in order to be fully compatible with the AMESim plate form. This imposes to use functions from the AMESim control library. This note has two appendixes which are a model of C code and the explanation of how to link AMESim library to your current compiler (for NT).

C/FORTRAN code to adapt for AMESim

To allow running external codes into AMESim, we will need to modify your original C or Fortran Code to permit connection between AMESim and your executable.

Basically, Information will be received from a pipe at the inlet (function getinp_) and it will be sent (function senout_) to another pipe. This requires existing functions from AME.lib and that is the reason why we must link it to the compiler. We also need to define Amexit_() again in your code (its declaration is done in ameutils.h)

Insert your in-house code in your AMESim model 4/16

https://www.wendangku.net/doc/8b11868505.html, –

void AmeExit

#ifdef _NO_PROTO (status)

int status; #else

(int status) #endif {

fflush(stderr); fflush(stdout);

if (status) {

fprintf(stderr,"Customer model did an abnormal exit!\n"); } else {

fprintf(stderr,"Customer model terminated normally\n"); }

fflush(stderr); fflush(stdout);

exit(status); }

The skeleton of the code is already done by IMAGINE. The main function needs modifications only on the name and the arguments of your function (in our case calcul()):

int main() {

int file[2], iparam[1];

double rparam[NUMRPARAM], input[NUMINPUTS], output[NUMOUTPUTS]; int flag, numip, numrp, numinputs, numoutputs;

/* Establish a connection with parent program. If unsuccessful, the program will be stopped.

Insert your in-house code in your AMESim model 5/16

https://www.wendangku.net/doc/8b11868505.html, –

If successful, the following data will be set:

the file numbers for reading from and writing to the pipe (file(0) is input pipe and file(1) is output pipe;

the real parameters rparam (4 in this case); the integer parameters (1 in this case);

In addition the number of real parameters (=4), number of integer parameters 5=0),

number of inputs (=3) and number of outputs (=3) will be checked. */

numrp = NUMRPARAM; numip = IPARAM;

numinputs = NUMINPUTS; numoutputs = NUMOUTPUTS;

/* Libame functions to get, connect and transfer info from amesim to executable (connect_, getinp_, senout_ */

connec_(file, &numrp, rparam, &numip, iparam, &numinputs, &numoutputs);

/* Loop round getting inputs and setting outputs. */

/* executable treatment in an infinite loop*/

while (1) {

/* Get 3 inputs from pipe. */

getinp_(&(file[0]), &numinputs, input, &flag);

/* Compute outputs from inputs and parameters. */ calcul(rparam, input, output, flag);

/* Send 3 outputs down pipe. */

senout_(&(file[1]), &numoutputs, output); }

return 0; }

Insert your in-house code in your AMESim model 6/16

https://www.wendangku.net/doc/8b11868505.html, –

The code is written by the users in the function calcul(). He also will have to set the number of real parameters, integer, input and outputs at the beginning of the code in order to remain consistant with parameters in the DYNEXE0 submodels. Note that we can use the discontinuity handling from AMESim in your executable (in that case, the flag has to be sent to the executable via the inlet pipe.

Example:

We create a gain function which can be applied to three inputs signal. This gain could be changed from AMESim which leads us to declare it as o real parameter. We will not use any integer parameter but we must at least declare 1 in DYNEXE0. The executable will have 3 inputs and 3 outputs:

You will find the code in the Appendix section.

To allow connection in/out, we also need to use Mux and Demux models in AMESim. Then, the model will look like:

Insert your in-house code in your AMESim model 7/16

https://www.wendangku.net/doc/8b11868505.html, –

Figure 1: parameters for DYNEXE0

We advice to modify the parameter title from “real parameter” to “value of the gain” to have a more explicit environment.

Insert your in-house code in your AMESim model

8/16

https://www.wendangku.net/doc/8b11868505.html, –

The model sends 3 inputs:

? a constant value : 1

? a linear law : from 0 to 5 in 1 second

? a sinus wave : 2 Hz with an amplitude of 0.2

We can observe the results for the 3 inputs and let check that the gain is 10 for each signal

Insert your in-house code in your AMESim model 9/16

https://www.wendangku.net/doc/8b11868505.html, –

:

Insert your in-house code in your AMESim model 10/16

https://www.wendangku.net/doc/8b11868505.html, –

Insert your in-house code in your AMESim model 11/16

https://www.wendangku.net/doc/8b11868505.html, –

APPENDIX

C Code for the executable

#include #include #include #include "ameutils.h"

/* This executable will use some AMESim fonctions */ /* It is then necessary to link libame to the compilaleur */

#define NUMRPARAM 1 /* number of real parameters */

#define IPARAM 1 /* number of integer parameters */ #define NUMINPUTS 3 /* number of inputs */ #define NUMOUTPUTS 3 /* number of outputs */

/**************************************************************************/

/* Definition of external functions AmeExit */ /* Note that ameutils.h only declare AmeExit. This funtion is defined in the templates */

/* Then, we must define it again in our C code */

/**************************************************************************/

void AmeExit

#ifdef _NO_PROTO (status)

int status; #else

(int status) #endif

Insert your in-house code in your AMESim model 12/16

https://www.wendangku.net/doc/8b11868505.html, –

{

fflush(stderr); fflush(stdout);

if(status) {

fprintf(stderr,"Customer model did an abnormal exit!\n"); } else {

fprintf(stderr,"Customer model terminated normally\n"); }

fflush(stderr); fflush(stdout);

exit(status); }

/**************************************************************************/ /* */ /* calcul is the user function */ /* Arguments used are : */ /* real parameters table */ /* inputs, outputs, flag (if discontinuity requires */

/* */ /**************************************************************************/

static void calcul(double *rp, double *inp, double *out, int flag) {

Insert your in-house code in your AMESim model 13/16

https://www.wendangku.net/doc/8b11868505.html, –

double factor; int i;

/* The gain is the first parameter rp[0]*/

factor = rp[0];

for (i=0; i

out[i] = factor * inp[i]; } }

/**************************************************************************/

/* */ /* MAIN */

/**************************************************************************/

int main() {

int file[2], iparam[1];

double rparam[NUMRPARAM], input[NUMINPUTS], output[NUMOUTPUTS]; int flag, numip, numrp, numinputs, numoutputs;

/* Establish a connection with parent program. If unsuccessful, the program will be stopped. If successful, the following data will be set:

the file numbers for reading from and writing

to the pipe (file(0) is input pipe and file(1) is output pipe; the real parameters rparam (4 in this case); the integer parameters (1 in this case);

In addition the number of real parameters (=4),

Insert your in-house code in your AMESim model 14/16

https://www.wendangku.net/doc/8b11868505.html, –

number of integer parameters 5=0),

number of inputs (=3) and number of outputs (=3) will be checked. */

numrp = NUMRPARAM; numip = IPARAM;

numinputs = NUMINPUTS; numoutputs = NUMOUTPUTS;

/* Libame functions to get, connect and transfer info from amesim to executable (connect_, getinp_, senout_ */

connec_(file, &numrp, rparam, &numip, iparam, &numinputs, &numoutputs);

/* Loop round getting inputs and setting outputs. */

/* executable treatment in an infinite loop*/

while (1) {

/* Get 3 inputs from pipe. */

getinp_(&(file[0]), &numinputs, input, &flag);

/* Compute outputs from inputs and parameters. */ calcul(rparam, input, output, flag);

/* Send 3 outputs down pipe. */

senout_(&(file[1]), &numoutputs, output); }

return 0; }

Insert your in-house code in your AMESim model 15/16

https://www.wendangku.net/doc/8b11868505.html, –

How to link AME.lib with Microsoft Visual C.

1. First, we need to create an oblect file from the C code. It requires to indicates where ameutils.h is located in your machine.

This path has to be set in C/C++ -> Category.

In Category and below “additional include directory”, write the path

Insert your in-house code in your AMESim model 16/16

https://www.wendangku.net/doc/8b11868505.html, –

2. To create the executable, we n eed to link the AMESim library. Click now on the Link menu from Projects/Settings and select Input.

Indicate the library modules (AME.lib for NT or libame.a for Unix) plus the additional library path list (ex for NT: C:/AMESim4.0/lib/win32).

AMEsim联合仿真配置

本教程主要解决AMEsim R13联合仿真过程中SimuCosim生成失败问题。 VS2010(C:\Program Files (x86)\Microsoft Visual Studio 10.0) AMEsimR13(C:\AMESim) 注:先安装VS。

编辑还是新建记不清了,有就编辑,没有就新建。 用户变量(注,根据自己软件的安装路径对应修改) PACH C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools;C:\Program Files

(x86)\Microsoft Visual Studio 10.0\VC\bin; MSSDK C:\Program Files (x86)\Microsoft Visual Studio 10.0\SDK;C:\Program Files (x86)\Microsoft Visual Studio 10.0\DIA SDK; 系统变量 PACH %AME%;%AME%\win32;%AME%\win64;%AME%\sys\mingw32\bin;%AME%\sys\mpich\mpd\bin ;%AME%\sys\cgns;%AME%\sys\python\win32;%SystemRoot%\system32;%SystemRoot%;%Syste mRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\; AMEsim设置

参数模式

amesim、MatlaB联合仿真(最全面)接口设置

1、我们先要确定所使用的电脑上已经安装版本匹配的软件,必要的软件是visual stdio也就是vc++,我使用的vs版本是2010;MatlaB,我使用的是2011b; amesim,我使用的是amesim 12.0版本。PS:这几个版本的匹配情况请参阅LMS那边提供的帮助文档。 2、在默认版本安装成功的情况下,我们来设置一下环境变量: (1)我们要是设置用户变量:1)变量名:MatlaB,值为:D:\Program Files\MATLAB\R2011b,如图所示 2)设置第二个用户变量,变量名:Path,值为:D:\Program Files\MATLAB\R2011b\bin\win64,如图所示 那么,我们默认以上两个用户变量已经设置完毕。 (2)我们设置系统变量,我们找到系统变量的Path变量,点击编辑

这里我建议把系统变量的Path复制出来检查一下几个变量是否已经添加 C:\Program Files\Microsoft HPC Pack 2008 R2\Bin\; %AME%; %AME%\win32; %AME%\win64; %AME%\sys\mingw32\bin; %AME%\sys\mpich\mpd\bin; %AME%\sys\cgns; %AME%\sys\python\win32; C:\Program Files (x86)\Intel\iCLS Client\; C:\Program Files\Intel\iCLS Client\; %SystemRoot%\system32; %SystemRoot%; %SystemRoot%\System32\Wbem; %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\; C:\Program Files\Intel\Intel(R) Management Engine Components\DAL; C:\Program Files\Intel\Intel(R) Management Engine Components\IPT; C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL; C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT; d:\Program Files\MATLAB\R2011b\runtime\win64; d:\Program Files\MATLAB\R2011b\bin; D:\abaqus6134\Commands;D:\Program Files\MATLAB\R2011b\bin\win64; D:\Program Files (x86)\Microsoft Visual Studio 10.0这个可能需要动手自己添加

amesim与matlab联合仿真参数设置(精)

Amesim 与 matlab 联合仿真参数设置 实验软件平台 Matlab2009a , amesimR8a , VC6.0企业版 步骤: 1 将 VC++中的 "vcvar32.bat" 文件从 Microsoft Visual C++目录(通常 是 .\Microsoft Visual Studio\VC98\Bin中拷贝至 AMESim 目录下。 2 设置环境变量:我的电脑 -〉属性 -〉高级 -〉环境变量。设置 AMESim 环境变量:变量名 AME , 值为其安装路径如安装在 C 盘中则值为 C:\。设置 Matlab 环境变量:变量名MATLAB 值为 D:\MATLAB701。确认在系统变量 PATH 中包含系统安装目录C:\WINNT\System32 3 在 Matlab 的目录列表里加上 AMESim 与 Matlab 接口文件所在的目 录 %AME%\matlab\amesim。 File-〉 Set Path-〉 Add Folder 加上 C:\AMEsim\matlab\amesim。 (注意 amesimR8A 是 将 %AME%\scripting\matlab\amesim设置到 MATLAB 路径中 4 将联合仿真的许可证文件 licnese.dat 拷贝到 AMESim 安装目录下的 licnesing 文件夹中 5 确认是否在 AMESim 中选择 VC 作为编译器。具体操作在AMESim-〉 Opions-> AMESim Preferences->Compilation/Parameters中。 . 在MATLAB 命令窗口中输入命令 Mex -setup , 选择 VC 作为编译器。 如果上面设置成功下面不用看 下面给出 amesim4.0版本设置方法 为了实现二者的联合仿真,需要在 Windows2000或更高级操作系统下安装Visual C++ 6.0,AMESim4.2以上版本与 MATLAB6.1上版本 (含 Simulink

amesim与matlab联合仿真步骤(自己总结)

Amesim与matlab 联合仿真参数设置 实验软件平台 Matlab2009a,amesimR8a ,VC6.0 企业版(英文版) 步骤: 1 将VC++中的"vcvar32.bat" 文件从Microsoft Visual C++目录(通常是.\Microsoft Visual Studio\VC98\Bin 中)拷贝至AMESim 目录下。 2 设置环境变量:我的电脑- 〉属性-〉高级- 〉环境变量。设置AMESim环境变量:变量名AME,值为其安装路径如安装在 C 盘中则值为C:\+amesim 安装路径。设置Matlab 环境变量:变量名MATLAB值为D:\MATLAB,此处我安装的matlab 在D 盘根目录下。确认在系统环境变量PATH 中包含系统安装目录C:\WINDOWS\system32 3 在Matlab 的目录列表里加上AMESim 与Matlab 接口文件所在的目录%AME%\matlab\amesim。File- 〉Set Path- 〉Add Folder 加上需要联合仿真的amesim文件目录和C:\AMEsim\matlab\amesim(注意R8A版本是将%AME%\scripting\matlab\amesim 设置到MATLAB路径中)加入matlab 默认路径中 4 将联合仿真的许可证文件licnese.dat 拷贝到AMESim 安装目录下的licnesing 文件夹中 5 确认是否在AMESim 中选择VC 作为编译器。具体操作

在AMESim-〉Opions-> AMESim Preferences->Compilation/Parameters中。. 在MATLAB命令窗口中输入命令Mex -setup,选择VC 作为编译器 注意点: 1,Vc建议安装企业版而且是英文的,其第一次打开安装文件安装并不完全,重启动以后再次点安装文件,会出现于第一次安装文件不同的界面,就说明没有安装完全 2,Matlab 的安装目录和amesim的安装目录都不能在中文路径下,而去文件夹的名称不能有空格 3,联合仿真设置成功的标志: 可以运行amesim- 〉HELP- 〉GET AMESIM DEMO-〉interface- 〉amesimsimulink 下的范例 4,如果运行的现实找不到matlab bin 则说明系统环境变量中没有设置matlab 路径,设置方法见上面,再重启电脑,再次用amesim打开范例并到参数模式下,运行TOOLS-〉Start matlab,系统会调用matlab 程序,再在打开的matlab 中找到与amesim中打开的文件同目录且同名的.mdl 文件,在matlab 中运行仿真,如果没有错误则在amesim 中进入仿真模式打开相应的元件就可 以看到曲线(注意在amesim中不用运行仿真)

AMESim和ADAMS联合仿真设置

AMESim和ADAMS 依托AMESim7.0与adams2007或2005联合仿真过程,除要用到这两中软件外还要安装完整版的vc++(注意不能要绿色版,要完整破解版)。 设置环境变量: 右键点击我的电脑>属性>高级>环境变量,在administration 用户变量栏下点“新建”,设置:变量名 AME_ADAMS_HOME 变量值填写你安装adams的安装路径(例如:D:\adams2005) 然后确定。在开始>运行栏中打cmd进入dos环境,输入 echo %AME_ADAMS_HOME% 注意echo后有空格,然后回车,显示你的adams安装路径(例如:D:\adams2005)说明正确。 下面总体说一下联合仿真过程,简单的说,是两种软件量与量的交换过程。首先在adams中会建立一个接受AMESim传来的量(f)驱动模型,然后从adams中输出一个模型量(w)传到AMESim。 建立adams模型: 首先建立一个工作文件夹,adams和AMESim的工作目录全部指向它,注意这个文件夹的名字和路径全部为英文不能有其他符号和字符,视频教程中建在c盘根目录下,命名aa。为了说明清楚,在这里仅建立了一个绕固定点旋转的杆件模型,在它和ground直接加入铰接关系,就是那个合页的连接关系,给它加入空间力矩。然后在build下选system elements>stable variable>new建立新的变量f(AMESim 输入扭矩),用同样的方法建立变量w(adam s输出角速度),并且设置w的值,从build下选system elem ents>stable variable>modify选择model中的w,设定f=值,点击三个小点的按钮进入function build,在下拉框中选择velocity,单击anglar velocity about Z,点击assist,在to marker 栏右键单击,选择marker>browse,选择part2 cm(杆中心点),OK,Ok,删掉原有的0,然后确定, 然后选择build>contral toolit>plant input在弹出对话框中,双击variable nam e栏,Database Navigator中选择f,OK;同样在build>contral toolit>plant output的Database Navigator中选择w为输出变量,OK! 将前面设定的扭矩值设定为f,就是在那个fuction窗口中选data element>plant input. 从tool>plung manage>中选择control,调出control,在control下选择plant explorer,在plant input选择pinput1,在plant output选择poutput1,点确定。这时在aa文件夹下会出现三个文件*.inf, *.adm, *.cmd,其中*.inf文件包含了进行联合仿真时AMESim软件所需要的一些基本信息,如工作路径、文件名、输入输出变量的特征、状态变量数。*.cmd, *.adm分别是仿真运行时计算方式为交互式和批处理式所必须的数据文件,包含ADAMS求解器可读的信息,这些信息在运行仿真时,将输入到求解器。

AMESim与ADAMS联合仿真

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。

AMESim-MATLAB联合仿真详细设置+部分问题解决步骤

AMESim-Matlab 的联合仿真设置 1. 联合仿真的前期准备 1.1. AMESim 与Matlab 的版本匹配问题 AMESim 与Matlab 的联合仿真有两类接口: 接口(将AMESim 模型导入到Simulink 中) 接口(将Simulink 模型导入到AMESim 中) 两种不同的接口,对应的AMESim-Matlab 联合仿真的软件兼容列表,分别如图 1 和 2 所示。图中,"Probable"表示未经AMESim 官方测试,但仍然可以正常使用。"Yes"表示经AMESim 官方测试,确定可以正常使用。"No"表示该组合不能实现联合仿真。 如图 1 所示,"AMESim to Simulink" 接口对软件的版本要求较低,基本上AMESim Rev7(或者更高的版本)与Mablab R2007b (或者更高的版本)可以自由组合进行联合仿真。如果想使用"Simulink to AMESim" 接口,建议安装AMESim Rev11 以上的版本,Malab 只要求R2007b 以上即可。 图 1 "AMESim to Simulink" 接口 图 2 "Simulink to AMESim" 接口

1.2. Microsoft Visual C++编译器(VC++)的版本选择? AMESim 支持的VC++版本分别如图1(32 位编译器),图2(64 位编译器)所示。 图 1 和图 2 中,"Probable","Yes","No"表示的意思同上。经测试,AMESim Rev9 可以正常调用VS2010 版的VC++(32 位)。另外,从图 1 中,可以看到,VC++ 6.0 不能支持AMESim Rev11 以上的版本。建议安装英文版的VC++编译器,便于联合仿真出错时,查看编译信息,寻找问题所在。中文版的VC++编译器,在联合仿真出错时,部分编译信息会显示为乱码。 1.3. AMESim、Matlab、VC++的安装顺序需要注意吗? 建议的安装顺序为:先装VC++,Malab 和AMESim 的安装顺序任意,这样就能省去一些手动操作。AMESim 调用VC++编译器,需要事先将VC++编译器里的文件vcvars32.bat (32 位操作系统)或vcvars64.bat(64 位操作系统)拷贝到AMESim 的安装目录。如果先装VC++,后装AMESim,正常情况下,vcvars32.bat 文件会自动导入到AMESim 安装目录中。

AMESim与ADAMS联合仿真操作说明

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()用于位移。

amesim simulink联合仿真

MATLAB/Simulink interface? Version 4.0 - March 2002 https://www.wendangku.net/doc/8b11868505.html, EMail:cadserv21@https://www.wendangku.net/doc/8b11868505.html, The document is for study only,if tort to your rights,please inform us,we will delete

Copyright ? IMAGINE S.A. 1995-2002 AMESim? is the registered trademark of IMAGINE S.A. AMESet? is the registered trademark of IMAGINE S.A. ADAMS? is a registered United States trademark of Mechanical Dynamics, Incorporated. ADAMS/Solver? and ADAMS/View? are trademarks of Mechanical Dynamics, Incorpo- rated. MATLAB and SIMULINK are registered trademarks of the Math Works, Inc. Netscape and Netscape Navigator are registered trademarks of Netscape Communications Corporation in the United States and other countries. Netscape’s logos and Netscape product and service names are also trademarks of Netscape Communications Corporation, which may be registered in other countries. PostScript is a trademark of Adobe Systems Inc. UNIX is a registered trademark in the United States and other countries exclusively licensed by X / Open Company Ltd. Windows, Windows NT, Windows 2000 and Windows XP are registered trademarks of the Microsoft Corporation. X windows is a trademark of the Massachusetts Institute of Technology. All other product names are trademarks or registered trademarks of their respective compa- nies. https://www.wendangku.net/doc/8b11868505.html, EMail:cadserv21@https://www.wendangku.net/doc/8b11868505.html, The document is for study only,if tort to your rights,please inform us,we will delete

Adams与AMESim联合仿真实例

ADAMS与AMESim联合仿真 以AMESim作为主软件进行联合仿真。在ADAMS中建立曲柄滑块机构,将建立的模型导入AMESim中,用AMESim中的液压系统驱动曲柄转动,并绘制滑块的位移曲线。在创建模型前通过Settings—Interface Style—Classic将界面切换到经典模式。 1、在Adams中建立曲柄滑块机构,如图示: 2、通过Build—System Elements—New创建变量建立状态变量t,x,其中t代表力,x代表滑块的位移; t作为输入变量,默认为0;x作为输出变量,使用函数DZ(MARKER_12, MARKER_13, MARKER_13),MARKER_12是滑块上的一坐标系,MARKER_13

为ground与滑块建立移动副时产生的ground上的坐标系,其含义是测量MARKER_13到MARKER_12的距离,方向沿MARKER_13的Z轴方向。 3、通过Date Elements—Plant—Plant Input/Plant Output建立输入输出变量,并与状态变量连接起来 4、右击SFORCE_1将力与输入变量连接起来

5、通过Controls—Plant Export将ADAMS模型导出

6、在AMESim中建立液压系统如图示: 通过Modeling—Interface block—Import Adams model,选择工作目录中刚刚生成的inf文件; 完成如下图示的菜单

最终的液压系统如下图示

7、进行联合仿真,注意Print interval的值要小于MSC.Adams output step size 的值 进行联合仿真时如下图示:

高版本AMESim-MATLAB联合仿真详细设置步骤

高版本AMESim—MATLAB联合仿真设置详细步骤说明:现以AMESimR12、MATLAB2010a为例说明,其他版本类似。 1、版本要求 亮色为可行匹配 2、辅助软件VS 若要使用AMESim 与Simulink 的接口,则需要在本机安装编译器,高版本软件需要高版本的编译器,这里以VS2008为例设置。一般推荐先安装VS编译器,然后安装Matlab,最后安装AMESim的顺序。 若后安装VS编译器,将VS编译器安装目录下如D:\Program Files\Microsoft Visual Studio 9.0\VC\bin目录中的nmake.exe 文件和vcvars32.bat 文件拷贝至AMESim 安装目录,如D:\AMESim\v1200下。

3、环境变量设置 定义Windows 系统环境变量: 1)选择“控制面板-系统”或者在“我的电脑”图标上点右键,选择“属性”; 2)在弹出的“系统属性”窗口中选择“高级”页,选择“环境变量”; 3)用户变量中添加 HOME D:\ MATLAB D:\MATLAB\R2010a Path D:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;D:\Program Files\Microsoft Visual Studio 9.0\VC\bin;D:\Program Files\Microsoft Visual Studio 9.0\VC\bin;D:\MATLAB\R2010a\bin;D:\MATLAB\R2010a\bin\win32 4) 在系统变量中添加 在Path 环境变量中加入(以分号与其它已经存在的变量值隔开)路径:Matlab_Root( 如D:\Matlab\R2010a)\bin 和Matlab_Root( 如D:\Matlab\R2010a)\bin\win32 ,以及%windir%\System32,其中%windir%指的是Windows 的安装路径,如C:\WINNT Path D:\Program Files\Microsoft Visual Studio 9.0;D:\AMESim\v1200;D:\AMESim\v1200\win32;D:\AMESim\v1200\sys\mingw32\bin;D:\AMESi m\v1200\sys\mpich\mpd\bin;D:\AMESim\v1200\sys\cgns;%SystemRoot%\system32;%SystemRo ot%;%SystemRoot%\System32\Wbem;D:\MATLAB\R2010a\bin\win32;C:\WINDOWS\system32;C: \WINNT

AMESim与MATLAB_Simulink联合仿真接口配置

AMESim—MATLAB(64位)联合仿真设置详细步骤说明:现以AMESimR12、MATLAB2014b为例说明,其他版本类似。 1、版本要求 2、辅助软件VS2013 若要使用 AMESim 与 Simulink 的接口,则需要在本机安装编译器,高版本软件需要高版本的编译器,这里以VS2013为例设置。一般推荐先安装VS编译器,然后安装 Matlab,最后安装 AMESim的顺序。 若后安装VS编译器,将VS编译器安装目录下如 D:\ Microsoft Visual Studio 12.0 \VC\bin 目录中的nmake.exe 文件和vcvars32.bat 以及D:\Microsoft Visual Studio 12.0\VC\bin\amd64下的vcvars64.bat(64位版本的MATLAB)文件拷贝至 AMESim 安装目录,如D:\AMESim\v1200下。 3、环境变量设置 定义Windows 系统环境变量: 1)选择“控制面板-系统”或者在“我的电脑”图标上点右键,选择“属性”; 2)在弹出的“系统属性”窗口中选择“高级”页,选择“环境变量”; 3)用户变量中添加 HOME D:\ MATLAB D:\MATLAB\R2014b Path D:\ Microsoft Visual Studio 12.0\Common7\Tools; D:\ Microsoft Visual Studio 12.0\VC\bin; D:\Program Files\MATLAB\R2014b\bin; D:\Program Files\MATLAB\R2014b\bin\win64

AMESim系统建模和仿真—从入门到精通第1章 引言

第一章引言 本章将介绍AMESim 家族产品和AMESim 4.2的新特征。 AMESim是什么? AMESim 怎么用? 如何使用文件组? 在线帮助的组织结构。AMESim 4 软件包。 AMESim 4.2的新特征 1.1 AMESim是什么? AMESim表示工程系统仿真高级建模环境(A dvanced M odeling E nvironment for performing Sim ulations of engineering systems).基于直接图形接口,在整个仿真过程中系统可以显示在环境中。AMESim 使用图标符号代表各种系统的元件,这些图标符号要么是国际标准组织如工程领域的ISO为液压元部件确定的标准符号,或为控制系统确定的方块图符号,或者当不存在这样的标准符号时可以为该系统给出一个容易接受的非标准图形特征。. Figure 1.1: AMESim中使用符号 Figure 1.1 所示为使用标准液压,机械和控制符号表达的一个工程系统。Figure 1.2所示为使用了非标准图形特征的汽车制动系统。 Figure 1.2: 汽车制动系统的符号

1.2 如何使用AMESim? 使用AMESim你可以通过在绘图区添加符号或图标搭建工程系统草图,搭建完草图后,可按如步骤进行系统仿真: ?图标元件的数学描述 ? 设定元件的特征 ? 初始化仿真运行 ? 绘图显示系统运行状况 Figure 1.3 所示为从HCD符号构建的一个三柱塞径向液压泵详细模型。箭头用来表示液流方向。 Figure 1.3: 从HCD符号构建的一个三柱塞径向液压泵

大多数自动化系统都可按上述步骤执行,在每一步都可以看到系统草图。 接口 现在的联系是为了提供软件间的接口使它们能够联合工作,以便你能够获得每个软件的最佳特征。标准AMESim软件包提供了与MATLAB.的接口。这使你有权使用控制器设计,优化工具和功率谱分析等。还有其它一些接口可用,AMESim 最新接口信息请参见1.6.6节接口。 方程 AMESim用方程组来描述工程系统的动态行为,用计算机码作为系统模型来执行。在系统内用方程和计算机码构建各元件的模型。这些用作子模型。AMESim 内有庞大的元部件子模型和图标符号库。 标准库 标准库提供了控制和机械图标,子模型允许你完成大量工程系统的动态仿真。另外,还有一些可选库,如液压元件设计库,液压阻尼,气动,热力学,热力液压,冷却系统,传动系,输油等... 1.3如何使用文件组 文件组由以下组成:The documentation set is made up of: ? 打印和PDF格式的AMESim平台使用手册 ?打印和PDF格式的各种库使用手册 ? HTML 格式的所有子模型的说明书 打印格式文件包含在随同你申请的CD ROM中。

MATLAB与AMESim联合仿真设置方法

一、联合仿真设置及应注意事项: 软件版本:AMESim Rev 10 SL1; Matlab R2011a; VC++6.0。 1、将将VC++中的"vcvar32.bat"文件从Microsoft Visual C++目录(通常是.\Microsoft Visual Studio\VC98\Bin中)拷贝至AMESim目录下 注:一般先安装VC++,再安装AMESim,这样"vcvar32.bat"就自动出现在AMESim目录下; MATLAB的安装目录不能有空格。 2、环境变量确认: 1)选择“控制面板-系统”或者在“我的电脑”图标上点右键,选择“属性”; 2)在弹出的“系统属性”窗口中选择“高级”页,选择“环境变量”; 3)在弹出的“环境变量”窗口中设置环境变量“AME”和“MATLAB”,值分别是其所安装的路径,设置好后会出现在如图所示的系统变量框中。(AMESim软件一般安装之后重启机器,环境变量会自动设置好,但是MATLAB需要手动设置) 3、确认是否在AMESim中选择了VC作为编译器,具体操作:在AMESim界面里,选择Tools —>Options—>AMESim preferences—>Compilation/Parameters,选中下边的Microsoft Visual C++,如下图所示:

4、在MATLAB命令窗口中输入Mex –setup,选择VC作为编译器,具体如下所示:

5、在Matlab 的目录列表里加上AMESim与Matlab 接口文件所在的目录\AMESim\v1010\scripting\matlab\amesim,具体如下所示: 二、联合仿真实例实例

AMESim与ADAMS联合仿真步骤及相关注意事项

AMESim与ADAMS联合仿真 1、安装软件 最好的安装顺序:VS , Adams,Amesim 安装路径不要有中文和空格及特殊字符 2、环境变量设置 AME_ADAMS_HOME,指向Adams安装目录,如:D:\MSC.Software\MD_Adams\R3 ADAMS_CONTROLS_WTIME=20 3、安装完成后,确认在AMESim安装目录下(如:AMESim/v1300)已包含如下文件: nmake.exe vcvars32.bat 如果没有,从VS安装目录拷贝过来(C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin)。 4、将adams库加入到AMESim路径中:

五、如果提示MSSDK问题,安装GRMSDKX_EN_DVD.iso。也就是安装Windows SDK7.1 如果安装时报错,可按照方法:卸载比Microsoft Visual C++ 2010 x86 Redistributable - 10.0.30319 以及Microsoft Visual C++ 2010 x64 Redistributable - 10.0.30319更高的版本。 如果还出错,在安装时不要选择安装VC-Compiler,其它选项默认即可。 如果卸载了上面的两个组件,则需要安装VBVCRedist中的两个补丁,只需要选择两个卸载的补丁即可。 六、如果提示AsUtility_imp.lib的link错误,在C盘中搜索,找到该文件,再放到AMESim 模型所在工作目录。(一般不需要此项。) 七、64位操作系统中:AMESim中选择Microsoft Visual C++编译器,Subplatform type选择win64。如下图

AMESIM和MATLAB联合仿真设置教程(64位系统)

AMESIM和MATLAB联合仿真设置教程 机器人阿杰博士 本人鼎力制作amesim视频教程《基于AMESim-MATLAB联合仿真的电液伺服控制算法》和《基于Amesim-Matlab-Adams联合仿真的机电液一体化综合案例高级专题》,可以到淘宝搜索找到对应连接和详细说明。 1、适用范围:win10 64位系统 2、注意事项 Matlab 的安装目录和amesim 的安装目录都不能在中文路径下,而且文件夹的名称不能有空格。如不能是C:\Program Files (有空格)建议三个软件都安装在C 盘。 C:\MATLAB Internet 安装; 23809-26556-08469-31324 ; 使用密钥安装:23809-26556-08469-31324 ; 图标发送到桌面快捷方式,路径为:C:\MATLAB\R2012a\bin\matlab

在Matlab set path 中加上AMESim 与Matlab Add Folder ,添加 C:\AMESim\v1300\scripting\matlab\amesim C:\AMESim\v1300\interface\simulink C:\AMESim\v1300\interface\sl2ame 点击save ,点击close ,如图2(图中前四个路径) 用户变量设置 1、HOME C:\ 2、MATLAB C:\MATLAB\R2012a 3、AME C:\AMESim\v1300 4、PATH C:\VS2010\Common7\Tools;C:\VS2010\VC\bin;C:\MATLAB\R2012a\bin C:\MATLAB\R2012a\bin\win32。 系统变量设置 1、AME C:\AMESim\v1300

AMESim与Simulink联合仿真设置步骤与实例

1. 联合仿真环境设置: 软件环境:AMESimR10 VC++6.0 MA TLAB/Simulink2010a 1.将VC++中的"vcvar3 2.bat"文件从Microsoft Visual C++目录(通常是. \Microsoft Visual Studio\VC98\Bin中)拷贝至AMESim目录下。 2.环境变量确认: 1) 选择“控制面板-系统”或者在“我的电脑”图标上点右键,选择“属性”;在弹 出的“系统属性”窗口中选择“高级”页,选择“环境变量”; 2) 在弹出的“环境变量”窗口中找到系统变量“AME”,它的值就是你所安装AMESim 的路径,选中改环境变量;比如AMESim10安装目录(即AMESim10安装文件的存储目录)是:C:\AMESim\v1000(D:\AMESim就是错误的),那么“AME”的值就是C:\AMESim\v1000, 点击“确认”按键,该变量就会加到系统中; 3) 按上述步骤设置系统变量“MATLAB”,该值为MA TLAB文件所安装的路径,例如 Matlab 2010a按照文件的存储路径为:D:\Program Files\MATLAB\R2011a,那么“MA TLAB”的值就是D:\Program Files\MATLAB\R2010a,点击“确认”按键,该 变量就会加到系统中; 4) 同样的方式定义系统变量LM_LICENSE_FILE,值为 C:\AMESim\v1000\licensing\license.dat,值就是AMESim软件许可文件的存储路径。 即LM_LICENSE_FILE=C:\AMESim\v1000\licensing\license.dat。 3. 在AMESim中选择VC作为编译器。具体操作在AMESim->Opions-> AMESim Preferences->Compilation中;进去后选择Microsoft Visual C++项,然后点击OK确认。 4. 在MATLAB命令窗口中输入Mex –setup (Mex与-之间有空格),之后提示: Would you like mex to locate installed compilers [y]/n? 输入n,之后会出现系统中的编译器列表如下:

AMESim与Simulink联合仿真设置步骤与仿真实例

1. 联合仿真环境设置: 为了实现二者的联合仿真,需要在Windows2000或更高级操作系统下安装V isual C++ 6.0, AMESim4.2以上版本与MA TLAB6.1上版本(含Simulink),联合仿真存在AMESim与Matlab 的版本匹配问题,具体参照AMESim软件中帮助文件里有介绍,打开AMESim帮助文件,以Simulink为关键词进行搜索,即可找到AMESim与Matlab联合仿真的介绍,这里使用AMESim10,Matlab 2011a,可以匹配。 1.将VC++中的"vcvar3 2.bat"文件从Microsoft Visual C++目录(通常是. \Microsoft V isual Studio\VC98\Bin中)拷贝至AMESim目录下。(这一步一般用不到,安装完AMESim软件一般就自动完成了,不过还是要进一步核实)。 2.环境变量确认: 1) 选择“控制面板-系统”或者在“我的电脑”图标上点右键,选择“属性”;在弹 出的“系统属性”窗口中选择“高级”页,选择“环境变量”; 2) 在弹出的“环境变量”窗口中找到系统变量“AME”,它的值就是你所安装AMESim 的路径,选中改环境变量;比如AMESim10安装目录(即AMESim10安装文件的 存储目录)是:D:\AMESim\v1000(D:\AMESim就是错误的),那么“AME”的值 就是D:\AMESim\v1000, 点击“确认”按键,该变量就会加到系统中; 3) 按上述步骤设置系统变量“MA TLAB”,该值为MA TLAB文件所安装的路径,例如 Matlab 2011a按照文件的存储路径为:D:\Program Files\MA TLAB\R2011a,那么 “MA TLAB”的值就是D:\Program Files\MA TLAB\R2011a,(写D:\Program Files\MA TLAB,D:\Program Files 等都是错误的), 点击“确认”按键,该变量就会加到系统中; 4) 同样的方式定义系统变量LM_LICENSE_FILE,值为 D:\AMESim\v1000\licensing\license.dat,值就是AMESim软件许可文件的存储路径。 即LM_LICENSE_FILE=C:\AMESim4.2.0\licensing\license.dat。 3. 确认是否在AMESim中选择VC作为编译器。具体操作在AMESim->Opions-> AMESim Preferences->Compilation/Parameters中;对AMESim 10而言,具体操作在AMESim-〉Tools->Opions-> AMESim Preferences->Compilation/Parameters中,进去后选择Microsoft Visual C++项,然后点击OK确认。 4. 在MA TLAB命令窗口中输入Mex –setup (Mex与-之间有空格),按照提示选择VC++作为编译器。 5. 在Matlab 的目录列表里加上AMESim与Matlab 接口文件所在的目录,Matlab->File->Set Path,在打开的对话框中点击“Add Folder”选择设置接口文件目录%AME%\matlab\amesim,其中%AME%是AMESim的安装目录(AMESim文件的存储目录,别搞错了), 如果安装文件存在C:\AMEsim , 则就加上C:\AMEsim\matlab\amesim。在AMESim10中为保险起见,多设无害嘛,设置三个目录(这里假设AMESim软件安装目录D:\AMESim\v1000): 1) D:\AMESim\v1000\interfaces\simulink 2) D:\AMESim\v1000\interfaces\sl2ame

相关文档
相关文档 最新文档