LabVIEW与MATLAB联合编程之使用dll库文件连接

最近做东西的时候用到了在LabVIEW里面调用MATLAB的分类模型,辗转多篇文章终于搞定,特此记录,以供参考。

编程环境:Windows11MATLAB2020aLabVIEW2019VisualStudio2022,全是64位。

我这里重点记录了安装编译器的过程,打包与LABVIEW调用dll的过程都有参考的链接。

目录

  • LabVIEW与MATLAB联合编程之使用dll库文件连接
    • 一、MATLAB程序打包至dll
      • 1 MATLAB安装编译器
      • 2 程序打包
    • 二、LabVIEW调用dll

一、MATLAB程序打包至dll

MATLAB程序打包主要分为安装编译器与打包两部分。

1 MATLAB安装编译器

从matlab程序到dll文件需要使用编译器,在此之前最好先安装有VisualStudio,有些c++的库也会有用,没有的话打包出来的文件有可能会有问题,之后最主要参考的就是这篇【MATLAB】如何安装配置MinGW-w64 C/C++编译器,这里再把我的过程详细记录一下。

1、打开MATLAB,选择“附加功能”里的“获取附加功能”:


2、在附加功能资源管理器的搜索栏里面搜索MinGW

3、选择最上面的这一个:

4、根据自己MATLAB的版本选择进入对应的链接

5、点击downloads

6、页面往下拉,找到Sources这部分,点击SourceForge链接:

7、进去之后点一下这里,进去上一层目录:

8、根据自己的需求选择合适的版本,这里我选择的是x86_64-posix-seh,其中x86_64是指64位系统,posix同样是应用于64位,seh相比于sjij性能更强,但稳定性不如:

9、解压完成后把解压完成的文件直接放到C盘的根目录下面:

10、右键桌面上的计算机,选择属性-高级系统设置-高级-环境变量


11、点击新建,然后把MW_MINGW64_LOG作为变量名,C:\mingw64\bin作为变量值,点击确定

12、找到系统变量里面的Path,点击编辑

13、点击新建,将C:\mingw64\bin加进去,之后一直点确定保存退出就行了:

14、打开MATLAB2020a,在命令行窗口输入:

setenv('MW_MINGW64_LOC', 'C:\mingw64');


15、在输入mex -setup测试一下,没问题就完成了编译器的配置,如果重新打开MATLAB发现输入mex -setup的时候又显示找不到了,就重新执行第14步:

2 程序打包

编译器安装好之后,需要对MATLAB代码进行调整,需要注意的是代码里面不能有类对象,就是像A.feature,在LabVIEW里面属于无法识别的变量。

打包的过程可以参考这篇LabVIEW与MATLAB混合编程—com组件的使用,讲的非常的详细,只是安装编译器的过程我这里已经装好了,和这篇文章里的不一样,我试了那篇文章里的方法,在MATLAB里面输入mex -setup之后还是显示没有安装,没办法,我就查到了上面安装编译器的方法。

二、LabVIEW调用dll

同样参考这篇LabVIEW与MATLAB混合编程—com组件的使用,但我实操过程中有一些坑记录一下:

(1)这里调用的dll是用MATLAB打包的COM类型的,和.NET类型的不同,所以这点要注意!

(2)有的时候LABVIEW会卡住,导致导入dll文件的时候老是识别不出来,只要彻底关掉LABVIEW之后重新试一次就行了。

(3)参考的那篇文章最后提供的例程里面,要完全把Invoke Node节点的输出的个数、数据类型给设定好,连好,不然会报错。

(4)在另一台电脑上使用的时候同样需要搭建一模一样的编程环境,安装MATLAB和VisualStudio,当然也有完整打包的方式,需要的话自己再额外查资料。

FIG. MATLAB函数

FIG. LABVIEW程序面板

FIG. LABVIEW前面板

最后祝大家都能成功实现!

LabVIEW与MATLAB联合编程之使用dll库文件连接相关推荐

  1. labview中java联合编程_LabVIEW与MATLAB混合编程的实现

    本栏目责任编辑:谢媛媛系统软件与软件工程 ComputerKnowledgeand Technology 电脑知识与技术 第 6 卷第 15 期 (2010 年 5 月) LabVIEW 与 MATL ...

  2. c 与matlab联合编程,MATLAB与C联合编程的实现

    MATLAB与C联合编程的实现 1.1.1 MATLAB与C#联合编程的实现 1. MATLAB与C#联合编程的方法 MATLAB与C#联合编程常见的实现方式有两种,包括COM(Component O ...

  3. vc与matlab联合,浅析VC与Matlab联合编程(二) - VC知识库文章

    浅析VC与Matlab联合编程(二) 作者:邓科 下载源代码 在"浅析VC与Matlab联合编程 (一)"中简单介绍了VC与matcom的接口编程,实现了VC调用matcom的一个 ...

  4. LabVIEW与MATLAB混合编程——调用Matlab中.m的函数

    LabVIEW与MATLAB混合编程--调用Matlab中.m的函数 1.调用labview中的matlab script 通过Labview中的Matlab script可以调用Matlab的.m程 ...

  5. CDR插件开发之Addon插件005 - Corel.Interop.VGCore.dll库文件简介

    本文讲解了 Corel.Interop.VGCore.dll 库文件的基本概念,演示了如何在CDR软件的安装目录中查找到VGCore库文件所在的位置,最后演示了如何在C#项目中,添加 Corel.In ...

  6. C#应用程序与MATLAB联合编程

    本文主要结合C#编写应用程序方便强大和MATLAB在工业科学界的广泛应用,结合两者的优点,利用C#编写的windows桌面应用程序作为UI交互接收用户配置,并根据用户在前端应用界面的操作自动控制MAT ...

  7. vc编译 matlab,精通VC与MATLAB联合编程——编译器的使用

    图1 图2 读者根据MATLAB安装实际情况输入头文件和库文件的路径. 3.在MATLAB打开文本编辑器(File->New->M-file)写一个简单的m函数: function y=h ...

  8. labview如何加载库_【LabVIEW教程】在LabVIEW中导入DLL库文件

    在LabVIEW中调用C++编写的库文件 0 前言 本来今天不打算更新了,恰好今天有客户有需求需要更新板卡的库文件. 这里就顺着这次工作,更新一节使用LabVIEW调用C++写的库文件. 有人就想到了 ...

  9. php 调用vs2013 dll文件,VScode能编辑DLL库文件么

    我们平时在工作中经常会遇到一些已经被编译后的DLL,而且更加麻烦的是没有源代码可以进行修改,只能针对这个DLL的文件进行修改才能得到我们想要的结果. 本文将通过一个实例来演示:如何完成一个简单的修改. ...

最新文章

  1. [PHP] 编写爬虫获取淘宝网上所有的商品分类以及关键属性 销售属性 非关键属性数据...
  2. [转载]我看到的最好的解释AngularJs中Factory和Service和Provide不同
  3. dialog对话框初始化 mfc_MFC中Dialog初始化顺序
  4. AI入门:无门槛可以玩的神经网络
  5. spring事务管理-xml配置aop事务(重点)
  6. php larvel https,laravel 解决强制跳转 https的问题
  7. css hack的使用
  8. 基于SSM疫情信息爬取与分析系统
  9. SQL 数据库基础知识点
  10. centos系统降级
  11. mod() SQL中取余的函数
  12. java 动态修改配置文件_Java 项目中一种简单的动态修改配置即时生效的方式 WatchService...
  13. Flutter之基础Widget
  14. linux su 的含义,linux su命令的真正含义,linuxsu命令
  15. CF 868 div2 A—C
  16. 2019我的Java面试跳槽经历
  17. 伯努利分布期望,方差推导
  18. 关于btrfs的修复,恢复数据
  19. 说点我关于演员黄轩的了解
  20. 让学习成为生活的一部分--彭小六

热门文章

  1. 全国计算机技术与软件专业技术资格(水平)考试【软件评测师】-考试内容总结(六)程序设计语言知识...
  2. 【自然语言处理】英文开源工具汇总()
  3. Unity游戏教程初步(八):Animator的使用
  4. 贵州邮政:IMO班聊让内部沟通信息跳涨10万+
  5. Java面试题考试题112道
  6. LLVM | 编译器框架
  7. 科技类新闻快讯_新闻快讯—您可能使用了错误HTML。
  8. 【Web开发】Python实现Web服务器(Ubuntu下Flask使用MySQL数据库)
  9. 倍福EK1110模块介绍
  10. 苹果Windows7系统修改文件夹时出现没有权限操作该怎么办?