README file for NI-IMAQ for IEEE 1394 Cameras 2.0
Software Interface
Copyright 2005, National Instruments Corporation.
All rights reserved.
GENERAL INFORMATION
1) Always install your NI-IMAQ for IEEE 1394 Cameras software before connecting your camera to the IEEE 1394 adapter.
2) This version of the driver supports LabVIEW 7.0 and higher, Windows 2000/XP.
3) NI-IMAQ for 1394 Directory Structure
The directory structure under the NI-IMAQ installation directory is the following:
DATA
NI-IMAQ for IEEE 1394 camera files
DOCS
NI-IMAQ for IEEE 1394 Cameras online reference manuals
EXAMPLES
C examples for Microsoft Visual C++
VB examples for Microsoft Visual Basic
dotNET examples for Microsoft Visual Basic .NET
INCLUDE
Header files for compiling C programs that control your IEEE 1394 camera
LIB
Import libraries for Microsoft Visual C++
DOTNET
.NET assemblies for Microsoft Visual Studio .NET 2003
6) The LabVIEW examples are located in the standard EXAMPLES directory of LabVIEW.
7) The Measurement Studio and LabWindows/CVI examples are located in the standard SAMPLES directory of LabWindows/CVI.
SWITCHING DRIVERS
Measurement & Automation Explorer (MAX) enumerates other IEEE 1394 camera drivers for Windows. All IEEE 1394 digital cameras show up under the NI-IMAQ IEEE 1394 Devices tree. Cameras using the NI-IMAQ for IEEE 1394 Cameras driver have full configuration and acquisition functionality. Cameras not using the NI-IMAQ for IEEE 1394 Cameras driver do not work with National Instruments software. Inactive cameras have a camera icon with a red cross. Perform the following steps to select a different IEEE 1394 driver:
1) Right-click on the desired camera in MAX and select Driver from the pop-up menu.
2) Select a driver from the list of available compatible drivers.
3) A warning dialog message appears. Read the message and click Yes to proceed.
4) The camera driver is updated. MAX also updates to reflect the changes.
UPGRADE CONSIDERATIONS
Wherever possible, NI-IMAQ for IEEE 1394 Cameras 2.0 is designed to provide the same functionality as NI-IMAQ for IEEE 1394 Cameras 1.x. In some cases, NI knowingly changed functionality to improve overall performance, stability, and user experience. These changes are explained below.
Driver:
1. In previous version of the driver, attributes were verified during the Set Attribute function. Setting an invalid value resulted in an immediate error from the set function. With NI-IMAQ for IEEE 1394 Cameras 2.0, all attributes are verified and set during configuration. Setting camera attributes during an active acquisition validates the attribute and sets the camera register, as required. Setting acquisition parameters during an active acquisition returns the following error: “Non-writable attribute.”
2. In the documentation for previous versions of the driver, NI recommended that you configure one buffer for continuous acquisitions. Although this works in many cases, some frames may be lost during heavy CPU usage. With NI-IMAQ for IEEE 1394 Cameras 2.0, NI recommends that you configure N + 2 buffers for continuous acquisitions, where N is the number of simultaneously acquiring cameras.
LabVIEW Specific:
1. The session wire changed to an IMAQ1394 generic refnum. Most applications are not affected by this change. However, applications using the not a refnum constant may be affected. With NI-IMAQ for IEEE 1394 Cameras 1.x, you could use the not a refnum constant to initialize a shift register, or you could test whether the session is valid with a Boolean operator. Any existing code loaded with NI-IMAQ for IEEE 1394 Cameras 2.0 results in error messages and broken wires. The typical error message reads: “Insane TypeID ‘20’ at DTHP+1034.”
NI recommends that you replace the not a refnum constant with an IMAQ1394 constant.
To verify that the session is valid, use the not a refnum comparison primitive.
NOTE: Image may not show up in some viewers.
Problem with not a refnum constant (left) and the suggested solution (right)
2. IMAQ1394 Attribute.vi and IMAQ1394 Attribute Inquiry.vi are now obsolete. These VIs have been replaced with a property node. Refer to the NI-IMAQ for IEEE 1394 VI Reference Help for more information about using the property node.
NOTE: Image may not show up in some viewers.
Using VIs (left) and property nodes (right) to set camera attributes
KNOWN ISSUES
Driver:
1. Consult your IEEE 1394 adapter documentation for instructions on how to correctly install and power on your adapter.
2. When doing a snap or a sequence acquisition, some cameras produce a poorly exposed frame as the first image. To correct this issue, enable the Ignore First Frame checkbox in MAX.
3. Plugging a device into an IEEE 1394 bus causes a bus reset. If there are any ongoing acquisitions, the acquisition continues, but it is possible that a frame could be dropped. If you have an application in which it is important to get every frame, you should protect against devices being plugged into the bus.
Windows OS Specific issues:
1. When switching drivers, you may find that the camera does not always appear in the MAX configuration or in your Device Manager. To correct this, disconnect the IEEE 1394 camera from your IEEE 1394 adapter and reconnect it. You can also press the F5 button to refresh.
LabVIEW RT Specific Issues:
1. MAX does not support automatic refresh for remote systems when cameras are added and removed from the remote device. Press F5 to refresh MAX to get the current configuration.
NI-1450 Series Compact Vision System Specific Issues:
1. When you use LabVIEW RT Application Builder to create an executable on an NI CVS-1450 Series device, create the executable in the default directory for LabVIEW RT startup applications (c:\ni-rt\startup). If you do not create the executable in the default directory, the application cannot connect to the FPGA code.
2. The LabVIEW invoke node--which is used in many of the IMAQ Vision 7.0 examples--may not work and can cause a crash in the host LabVIEW. If you would like to run IMAQ Vision 7.0 examples on your NI CVS-1450 Series device, modify the code so that it does not use the invoke node.
USING MULTIPLE CAMERAS
The IIDC 1394-based Digital Camera Specification version 1.30 allows up to 16 cameras and one controller to exist on an IEEE 1394 bus at one time. Multiple cameras connected to a single adapter share the same IEEE 1394 bus and the available bandwidth for that bus. To simultaneously acquire images from multiple cameras, select a video mode for each camera so that the total bandwidth does not exceed the bandwidth capability of the bus.
NOTE: NI-IMAQ for IEEE 1394 Cameras returns an Insufficient Resources error if you perform an acquisition that requires more bandwidth than is available on the bus.
To use multiple cameras simultaneously at full speed, connect each camera to a separate IEEE 1394 adapter. You cannot simultaneously acquire images at maximum bandwidth from multiple cameras when all cameras are connected to the same bus.