结合LabVIEW使用Python、MathWorks® MATLAB®软件C/C++

概览

LabVIEW与其他编程语言的集成对于构建测试系统的工程师来说是一项非常实用的功能。 将Python、MathWorks MATLAB软件、C/C++和.NET等编程语言与LabVIEW的图形化数据流相结合,能够集各语言之所长,在更短的时间内构建灵活的测试系统。

 

在此技术白皮书中,您将了解如何将四种主流编程技术与LabVIEW集成。这种灵活性意味着您总是能够选择正确的工具来开展工作,从而更快速取得成功。

内容

LabVIEWPython脚本

过去数年,Python的应用日益普及且不断扩展,为各种应用提供了数十万个现成的代码库。将Python集成到LabVIEW中,即可将Python灵活的脚本功能与LabVIEW的系统设计工具相结合。

通过Python节点,用户可在LabVIEW的程序框图中本地调用Python脚本。这使得两种编程语言之间能够以低延迟实现互操作。

图1: 在LabVIEW中使用Python节点来调用Python脚本,即可将其集成。

在Python节点中,可以在调用函数时指定使用的版本和Python路径,从而能够访问安装在自定义目录中的Python。这意味着能够使用多个Python节点来打开基于不同版本的多个会话或打开存储在自定义目录中的可执行文件。

LabVIEW 2022 Q3新增了对将Python类对象作为参数进行传递的支持。Python节点上的引用句柄输出表示一个Python类对象,可以将其作为输入传递给另一个Python节点,从而对类对象进行操作。

.

图2: LabVIEW 2022支持将Python类对象作为参数进行传递。

LabVIEW 2023 Q1新增功能用于通过Anaconda和Venv调用Python虚拟环境。

为改进Python与LabVIEW之间的互操作性,NI将持续投资,并计划在2023年及未来不断进行更新。有关LabVIEW新功能和未来计划的更多信息,可查看LabVIEW概述页面。

LabVIEWMathWorks MATLAB软件集成

常见的数值分析、信号处理和高等数学编程方法同样可用于调用使用MATLAB开发的.m文件。在图形化编程环境中使用MATLAB节点可将这些文件组合到一个VI中,从而将MATLAB的分析功能集成到测试和测量系统中。


图3:  使用“调用MATLAB”函数从MATLAB节点调用.m文件,从而将.m文件集成到LabVIEW中。

此外,LabVIEW现可支持用户选择特定的MATLAB版本来执行程序。

图4. 使用MATLAB节点,可选择特定的MATLAB版本来执行程序。

从LabVIEW 2022 Q3开始,LabVIEW增加了新的调试功能,比如在MATLAB编辑器中添加断点;通过单步执行即可从LabVIEW切换到.m文件,便于调试代码;或者​在LabVIEW中启动MATLAB IDE,来随时编辑.m文件。


图5: 使用LabVIEW的调试工具打开.m文件,并在LabVIEW中进行调试。

LabVIEWC/C++ DLL

使用LabVIEW时,可通过调用动态链接库(DLL)或共享库来复用现有代码。

例如,如果需要在LabVIEW中复用C/C ++共享库,则可使用调用库函数节点来调用这个共享库。为简化外部库的导入,LabVIEW还提供了导入共享库向导。该向导可自动创建或更新LabVIEW包装VI项目库,以便集成到LabVIEW程序框图中。

图6:通过将调用库函数节点与图形化语言编程方法相结合,复用现有的C或C++共享库。

LabVIEW用.NET程序集

在LabVIEW中复用现有代码的另一种方法是调用.NET程序集。

如要访问.NET程序集,请使用构造器节点。将构造器节点置于程序框图时,会出现一个对话窗口,以便用户选择适当的.NET程序集。LabVIEW可自动识别所有方法和属性,并通过“方法和属性节点”显示这些方法和属性。

图7:使用.NET构造器节点函数,创建对.NET程序集的引用。然后,将引用传递给“属性”或“调用节点”函数,以便函数知道正在操作的是哪个程序集。

LabVIEW可加载针对.NET CLR 4.0或较早版本的.NET程序集。不过,LabVIEW会使用.NET CLR 4.0版本加载所有程序集。

结论

上面我们介绍了四种使用LabVIEW连接常用编程语言的方法,重点介绍其灵活性和互操作性。这种连接性可以无缝集成各工具之所长,从而助您更快速地构建灵活的测试系统。

下一步