LabVIEW Simulation module与第三方模型(AMESim)的互联性

 

安装要求

LabVIEW的版本为:8.2, 8.2.1, 8.5 (当前版本为8.5)并需要安装RT(实时)和CDS(控制设计和仿真)模块。

需要支持LabVIEW Cosim Interface的license.dat(由LMS公司提供,放置在D:AMESimv800licensing目录下)。

需要安装Microsoft Visual C++ 6.0以上版本(英文版)。

操作系统必须为为Windows。

许可配置

AMESim的许可配置及编译器的选择(微软VC++编译器)

实时目标机许可配置:

将rttargetslicenses.h 文件(由LMS提供)放置于D:AMESimv800interfaceslabview目录下即可。

AMESim模型准备

1.新建一个AMESim模型,并创建接口如图所示:

clip_image002

然后,在接口对话框中的‘Type of Interface’下拉菜单中选择LabVIEW Simulation Module,设置input和output的个数,并逐一对每个input和output进行定义:

clip_image004

点击‘OK’之后就会生成LabVIEW的接口模块。

2.将接口模块与AMESim模型的其余部分相连接

clip_image006

点击‘parameter mode’(参数模式),AMESim会用VC编译器编译模型,并在工作目录下生成和模型相关的dll文件。假设该模型名为labviewAMERT.ame,则该dll文件名为labviewAMERT_.dll。

clip_image008

这个dll文件可通过LabVIEW的External Model Interface模块加载到LabVIEW中,用于支持Windows环境下与LabVIEW的非实时偶合仿真。

准备LabVIEW 仿真VI

LabVIEW 环境配置:安装LabVIEW8.5和RealTime(实时)、Control Design and Simulation(控制设计仿真)模块,安装完成后应如下图所示:

clip_image010

找到并起动与LabVIEW的插件Simulation Module中的External Model Interface相关的模板vi。在版本8.5中,该例子为bouncingball.vi,位于C:Program FilesNational InstrumentsLabVIEW 8.5examplessimulationExternal Model InterfaceBouncingBall目录下,

注意: 要选择’indirect feedthough’的那个,而不是’direct feedthrough’的那个,否则无法正常运行。

clip_image012

根据模型的具体细节配置External Model Interface Node

clip_image014

的各个端口,主要包括输入clip_image016输出clip_image018端的配置,

指定AMESim生成的dll文件clip_image020

设置后得到完整的vi,及虚拟控制面板:

clip_image022

clip_image024

保存并关闭LabVIEW,在AMESim中重写文件,强制编译(确保被调用的dll文件能够反映模型的当前设置)并从AMESim中启动LabVIEW VI。

注意:AMESim要处于参数模式下

clip_image026

clip_image028

clip_image030

clip_image032

clip_image034

在虚拟控制面板中点击‘运行’,即可实现软件在环(Software-in-the-loop),即随意操作输入控制信号,可以看到输出响应的变化,该响应来自于AMESim生成的dll被调用后得到的结果(这个dll文件包含了物理模型的数学方程)

clip_image036

生成目标机需要的实时dll文件

当前四步正常完成后,即可在AMESim界面下生成目标机所需要的实时dll文件。

clip_image038

注意:实时平台的选择要选’LabVIEW SimModule x86:obj’,点击generate。

 clip_image040

此时,在工作目录下面,就会生成一个目标机所需要的实时dll文件。假设你的AMESim模型名为labviewAMERT.ame,则该dll文件名即为labviewAMERT.dll(不带下划线_)。

注意:在目标加载的过程中不要关闭AMESim,并要保证其处于run模式下,等到上传dll文件完毕后再关闭。

在LabVIEW vi中加载实时的dll文件并生成实时目标代码

上传DLL:打开MAX,选择目标机——右键——文件传输,将labviewAMERT.dll上传到/ni-rt/startup/目录下。

clip_image042

clip_image044

clip_image046

在LabVIEW中定义目标机,并将要生成实时代码的vi及dll文件拖放到该目标机的项目下

clip_image048

clip_image050

clip_image052

上图为对应的vi程序框图,上上图为程序界面。

点击运行即可进行实时仿真。

发布RT程序

其操作如下:右键点击目标机project下的Build Specification,选择‘Create new real-time application’,并作如下设置:

clip_image054

clip_image056

点击Build

clip_image058

通过右键点击My Real-time application,选择Deploy,即可将代码导入到目标机上。

[clip_image048[1]](http://byfiles.storage.msn.com/y1p_D3SqJR9TR3TTG8NyHNAFegWkwhCHAWYLfGVG7OOyGZ1IjC6OPpK53bFmvaxhs0nLfsJnUyXxt0?PARTNER=WRITER)

最后,即可在虚拟控制面板中运行并控制目标了。