Academic Company Events Community Support Solutions Products & Services Contact NI MyNI
10 rating:
 1.5 out of 5   

Archived: Common Error Codes with NI-IMAQ

This document has been archived and is no longer updated by National Instruments



Primary Software:
Primary Software Version: 3.0
Primary Software Fixed Version: N/A
Secondary Software: N/A
Hardware: Image Acquisition (IMAQ)

Problem:
What are some common errors that occur with NI-IMAQ and what are somethings that I can do to avoid them?

Some common errors that occur with 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



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

The error message IMG_ERR_VLCK - can't lock on video source (error -1074397153) is returned when an acquisition is attempted from either the Measurement & Automation Explorer Configuration Utility (MAX) or the development environment.

There are many things to check when this error is received:

1. Make sure that the camera is connected to the board and it is powered (this is the most common problem). Tricky variations on this problem include defective power supplies, systems that power-up when the application is run, defective cables, and cables connected to the wrong channel or input.

2. Make sure you are attempting to acquire using the correct interface file (e.g. img0.iid), the correct channel, and the correct camera file for your camera type (RS170/CCIR/NTSC/PAL, etc.). Your camera documentation should indicate which signal type it outputs. Make sure the camera file has not been modified by right-clicking on the channel and selecting New»{RS170, CCIR, etc.}. This will bring up a dialog prompting you to choose a name for your new camera file. Choose a different name, then try the acquisition again. Your new file will have been initialized to the correct default settings for your camera type.

3. If you have the IMAQ PCI/PXI-1408, try reducing the Sync Detect level (right-click on the channel of the camera and select Properties»Advanced Tab»Sync Detect). This can help for color composite cameras or noisy video signals where the amplitude of the horizontal synchronization (HSYNC) pulse in the video signal might be reduced.

4. Also for the PCI/PXI-1408 or PCI-1409, check that jumper W1 (near the BNC connector) is present. If this jumper is not present, the BNC connector is disabled and you cannot acquire video from the BNC connector.

5. If you are using a VCR output the PCI/PXI-1408 probably will not be able to lock onto the signal. The PCI/PXI-1407 and 1411 boards have a Lock Speed parameter which you can adjust to a faster setting to enable the board to lock onto a poor VCR signal (see related link below).

6. Occasionally with very weak signals (due to long cable runs or noisy environments), you might need to force the board to use a higher gain. This can be done by reducing the white reference level and/or increasing the black reference level (where applicable) in the channel Properties window.

If none of these help, try to make sure that the camera is supplying a "good" video signal. Some older cameras might put out a nonstandard number of lines, which will cause difficulty for the locking circuitry on the board. Try acquiring with another board in another computer if possible, or try acquiring from another camera with the same board. You might also want to run the diagnostics from MAX to test several components of the board.

Invalid Image Type

I'm using the PCI-1409 board for acquiring color images from an NTSC camera. According to the board specs it can acquire StillColor images from this type of camera. I enable in MAX the StillColor mode for "Composite" and set the channel to be an NTSC type of camera with RGB Color, I then perform a Snap or a Grab and they work fine, I have a color image.

When using LabVIEW, I make a simple Snap program and set in IMAQ Create VI the image type to be RGB. When running my program, LabVIEW will give me an error saying Invalid Image Type.

LabVIEW by default uses StillColor mode Disabled and it does not follow the setting in MAX for this particular option. The solution is to set in your program the attribute for StillColor to be Composite before snapping the image.

Attached, in the IMAQ_error_codes zip file, you will find an example VI Color NTSC in 1409 Snap.vi that shows how to perform this task, open it and type the name of your interface as well as the channel number, then run it. You may see the code to understand how to set the StillColor mode. In case you have compatibility issues with LabVIEW, here is an image that displays the block diagram of that same VI:

Figure 1: Block Diagram of Color NTSC in 1409 Snap.vi

You will find a few StillColor Examples in your LabVIEW Examples directory. Browse to:
labview\examples\IMAQ\IMAQ HighLevel.llb\HL StillColor Snap in IMAQ Vision Display VI.

-1074396078

I configured my PCI/PXI-1408/1409 image acquisition board to run in composite StillColor mode and I can snap and grab without errors in Measurement & Automation Explorer (MAX). When I try to snap and grab in my application, however, I am getting Error -1074396078.

In order to do image acquisition in composite StillColor mode, you need to first set StillColor Mode to Composite and then set Color Image Representation to RGB32 using the property nodes in LabVIEW.

See the attached examples, stored in the IMAQ_error_codes zip file, for performing StillColor acquisitions: Basic_StillColor_(CVI).zip, HL_StillColorSnap_in_picture_control.vi, and HL_StillColorSnap_in_intensity_graph.zip.

This can also be caused when the board is still set for 10 bit mode, and the program is expecting an 8 bit image. This will typically happen after an install of IMAQ because the driver defaults the setting to 10 bits. To correct this, go into the Measurement & Automation Explorer, select the camera channel, select the Acquisition Parameters tab, and change the Bit Depth to 8 bits.

-1074397150

IMAQ Snap VI returns Error -1074397150 at IMAQ Snap.vi wait timed out - acquisition not complete.

This is very similar to what you see with the IMAQ Copy VI where the resolution is to set the immediate input to true. However, there is no control like this on the IMAQ Snap VI. You must change the Async? control on the imgSessionAcquire.vi to false. This can be found inside the IMAQ Snap VI:
Open the IMAQ Snap VI»Open the IMAQ Sequence VI»Open the IMAQ Start VI»Change the Boolean input for imgSessionAcquire to False.
Figure 2: imgSessionAcquire.vi

-1074397154

When using the IMAQ Status VI to reduce processor usage, I get Error -1074397154 "No acquisition in progress" when I move the Windraw window.

With the 1407 and 1408, there is a problem getting the "Acquisition in Progress" property. As a workaround, we can check the Last Valid Buffer buffer during the acquisition. Replace the IMAQ Status VI with a property node for "Last Valid Buffer". The example LL Ring in IMAQ Vision Display with Status.vi, stored in the IMAQ_error_codes  zip file, is attached below.

-1074397163

While running an IMAQ-Vision example in LabVIEW 5.1, I see this message: Error -1074397163 occurred in Cleanup module.

This error is generated when the IMAQ Init VI is called with an incorrect interface name. In MAX, the NI-IMAQ driver assigns an interface name to each IMAQ board in your computer, starting with img0, then img1, etc., in the order in which the boards are installed. If for example, MAX has img1 set for your interface and then in your code you call the IMAQ Init VI with the interface name img0, it will give you this error.

-30222

I'm trying to run the VB IMAQ examples using the ActiveX control and the 1394 IMAQ driver. I can't read the interface defaults for the camera. The LoadInterfaceDefaults method returns with a -30222 error, Newer version of NI-IMAQ required.

LoadInterfaceDefaults is a NI-IMAQ function used with PXI/PCI frame-grabbers and you have the NI-IMAQ 1394 driver. You will have to make calls to the IMAQ-1394 driver DLL instead

You can create a IMAQ-1394 language interface .BAS module for Visual Basic containing predefined constant declarations, routine and function prototypes that you are using in your code based on the 1394 driver API, as seen in this example:Directly Accessing Camera Registers Using NI-IMAQ for IEEE 1394

IMG_PALKEY_ERR

A PAL key detection error means that the system does not recognize the video signal as a PAL coded video signal. One explanation can be that the values that define the positioning of the "Burst" (see the Camera/StillColor/Advanced tab in the Measurement & Automation Explorer) are incorrect.

The position can be adjusted by making small changes to the following parameters: Color Burst Start, Color Burst Stop, and Xshift.

A good rule of thumb for administering these changes is to start with the Xshift. Adjust this up or down by 5 pixel counts. If that does not work, tweak Color Burst Start and Color Burst Stop up and down by 5 pixel counts. If none of this works, it is possible that the camera deviates from the PAL specification. This has proven to be an issue in the past.

You may find that you can acquire monochrome images with this camera, but not color images. You may also be able to acquire images with a color frame grabber (such as the National Instruments PCI-1411), but StillColor only gives this error. This is typically the symptom of a camera that deviates from the PAL specification.

The technical issue is that in color composite signals, the phase of the color burst (and hence the color reference) changes from line to line. In NTSC this phase changes from 180 degrees to -180 degrees and flip flops back and forth. This is very easy for camera manufacturers to comply to in their hardware design, and it is easy for us to differentiate from, one line to the next.

In the PAL standard, there is also a changing phase from line to line, but rather than flipping from one end of the spectrum to the other, the phase rotates a few degrees with each line. This is where the deviation from the spec usually occurs. Since the gradations of change in this signal are more subtle, it is more difficult for camera manufacturers to hit the proper shift with each line. This is not detrimental when decoding color in hardware. The hardware simply takes the color burst for a particular line and uses it as the reference. However, since StillColor is based on combining multiple fields of a monochrome image together to make a color image, it is very important that we know fairly precisely the phase difference between common lines of different fields. This is the only way we can get good color decoding of the signal.

This explains why the National Instruments image acquisition hardware is so sensitive to deviations from the PAL specification, as well as why PAL is more of a challenge than NTSC for StillColor.

IMG_ERR_NOEM

I am getting error img_err_noem with my PCI 1409 board. I get the error even if I do not have the camera connected.

This error is normally associated with a board that will fail the self diagnostics test. In MAX. Run the diagnostics for your IMAQ board. In most cases the board will fail and need to be returned to National Instruments for repair.

IMG_ERR_NEPK

I am trying to acquire images with my camera and my National Instruments image acquisition card using Measurement & Automation Explorer (MAX). Each time I do a Snap or Grab, I get the error: IMG_ERR_NEPK: No external pixel clock.

This error is most likely caused by a poor connection between your camera and your image acquisition card. Make sure that your camera is properly plugged into your frame grabber. If the camera is connected and you still see this error, you may have a faulty cable that needs to be repaired or replaced.

If you are able to rule out these causes and the error persists, please contact National Instruments for further support. See the link below for more information:
What Are the Timing Diagram Requirements for the IMAQ 1424 and 1422?

IMG_ERR_NEOM

I get the IMG_ERR_NEOM error even when I use the System setting for my IMAQ Configure List VI. I'm doing a continuous acquisition with VHA (Variable Height Acquisition). I'm acquiring images that have 3000 lines with 4000 pixels per line in the VI attached below. That's 12 MB so I can understand why it wouldn't work with the Onboard setting but why not with the System setting?

When you do continuous acquisition you always set two buffers on the 16 MB onboard memory of the 1428, even when you set the IMAQ Configure List VI on System. You will use the 16 MB onboard memory as a FIFO and the data will be transferred to the system afterwards. So you still have 16 MB limit. That means that you can have an image of maximum 8 MB because two buffers are stored on the onboard memory.

The solution is to use a single acquisition and not a continuous one so that only one buffer is created.


Related Links:
KnowledgeBase 3SK8ALHB: Where Can I Find Details on IMAQ or Vision Error Codes?
Developer Zone Example: Directly Accessing Camera Registers Using NI-IMAQ for 1934 - Visual Basic
KnowledgeBase 2CE7SIYJ: What are the Timing Diagram Requirements for the IMAQ 1424 and 1422?

Attachments:
All files referenced above are stored in this zip file:

IMAQ_error_codes.zip


Report Date: 01/05/2005
Last Updated: 01/27/2016
Document ID: 3H485EL6

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit