参考了以下博客:JaySur的博文
1 编译器
要想进行Amesim与Matlab联合仿真,需要确定作为两者联合媒介的编译器(Compiler)。要想与Matlab进行联合仿真,最好使用Microsoft Visual C++最为二者的编译器。
1.1 查询AMESim16的支持的VS版本
打开AMESim16帮助文档,搜索visual studio,得到如下图。可以看出,Windows 64为系统支持下,AMESim16支持的编译器包括 Microsoft Visual Studio 2010-2013,专业版或标准版。这里选择Microsoft Visual Studio 2013。
1.2 查询MATLAB支持的编译器版本
查询MATLAB支持的VS版本:MATLAB各版本所能支持的VS编译器可通过这个地址进行查询。
由该网址可以查到,Matlab 2018b开始,就不再对VS2013及以下版本的编译器进行兼容。所以,要想Amesim16与MATLAB联合仿真,则MATLAB的版本最好不要超过2018a,选择的MATLAB版本是MATLAB 2017b。
1.3 安装顺序
需要安装的软件为:
- Microsoft Visual Studio 2013 pro
- matlab 2017b
- Amesim16
安装顺序建议为VS2013->matlab2017->Amesim2016。因为安装Amesim时,它查询到已经安装有Visual Studio 编译器,它会把Visual Studio 安装目录下的部分文件复制到Amesim的安装目录下。
此外,还可能遇到一个问题:原机器上已装matlab2018b,开始没管就先装了vs2013和amesim,后来发现matlab2018不支持vs2017,于是卸载了matlab2018后装了matlab2017,但是amesim找不到matlab的启动路径了,显示
windos找不到文件’C:\Program Files\MATLAB2018\bin\win32\matlab.exe’
这显然是系统环境变量值没有修改,导致windows系统找不到matlab2017的启动路径。因此,建议安装顺序vs2013->matlab2017->amesim
在本机上,
- VS2013的安装路径是
C:\Program Files (x86)\Microsoft Visual Studio 12.0
- Amesim16安装路径是:
C:\Program Files\Simcenter\v1600\
友情提示:可能会存在一次安装不成功,而导致多次卸载与安装,Amesim在windows10系统下的安装,无法通过【控制面板】->【卸载程序】卸载,而需要使用自带卸载工具。自带卸载工具的位置为%your path%\Amesim
,以本机为例,卸载工具位于C:\Program Files\Simcenter\v1600\Amesim
,是一个windows批处理文件,全名:AMEUninstall.bat
。
运行这个文件后会卸载Amesim16,但存在一些文件删除不彻底的问题,需手动删除整个Simcenter
文件夹。
2 安装VS2013
此处仅需注意一个问题,vs2013一定要装英文版,中文版的vs2013会导致Amesim编译模型时出现乱码。
如果你机器上已经安装了vs2013英文版,请忽略下列内容。
如果你的机器上装了vs2013中文版,可以通过安装一个英文语言包,再在vs2013的【工具】->【环境】->【区域设置】->English中改过来,详细如下。
- vs2013英文语言包:下载链接 提取码:gwto ,下载后,双击.exe文件安装,一路next即可。
- 打开vs2013,点击【工具】->【环境】(忘记截中文版的图,用已经切换的英文界面代替)
- 点击【区域设置】->【English】
- 关闭vs2013后并重启,语言切换成功!
3 安装Amesim2016
Amesim的安装参考了以下两个链接:参考链接1,参考链接2
Amesim2016解压后,文件结构如下图,该结构的路径为E:\AMESIM2016\ENsImaLR16\Siemens.Simcenter.Amesim.16.0-SSQ
。其中,_SolidSQUAD_
里包含的是所需的文件,Siemens.Simcenter.Amesim.16.0.iso
是安装镜像。
step 1
将E:\AMESIM2016\ENsImaLR16\Siemens.Simcenter.Amesim.16.0-SSQ\_SolidSQUAD_\Win64\_SolidSQUAD_
位置下的LMS_RLM_Server
文件夹复制到指定位置,这里复制到C盘根目录下。
鼠标右击server_install.bat
选择【以管理员身份运行】,安装服务。
step 2
服务安装完成后,双击打开安装包里的光盘映像文件Siemens.Simcenter.Amesim.16.0.iso
step 3
右键管理员身份运行setup_win.bat
文件
step 4
选择安装产品Simcenter Amesim
,单机【next】
step 5
一路【next】
step 6
【User name】和【Organization】随意填写,但必须为英文。
activation code为【DIGJW72BDR29WJ20HVQ60C721】,可在安装包里的文件readme_windows.txt
中查看,该文件的位置为E:\AMESIM2016\ENsImaLR16\Siemens.Simcenter.Amesim.16.0-SSQ\_SolidSQUAD_\Win64
填写后单机【next】,并一路【next】
step 7
安装位置随意,我一般默认安装,不改变安装位置
Step 8
点击【install】
## Step 9
此时会弹出提示,如果电脑内没有JAVA runtime environment,需要安装。因为我电脑上有java环境,所以直接【OK】
Step 10
等待安装。。。
Step 11
点击【next】
Step 12
安装提示如图,可以发现软件安装时检测到了【Microsoft Visual C++】,可以进行后续设置,实现MATLAB联合仿真,点击【next】,并一路【next】
Step 13
在许可证配置界面中,选择许可证配置界面中,选择【Specify port@host】,输入【5053@localhost】
Step 14
选择【No, I will restart my computer later】,点击【Finish】
Step 15
创建系统变量,变量名【AME】,变量值为Aesim安装路径,本机为C:\Simcenter\v1600\Amesim
创建系统变量 LMS_LICENSE=5053@localhost
Step 16
启动Amesim时,先以管理员身份运行C盘根目录下rlm.exe。
顺便解释一下【server_remove.bat】【server_install.bat】两个文件,分别是删除和安装RLM server的windows批处理文件,如果需要删除RLM server,则运行【server_remove.bat】。
运行如下,不要关闭这个。
再启动Amesim
4 安装matlab2017b并配置联仿环境
matlab2017的下载安装极为简单,详见链接,此处不再赘述。
4.1 环境变量配置
设置联仿环境时,注意确保有以下几个环境变量即可,这些环境变量,有的是安装软件时自动加的,有的是需要手动添加的,因此检查一下自己的环境变量列表。
4.2 MATLAB编译器设置
首先打开Matlab 2017b,在命令窗口输入: mex -setup
选择mex setup C++
,如下
5 可能遇到的问题
5.1 Amesim “Failed to connect to the license server”,怎么办?
这个问题是许可证有问题,Amessim 2016的许可证需要运行RLM.exe。解决办法参考:
参考1,参考2,参考3,参考4 运行C盘根目录下的rlm.exe
来启动一个serve,如果提示
Web server starting on port 5053
(rlm) Port 5053 in use, waiting…
(rlm) Port 5053 in use, waiting…
(rlm) Port 5053 in use, waiting…
将LMS_LICENSE=5053@localhost 这个环境变量值改到5052@localhost,或5060@localhost,5054@localhost。这里改成了LMS_LICENSE=5052@localhost
若之后依然存在Port 5052 in use, waiting…的情况,检查任务管理器是否有其他rlm进程,请关闭。
同时,将C:\LMS_RLM_Server
下LMS.lic
文件中的一句话改为HOST localhost ANY 5052
5.2 Amesim LMS License Error 怎么办?
这个问题是未启动LMS服务器导致的,请C:\LMS_RLM_Server
目录下rlm.exe
这个文件。
5.3 Amesim编译模型时是乱码怎么办?
如果遇到amesim模型编译时出现乱码,修改系统非unicode软件语言为英语,同时保证vs2013为英文安装。
5.4 Amesim启动不了MATLAB,怎么办?
如下图,在Amesim中点击Tools->Matlab后,出现下图
这个问题是由于没有正确在系统环境变量中设置matlab路径,导致amesim(也就是系统)找不到matlab启动位置。我这里由于最早装了matlab2018b,由于配置联仿环境需要,卸载后又装了matlab2017b,但是系统环境变量值没有改过来,导致amesim2016还只认得原来的地址。解决办法就是 4.1 小节中,注意设置好环境变量。
6 验证
现在我们来验证一下联仿环境是否可运行。
- 打开【AMESim 16->Help->Help】里,在左边的搜索栏中输入【simulink】,打开【Hybrid_bus_steps_simulink】例程:
- 点击【Amesim 16-Tools-MATLAB®】,它会自动打开【MATLAB 2017b】,并自动添加【AMESIM】的相关路径到【MATLAB PATH】里,然后它会自动打开【Hybrid_bus_steps_simulink.mdl】。(注意,该【.mdl】必须由【matlab 2016b】及以上版本才能打开。) - 【MATLAB】打开界面
- 返回到【Amesim 16】,点击【SIMULATION】,它会将该模型进行编译
- 经过编译之后,在该模型目录下就会生成【.mexw64】等文件,这东西是联合模块的必要文件
- 在【Amesim 16】进行编译后,返回到【Simulink】中,点击 【Run】即可(这里将仿真时间从【inf】改为【30s】了,如果是原例程的【inf】,它将不会停止。
-----------------------------------------------------完结,撒花!------------------------------------------------------
---------------------------------------------------有问题可留言讨论--------------------------------------------------