文档库 最新最全的文档下载
当前位置:文档库 › AMESim仿真脚本工具

AMESim仿真脚本工具

AMESim仿真脚本工具
AMESim仿真脚本工具

AMESim仿真脚本工具(AMESim Simulator Scripting)

2013-01-29

1 简介

AMESim为我们提供了一套完整的脚本工具,使得用户可以在更高级的语言中(Python,MATLAB,Scilab 或Visual Basic Application)完成模型仿真[1]。

2 路径设置

本文是在AMESim Rev10和Matlab R2007b中完成,Matlab版本若高于此版本,可能会发生意想不到的错误。

首先,检查Matlab路径列表中是否已包含以下的路径:

%AME%\v1000\scripting\matlab\amesim (其中,%AME%是AMESim的安装路径)若不包括,请按以下步骤添加:

1.打开Matlab,点击菜单栏中File->Set Path,打开路径设置对话框;

2.在打开的对话框中,点击Add Folder,弹出路径浏览器;

3.添加%AME%\scripting\matlab\amesim到其中;

4.点击Save->Close。

完成设置,如下图所示。

图1 路径设置

3 示例

下面以一个简单的质量—弹簧—阻尼系统来对AMESim的脚本工具进行简要说明。

图2 质量—弹簧—阻尼系统

3.1 AMESim模型建立与仿真

在AMESim中对质量—弹簧—阻尼系统进行仿真[2]:

(1)打开AMESim,在草图模式(Sketch mode)下,建立如图2所示的系统,保存文件为MSD.ame;

(2)在子模型模式下(Submodel mode)为模型选择合适的数学模型;

(3)在参数模式下(Parameter mode)设置所有参数为缺省值;

(4)在仿真模式下(Simulation mode),设置仿真时间为8s,通讯间隔0.01s,运行仿真,得到质量块的位移曲线(图3)。

(5)保存文件并退出。

图3 质量块位移曲线

3.2 Matlab环境下AMESim脚本命令的运用

在Matlab中,运用AMESim脚本命令(ameloadt和amerun)对AMESim模型进行分析。

首先,需要设置Matlab的当前工作路径(Current Directory)为AMESim模型的存储路径(我的是D:\AMETest)。

图4 设置Matlab当前工作路径

由于我们已经关闭AMESim,所以我们需要用AMELoad命令来载入模型,接收参数[1]。

(1)在Windows Xp SP3系统中,点击开始->运行,输入cmd,进入DOS对话框;

(2)输入D:,进入D盘;再输入cd AMETest进入AMETest文件夹;

(3)输入AMELoad MSD,载入MSD模型。

DOS运行界面如图5所示。

图5 DOS运行界面

完成以上步骤后,我们可以看到在AMETest文件夹中多了许多文件,这和我们在AMESim中运行模型时产生的文件是一致的。

图6 AMETest中的文件

下面我们用ameloadt这个命令来载入模型文件,将AMESim的结果导入Matlab中,并利用Matlab绘制如图3的曲线。

(1)在Matlab的Command Window中输入:

>> [R,S]=ameloadt('MSD');

这样,AMESim模型的运行结果将保存在矩阵R中,变量名将保存在矩阵S中。

(2)再在Command Window中输入:

>> plot(R(1,:), R(3,:))

>> grid on;xlabel(S(1,:));ylabel(S(3,:))

得到Matlab绘制的曲线如下:

图7 Matlab绘制的质量块位移曲线

除了ameloadt外,AMESim提供了很多脚本命令,在Command Window中输入help amesim可以查看这些命令。

下面,我们在Matlab中利用amerun命令来离线仿真AMESim模型。

(1)在Matlab的Command Window中输入:

>> clear

清除workspace中的变量,释放内存;

(2)在Matlab的Command Window中输入:

>> [R,S]=amerun('MSD',0,8,0.01);

将会得到以下结果:

Start run ...

SIN0 instance 1 reduced the maximum time step to 0.25s.

Requesting amesim_runtime license ...

got the license for amesim_runtime, continuing

Total CPU time: 0.016 seconds

AMESim model MSD_ terminated normally

... The end

There are 15 variables

There are 802 points per variable

这样就可以进行一次起始时刻为0,终止时刻为8s,通讯间隔为0.01s的仿真。仿真结束后,结果将自动保存到矩阵R和S中。

(3)再在Command Window中输入:

>> plot(R(1,:), R(3,:))

>> grid on;xlabel(S(1,:));ylabel(S(3,:))

可以得到和图7一样的曲线。

若要清除AMETest文件夹中的模型文件,可在DOS中使用AMEClean Name命令,其中Name是模型名,本文中应为MSD。这样,即可清除文件。

参考文献:

[1] AMESim Reference Manual Rev 9.France:LMS Imagine,2009.

[2] 付永领,祁晓野.AMESim系统建模和仿真—从入门到精通[M].北京:北京航空航天大学出版社,2006.

相关文档