LabVIEW与MATLAB混合编程—com组件的使用

1、为什么要用com组件?
LabVIEW 自带 Matlab Script (MATLAB程序编辑框),可以在其内直接书写MATLAB程序,其功能很强大,可以支持MATLAB中很多函数库。例如,小波变换中的一些函数(亲测是可以的)。在使用方面,这种方法的主要优势是可以自由的设置输出的个数,想用什么加什么,不想要直接删掉。但是输出的数据是需要进一步处理,个人比较讨厌这一点,我懒。
com组件的优点是:调用起来非常简单,代码很简洁,输出的数据为二位数组。缺点是,当你要调整输出、输入的变量时。需要重新打包、注册等。操作起来比较慢。
在这里可以找到MATLAB Script
怎么用 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
在这里插入图片描述
这里提供了一个例程供大家参考。
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐