石鑫华视觉 发表于 2018-9-26 14:35:01

什么是NI-IMAQdx Runtime?为什么在我的可执行文件中该部分的控制会失效?

问题:我有一个可执行文件使用了NI-IMAQdx 14。当我尝试建立该可执行文件的的安装包时,为什么我没有包含NI-IMAQdx部分的选项。另一方面,当我执行该可执行文件时,为什么在Session空间的下拉式选单功能中,我想要选择的相机是失效的?


解答:在比Vision Acquisition Software(VAS) Augest 2014 更早的版本,这些给VAS的附加安装文件,例如:NI-IMAQdx,不只包含runtime,也包含了labview应用开发的支持。在VAS August 2014或者之后的版本,我们现在只允许部署端拥有runtime的部件而已,这样就能够明显降低安装文件的大小,但是再也不能把LabVIEW应用开发支持(ADE)的功能包含在安装文档中。如下图所示的Labview Runtime Engine和NI-IMAQdx Runtime在视觉应用的安装程序中会自动被选择。





这个改变使得labview视觉模块与其他大部分NI-产品一致,也就是除了runtime模块以外,您没办法对一个产品部署完整的开发支持。如果您需要在您部署的机器上安装有ADE支持的VAS,除了Labview(用来使用VAS ADE支持)以外,您会需要在那个机器上安装完整的VAS安装档。想要自动的达到这个目的,您必须要写一个bath文档来执行labview以及NI-IMAQdx安装软件。


在您的执行文件中,对于VAS 2014 runtimes 来说,Session 下拉式菜单失效是一个正常现象,因为这是一个只有在支持VAS ADE才会有的功能。 这并不代表驱动没找到相机,这种情况下,您可以靠着Session控件直接输入相机名字来测试(例如:“cam0”是系统中设定的第一个相机名称)。


这个可以实现的视觉应用部署情形,是为了要简化使用者在使用过程中太过复杂的选择过程。在理想状况下,您的程序框图应该使用 IMAQdx Enumerate Cameras VI来自动列举相机,然后决定哪个相机来当使用目标(基于通道的格式、序号、型号之类的)。


如果您的应用需要让终端使用者来选择相机,通过使用IMAQdx Enumerate Cameras VI以及Comobo Box的Strings[] 节点,可以用Combo Box把安装在您系统中的相机名字列举出来。您可以在下面的VI截图中看到这个方法。



以上方法是NI提供的,但是我方机器视觉论坛visionbbs.com验证,其实可以通过打包完整的IMAQdx也可以解决。在添加附加组件时,有IMAQdx RUNTIME选项,以及IMAQdx选项。如果只选择IAMQdx RUNTIME是无法运行的,但是可以选择IMAQdx完整包,则可以正常运行,IMAQdx完整包会比IMAQdx RT运行时大几百M。反正NI的安装程序通常都是几百M或一两个G的,多一两百M也没什么问题。


页: [1]
查看完整版本: 什么是NI-IMAQdx Runtime?为什么在我的可执行文件中该部分的控制会失效?

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23