Page 3 - Important Information; Warranty; Patents; WARNING REGARDING USE OF NATIONAL INSTRUMENTS PRODUCTS
Important Information Warranty The media on which you receive National Instruments software are warranted not to fail to execute programming instructions, due to defects in materials and workmanship, for a period of 90 days from date of shipment, as evidenced by receipts or other documentation. Nati...
Page 4 - Conventions; File»Page Setup»Options
Conventions The following conventions are used in this manual: » The » symbol leads you through nested menu items and dialog box options to a final action. The sequence File»Page Setup»Options directs you to pull down the File menu, select the Page Setup item, and select Options from the last dialog...
Page 5 - Contents
© National Instruments Corporation v NI-IMAQ for IEEE 1394 Cameras User Manual Contents Chapter 1Introduction to NI-IMAQ for IEEE 1394 Cameras About the NI-IMAQ Software ....................................................................................... 1-1 Application Development Environments ....
Page 7 - Glossary
Contents © National Instruments Corporation vii NI-IMAQ for IEEE 1394 Cameras User Manual Appendix ARegister-Level Programming Appendix BTechnical Support and Professional Services Glossary Index
Page 8 - About the NI-IMAQ Software
© National Instruments Corporation 1-1 NI-IMAQ for IEEE 1394 Cameras User Manual 1 Introduction to NI-IMAQ for IEEE 1394 Cameras This chapter describes the NI-IMAQ for IEEE 1394 Cameras software, lists the supported application development environments (ADEs), describes the fundamentals of creating ...
Page 9 - Application Development Environments; Configuring a IEEE 1394 Camera; Help»Help Topics»NI-IMAQ IEEE 1394; Architecture
Chapter 1 Introduction to NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 1-2 ni.com Application Development Environments This release of NI-IMAQ for IEEE 1394 Cameras supports the following ADEs for Windows 2000/XP: • LabVIEW version 7.0 and later • LabVIEW Real-Time Module ...
Page 10 - NI-IMAQ for IEEE 1394 Cameras Libraries
Chapter 1 Introduction to NI-IMAQ for IEEE 1394 Cameras © National Instruments Corporation 1-3 NI-IMAQ for IEEE 1394 Cameras User Manual Figure 1-1. NI-IMAQ for IEEE 1394 Cameras Architecture The architecture uses a hardware abstraction layer , which separates software API capabilities, such as gene...
Page 11 - Example Programs; Windows»Show VI Info; Help»Find Examples
Chapter 1 Introduction to NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 1-4 ni.com information through import libraries or through function declarations. Your NI-IMAQ for IEEE 1394 Cameras software contains function prototypes for all routines. Example Programs You can find...
Page 12 - Introduction
© National Instruments Corporation 2-1 NI-IMAQ for IEEE 1394 Cameras User Manual 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras This chapter contains an overview of the NI-IMAQ for IEEE 1394 Cameras library, a description of the acquisition flow of NI-IMAQ for IEEE 1394 Cameras, and generic ...
Page 13 - Acquisition Flow; Initialization; Camera Name
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 2-2 ni.com Both high-level and low-level functions support snap, grab, sequence, and triggered acquisitions. Using high-level functions, you can write programs quickly without having to learn the...
Page 15 - Camera Control Mode; Configuration
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 2-4 ni.com file opens, and all the user attributes are set in the driver. If no camera of the same make and model is present, the Initialize function returns an error. Camera Control Mode The cam...
Page 16 - Number of Buffers; Region of Interest
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras © National Instruments Corporation 2-5 NI-IMAQ for IEEE 1394 Cameras User Manual the camera and enables you to examine the most current buffer. National Instruments recommends continuous acquisition for real-time acquisition and processi...
Page 17 - Acquisition; Buffer Number
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 2-6 ni.com Note Although you can specify an ROI of any size, the NI-IMAQ for IEEE 1394 Cameras software coerces the ROI into one that is more compatible for the given camera. Refer to Chapter 3, ...
Page 18 - Overwrite Mode; Timeouts; Decoding
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras © National Instruments Corporation 2-7 NI-IMAQ for IEEE 1394 Cameras User Manual Overwrite Mode Ideally, a continuous acquisition acquires and processes every image that is transferred from the camera. However, because of processing time...
Page 19 - Programming Examples; High-Level Function Examples; Raw Camera Output
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 2-8 ni.com Table 2-2 lists common video modes and their corresponding image types after being decoded by NI-IMAQ for IEEE 1394 Cameras. Decoding images requires CPU resources. However, many of th...
Page 20 - Snap
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras © National Instruments Corporation 2-9 NI-IMAQ for IEEE 1394 Cameras User Manual Snap A snap acquires a single image into a user buffer. Figure 2-2 illustrates the typical programming order of a high-level snap acquisition. Figure 2-2. H...
Page 21 - Grab
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 2-10 ni.com Grab A grab initiates a continuous high-speed acquisition of images to one or more internal buffers. Figure 2-3 illustrates the typical programming order of a high-level grab acquisit...
Page 22 - Sequence; Low-Level Function Examples
Chapter 2 Basic Acquisition with NI-IMAQ for IEEE 1394 Cameras © National Instruments Corporation 2-11 NI-IMAQ for IEEE 1394 Cameras User Manual Sequence A sequence acquires a specified number of internal buffers and then stops. Figure 2-4 illustrates the typical programming order of a high-level se...
Page 26 - Camera Attributes
© National Instruments Corporation 3-1 NI-IMAQ for IEEE 1394 Cameras User Manual 3 Advanced Programming with NI-IMAQ for IEEE 1394 Cameras This chapter contains information about setting camera attributes, broadcasting acquired images to multiple machines, using Format 7 to define the size of transf...
Page 27 - Implementation
Chapter 3 Advanced Programming with NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 3-2 ni.com Figure 3-1. One Camera Broadcasting to Multiple Host Computers The IEEE 1394 camera broadcasts video data on the IEEE 1394 bus and all the connected host computers receive the same ...
Page 28 - Scalable Image Size
Chapter 3 Advanced Programming with NI-IMAQ for IEEE 1394 Cameras © National Instruments Corporation 3-3 NI-IMAQ for IEEE 1394 Cameras User Manual Next, start the listener(s). On the listening computer, open your camera interface with the 64-bit unique identifier of the target camera, which you can ...
Page 29 - Trigger Modes; Polarity; Timeout; Mode; Optional
Chapter 3 Advanced Programming with NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 3-4 ni.com Figure 3-2. Partial Image Size Format (Format 7) Trigger Modes The IIDC 1.31 specification provides several external triggering modes for IEEE 1394 cameras. A IEEE 1394 camera may s...
Page 30 - Trigger Mode 0; Trigger Mode 1
Chapter 3 Advanced Programming with NI-IMAQ for IEEE 1394 Cameras © National Instruments Corporation 3-5 NI-IMAQ for IEEE 1394 Cameras User Manual Trigger Mode 0 With trigger mode 0, the camera starts frame integration when the external trigger input changes to an active value. The frame is exposed ...
Page 31 - Trigger Mode 2; Trigger Mode 3
Chapter 3 Advanced Programming with NI-IMAQ for IEEE 1394 Cameras NI-IMAQ for IEEE 1394 Cameras User Manual 3-6 ni.com Trigger Mode 2 With trigger mode 2, the camera starts frame integration when the external trigger input changes to an active value. The same frame is exposed for multiple triggers. ...
Page 32 - Trigger Mode 4; Trigger Mode 5
Chapter 3 Advanced Programming with NI-IMAQ for IEEE 1394 Cameras © National Instruments Corporation 3-7 NI-IMAQ for IEEE 1394 Cameras User Manual Trigger Mode 4 With trigger mode 4, the camera starts frame integration when the external trigger input changes to an active value. Multiple frames are e...
Page 33 - Vision
© National Instruments Corporation 4-1 NI-IMAQ for IEEE 1394 Cameras User Manual 4 Using NI-IMAQ for IEEE 1394 Cameras in LabVIEW This chapter describes how to use NI-IMAQ for IEEE 1394 Cameras VIs in LabVIEW. Introduction The NI-IMAQ for IEEE 1394 Cameras VI library—part of the NI-IMAQ for IEEE 139...
Page 34 - Location of the NI-IMAQ for IEEE 1394 Cameras VIs; Functions; Common VI Parameters
Chapter 4 Using NI-IMAQ for IEEE 1394 Cameras in LabVIEW NI-IMAQ for IEEE 1394 Cameras User Manual 4-2 ni.com Location of the NI-IMAQ for IEEE 1394 Cameras VIs You can find the NI-IMAQ for IEEE 1394 Cameras VIs in the LabVIEW Functions palette. From the LabVIEW block diagram, select NI Measurements»...
Page 35 - Image Buffer; Acquisition VIs
Chapter 4 Using NI-IMAQ for IEEE 1394 Cameras in LabVIEW © National Instruments Corporation 4-3 NI-IMAQ for IEEE 1394 Cameras User Manual Image Buffer Many acquisition VIs require an image buffer to receive the captured image. You can create this image buffer with IMAQ Create. Refer to the Buffer Ma...
Page 38 - Image In
Chapter 4 Using NI-IMAQ for IEEE 1394 Cameras in LabVIEW NI-IMAQ for IEEE 1394 Cameras User Manual 4-6 ni.com Figure 4-4. Acquiring Images Using Grab Sequence Use the IMAQ1394 Sequence VI for sequence applications. IMAQ1394 Sequence starts, acquires, and releases a sequence acquisition. IMAQ1394 Seq...
Page 39 - Triggering; Image Display; Image Out
Chapter 4 Using NI-IMAQ for IEEE 1394 Cameras in LabVIEW © National Instruments Corporation 4-7 NI-IMAQ for IEEE 1394 Cameras User Manual Triggering Often, you may need to link or coordinate a vision action or function with events external to the computer, such as receiving a strobe pulse for lighti...
Page 40 - Vision»; Vision»Vision Utilities»IMAQ RT
Chapter 4 Using NI-IMAQ for IEEE 1394 Cameras in LabVIEW NI-IMAQ for IEEE 1394 Cameras User Manual 4-8 ni.com Figure 4-7. Displaying an Image Using an Image Control If you have IMAQ Vision for LabVIEW, you can display an image in an external window using IMAQ WindDraw, located at Vision» Vision Util...
Page 41 - Error Handling
Chapter 4 Using NI-IMAQ for IEEE 1394 Cameras in LabVIEW © National Instruments Corporation 4-9 NI-IMAQ for IEEE 1394 Cameras User Manual Camera Attributes To modify camera attributes in LabVIEW, use the IMAQ1394 Property Node. Every camera attribute has three parameters: Attribute Key, Attribute Mo...
Page 42 - Functions»
Chapter 4 Using NI-IMAQ for IEEE 1394 Cameras in LabVIEW NI-IMAQ for IEEE 1394 Cameras User Manual 4-10 ni.com Figure 4-11. Error Clusters You can use the Simple Error Handler VI, located on the Functions» Time&Dialog palette, to check for errors that occur while executing a VI. If you wire an e...
Page 43 - Using NI-IMAQ for IEEE 1394 Cameras for C
© National Instruments Corporation 5-1 NI-IMAQ for IEEE 1394 Cameras User Manual 5 Using NI-IMAQ for IEEE 1394 Cameras in C and .NET This chapter briefly describes how to use NI-IMAQ for IEEE 1394 Cameras function in Microsoft Visual C and Microsoft Visual Studio .NET. Using NI-IMAQ for IEEE 1394 Ca...
Page 44 - ImageWidth; Creating a New .NET Application; Project»Add Reference
Chapter 5 Using NI-IMAQ for IEEE 1394 Cameras in C and .NET NI-IMAQ for IEEE 1394 Cameras User Manual 5-2 ni.com include files under the include subdirectory. The import libraries for Microsoft Visual C++ are located under the lib\msvc subdirectory. If you have IMAQ Vision for LabWindows/CVI install...
Page 45 - View»Toolbox; Tools»Add/Remove Toolbox Items; .NET Framework Components
Chapter 5 Using NI-IMAQ for IEEE 1394 Cameras in C and .NET © National Instruments Corporation 5-3 NI-IMAQ for IEEE 1394 Cameras User Manual If you need to display acquired images, you also must add an IMAQ Vision Viewer control to your toolbox and to your form. Complete the following steps to add t...
Page 46 - Register-Level Programming
© National Instruments Corporation A-1 NI-IMAQ for IEEE 1394 Cameras User Manual A Register-Level Programming This appendix explains how to access and program register locations using the NI-IMAQ for IEEE 1394 Cameras software, and discusses the caveats involved in programming registers. Introductio...
Page 48 - Usage; Basic Example; Advanced Example
Appendix A Register-Level Programming © National Instruments Corporation A-3 NI-IMAQ for IEEE 1394 Cameras User Manual • Read Quadlet Block—Reads an array of quadlets from a specified memory location and range • Write Quadlet Block—Writes an array of quadlets to a specified memory location Note In L...
Page 49 - Caveats
Appendix A Register-Level Programming NI-IMAQ for IEEE 1394 Cameras User Manual A-4 ni.com register (0x480). Add the specified offset to the base register—0xF0F00000 for most IEEE 1394 cameras. 0xF0F00000 + 0x480 = 0xF0F00480 Read the value into storage. read quadlet (0xF0F00480) = <advanced_feat...
Page 50 - Quadlet Array; Invalid Memory Location
Appendix A Register-Level Programming © National Instruments Corporation A-5 NI-IMAQ for IEEE 1394 Cameras User Manual Quadlet Array Many IEEE 1394 cameras allow register-level access to more than 32 bits of data per communication request. In most cases, you can safely write and read a large, contig...
Page 58 - Index; Symbols
© National Instruments Corporation I-1 NI-IMAQ for IEEE 1394 Cameras User Manual Index Symbols .NET programming language, 1-4, 3-1, 5-1, 5-2, 5-3 A advanced programming examples grab using low-level functions, 2-13sequence using low-level functions, 2-14snap using low-level functions, 2-12 applicati...