labview混合编程学习
由于开发需要,上位机需要采用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混合编程学习相关推荐
- halcon linux qt,Halcon C++混合编程学习之Qt 实现检测焊接点
Halcon C++混合编程学习之Qt 实现检测焊接点 # include "HalconCpp.h" # include "HDevThread.h" # i ...
- Qt Quick Qml 之QML与C++ 混合编程学习
<QML与C++ 混合编程学习> 1. 在 QML 中使用 C++ 类和对象 1) C++ 类的修改 2) 注册 QML 类型 3) 在 QML 中导入类型 4) 在 QML 创建由 C+ ...
- Labview与C#的混合编程学习(一)
记录:Labview与C#混合编程(一) 记录学习Labview与C#的过程,一起交流学习. 主要是C#与Labveiw来读取文件 打算XML.txt.csv.Excel.ini等文件的读写,利用La ...
- Fortran和C/C++混合编程学习笔记(一):编译链接
有时候,我们希望使用Fortran和C/C++混合编程,以利用各语言的优势.只要确保函数调用时传递的参数类型正确,定义和声明的变量类型和大小匹配,Fortran和C 语言二者的函数和全局变量就可以彼此 ...
- java和python混合编程_浅谈C++与Java混合编程
在学习编程的过程中, 我觉得不止要获得课本的知识, 更多的是通过学习技术知识提高解决问题的能力, 这样我们才能走在最前方, 更 多 Java 学习,请登陆疯狂 java 官网. 现实的情况是, 真实的 ...
- LabVIEW与MATLAB混合编程——调用Matlab中.m的函数
LabVIEW与MATLAB混合编程--调用Matlab中.m的函数 1.调用labview中的matlab script 通过Labview中的Matlab script可以调用Matlab的.m程 ...
- labview中java联合编程_LabVIEW与MATLAB混合编程的实现
本栏目责任编辑:谢媛媛系统软件与软件工程 ComputerKnowledgeand Technology 电脑知识与技术 第 6 卷第 15 期 (2010 年 5 月) LabVIEW 与 MATL ...
- LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC
LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC,工厂MES通讯,数据库,NI vision视觉等开发,及操作者框架源码可运行,想学习面对对象的可以参考 ID:16199647294 ...
- arm学习笔记五(c/c++与arm汇编混合编程)
混合编程 常见方式: 1 在c/c++程序中嵌入汇编指令 语法格式: __asm { 汇编语言程序 } 2 在汇编程序中访问c/c++定义的全局变量 示 ...
- android与python交互_Android与Python混合编程
前言 早在2017年的时候,出于业余兴趣,我就开始研究关于Python移植到Android上的实现方案,我一直希望能实现Android与Python的混合编程,并为此写了一系列博客,我希望借助JNI技 ...
最新文章
- hdfs mv命令_如何HDFS mv命令工作
- less的一些用法整理
- Educational Codeforces Round 48
- home assistant gpio 温度计_Calsys 500BB辐射温度计
- jQuery mobile网格布局
- 【特征选择】特征选择的通俗讲解!
- vim编辑器设置行号、缩进、tab键
- 蓝桥杯C语言基础训练答案,蓝桥杯c语言答案.doc
- 美图秀秀扣取签字,证件照换背景
- VUE 学习中的疑问
- 电子邮箱免费注册,个人邮箱申请哪个好?微信邮箱客户端这个好用
- CG-62 压电式雨量传感器 工作原理 使用安装环境 高精度
- C#设置按钮鼠标进入时半透明样式
- Tekla二次开发之切割部分的详解
- STM32 F446RET6多通道ADC采集
- 计算机考证打字训练题
- linux命令之pip命令
- angularjs结合plupload实现文件上传
- java model 原则_java内存模型(Java Memeory Model)
- cmw测试ble_如何测试CC2640的BLE射频指标(一)
热门文章
- Matlab交通流建模
- Multisim14.0的安装步骤
- android日记论文摘要,毕业设计(论文)-基于android的日记本的设计与开发.doc
- 【java】Spring开发中不能使用IOC的情况
- 谷歌地图的离线地图下载
- windows10应用商店下安装kali子系统
- [4G+5G专题-144]: 一体化小基站- 5G小基站硬件建议架构概述
- 微信安装包 11 年膨胀 575 倍?QQ安装包800M?谁在抢你的手机内存?
- 支付宝异步通知 java_java 支付宝支付 手机网站支付结果异步通知
- 三菱plc编程有c语言吗,三菱plc编程用什么语言