From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



NI-IMAQ中的错误代码



主要软件:
主要软件版本: 3.0
主要软件修正版本: N/A
次要软件: N/A
硬件: Image Acquisition (IMAQ)

问题:

下面是一些使用NI-IMAQ常见的错误

  1. IMG_ERR_VLCK- can't lock on video source (error 1074397153)
  2. Invalid Image Type
  3. -1074396078
  4. -1074397150
  5. -1074397154
  6. -1074397163
  7. -30222
  8. IMG_PALKEY_ERR
  9. IMG_ERR_NOEM
  10. IMG_ERR_NEPK
  11. IMG_ERR_NEOM


解答:

IMG_ERR_VLCK - can't lock on video source (error 1074397153)


当你在Measurement & Automation Explorer Configuration Utility (MAX)或者开发环境中配置一个采集任务时,会返回错误信息IMG_ERR_VLCK - can't lock on video source (error -1074397153)


1.确保相机已经和采集卡连接,并且已经正常供电。(这是最常见的问题)。在这个问题上有趣的变化包括上电和运行应用程序有缺陷的电源和系统,有缺陷的电缆和连接到错误通道或输入的电缆。


2.确保你正在试图用正确的接口文件(例如img0.iid),正确的通道、符合相机类型(RS170/CCIR/NTSC/PAL等等)的正确的相机文件来采集图像。你的相机文档应该说明它会什么样的信号类型。确保相机文件没有被鼠标右键在通道上点击并选择New»{RS170, CCIR, etc.}改变。这样会导致弹出一个窗口,让你来选择一个新的相机文件。选择一个不同的名称,然后再次尝试一下采集。你的新文件将会按照你的相机类型初始化到正确的默认值。


3.如果你有IMAQ PCI/PXI-1408,尝试减小Sync Detect水平(右键在相机对应通道上单击并选择Properties»Advanced Tab»Sync Detect)。在视频信号水平同步脉冲幅度可能减小的区域,这将有助于彩色组合相机和有噪视频信号的改善。


4.同样,对于PCI/PXI-1408或者PCI-1409,检查一下是否出现跳线W1(在BNC连接器旁边)。如果这个跳线没有出现,BNC连接器已经被禁用,你也就不能从BNC连接器获取图像。


5.如果你正在使用VCR输出,PCI/PXI-1408很可能不能锁定该信号。PCI/PXI-1407和1411有一个Lock Speed参数,你可以用它来调整快速设置,从而使采集卡与较差的VCR信号锁定(请参考下面的相关链接)。


6.有时当信号质量特别差时(由于信号经过长距离的电缆传输或者噪声环境),你也许需要采用板卡上的高增益模式。这可以通过在通道属性窗口中减小白噪声参考幅值和/或增加背景参考幅度(如果可用的话)来实现。


如果上述注意方法都没有帮助,请确认相机提供了一个质量很好的视频信号。一些老式相机也许会输出一个非标准数值的线,这将会导致锁定电路至采集卡电路板的困难。如果可能的话,尝试使用另一台计算机的另一块采集卡进行采集,或者使用同一块板卡但是采用不同相机采集。你也许同样想用MAX来诊断板卡的一些组件。


无效图片类型(Invalid Image Type)


我正在使用PCI-1409从一个NTSC相机来采集彩色图像信号。从板卡的使用规范来看,这种相机可以采集StillColor图像。我在MAX中将StillColor模式设为“Composite”,并且设置通道为RGB彩色的NTSC类型,然后我进行Snap或者Grad采集它们都工作正常,我得到了彩色图片。


当我使用LabVIEW时,我做了一个简单的Snap程序,在IMAQ Create VI中设置图片类型为RGB。当我运行程序时,LabVIEW会报错:Invalid Image Type。


LabVIEW会默认使用StillColor为禁止模式,并且它不会按照MAX对此特殊选择做的设置执行程序。解决办法是在获取图像之前,在LabVIEW中将StillColor的属性设置为Composite。


在附件IMAQ_error_codes zip 文件中,你会找到一个Color NTSC in 1409 Snap.vi的例子,它演示了如何进行这项操作。打开这个文件,键入接口名称和通道编号然后运行。你可以看看这段代码来理解如何设置StillColor模式。为了避免LabVIEW兼容性引发的问题,下面是一张与该VI同样的程序框图图片:

     
 
你也可以在LabVIEW范例中找到一个新的StillColor的例子,路径为:labview\examples\IMAQ\IMAQ HighLevel.llb\HL StillColor Snap in IMAQ Vision Display VI.


-1074396078


我配置了我的PXI/PCI-1408/1409视频采集卡来进行Composite StillColor模式的采集。我可以在MAX中使用Snap和Grab方式无错误的采集到信号。但是当我在应用程序中使用Snap和Grab采集时,报错Error -1074396078。


为了使用Composite StillColor模式采集视频信号,你需要先将StillColor模式设置为Composite然后使用属性节点将Color Image Representation设置为RGB32。
请参考附件IMAQ_error_codes 压缩文件中的例子:Basic_StillColor_(CVI).zip, HL_StillColorSnap_in_picture_control.vi, 和HL_StillColorSnap_in_intensity_graph.zip.

这个错误也有可能是因为仍然将采集卡设置为10 bit模式,但是程序却希望产生一个8 bit的图片。这是安装IMAQ后的典型结果,因为驱动会默认设置为10 bit模式。为了改正这个问题,打开MAX,选择对应相机通道,选择Acquisition Parameters选项并且将比特深度改为8 bit。


-1074397150


IMAQ Snap VI 返回错误 Error -1074397150 at IMAQ Snap.vi wait timed out - acquisition not complete.

这与IMAQ Copy VI中将分辨率的即时输入设为真非常相似。但是,对于IMAQ Snap VI并没有类似控件。你必须将imgSessionAcquire.vi 的Async? 端设为假。这可以在IMAQ Snap VI的内部结构中找到:打开IMAQ Snap VI»打开IMAQ Sequence VI»打开IMAQ Start VI»将imgSessionAcquire.vi 的布尔输入端设为假。

                                                                         
                                 
-1074397154


当我使用IMAQ Status VI来减小处理器使用率,我移动放弃窗口时得到错误Error -1074397154 "No acquisition in progress"

在使用1407和1408时,得到“Acquisition in Progress”的属性是有些问题的。作为一种变通方法,我们可以检查采集时的名为Last Valid Buffer的缓冲区。用“Last Valid Buffer”属性节点来替换IMAQ Status VI。附件IMAQ_error_codes Zip 压缩文件里的LL Ring in IMAQ Vision Display with Status.vi用到的这种方法。


-1074397163


当我在LabVIEW 5.1中运行IMAQ-Vision例程的时候,我遇到了错误Error -1074397163 occurred in Cleanup module.


这个错误常常产生于IMAQ Init VI被调用但是却没有正确的接口名称。在MAX中,NI-IMAQ驱动会在计算机中给每一个IMAQ板卡分配一个接口名,从img0开始,然后img1,按照板卡在计算机上的安装顺序以此类推。例如MAX如果给接口分配了img1的名称,然后在你程序程序代码中调用的IMAQ Init VI的接口名为img0,就会产生这个错误。


-30222


我正在试图使用ActiveX控件和1394 IMAQ驱动运行VB IMAQ的例程。我不能读出相机接口默认状态。 LoadInterfaceDefaults方法返回了错误-30222 error, Newer version of NI-IMAQ required.

 LoadInterfaceDefaults是一个和PXI/PCI帧采集卡配合使用的NI-IMAQ函数,你必须已经安装了NI-IMAQ 1394驱动。你不得不调用NI-IMAQ 1394的DLL。


你可以创建Visual Basic的IMAQ-1394语言接口.BAS模块,包括预定义的常量声明,程序和在代码中使用的基于1394驱动API的函数原型,就像例子Directly Accessing Camera Registers Using NI-IMAQ for IEEE 1394中的那样。

IMG_PALKEY_ERR


PAL关键检测错误意味着是系统并没有将视频信号视作PAL编码的视频信号。一种解释是定义“Burst”位置的值有错误。(参考Measurement & Automation Explorer Camera/StillColor/Advanced 选项)
这个位置可以通过轻微改变下列参数做出调整:Color Burst Start,Color Burst Stop和Xshift


根据经验,管理这些变化比较好的方法是从Xshift开始,调整这个值增大或减小5个像素数。如果这样不起作用,调整Color Burst Start和Color Burst Stop增大或者减小5个像素数。如果以上操作都不起作用,很可能是相机偏离了PAL标准规范。在以前这已经被证明是一个问题。


你也许会发现你可以通过相机获得单色图像,但是无法获得彩色图像。你也许可以使用彩色帧采集卡(例如NI PCI-1411)采集图像,但是StillColor仅仅给出这个错误。这是典型的相机偏离PAL规范的表现。


技术性的问题是彩色组合信号和色同步相位(由之引发的色彩参考)会在线与线之间变化。在NTSC信号中,相位在180°到-180°之间来回变化。这很容易被相机制造商在他们的硬件设计时被遵守,并且对于我们而言,区分一条线与下一条线也变得容易。


PAL标准也有线与线之间变化的相位,但是并不是从频谱的一端变化到另一端,而是在每条线周围一定读数内旋转。这就是与规格说明产生偏差经常发生的地方。正是由于在这一层次的偏差信号的变化更微妙,对于相机制造商而言也就更难以确定每条线合适的相位差。在硬件中做色彩解码时这中偏差并不是很致命。硬件简单的将色同步信号视作特殊的线并且把它作为参考。然而,由于StillColor模式是基于将多个不同区域单色图片组合起来实现彩色图片的原理,我们很精确的知道这些不同区域普通线之间的相位差就变得尤为重要。这是我们得到信号高质量色彩解码唯一的办法。


这就解释了为什么NI图像采集硬件如此敏感以至于偏离了PAL的规范,也解释了为什么对于StillColor模式而言,PAL比NTSC更有挑战。


IMG_ERR_NOEM


使用PCI-1409时我得到了error img_err_noem的错误。即使在我没有连接相机的时候我仍然得到这个错误。


这个错误常常与板卡自我诊断检测失败相关联。在MAX中对IMAQ板卡进行诊断。大多数情况下板卡自检失败就需要返回National Instruments修理。


IMG_ERR_NEPK


我正试图在MAX中使用NI图像采集卡和相机采集图片。每当我进行Snap或者Grab采集时,我得到错误:IMG_ERR_NEPK: No external pixel clock.


这个错误很可能是由相机与图像采集卡之间连接不正确产生。确保你的相机被正确的连接到图像采集卡上。如果相机正确连接,你仍然得到这个错误,你可能使用了一个有故障的电缆,这就需要修理或者更换。


如果你能排除这些原因这个错误仍然存在,请联系National Instruments来得到进一步技术支持。参考下面的链接获取更多信息

What Are the Timing Diagram Requirements for the IMAQ 1424 and 1422?


IMG_ERR_NEOM


当我使用IMAQ Configure List VI做系统设置时产生IMG_ERR_NEOM 错误。我使用VHA(Variable Height Acquisition,可变高度采集)做连续采集。我正在使用下面附件中的VI做图像采集,该图像具有3000线,每条线有4000像素。图片大小为12 MB,这样我可以理解为什么不能使用Onboard设置,但是为什么不能使用System设置呢?


当你做连续采集时你总是将16 MB板载内存中的两个缓冲器设为1428,即使你在系统中设置IMAQ Configure List VI 也是如此。你将会把板载内存用作一个FIFO,随后数据就会被转移到系统中。所以你仍然会受16 MB大小的限制。因为板载内存中有两个缓冲器,所以这意味着你最大可以采集到8 MB的图片。

解决办法是使用单词采集而不是连续采集,这样只会板载内存只会创建一个缓冲器。



相关链接: KnowledgeBase 3SK8ALHB: Where Can I Find Details on IMAQ or Vision Error Codes?

附件:


IMAQ_error_codes.zip - IMAQ_error_codes.zip



报告日期: 01/05/2005
最近更新: 01/31/2011
文档编号: 3H485EL6