除了将源代码导入LabVIEW程序框图之外,还可在LabVIEW应用程序中调用使用其他语言开发的应用程序和算法。例如,如果您已经有一个C/C ++共享库并且需要在LabVIEW中复用该库,那么可以使用“调用库函数节点”(Call Library Function Node)来调用这个共享库。为了使导入外部库更加容易,LabVIEW还提供了导入共享库向导(Import Shared Library Wizard),可自动创建或更新LabVIEW包装VI项目库,以便集成到LabVIEW程序框图中。
图1.使用图形化编程方法和Call Library Function Node(调用库函数节点),复用现有C或C ++共享库。
调用使用The MathWorks,Inc.MATLAB®软件开发的MATLAB脚本,其中包含了常见的数值分析、信号处理和高级数学编程方法。这些脚本可以使用MATLAB脚本节点与VI结合在一起,从而可以将MATLAB分析函数集成到测试和测量系统中。
LabVIEW也可以调用系统中运行的其他应用程序。过去十年,Python的应用日益普及且不断扩展,为各种应用提供了数十万个现成的代码库。通过开发Python自动化脚本并将其集成至大型的LabVIEW程序,提供了一个直观的解决方案来将Python的灵活脚本编写功能合并到LabVIEW系统设计工具。有多种方法可以复用Python代码,比如Enthought开发的LabVIEW Python集成工具包或者与LabVIEW内部的命令行连接,这些方法提供了针对特定操作系统的接口,来调用可执行文件和其他构建库。
图3.使用LabVIEW Python集成工具包进行内联调用,在LabVIEW中复用现有Python脚本。
LabVIEW具有通用和特定行业专用的以太网和串行外设通信库。LabVIEW本地支持常用的工业协议(如CAN、PROFINET、OPC UA和EtherCAT),因而可以连接到各种设备、机器和基础架构。如果您的应用程序需要支持多种协议,LabVIEW可以作为一个网关,在其支持的近20种协议之间转换,其中包括针对特定行业的协议,如DNP3和FlexRay。
由于FPGA可以使用LabVIEW进行编程,因此您甚至可以高效地构建自定义通信协议来满足传统或特有通信需求。LabVIEW FPGA模块提供了串行、I2C和SPI等数字总线协议的代码示例,作为开发基础,同时还为Xilinx Aurora、Serial RapidIO、JESD204B和10千兆位以太网等高速串行协议提供了FPGA IP内核。
图 4.使用LabVIEW中的标准协议支持与DUT和其他系统组件进行通信,如NI-XNET仪器驱动程序。