Labview和matlab混编软件在labview环境下
进行可执行化的方法
一、问题的提出:Labview下对matlab程序(m文件)的调用采用ActiveX技术,该技术不能脱离
matlab运行环境。为解决问题,尝试将m文件编译成dll文件,将Labview对m文件的调用变为Labview对dll文件的调用。但由于研究过程出现的问题和时间的关系,这一问题并未得到解决。在此作一总结,以便后续工作继续进行。二、问题的确立:
在本文档中,主要针对在Labview环境编写的软件进行可执行化的讨论,该软件包含了使用matlab节点或ActiveX机制的matlab函数。
因此,在Labview环境下对软件进行可执行化的主要包含了三个方面的内容:1把matlab下编的m文件编译成可被Labview调用的文件形式。例如:动态链接库
(dll)、COM组件等。本文档主要对动态链接库方式进行讨论,其它方式将在附录中简要说明。2在Labview下对动态链接库(dll)文件进行调用3在Labview下,将含有dll的VI生成安装文件。该文件可在脱离matlab和labview的目标机上安装、运行。以上三个步骤如全部完成,则可以说明该应用程序已可以独立的运行发布了。三、问题的解决方法及过程:下面将详细的讨论每个步骤的具体解决方法和过程,以供参考。1把matlab下编的m文件编译成可被Labview调用的文件形式(dll)解决本问题的方法,在不同的matlab版本中是不同的,在此将对在matlab65和matlabr2007a74两个版本下的方法作一说明。
在Matlab65版本中,可以通过两种方式将m文件编译成dll文件。一种是利用matlab为VisualC发布的一个插件addi
,在VisualC的环境下,将m文件编译成dll文件。另一种则是使用mcc命令行的方式对m文件直接进行编译,生成dll文件。
在matlabr2007a的版本中,同样可以用两种方式对m文件进行编译生成dll文件。一种是与matlab65版本中相同的方式,使用mcc命令对m文件进行编译,其命令的方式方法与matlab65版本下相同。另一种是使用deploytool工具,对m文件编译时对各个参数进行配置,因为这种使用的是界面化的方法,所以更加的直观。
下面将对各种编译方法的步骤作一说明:1在65版本中使用插件addi
的方法:
使用此方法的思路如下:
创建M文件
转换成C或C代码
编译dll文件
1编写M文件,在matlab中打开Editior,按照matlab程序格式输入代码,实现算法,调试成功。此M文件必须以Fu
ctio
开始,即M文件是函数文件而不能是脚本文件。
f2完成addi
的连接:在matlab中运行”mexsetup”,选择MicrosoftVisualCCversio
60选项,安装r