【问题标题】:Programmatically checking if Labview Module is on system以编程方式检查 Labview 模块是否在系统上
【发布时间】:2016-10-28 04:24:50
【问题描述】:

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

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

【问题讨论】:

    标签: labview vision


    【解决方案1】:

    检测已安装的 NI 软件

    您可以使用 系统配置 API Get Installed Software.vi 在运行时检测已安装的 NI 软件。

    可选择使用 LabVIEW API

    使您的应用程序支持可选LabVIEW模块的下一步是使您的应用程序可选地依赖它。

    在运行时,这是由dynamically calling VIs 完成的。 在构建时,这是通过使用conditional disable structure 从编译中删除框图区域来完成的。

    动态调用 VI

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

    当您动态链接 VI 时,应用程序不知道它将调用什么 VI,直到您的代码告诉它在运行时调用什么。通过指定要使用的 VI 的路径和连线板,您可以按需引用和调用它们,而不是按需调用它们。 NI 有一个guided tutorial 介绍了此设计模式的设置和使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      • 2012-10-10
      • 2011-05-14
      • 2011-01-31
      • 2017-11-07
      相关资源
      最近更新 更多