MVTec Software GmbH
  Building Vision For Business
Halcon

HALCON 7.0 Frame Grabber Interface for IDS BARRACUDA Boards

This page provides the documentation of the HALCON frame grabber interface HFGBarracuda.dll for the BARRACUDA frame grabber boards from IDS Imaging GmbH. Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 2.4

System Requirements

  • Intel compatible PC with Windows 2000/XP or Linux.
  • Successfully installed BARRACUDA driver (version 2.10 or higher).
  • HALCON frame grabber interface HFGBarracuda.dll, parHFGBarracuda.dll (Windows) or HFGBarracuda.so (Linux), respectively. If you have properly installed the interface, these files should reside in bin\i586-nt4 (Windows) or lib\i586-linux2.2[-gcc32] (Linux) within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.

Features

  • Support of a variety of analog and CameraLink cameras based on the BARRACUDA camera configuration files.
  • Multiple frame grabber boards (different board types may be mixed).
  • Synchronous and asynchronous grabbing.
  • External and software trigger.
  • Cropping of image parts.
  • Software control of binning, exposure, and gain.
  • Software control of flash/strobe output.
  • Software control of the digital input and output lines.

Limitations

  • All video inputs (ports) connected to a single board (device) must have the same camera type.
  • grab_region and grab_region_async not supported.
  • No LUTs.

Using Multiple Boards

When using multiple BARRACUDA boards please make sure that all boards have different device ids. You can manually set these device ids with the auxiliary program InsSetID.exe which is part of the BARRACUDA driver installation.

Description

Parameters for open_framegrabber():

Name 'BARRACUDA' The name of the HALCON frame grabber interface.
HorizontalResolution --- Ignored.
VerticalResolution --- Ignored.
ImageWidth --- Ignored (the desired image part is set via the camera camera configuration file specified in the CameraType parameter.
ImageHeight --- Ignored (the desired image part is set via the camera camera configuration file specified in the CameraType parameter.
StartRow --- Ignored.
StartColumn --- Ignored.
Field --- Ignored.
BitsPerChannel -1, 8 The desired pixel depth is set via the camera camera configuration file specified in the CameraType parameter. If ColorSpace is set to 'gray' and BitsPerChannel is set to 8 always a 8 bit gray value image is captured.
ColorSpace 'default', 'gray' The desired color space is set via the camera camera configuration file specified in the CameraType parameter. If ColorSpace is set to 'gray' and BitsPerChannel is set to 8 always a 8 bit gray value image is captured.
Gain --- Ignored.
ExternalTrigger --- Ignored (in case of the BARRACUDA-A1 when a triggered camera is specified in the CameraType parameter an external hardware trigger is used automatically).
CameraType 'configfile' Specify the name (including the full path name) of the desired camera configuration file.
Device '0', '1', '2', ... The number of the frame grabber board (passed as a string!). Default: '0' (searches for the first board).
Port 1,12,123,1234 Specify the port(s) the camera(s) is/are connected to:
1 for camera 1
12 for cameras 1+2
123 for cameras 1+2+3
1234 for cameras 1+2+3+4
The maximum number of cameras depends on the board type. For each extra port additional memory buffers are allocated internally. Default: 1.
LineIn --- Ignored.

Parameters for set_framegrabber_param():

'camera_binning' [bin_x, bin_y] Specify desired values for the camera binning mode. bin_x denotes the binning factor in x-direction and bin_y the binning factor in y-direction. If the used camera does not support this parameter, H_ERR_FGPARAM is returned. Default: [1, 1].
'camera_gain' gain Specify desired value for the camera gain. You can query the possible value range for this parameter by calling get_framegrabber_param(..,'camera_gain_range',..). Note that internally the value will be adapted to the closest possible fit to the required setting. If the used camera does not support this parameter, H_ERR_FGPARAM is returned.
'camera_roi' [row1, col1, row2, col2] Specifies the upper left (row1, col1) and lower right (row2, col2) corner of the desired rectangular image part which will be actually acquired by the camera. Note that the values must be within the interval [0,ImageHeight-1] or [0,ImageWidth-1], respectively. If the used camera does not support this parameter, H_ERR_FGPARAM is returned.
'camera_sync' 'true', 'false' This function minimizes the switching time between the video inputs (supported by BARRACUDA-A1 boards only). The camera must be configured to receive HD and VD from the grabber and also the corresponding camera configuration must be loaded. When set to 'true' all connected cameras are synchronized using the HD and VD signals. Default: 'false'.
'digital_output' long Specify a value which is passed to the digital output of the BARRACUDA board. If the used board does not support this parameter, H_ERR_FGPARAM is returned. Note that when you query the current setting of this parameter by get_framegrabber_param, the latest successfully value written to the digital output port is returned.
'exposure' usec Specify desired value for the exposure time in usec. You can query the possible value range for this parameter by calling get_framegrabber_param(..,'exposure_range',..). Note that internally the value will be adapted to the closest possible fit to the required setting. If the used camera does not support this parameter, H_ERR_FGPARAM is returned.
'flash1_delay' usec Specify the delay in usec of the flash signal on digital output 1. The minimum value is 1 usec. Default: 1.
'flash1_duration' usec Specify the duration in usec of the flash signal on digital output 1. Default: 10000.
'flash1_enable' 'true', 'false' Enable/disable the flash signal on digital output 1. Default: 'false'.
'flash2_delay' usec Specify the delay in usec of the flash signal on digital output 2. The minimum value is 1 usec. Default: 1.
'flash2_duration' usec Specify the duration in usec of the flash signal on digital output 2. Default: 10000.
'flash2_enable' 'true', 'false' Enable/disable the flash signal on digital output 2. Default: 'false'.
'flash3_delay' usec Specify the delay in usec of the flash signal on digital output 3. The minimum value is 1 usec. Default: 1.
'flash3_duration' usec Specify the duration in usec of the flash signal on digital output 3. Default: 10000.
'flash3_enable' 'true', 'false' Enable/disable the flash signal on digital output 3. Default: 'false'.
'flash4_delay' usec Specify the delay in usec of the flash signal on digital output 4. The minimum value is 1 usec. Default: 1.
'flash4_duration' usec Specify the duration in usec of the flash signal on digital output 4. Default: 10000.
'flash4_enable' 'true', 'false' Enable/disable the flash signal on digital output 4. Default: 'false'.
'grab_timeout' msec Specify the desired timeout (milliseconds passed as an integer) for aborting a pending grab. Default: 5000.
'port' 1...maxport Switch to the camera connected to the specified port (maxport depends on the actually used board type). Note that you have to specify the actually set of used ports beforehand via the Port parameter in open_framegrabber.
'start_async_after_grab_async' 'enable', 'disable' By default, at the end of grab_image_async a new asynchronous grab command is automatically given to the frame grabber board. If the parameter 'start_async_after_grab_async' is set to 'disable' this new grab command is omitted. This might be useful especially for switching between several connected cameras. Default: 'enable'.
'trigger_fast_setup' 'true', 'false' Enable/disable to set trigger duration, trigger_delay, and clock without checking other trigger parameters to speed up the trigger setup. Default: 'false'.
'trigger1_clock' usec Specify the retrigger rate of the internal clock generator in usec. Default: 250000.
'trigger1_delay' usec Specify the delay in usec between the trigger event and the trigger signal which is sent from the BARRACUDA board to the camera connected to port 1. Default: 0.
'trigger1_duration' usec Specify the duration in usec of the trigger signal which is sent from the BARRACUDA board to the camera connected to port 1. (for some cameras this pulse length determines the exposure time. Default: 20000.
'trigger1_signal' 'falling', 'rising' Specify the desired trigger signal for the camera connected to port 1 (external TTL trigger input #1). Default: 'falling'.
'trigger1_type' 'clock', 'freerun', 'hardware', 'software' Specify the desired trigger type for the camera connected to port 1. If this parameter is set to 'hardware' the external TTL trigger input #1 will be used; if set to 'clock' the internal clock generator is the trigger source; if set to 'software' the triggering is actually performed by the call of grab_image or grab_image_async (software trigger mode). If this parameter is set to 'freerun' the camera will run without triggering.
Note: In case of the BARRACUDA-A1 when a triggered camera is specified in the CameraType parameter an external hardware trigger is used automatically. It is then possible to switch to software trigger mode but not to freerun mode. Default: 'freerun'.
'trigger2_clock' usec Specify the retrigger rate of the internal clock generator in usec. Default: 250000.
'trigger2_delay' usec Specify the delay in usec between the trigger event and the trigger signal which is sent from the BARRACUDA board to the camera connected to port 2. Default: 0.
'trigger2_duration' usec Specify the duration in usec of the trigger signal which is sent from the BARRACUDA board to the camera connected to port 2. (for some cameras this pulse length determines the exposure time. Default: 20000.
'trigger2_signal' 'falling', 'rising' Specify the desired trigger signal for the camera connected to port 2 (external TTL trigger input #2). Default: 'falling'.
'trigger2_type' 'freerun', 'hardware', 'software' Specify the desired trigger type for the camera connected to port 2. If this parameter is set to 'hardware' the external TTL trigger input #2 will be used; if set to 'software' the triggering is actually performed by the call of grab_image or grab_image_async (software trigger mode). If this parameter is set to 'freerun' the camera will run without triggering.
Note: In case of the BARRACUDA-A1 when a triggered camera is specified in the CameraType parameter an external hardware trigger is used automatically. It is then possible to switch to software trigger mode but not to freerun mode. Default: 'freerun'.
'trigger3_clock' usec Specify the retrigger rate of the internal clock generator in usec. Default: 250000.
'trigger3_delay' usec Specify the delay in usec between the trigger event and the trigger signal which is sent from the BARRACUDA board to the camera connected to port 3. Default: 0.
'trigger3_duration' usec Specify the duration in usec of the trigger signal which is sent from the BARRACUDA board to the camera connected to port 3. (for some cameras this pulse length determines the exposure time. Default: 20000.
'trigger3_signal' 'falling', 'rising' Specify the desired trigger signal for the camera connected to port 3 (external TTL trigger input #3). Default: 'falling'.
'trigger3_type' 'freerun', 'hardware', 'software' Specify the desired trigger type for the camera connected to port 3. If this parameter is set to 'hardware' the external TTL trigger input #3 will be used; if set to 'software' the triggering is actually performed by the call of grab_image or grab_image_async (software trigger mode). If this parameter is set to 'freerun' the camera will run without triggering.
Note: In case of the BARRACUDA-A1 when a triggered camera is specified in the CameraType parameter an external hardware trigger is used automatically. It is then possible to switch to software trigger mode but not to freerun mode. Default: 'freerun'.
'trigger4_clock' usec Specify the retrigger rate of the internal clock generator in usec. Default: 250000.
'trigger4_delay' usec Specify the delay in usec between the trigger event and the trigger signal which is sent from the BARRACUDA board to the camera connected to port 4. Default: 0.
'trigger4_duration' usec Specify the duration in usec of the trigger signal which is sent from the BARRACUDA board to the camera connected to port 4. (for some cameras this pulse length determines the exposure time. Default: 20000.
'trigger4_signal' 'falling', 'rising' Specify the desired trigger signal for the camera connected to port 4 (external TTL trigger input #4). Default: 'falling'.
'trigger4_type' 'freerun', 'hardware', 'software' Specify the desired trigger type for the camera connected to port 4. If this parameter is set to 'hardware' the external TTL trigger input #4 will be used; if set to 'software' the triggering is actually performed by the call of grab_image or grab_image_async (software trigger mode). If this parameter is set to 'freerun' the camera will run without triggering.
Note: In case of the BARRACUDA-A1 when a triggered camera is specified in the CameraType parameter an external hardware trigger is used automatically. It is then possible to switch to software trigger mode but not to freerun mode. Default: 'freerun'.
'volatile' 'enable', 'disable' Grayscale only. In the volatile mode the frame grabber interface buffers are used directly to store HALCON images. This is the fastest mode avoiding to copy raw images in memory. However, be aware that older images are overwritten again and again as a side-effect. Thus, you can only process one image while you grab another image. Older images are invalid! Default: 'disable'.
'do_abort_grab' - Cancel current grab.

Parameters for get_framegrabber_param():

Additional parameters supported by get_framegrabber_param only. Note that all parameters supported by set_framegrabber_param except the ones with prefix 'do_' can also be accessed by get_framegrabber_param.

'board_serial_number' serial (string) The serial number of the used BARRACUDA board.
'board_type' type (string) The actually installed board type, e.g., 'BARRACUDA-CL' or 'BARRACUDA-A1'.
'board_version' version (string) The board version of the used BARRACUDA board.
'camera_gain_range' [min (long), max (long), step (long), default (long)] Value range for the parameter 'camera_gain'. If the used camera does not support this parameter, H_ERR_FGPARAM is returned.
'digital_input' digin (long) Read the digital input of the BARRACUDA board. If the used board does not support this parameter, H_ERR_FGPARAM is returned.
'driver_version' version (string) The version of the installed BARRACUDA driver.
'exposure_range' [min (long), max (long), step (long), default (long)] Value range for the parameter 'exposure'. If the used camera does not support this parameter, H_ERR_FGPARAM is returned.
'revision' revision  (string) The revision number of the HALCON BARRACUDA interface.

Release Notes

  • Revision 2.4 (Jul 27, 2005):
    • Speed-up for acquisition of RGB images (avoiding cache alignment failures when converting the interleaved image data into HALCON image objects).
  • Revision 2.3 (Mar 30, 2005):
    • Changed default value of the parameters 'flashX_delay' from 0 to 1 (minimum flash delay is 1 usec).
  • Revision 2.2 (Dec 15, 2004):
    • Allow overwriting the color format setting in open_framegrabber: When BitsPerChannels is set to 8 and ColorSpace is set to 'gray' always 8 bit gray value images are captured.
    • Polling mechanism for image acquisition replaced by event-driven signals under Windows.
    • Bugfix in setting the 'camera_roi' parameter.
    • New parameters 'flashX_delay', 'flashX_duration', and 'flashX_enable' to configure the flash output signals.
    • New parameters 'triggerX_clock' to specify the retrigger rate for the new trigger type 'clock'.
    • New parameter 'trigger_fast_setup'.
    • New parameter 'do_abort_grab'.
    • New parameter 'start_async_after_grab_async'.
    • Adaptation to BARRACUDA driver 2.10.
    • The query types 'bits_per_channel', 'camera_type', 'color_space', 'device', 'external_trigger', 'field', and 'port' for info_framegrabber provide now specific value lists for the corresponding parameters in open_framegrabber.
  • Revision 2.1 (Oct 30, 2003):
    • HALCON 7.0 version of the interface (included in HALCON 7.0 CD).
    • Bugfixes in camera syncing with BARRACUDA-A1 boards.
    • Bugfix in grabbing RGB images.
    • Adaptation to BARRACUDA driver 2.02.
  • Revision 2.0 (Sep 17, 2003):
    • First official release.

© Copyright 2012, MVTec Software GmbH, corporate/legal/privacy information