以编程方式检查Labview模块是否在系统上

Cli*_*iff 1 labview vision

我有两个版本的相同Labview程序 - 一个带摄像头控制,一个没有.这是因为我没有足够的NI Vision许可证用于我的所有系统(其中一些有摄像头),而具有视觉子程序的程序不能在非NI Vision系统上运行.

我想将这些版本合并到包含相机控件的一个版本中,但如果它所在的系统没有相机,则忽略它们.有没有办法以编程方式检查系统是否在运行时具有NI-Vision模块?目前,如果由于错误而未包含NI Vision,则甚至无法启动主vi.

Joe*_*sen 5

检测已安装的NI软件

您可以使用System Configuration API 在运行时检测已安装的NI软件Get Installed Software.vi.

在此输入图像描述

可选择使用LabVIEW API

使应用程序支持LabVIEW模块的可选存在的下一步是使您的应用程序可选择依赖它.

在运行时,这是通过动态调用VI来完成的.在构建时,这是通过从具有条件禁用结构的编译中移除框图的区域来完成的.

动态调用VI

在程序框图上放置VI时,您将VI静态链接到应用程序.由于它是静态链接的,因此应用程序必须能够找到加载时使用的函数和API .

当您动态链接VI时,应用程序不知道它将调用哪个VI,直到您的代码告诉它在运行时调用什么.通过指定要使用的VI的路径和连接器窗格,您可以按需引用和调用它们,而不是按负载调用它们.NI提供了一个指导教程,介绍了此设计模式的设置和使用.