MVTec Software GmbH
  Building Vision For Business
Halcon

MVTec HALCON 8.0: Image Acquisition Interface for the ABS UK1000/3000 Camera Family

This page provides the documentation of the HALCON ABS image acquisition interface for the ABS UK1000/3000 cameras from ABS GmbH. Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 3.0

System Requirements

  • Intel Pentium II compatible PC using Windows 2000, Windows XP or Windows Vista.
  • USB 2.0 interface hardware.
  • ABS-USB-Driver:
    - Windows 2000 / XP
    -> USBGenDv driver USBGenDv.sys version 1.5.4 or higher.
    - Windows Vista -> USBGenVs driver USBGenVs.sys version 1.5.5 or higher
    Typically, this file resides in the directory %WINDIR%\system32\drivers.
  • ABS-USB-Interface DLL: CamUsb_API_hal.dll version 1.9.39 or higher.
  • HALCON frame grabber interface hAcqABS.dll or parhAcqABS.dll, respectively.
    If you have properly installed the interface hAcqABS.dll and the parhAcqABS.dll DLLs should reside in bin\%HALCONARCH% within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.
     

Features

  • Usage of multiple cameras (up to 16).
  • Grabbing images in synchronous or asynchronous modes.
  • Hardware trigger (external) and software trigger for multiple cameras.
  • Simultaneous software-trigger feature for multiple cameras.
  • Control of exposure and auto exposure and gain by software
  • Control of color correction and white balance by software
  • Control of gamma, brightness and contrast by software
  • Control of digital input and output ports

Limitations

  • grab_region and grab_region_async not supported.
  • No LUTs.
  • No software and hardware cropping of images.
  • Volatile is not yet supported

Using Multiple Cameras

When using multiple ABS cameras please make sure that each cameras has an unique device ID.
You can manually set these device IDs by use of the auxiliary program ABSCameraConfig.exe which is part of the ABS driver installation.
For each camera to be used in HALCON one framegrabber has to be opened by calling open_framegrabber('ABS', ...) with the previously defined internal device ID as 'Device' parameter.
The Port and LineIn parameters are not supported because each single camera is a separate HALCON device.
To get some information about the currently attached camera devices, the operator
info_framegrabber('ABS','info_boards', ...) can be called.
Some of the values delivered with a 'set_' operator may differ from the values that can be set effectively on the sensor hardware. In such cases the nearest possible value will be chosen and set on the hardware.
A subsequent call with a 'get_' operator will deliver the value that has effectively been set on the hardware.

Description

Parameters for open_framegrabber():

Name 'ABS' The name of the HALCON image acquisition interface.
HorizontalResolution 1, 2, 4 1 - full horizontal resolution 2(4) - means subsampling by factor 2(4) Any other value (if dividable by 4) will result in an image with that value as image width. In that case the pixels in the middle of the sensor will be read out (if StartColumn = 0) Default: 1.
VerticalResolution 1, 2, 4 1 - full vertical resolution 2(4) - means subsampling by factor 2(4). Any other value (if dividable by 4) will result in an image with that value as image height In that case the pixels in the middle of the sensor will be read out (if StartRow = 0) Default: 1.
ImageWidth 0, width 0 - ImageWidth results from the resolution settings, if specified the image will have this width and will not be subsampled (width has to be a multiple of 4) Default: 0
ImageHeight 0, height 0 - ImageHeight results from the resolution settings, if specified the image will have have this height and will not be subsampled (height has to be a multiple of 4) Default: 0
StartRow 0, row 0 - StartRow will be calculated to center the resulting image in column direction of the sensor area. Otherwise it is the coordinate of the upper pixel line (row has to be a multiple of 4) Default: 0.
StartColumn 0, column 0 - StartColumn will be calculated to center the resulting image in row direction of the sensor area. Otherwise it is the coordinate of the left most pixel (column has to be a multiple of 4) Default: 0.
Field --- Ignored. (use 'default').
BitsPerChannel 8, 10, 12 Number of bits per image channel: Grayscale (8 bits) (value is hardware dependent) Default: 8.
ColorSpace 'default', 'gray', 'rgb' Specifies the color space. Gray results in a one channel image and rgb in a three channel image. Default: 'rgb'.
Gain gain Ignored.
ExternalTrigger 'enable', 'disable' Sets the camera to the external trigger mode, An external trigger signal is used to start capture of a single image
CameraType 'default' Ignored. (use 'default').
Device '-1','DeviceId' open_framegrabber will try to find a camera with a matching 'DeviceID' string. This ID has to be set with an external application 'ABSCameraConfig' before the camera can be used in HALCON. Make sure that each of the connected cameras has its unique 'DeviceID', otherwise the function will return an error 'wrong device' Default: '-1' (searches for the first unused camera).
Port --- Ignored.
LineIn --- Ignored.

Parameters for set_framegrabber_param():

'autoexposure' 'enable', 'disable' Use ‘enable' to turn the autoexposure feature on or ‘disable’ to turn it off
'autoexposure_target' 0.0 - 1.0 The current target value which is to be used for the autoexposure feature. Default: 0.5
'autoexposure_roi' [left, top, right, bottom] These are the pixel coordinates of the measure window for the autoexposure feature, they are only valid if the feature has been enabled before (default: image coordinates).
Valid values have to be multiples of 4
'autoexposure_control' timeout, max. exposure (opt.), max. gain (opt.) Set the autoexposure control parameters. This parameters are autoexposure timeout, optional maximum exposure and maximum gain, they control the autoexposure algorithm’s behaviour. By setting the timeout value you guarantee not to trigger any images within that time from grabbing the last image onwards. Maximum exposure and gain are the highest values which will be used by autoexposure algorithm to control the brightness. Set this values to zero to let the camera decide.
'brightness' 'brightness' Set the brightness value to a value within the possible range. Default: 0
'color_correction' 'enable', 'disable' Use 'enable' to switch the color correction feature on or 'disable' to switch it off
'continuous_grabbing' 'enable', 'disable' Use 'enable' to turn the 'continuous_grabbing' feature on or 'disable' to turn it off
'contrast' contrast Set the contrast value to a value within the possible range. Default: 0
'do_whitebalance' --- Starts a one-time whitebalance calculation. For optimal results a white or gray surface should be placed in front of the camera covering the whole object plane.
'do_fire_global_sw_trigger' --- Triggers all cameras, which are setup for global software trigger, simultaneous. ('grab_async_with_global_sw_trigger' and grab_image_start must be called)
'grab_async_with_global_sw_trigger' 'true' If set to 'true' the next call to grab_image_start setup the camera for async image capture with simultaneous global software trigger. The trigger will be fired if you call the parameter 'do_fire_global_sw_trigger'
'external_trigger' 'true', 'false' Switch external triggering on or off
'exposure_time' exposure_time Set a value within the possible range in µs
'flip_horizontal' 'enable', 'disable' Use 'enable' to switch the feature on or 'disable' to switch it off
'flip_vertical' 'enable', 'disable' Use 'enable' to switch the feature on or 'disable' to switch it off
'framerate' framerate Set the framerate at which the camera should deliver images when 'continuous_grabbing' is enabled. The value must be between 1 and max_framerate.
Use get_framegrabber_param(... , 'maximum_framerate', ...) to get this value
'gain' gain Set a gain value within the possible range for monochrome cameras.
Use 'gain_xxx_channel' to set the separate gain value of the color channels for color cameras, by using 'gain' all channels will be set to the same amount
'gain_global' gain_global Gain value for the global channel
'gain_red' gain_red Gain value for the red channel
'gain_green' gain_green Gain value for the green channel
'gain_blue' gain_blue Gain value for the blue channel
'gamma' gamma Set the gamma value to a value within the possible range. Default: 1.0
'roi' [left, top, right, bottom] These are the pixel coordinates on the sensor specifying a window where the image is to be taken from. Valid values have to be multiples of 4
'outport0' 'true', 'false' Set the state of the outport to 'true' to set the output to high or 'false' to set the outport to low
'outport1' 'true', 'false' Set the state of the outport to 'true' to set the output to high or 'false' to set the outport to low
'start_row' start_row Specify the topmost row of the image to be taken in pixel coordinates (y). Valid values have to be multiples of 4 The image height will not be altered, that means that the sum of the image height and the start_row must not exceed the vertical sensor resolution
'start_column' start_column Specify the leftmost column of the image to be taken in pixel coordinates (x). Valid values have to be multiples of 4 The image width will not be altered, that means that the sum of the image width and the start_column must not exceed the horizontal sensor resolution
'timestamp_overlay' 'enable', 'disable' Use 'enable' to switch the timestamp overlay feature on or 'disable' to switch it off
'trigger_mode' 'level', 'edge' Level- or edge triggering
'trigger_port' 'port' Number of the port which is to be used for external trigger (get more info on available ports by querying ‘info parameters’. Default: TTL Trigger-Input
'trigger_signal' 'active_high', 'active_low', 'normal', 'inverted' Set the trigger signal to one of the possible values, the default setting may vary on different camera models

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. Furthermore, corresponding to the parameters supported by set_framegrabber_param, there may exist additional read-only parameters with the following postfixes:

  • '_description': These parameters provide the tooltip of the corresponding parameter as a string.
  • '_range': These parameters provide the minimum, maximum, stepwidth, and default values for the corresponding integer or float parameter as a tuple with 4 elements, e.g., get_framegrabber_param(..,'exposure_range',..) will return the output tuple [min,max,step,default]. Optionally, this tuple can also contain additional valid string values like 'auto' or 'manual'.
  • '_values': These parameters provide the valid value list for the corresponding parameter as a tuple, e.g., get_framegrabber_param(..,'volatile_values',..) will return the output tuple ['enable','disable'].
All these postfixed parameter names are not returned when calling info_framegrabber(..,'parameters',..) and are used to enable the easy parameterization via a generic graphical user interface, particularly the HDevelop Image Acquisition Assistant.

'inport0' 'true', 'false' Returns 'true' if a high signal is on inport0, otherwise 'false'
'inport1' 'true', 'false' Returns 'true' if a high signal is on inport1, otherwise 'false'
'maximum_framerate' max_fram_rate Returns the maximum framerate achievable by the sensor when using 'contiuous_grabbing'. This value may change on different image sizes.

Release Notes

  • Revision 3.0 (Apr 25, 2008):
    • First official release.


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