首页 > 编程语言 >【LabVIEW】调用Python节点

【LabVIEW】调用Python节点

时间:2023-01-10 20:44:05浏览次数:53  
标签:会话 Python 数据类型 LabVIEW 数组 节点 输入

系统环境

LabVIEW2022 64bit 英文版
Python3.6.8 64bit

Python 节点

简介

Python节点可直接调用Python函数。

Python节点为可扩展函数,可显示已连线的输入端和输出端的数据类型。

可以配置Python节点以指定Python会话、模块路径和函数名称。

简介图

  • 会话句柄输入: 指定对Python会话的引用。一个或多个Python节点可以在单个Python会话中运行。
  • 模块路径: 指定Python模块的路径。该模块包含要调用的Python函数。
  • 函数名称: 指定要调用的Python函数名称。
  • 错误输入: 表明节点运行前的错误情况。 该输入提供标准错误输入功能。
  • 返回类型: 指定返回值的数据类型。 您必须将数据类型连接到返回类型,以指示返回值的预期数据类型。如果Python函数没有返回任何值,请不要连线返回类型
  • 输入参数: 指定Python函数的输入参数。 您可以调整Python节点以添加更多接线端。连线左侧的接线端即可为Python函数传递值。从右侧的接线端开始连线,可读取函数调用后参数的值。
  • 会话句柄输出: 返回对Python会话的引用。
  • 错误输出: 中包含错误信息。 该输出提供标准错误输出功能。
  • 返回值: Python函数的返回值。

基本使用框架

  1. 输入python版本字符串(“3.6”、“3.7”、“3.8”或“3.9”)
  2. 使用指定的python版本打开python会话。这将创建一个执行python代码的python主机进程
  3. 输入.py文件的完整路径
  4. 输入.py文件中需调用的函数名
  5. 关闭python会话。这将终止会话打开时创建的进程

例程

节点详细信息

支持的数据类型

Python节点支持大量的数据类型。可调用以下数据类型:

  • 数值
  • 数组(包括多维数组)
  • 字符串
  • 布尔

调用规范

  • 将整数、字符串和布尔转换为Python中对应的数据类型
  • 数组转换为列表ListNumPy数组
    • 默认情况下,Python节点将数组转换为列表List 。要将连接到输入参数的数组转换为NumPy数组,可右键单击输入参数并从快捷菜单中选择转换至NumPy数组
    • 只能将数值数组转换为NumPy数组
  • 转换为元组NamedTuple
    • 默认情况下,Python节点将簇整理为Tuple。在 Python 中,只能通过索引和iterator指定Tuple中的项。Python支持命名Tuple,所以也可通过名称来指定Tuple中的项。如果要按名称引用Tuple中的项,则必须将簇整理为Namedtuple。要将输入的簇整理为Namedtuple,可右键单击输入参数并从快捷菜单中选择转换为Namedtuple

应用 - 调用复杂数据结构

在 LabVIWE 中的例程中,有关Python节点的案例返回较单一。这里参考一些博客,介绍几种Python节点调用复杂数据结构的方法。

方法1:使用LabVIEW数组和Python数组

法1
前面板

import numpy as np

def Add_num(a, b, c):
    return np.array([[a, b, c]])

方法2:使用LabVIEW数组和Python列表

法2

前面板

TestList = [False, True, False]
def return_list():
    x = TestList
    return x

方法3: 使用LabVIEW簇和Python字典

借助JSON字符串完成通信
法3

前面板

import json

TestDict = {
    "String": "Test",
    "Number": 2,
    "Other number": 3
}

def return_dict():
    x = json.dumps(TestDict) 
    return x

参考

Python节点 - NI

Passing Python Data Structures To/From LabVIEW with the Python Node - NI

标签:会话,Python,数据类型,LabVIEW,数组,节点,输入
From: https://www.cnblogs.com/yaksa777/p/17040681.html

相关文章

  • GPS转化ECEF坐标系(0) python和c++代码
    https://www.cxyzjd.com/article/taiyang1987912/112982150 importmatha=6378137b=6356752.3142f=(a-b)/ae_sq=f*(2-f)pi=3.14159265359'''......
  • python读取大文件
    """每次固定读取10000行"""withopen(filename)asf:whileTrue:next10k=list(islice(f,10000))#needlisttodolen,3linesdownfor......
  • 【python小课堂专栏】python小课堂24 - 正则表达式(二)
    python小课堂24-正则表达式(二)前言今天继续来介绍一下python的正则表达式,回顾一下上次介绍的re模块整篇文章围绕着re.findall()来进行实例的讲解,也就是所谓的查询操作。......
  • python:reshape()函数
    a.reshape(m,n)表示将原有数组a转化为一个m行n列的新数组,a自身不变。m与n的乘积等于数组中的元素总数reshape(m,n)中参数m或n其中一个可写为"-1","-1"的作用在于计算机根据......
  • python 使用函数名的字符串调用函数(4种方法)
    先看一个例子:>>>deffoo():print"foo">>>defbar():print"bar">>>func_list=["foo","bar"]>>>forfuncinfunc_list:func()TypeError......
  • pycharm:无法加载文件 C:\Users\admin\PycharmProjects\pythonProject1\venv\Scr
    以前一直在vmware虚机上用pycharm,这次想在win10pc上试试 安装pycharm后,打开终端直接报错:无法加载文件C:\Users\admin\PycharmProjects\pythonProject1\venv\Scripts......
  • 用python做个简单的监控
    今天在看博客园的时候看到一篇文章,忘记是什么地址了,之前我也做过一个类似的监控,不过不好控制。之前的模式是通过内网地址访问相应的php程序,php调用python程序,能捕获到摄像......
  • python里的__call__()方法
    解释__call__方法是Python中类的特殊方法,当一个类的实例被“调用”时,就会自动触发这个方法。“调用”一个类的实例就是使用小括号()操作符。举个例子:classAdder:......
  • ubuntu加入k8s1.24.4集群worker节点
    更新阿里云yumcat<<EOF|sudotee/etc/apt/sources.listdebhttp://mirrors.aliyun.com/ubuntu/focalmainrestricteduniversemultiverse#debhttps://mirrors.aliyu......
  • python pip 安装报错 (公司网络需要设置代理)
    python pip安装失败 1.打开“文件资源管理器”,地址栏输入“%USERPROFILE%”,回车键打开当前登录用户目录2.新建文件夹“pip”3.打开新建的“pip”文件夹,新建文件......