由于开发需要,上位机需要采用labview设计,但是之前研究算法主要靠matlab或者python,因此考虑采用labview混合编程的方式。
目前,界面设计采用Labview,而算法部分采用Matlab或者python,即采用混合编程的方式设计电池检测系统的上位机软件,要求开发的电脑上同时安装以上软件。
目前的开发环境的版本:
LabVIEW 2019 32bit中文版
MatLab R2018b以上版本
python 32bit

软件安装与配置

labview安装

安装32bit的labview2019,按照一般网上教程正常安装即可。不过目前发现labview似乎只能装入c盘,想调整到别的盘比较麻烦,所以有个大c盘很重要。

Matlab安装与配置

Matlab按照一般网上教程正常安装即可。
按住完成后,需要额外安装Mingw编译器组件这里也有很多方法,安装mingv之后,只需配置下环境变量。
如果不想配置环境变量之类的,有个简单的方法:
找到matlab的附加功能按钮

在里面搜索mingw-w64

安装时需要注册账号。
装完后mex -setup确认编译器设置完成。

如果是别的编译器作为默认编译器,可以按照matlab提示切换mingw,当然,也可以用别的c++编译器。

另外,由于本次要生成的是com组件,以win10开发为例,还需要安装windows 10 sdk
去微软的官网下载(地址)
下载后得到一个在线安装包,安装操作执行即可。

python

在网上搜索python3.6的独立安装包,为了兼容性考虑,安装了32bit的版本(后面不带amd64)

然后安装即可。需要注意的是安装位置必须是设置为C:\Python3.6


需要注意的是,anaconda的虚拟环境并不能成功与labview配合,所以这里只能安装python的官方版本。以后单独开发时,可以用virtualenv创建虚拟环境,然后在里面开发完后,在转入安装的全局python。

混合编程示例

Matlab混合编程

这里参照学习的是《LabVIEW调用MatLab程序进行混合编程的实用方法》

MatLab生成COM组件

MatLab中新建脚本文件,写入函数。这里简单的写一个求平方的函数作为例子。

点击“应用程序”->“应用程序编译器”。

然后在DEPLOYMENT窗口中,依次点击“NEW”->“Liabrary Compiler Porject”->“Generic COM component”-> 添加需要的.m文件->“Package”。

等待打包完成,MatLab会自动跳转到生成的文件夹,在for_testing文件夹下可看到生成的.dll文件。

LabVIEW中调用COM组件

LabVIEW后面板,函数面板中依次点击“Connectivity”->“ActiveX”,将“自动打开”和“调用节点”函数拖入后面板。

在“自动打开”函数上右击,浏览到MatLab生成的.dll文件。



已自动定位到类库,选择库中的对象,确定。

连接调用节点的引线,调用节点的方法中选择需要的函数(本例中是test函数)。

给函数的输入变量和输出变量赋值,可以看到变量的名称与我们在MatLab中建立的函数的变量名称完全一致,但多了一个变量nargout,这个变量是指输出变量的数量,一般为1就好。
前面板输入参数,运行

Python混合编程

python编写

python的编写按照常规编写即可。使用任意编辑器,按照python语法构建一个函数,这里以一个加法函数为例。

调用python

2018版本开始,labview自带了python接口。


首先是“打开Python会话”控件,设置python版本

然后是连接“Python节点”控件,设置文件路径和选择函数名

同时设置函数返回类型

同理设置ass函数的节点配置,最后连接“关闭Python会话”
完成后的连接:

回到前面板,点击白色按钮可以运行,此时会报错,因为没有选择python文件路径。

设置选择后运行

labview混合编程学习相关推荐

  1. halcon linux qt,Halcon C++混合编程学习之Qt 实现检测焊接点

    Halcon C++混合编程学习之Qt 实现检测焊接点 # include "HalconCpp.h" # include "HDevThread.h" # i ...

  2. Qt Quick Qml 之QML与C++ 混合编程学习

    <QML与C++ 混合编程学习> 1. 在 QML 中使用 C++ 类和对象 1) C++ 类的修改 2) 注册 QML 类型 3) 在 QML 中导入类型 4) 在 QML 创建由 C+ ...

  3. Labview与C#的混合编程学习(一)

    记录:Labview与C#混合编程(一) 记录学习Labview与C#的过程,一起交流学习. 主要是C#与Labveiw来读取文件 打算XML.txt.csv.Excel.ini等文件的读写,利用La ...

  4. Fortran和C/C++混合编程学习笔记(一):编译链接

    有时候,我们希望使用Fortran和C/C++混合编程,以利用各语言的优势.只要确保函数调用时传递的参数类型正确,定义和声明的变量类型和大小匹配,Fortran和C 语言二者的函数和全局变量就可以彼此 ...

  5. java和python混合编程_浅谈C++与Java混合编程

    在学习编程的过程中, 我觉得不止要获得课本的知识, 更多的是通过学习技术知识提高解决问题的能力, 这样我们才能走在最前方, 更 多 Java 学习,请登陆疯狂 java 官网. 现实的情况是, 真实的 ...

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

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

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

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

  8. LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC

    LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC,工厂MES通讯,数据库,NI vision视觉等开发,及操作者框架源码可运行,想学习面对对象的可以参考 ID:16199647294 ...

  9. arm学习笔记五(c/c++与arm汇编混合编程)

    混合编程 常见方式:  1 在c/c++程序中嵌入汇编指令   语法格式: __asm {           汇编语言程序         }  2 在汇编程序中访问c/c++定义的全局变量   示 ...

  10. android与python交互_Android与Python混合编程

    前言 早在2017年的时候,出于业余兴趣,我就开始研究关于Python移植到Android上的实现方案,我一直希望能实现Android与Python的混合编程,并为此写了一系列博客,我希望借助JNI技 ...

最新文章

  1. hdfs mv命令_如何HDFS mv命令工作
  2. less的一些用法整理
  3. Educational Codeforces Round 48
  4. home assistant gpio 温度计_Calsys 500BB辐射温度计
  5. jQuery mobile网格布局
  6. 【特征选择】特征选择的通俗讲解!
  7. vim编辑器设置行号、缩进、tab键
  8. 蓝桥杯C语言基础训练答案,蓝桥杯c语言答案.doc
  9. 美图秀秀扣取签字,证件照换背景
  10. VUE 学习中的疑问
  11. 电子邮箱免费注册,个人邮箱申请哪个好?微信邮箱客户端这个好用
  12. CG-62 压电式雨量传感器 工作原理 使用安装环境 高精度
  13. C#设置按钮鼠标进入时半透明样式
  14. Tekla二次开发之切割部分的详解
  15. STM32 F446RET6多通道ADC采集
  16. 计算机考证打字训练题
  17. linux命令之pip命令
  18. angularjs结合plupload实现文件上传
  19. java model 原则_java内存模型(Java Memeory Model)
  20. cmw测试ble_如何测试CC2640的BLE射频指标(一)

热门文章

  1. Matlab交通流建模
  2. Multisim14.0的安装步骤
  3. android日记论文摘要,毕业设计(论文)-基于android的日记本的设计与开发.doc
  4. 【java】Spring开发中不能使用IOC的情况
  5. 谷歌地图的离线地图下载
  6. windows10应用商店下安装kali子系统
  7. [4G+5G专题-144]: 一体化小基站- 5G小基站硬件建议架构概述
  8. 微信安装包 11 年膨胀 575 倍?QQ安装包800M?谁在抢你的手机内存?
  9. 支付宝异步通知 java_java 支付宝支付 手机网站支付结果异步通知
  10. 三菱plc编程有c语言吗,三菱plc编程用什么语言