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
版本中是不同的,在此将对在
matlab6.5
和
matlabr2007a(7.4)
两个版本下的方法作一说明。
在
Matlab6.5
版本中,可以通过两种方式将
m
文件编译成
dll
文件。一种是利
用
matlab
为
Visual C++
发布的一个插件
add-in
,在
Visual C++
的环境下,将
m
文件
编译成
dll
文件。另一种则是使用
mcc
命令行的方式对
m
文件直接进行编译,生成
dll
文件。
在
matlabr2007a
的版本中,同样可以用两种方式对
m
文件进行编译生成
dll
文
件。一种是与
matlab6.5
版本中相同的方式,使用
mcc
命令对
m
文件进行编译,其
命令的方式方法与
matlab6.5
版本下相同。另一种是使用
deploytool
工具,对
m
文
件编译时对各个参数进行配置,
因为这种使用的是界面化的方法,
所以更加的直观。
下面将对各种编译方法的步骤作一说明:
1)
在
6.5
版本中使用插件
add-in
的方法:
使用此方法的思路如下:
(1)
编写
M
文件,
在
matlab
中打开
Editior
,
按照
matlab
程序格式输入代码,
实现算法,调试成功。
此
M
文件必须以
Function
开始
,即
M
文件是函
数文件而不能是脚本文件。