系统环境
LabVIEW2022 64bit 英文版
Python3.6.8 64bit
Python 节点
简介
Python节点可直接调用Python函数。
Python节点为可扩展函数,可显示已连线的输入端和输出端的数据类型。
可以配置Python节点以指定Python会话、模块路径和函数名称。
- 会话句柄输入: 指定对Python会话的引用。一个或多个Python节点可以在单个Python会话中运行。
- 模块路径: 指定Python模块的路径。该模块包含要调用的Python函数。
- 函数名称: 指定要调用的Python函数名称。
- 错误输入: 表明节点运行前的错误情况。 该输入提供标准错误输入功能。
- 返回类型: 指定返回值的数据类型。 您必须将数据类型连接到返回类型,以指示返回值的预期数据类型。如果Python函数没有返回任何值,请不要连线返回类型。
- 输入参数: 指定Python函数的输入参数。 您可以调整Python节点以添加更多接线端。连线左侧的接线端即可为Python函数传递值。从右侧的接线端开始连线,可读取函数调用后参数的值。
- 会话句柄输出: 返回对Python会话的引用。
- 错误输出: 中包含错误信息。 该输出提供标准错误输出功能。
- 返回值: Python函数的返回值。
基本使用框架
- 输入python版本字符串(“3.6”、“3.7”、“3.8”或“3.9”)
- 使用指定的python版本打开python会话。这将创建一个执行python代码的python主机进程
- 输入.py文件的完整路径
- 输入.py文件中需调用的函数名
- 关闭python会话。这将终止会话打开时创建的进程
节点详细信息
支持的数据类型
Python节点支持大量的数据类型。可调用以下数据类型:
- 数值
- 数组(包括多维数组)
- 字符串
- 簇
- 布尔
调用规范
- 将整数、字符串和布尔转换为Python中对应的数据类型
- 将数组转换为列表List或NumPy数组
- 默认情况下,Python节点将数组转换为列表List 。要将连接到输入参数的数组转换为NumPy数组,可右键单击输入参数并从快捷菜单中选择转换至NumPy数组
- 只能将数值数组转换为NumPy数组
- 将簇转换为元组NamedTuple
- 默认情况下,Python节点将簇整理为Tuple。在 Python 中,只能通过索引和iterator指定Tuple中的项。Python支持命名Tuple,所以也可通过名称来指定Tuple中的项。如果要按名称引用Tuple中的项,则必须将簇整理为Namedtuple。要将输入的簇整理为Namedtuple,可右键单击输入参数并从快捷菜单中选择转换为Namedtuple
应用 - 调用复杂数据结构
在 LabVIWE 中的例程中,有关Python节点的案例返回较单一。这里参考一些博客,介绍几种Python节点调用复杂数据结构的方法。
方法1:使用LabVIEW数组和Python数组
import numpy as np
def Add_num(a, b, c):
return np.array([[a, b, c]])
方法2:使用LabVIEW数组和Python列表
TestList = [False, True, False]
def return_list():
x = TestList
return x
方法3: 使用LabVIEW簇和Python字典
借助JSON字符串完成通信
import json
TestDict = {
"String": "Test",
"Number": 2,
"Other number": 3
}
def return_dict():
x = json.dumps(TestDict)
return x
参考
Passing Python Data Structures To/From LabVIEW with the Python Node - NI
标签:会话,Python,数据类型,LabVIEW,数组,节点,输入 From: https://www.cnblogs.com/yaksa777/p/17040681.html