LabVIEW与MATLAB混合编程—com组件的使用
1、为什么要用com组件?
LabVIEW 自带 Matlab Script (MATLAB程序编辑框),可以在其内直接书写MATLAB程序,其功能很强大,可以支持MATLAB中很多函数库。例如,小波变换中的一些函数(亲测是可以的)。在使用方面,这种方法的主要优势是可以自由的设置输出的个数,想用什么加什么,不想要直接删掉。但是输出的数据是需要进一步处理,个人比较讨厌这一点,我懒。
com组件的优点是:调用起来非常简单,代码很简洁,输出的数据为二位数组。缺点是,当你要调整输出、输入的变量时。需要重新打包、注册等。操作起来比较慢。
怎么用 com 组件 实现混合编程?
软件环境:
我用的软件版本为:Matlab2016b,LabVIEW2019。
我原本用Matlab2019,但是安装了打包成com组件的编译器MinGW,MATLAB说啥都不识别,换了别的版本的编译器还是不行。Matlab2016b 就没有这些问题。
你的电脑还有装好visual studio
,不然会缺少C++的一些环境,这里推荐2013版,亲测可用。
1、改造你的MATLAB程序
()里面可以按填写输出的变量。
2、打包
APP菜单下找到(Application Compiler
)这个图标,点击!
点这个
进来后一次点击1,2
点击2 之后选择你要打包的 .m
程序
这里可以看到你打包的内容。
点击Package
,开始打包。
这里会提示打包失败!,因为你没有编译器 /手动狗头
ps: 安装编译器
这里安装的是TDM-GCC-64
,这里推荐直接下载一个.exe
版本的,直接默认地址安装。
配置环境变量:变量名MW_MINGW64_LOG
;默认的安装地址的变量值C:\TDM-GCC-64
。可以根据自己的安装位置更改。
管理员进入cmd,输入gcc -v
完成后进入matlab,在命令行中输入
setenv('MW_MINGW64_LOG','C:\TDM-GCC-64')
再输入
mex -setup
如果提示成功,并含有一些警告信息,说明安装成功了
那么你就可以正常打包了。
3、注册
打包之后,会出现一个与打包的函数名同名的文件下,其下有个for_testing
文件夹,找到函数名_1_0.dll
,要用的就是这个。使用前需要注册。
管理员启动cmd,
输入
regsvr32 地址\函数名_1_0.dll
地址要写全(绝对路径)
4、LabVIEW调用
需要用到的三个控件:
右键点击1
,按下图造作,选择要用到的.dll
这里提供了一个例程供大家参考。