【LabVIEW实用开发】--- LabVIEW调用python脚本

1. 概述

LabVIEW 调用 python 脚本的方式很多,这里主要介绍其中两种:

(1) Python Node 调用方式

(2) CMD 调用方式

2. Python Node 调用方式

推荐指数:⭐⭐⭐
是否限定LabVIEW版本:是,要求2018及以上。
是否限定python版本:是,只能是2.73.6版本,32位或64位也需要和LabVIEW版本对应。

python node 的方式调用python,可以很方便的配置python函数的参数、获取返回值。

2.1 使用说明

2.1.1 环境准备

  • LabVIEW环境要求:2018及以上
  • python环境要求:2.7或3.6,LabVIEW 使用Python Node程序模块调用python只支持这两个版本,选择其中一个版本安装即可,这里推荐3.6,版本高,支持的库会多一些。
  • 程序路径不能有中文
    如下为NI官方的Python调用版本要求,官方建议只用2.7和3.6。

2.1.2 Python程序编写

这里编写一个可以打开指定文件夹的python程序,在LabVIEW中是不能直接实现打开文件夹的操作的。代码如下所示,存为 tools.py 文件。

注:python node中调用的是python函数,不是这个python文件,不需要python文件能直接运行,调用的python函数正确即可。

python 复制代码
import os

def openFolder(folderPath):
    os.startfile(folderPath)

2.1.3 LabVIEW程序编写

有了上面的.py文件之后,就可以在LabVIEW程序中调用了。

如下所示为保存的LabVIEW程序片段。


讲解:

  • 打开Python会话:
    • 输入python的版本,这里安装的是3.6版本。
  • Python Node 配置:
    • 输入需要调用的python脚本的相对或绝对路径;
    • 输入调用的python脚本中的指定函数名称,这里使用的函数是"openFolder";
    • 输入python中的函数的参数,这里的参数是需要打开的文件夹的路径,如果python脚本没有参数可以忽略;
  • 关闭Python会话

2.1.4 运行程序

按照上述步骤完成后,运行程序。

如果运行中出现错误,建议检查如下;

  • python版本是否为2.7或3.6,并且和labview中调用填写的版本一致;
  • python版本的位数是否和labview版本一致,即32位或64位;
  • 程序所在路径不能有中文;

2.2 优缺点说明

优点:

  • 调用python函数的参数和返回值配置更直观,编程友好;

  • 能够直接获取python函数的返回值;
    缺点:

  • 对 labview 版本和 python 版本都有限制,不是很灵活和通用;

  • 限制中文路径

2.3 范例下载

上面的程序可以在下面这个链接下载。labview调用python范例程序-python-node资源-CSDN下载https://download.csdn.net/download/bojilan7484/92092626

3. CMD 调用方式

推荐指数:⭐⭐⭐⭐
是否限定LabVIEW版本:否
是否限定python版本:否

cmd的方式调用python,方式更自由,不限定版本,只要python程序在系统中能运行,labview就可以调用cmd指令来调用,缺点是不能直接获取函数的返回值,需要通过print打印输出。

3.1 使用说明

3.1.1 环境准备

由于对版本不限制,此处可以不做操作,确保python脚本能在电脑中运行即可。

3.1.2 Python程序编写

这里编写一个可以打开指定文件夹的python程序,和python node中的代码类似,但需要做一些调整。代码如下所示,存为 tools.py 文件。

注:cmd中调用的是python脚本文件,不是单独的函数,需要python文件能直接运行,这点需要和python node中进行区分。

python 复制代码
import os
import sys
import time

def openFolder(folderPath):
    os.startfile(folderPath)

openFolder(sys.argv[1])
print("打印输出调试")

3.1.3 LabVIEW程序编写

有了上面的.py文件之后,同样的也可以在labview中进行调用了,使用cmd方式。这里是把tools.py拷贝到了labview程序的同路径下,使用了相对路径进行调用。

如下所示为保存的LabVIEW程序片段。


讲解:

  • 使用cmd中的语法:python+需要调用的python脚本路径+python脚本的参数;
  • python脚本的路径可以使用相对路径或绝对路径,这里使用的相对路径;
  • 可以控制是否等待脚本运行完再返回,也可以不等待。默认是等待脚本运行完;
  • 可以控制cmd窗口是否打开,或者不打开,这里配置的是不打开;

3.1.4 运行程序

按照上述步骤完成后,运行程序。

如果运行后,在standard error 输出框中有错误信息,检查下脚本的路径和参数的格式是否正确。可以将参数用英文格式的双引号括起来,参数识别更友好。

3.2 优缺点说明

优点:

  • 不限制python和labview的版本,更通用;

  • 能灵活控制是否等待结果返回;

  • 不限制中文路径
    缺点:

  • 获取返回值需要在python程序中单独处理,不能直接获取函数的返回值;

3.3 范例下载

上面的程序可以在下面这个链接下载。

labview调用python范例程序-cmd资源-CSDN下载https://download.csdn.net/download/bojilan7484/92092951

4. 结论

LabVIEW 中的 Python Node 和 CMD 的方式,都可以调用python程序,实现多语言编程,解决一些在labview中可能不容易实现的需求,或者复用已经封装好的模块,提高编程开发的效率,这两种方式各有优缺点,欢迎大家评论区探讨。

相关推荐
数据牧羊人的成长笔记12 小时前
python爬虫scrapy框架使用
爬虫·python·scrapy
CUMT_DJ14 小时前
matlab计算算法的运行时间
开发语言·算法·matlab
weixin_5142218514 小时前
FDTD与matlab、python耦合
python·学习·matlab·fdtd
Overboom17 小时前
[C++] --- 常用设计模式
开发语言·c++·设计模式
Univin17 小时前
C++(10.4)
开发语言·数据结构·c++
KyollBM17 小时前
每日羊题 (质数筛 + 数学 | 构造 + 位运算)
开发语言·c++·算法
Paul_092019 小时前
golang面经——map模块和sync.Map模块
开发语言
F_D_Z19 小时前
数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
python·torchvision·transforms
Univin19 小时前
C++(10.5)
开发语言·c++·算法