以前的LMS AMEsim被西门子收购后已经改叫Siemens Simcenter Amesim了。这里介绍Amesim 2019.1与Matlab的联合仿真配置。如果需要Amesim 2019.2与Matlab的联合仿真配置过程介绍,请看本人另外一篇博文《Simcenter Amesim 2019.2与Matlab 2019b联合仿真-环境配置与例程联合仿真》
要想进行Amesim与Matlab联合仿真,需要确定作为两者联合媒介的编译器(Compiler)。要想与Matlab进行联合仿真,最好使用Microsoft Visual C++最为二者的编译器。
由官方手册可以查询到Amesim 2019.1支持的编译器版本为:
Windows | Linux |
---|---|
MinGW GCC 4.2.1(32-bit&64-bit) (supplied with Simcenter Amesim) Intel C/C++ (12.0及以上) Microsoft Visual C++ (2010 ~ 2013) |
GNU GCC(4.4及以上) Intel C/C++(12.0及以上) |
由上表可见,Amesim 2019.1支持的Microsoft Visual C++编译器比较有限,仅支持2010~2013版本。对应的为Visual Studio 2010~Visual Studio 2013。
而Matlab各版本所能支持的VS编译器可通过这个网址进行查询:https://ww2.mathworks.cn/support/requirements/previous-releases.html。
由该网址可以查到,Matlab 2018b开始,就不再对VS2013及以下版本的编译器进行兼容。所以,要想Amesim 2019.1与Matlab联合仿真,则Matlab的版本最好不要超过2018a。实际上,通过Simcenter System Architect 2019.1也可以看到,Amesim 2019.1推荐支持的Matlab版本为2014b~2017b。
这里,我们选择编译器为Visual Studio 2013。
上面已经明晰,需要安装的软件为:
安装顺序的话,并没有强制要求。不过,最好是先安装编译器VS2013。因为安装Amesim时,它查询到已经安装有Visual Studio 编译器,它会把Visual Studio 安装目录下的部分文件复制到Amesim的安装目录下。
如果是先安装的Amesim后安装Visual Studio ,则我们需要手动复制和修改以下文件到Amesim安装目录下。我这里将VS2013安装在了C盘,将Amesim和Matlab安装在了D盘。
1. 复制文件:
将C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin下的nmake.exe复制到D:\Program Files\Simcenter\2019.1\Amesim目录下。
2. 修改文件:
(1)修改D:\Program Files\Simcenter\2019.1\Amesim目录下的vcvars32.bat文件,确定里面的内容为:
@echo off
REM Generated by Simcenter Amesim installer
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" /x86
注意里面的Call后面接的是指向你VS2013安装目录的路径。
(2)复制D:\Program Files\Simcenter\2019.1\Amesim目录下的vcvars32.bat文件变成vcvars64.bat,确定里面的内容为:
@echo off
REM Generated by Simcenter Amesim installer
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat" /x64
在安装完Visual Studio 2013、 Amesim 2019.1 、 Matlab 2017b之后,需要配置环境变量。
在windows桌面,右键“计算机”-“属性”-“高级系统设置”-“环境变量”里添加用户变量和系统变量。
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
D:\Program Files\MATLAB\R2017b\bin
D:\Program Files\MATLAB\R2017b\bin\win64
%AME%;
%AME%\win64;
%AME%\win32;
%AME%\sys\mingw32\bin;
%AME%\sys\mpich\mpd\bin;
%AME%\sys\cgns;
%AME%\sys\python\win64;
C:\WINDOWS\system32;
配置完成后,重启电脑,以使用户变量和系统变量生效。
4.1 首先打开Matlab 2017b,在命令窗口输入:
mex -setup
将C和C++编译器都设置为Visual C++ 2013.
4.2 打开Amesim 2019.1 ,进入Tools-Preferences-Compilation,将Active Compiler 设置为Microsoft Visual C++ (64bit),本人电脑为win10 64bit。
至此,软件和环境的配置就完成了。
在Amesim 2019.1-Help-Help里,输入simulink,打开“Hybrid_bus_steps_simulink”例程:
点击右边Open this demo,将其复制到指定目录并打开:
点击Amesim 2019.1-Tools-MATLAB®,它会自动打开MATLAB 2017b,并自动添加AMESIM的相关路径到MATLAB PATH里,然后它会自动打开Hybrid_bus_steps_simulink.mdl。(注意,该mdl必须由matlab 2016b及以上版本才能打开。)
返回到Amesim 2019.1,点击SIMULATION,它会将该模型进行编译:
经过编译之后,在该模型目录下就会生成.mexw64等文件,这东西是联合模块的必要文件。
在Amesim 2019.1进行编译后,返回到Simulink中,点击 运行即可(我这里将仿真时间从inf改为30s了,如果是原例程的inf,它将不会停止。):
运行完成后,回到Amesim 2019.1,即可观看各个参数的曲线:
到此,Simcenter Amesim 2019.1与Matlab/simulink联合仿真的环境配置与例程联合仿真已经大功告成。
Good luck!