MVTec Software GmbH
  Building Vision For Business
MVTec at AUTOMATICA 2012
Halcon

HALCON 8.0 Image Acquisition Interface for Allied Vision Technologies/intek FirePackage Driver

This page provides the documentation of the HALCON FirePackage interface for the Allied Vision Technologies/intek FirePackage driver. With this interface you can acquire images from IEEE 1394 cameras via any IEEE 1394 adapter cards (PCILynx or OHCI). Registered customers can download the latest revision of this interface from the MVTec WWW server.

Note that the HALCON FirePackage interface is no more recommended. Please use the new universal HALCON 1394IIDC interface instead which supports all IEEE 1394 (a and b) cameras that are compliant to the IIDC 1394 (DCAM) standard, e.g., from Allied Vision, Basler, NET, Point Grey, Prosilica, Sony, The Imaging Source, or Toshiba Teli. This new interface is also based on the high-performance FirePackage driver, but uses the new FireGrab API.

Revision: 3.1

System Requirements

  • Intel compatible PC with Windows NT 4.0 (Service Pack 5), Windows 2000 or Windows XP and IEEE 1394 adapter card (PCILynx or OHCI).
  • HALCON image acquisition interface hAcqFirePackage.dll or parhAcqFirePackage.dll, respectively.
    If you have properly installed the interface, both DLLs should reside in bin\%HALCONARCH% within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.
  • Successfully installed FireDrv.sys driver (version 1.0.2.1 or higher). If you do not have this file, you can download the FirePackage driver from http://www.alliedvisiontec.com.
  • Wrapper DLL FireCtrl.dll (version 1.8.0.9 or higher). This DLL together with an appropriate license file License.txt must be located together in one directory within the system path %PATH%, e.g., C:\Windows\System32. In order to access IEEE 1394 cameras from Allied Vision Technologies properly, the file License.txt must contain the key 1EEAF9B450220075!
    Note that after the installation of the FirePackage driver the files FireCtrl.dll and License.txt files can be found in the directory [Legacy\]FireCtrl\Lib within the FirePackage directory.

Features

  • Supports IEEE 1394-based digital camera compliant to the IIDC 1.30, such as the Dolphin, Marlin, and Oscar camera series from Allied Vision Technologies.
  • Synchronous and asynchronous grabbing.
  • External camera triggering.
  • Provides color space transformation.
  • Subsampling (by specifying the corresponding video mode).
  • Support of video format 7 (partial scan).
  • Software control of a variety of camera parameters.
  • Simultanuous acquisition triggered by a software-driven broadcast command to all cameras.
  • Listen-only functionality to use the deferred transport capability of AVT cameras.

Limitations

  • Supports up to three cameras per board and up to four boards.
  • Hot plugging is not supported. Be aware that due to a bus reset the same camera can appear with another number respectively at another port in the image acquisition interface!
  • grab_data and grab_data_async not supported.
  • No LUTs.
  • No support of IEEE 1394b cameras.

Description

Parameters for open_framegrabber():

Name 'FirePackage' The name of the HALCON image acquisition interface.
HorizontalResolution --- Ignored.
VerticalResolution --- Ignored.
ImageWidth -1, 0, min ... max Sets the width of the desired image part if Format_7 is specified in the parameter CameraType. The passed value gets rounded to fit the step width restriction of this parameter (which depends on the camera). min equals the step width whereas max equals the maximum image width. -1 means to adopt the camera setting, 0 means to specify the maximum image width. Default: -1.
ImageHeight -1, 0, min ... max Sets the height of the desired image part if Format_7 is specified in the parameter CameraType. The passed value gets rounded to fit the step width restriction of this parameter (which depends on the camera). min equals the step width whereas max equals the maximum image height. -1 means to adopt the camera setting, 0 means to specify the maximum image height. Default: -1.
StartRow -1, 0 ... max The row coordinate of the upper left pixel of the desired image part if Format_7 is set. The passed value gets rounded to fit the step width restriction of this parameter (which depends on the camera). max equals the maximum image height minus the step width; -1 means to adopt the camera setting. Default: -1.
StartColumn -1, 0 ... max The column coordinate of the upper left pixel of the desired image part if Format_7 is set. The passed value gets rounded to fit the step width restriction of this parameter (which depends on the camera). max equals the maximum image width minus the step width; -1 means to adopt the camera setting. Default: -1. Ignored.
Field --- Ignored.
BitsPerChannel --- Ignored.
ColorSpace 'gray', 'rgb', 'yuv', 'default' Color space of the resulting HALCON image. 'default' means to adopt the supplied camera color space. Default: 'default'.
Generic --- Ignored.
ExternalTrigger 'true', 'false' Activate/deactivate external triggering. Default: 'false'.
CameraType 'format:mode:fps[:iso_control]',
'7:mode:busload_percentage[:iso_control]', 'default'
Specify the desired video settings as a string consisting of the video format (0,1,2 or 7), the video mode (0,1,2,3,4,5,6,7), and the frame rate (0,1,2,3,4,5 or 1.875,3.75,7.5,15.0,30.0,60.0, respectively), separated by colons. If video format is set to 7, the third parameter specifies not the frame rate, but the busload in percent (of 4096 bytes per packet). 'default' means to adopt the supplied video settings of the camera and the ISO transfer will be enabled. Default: 'default'.
Optionally, a fourth parameter can be appended specifythe type of image acquisition (one_shot, multi_shot, continuous_shot or listen_only).
Device 'card_number[:speed]' The number of the used IEEE 1394 adapter card (passed as a string!). Default: '0'.
An optional parameter separated by colons can be used to adjust the speed (100, 200 or 400) of the IEEE 1394 interface for the device opening (e.g., '0:200'). This speed can differ between cameras on the same card depending on the physical interface which is used.
Port 0, 1, ... The number of the camera found on the IEEE 1394 bus. Default: 0 (searches for the first camera).
LineIn -1, 0, 1, ... Number of ISO channel used for transmission. -1 means the ISO channel number equals the port number. Default: -1.

Parameters for set_framegrabber_param():

Note that most of the following parameters (and also the valid parameter values!) depend on the capabilities of the used camera.

Many parameters (like 'exposure' and 'brightness') can be set by either a valid integer value or by specifying one of the following strings:

  • 'auto' means that the camera controls the value automatically by itself
  • 'manual' disables the automatic control mode
  • 'one_push' means that the camera controls the value automatically by itself only once and returns to manual control mode
  • 'off' fixes the specified value
  • 'on' enables the changing of the specified value
You can request the valid minimal and maximal integer values as well as valid optional string values by calling get_framegrabber_param(...,'parameter_name_range',...) Note that the default values of most of the following parameters depend on the current camera settings!

'acquisition_mode' 'continuous_shot', 'one_shot', 'multi_shot', 'listen_only' Defines the way the camera is requested to acquire images:
  • 'continuous_shot': For each image the ISO transmission is enabled and disabled by camera control register 0x614h.
  • 'one_shot': The image is requested via the one shot feature if available (refer to camera control register 0x61Ch).
  • 'multi_shot': The image sequence is requested via the multi shot feature if available (refer to camera control register 0x61Ch). The number of images is given via the 'num_multi_shot' parameter.
  • 'listen_only': Requests the image acquisition interface to listen at the ISO channel selected at open_framegrabber.
'async_speed' 100, 200, 400 Speed for asynchronous communication of the IEEE 1394 interface.
'brightness' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the brightness value of the camera. If the used camera does not support brightness adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'camera_type' 'format:mode:fps' Specify the desired video settings as a string consisting of the video format (0,1,2), the video mode (0,1,2,3,4,5,6,7), and the frame rate (0,1,2,3,4,5 or 1.875,3.75,7.5,15.0,30.0,60.0, respectively), separated by colons.
'ccr_offset' offset Offset to the base address of the camera register space 0xFFFF F0000000. Note that while setting this parameter the value can also be specified as a string parameter.
'ccr_quadlet' 0x000000000 ... 0x7FFFFFFFF Quadlet which will be sent or received to/from the address given by the 'ccr_offset' parameter. Note that while setting this parameter the value can also be specified as a string parameter, thus, enabling values greater than 0x7FFFFFFF.
'color_space' 'gray', 'rgb', 'yuv', 'default' Color space of the resulting HALCON image. 'default' means to adopt the supplied video settings of the camera. Default: 'default'.
'continuous_grabbing' 'enable', 'disable' Start/stop of the isochronous transmission of video data: 'enable' starts the camera to yield a continuous video stream whereas 'disable' stops it. In contrast to single frame transmission, the isochronous transmission channel is initialized only once before the camera is set to run mode. This mode yields rate benefits while transmitting frame sequences. Notice that grab_image_start and grab_image_async take advantage of the isochronous transmission mode and start the camera by default, whereas grab_image stops it and transfers frames in single transmission mode.
Default: 'disable'.
'exposure' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the auto exposure value of the camera. If the used camera does not support exposure adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'external_trigger' 'true', 'false' Enables/disables the trigger mode. Be aware of the settings your camera supplies.
'focus' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the focus value of the camera. If the used camera does not support focus adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'frame_rate' 0, 1, 2, 3, 4, 5
1.875, 3.75, 7.5, 15.0, 30.0, 60.0
Sets the desired frame rate either as integer as determined in the IEEE 1394-based digital camera specification or as float in frames per second. Be aware of the settings your camera supplies. Note that you have to call set_framegrabber_param(...,'do_set_video_settings',...) before the new settings take effect.
'gamma' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the gamma value of the camera. If the used camera does not support gamma adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'grab_timeout' msec Specify the desired timeout (milliseconds passed as a long) for aborting a pending grab. -1 means to abort never. Default: 5000.
'hue' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the hue value of the camera. If the used camera does not support hue adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'image_height' -1, height Sets the height of the image when operating in Format_7. -1 specifies the maximal image height.
'image_width' -1, width Sets the width of the image when operating in Format_7. -1 specifies the maximal image width.
'iris' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the iris value of the camera. If the used camera does not support iris adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'num_buffers' 1 ... 32767 Number of buffers used for image acquisition. Default: 5.
'num_multi_shot' 1 ... 65535 Number of images that will be acquired by multi shot acquisition.
'saturation' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the saturation value of the camera. If the used camera does not support saturation adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'sharpness' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the sharpness value of the camera. If the used camera does not support sharpness adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'shutter' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the shutter value of the camera. If the used camera does not support shutter adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'start_column' column Sets the column coordinate of the upper left corner of the image part when operating in Format_7.
'start_row' row Sets the row coordinate of the upper left corner of the image part when operating in Format_7.
'trigger_mode' 0, 1, 2, 3
'shutter', 'pulse_width', 'n_pulses', 'shutter_n_frames'
Sets the trigger mode either as integer as defined in the IEEE 1394-based digital camera specification or as corresponding string:
  • 0, 'shutter': Integration time is described by shutter parameter.
  • 1, 'pulse_width': Integration time is equal to the pulse width of the external trigger input.
  • 2, 'n_pulses': Integration stops after n external trigger events, see also 'trigger_parameter'.
  • 3, 'shutter_n_frames': Camera will issue trigger internally and cycle time is a multiple of the cycle time of the fastest frame rate (n>0!), see also 'trigger_parameter'; integration time is described by shutter parameter.
'trigger_parameter' number Sets the trigger parameter needed by the trigger modes 2 and 3: In trigger mode 2 ('n_pulses') it specifies the number of trigger input events which define the integration time (n>1!). In trigger mode 3 ('shutter_n_frames') it defines the cycle time as multiple of the cycle time of the fastest frame rate (n>0!). See IEEE 1394-based digital camera specification for further information.
'trigger_signal' 'rising', 'falling' Sets the trigger polarity and distinguishes whereas the rising or falling edge triggers the camera. Be aware of the settings your camera supplies.
'ub' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the ub value of the camera. If the used camera does not support ub adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'video_format' 0 ... 2 Sets the desired video format determined in the IEEE 1394-based digital camera specification. Be aware of the settings your camera supplies. Note that you have to call set_framegrabber_param(...,'do_set_video_settings',...) before the new settings take effect.
'video_gain' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the gain value of the camera. If the used camera does not support gain adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'video_mode' 0 ... 7 Sets the desired video mode determined in the IEEE 1394-based digital camera specification. Be aware of the settings your camera supplies. Note that you have to call set_framegrabber_param(...,'do_set_video_settings',...) before the new settings take effect.
'vr' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the vr value of the camera. If the used camera does not support vr adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'zoom' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the zoom value of the camera. If the used camera does not support zoom adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'do_load_from_memory_channel' 0 ... 15 Loads camera settings from the specified memory channel (1 - 15) or reloads factory settings (0). Be aware of the settings your camera supplies.
'do_multi_shot' 'this_camera', 'all_cameras' By specifying 'this_camera' the associated camera performs an acquisition using the multi shot capability. 'all_cameras' sends the multi shot command to all cameras on this bus.
'do_one_shot' 'this_camera', 'all_cameras' By specifying 'this_camera' the associated camera performs an acquisition using the one shot capability. 'all_cameras' sends the one shot command to all cameras on this bus.
'do_reset_camera' --- Resets the camera and puts its configurations to the manufacturer's default settings.
'do_save_to_memory_channel' 1 ... 15 Stores the current camera settings to the specified memory channel. Be aware of the settings your camera supplies.
'do_set_video_settings' --- Calculates payload and number of ISO packets, and reconfigures the FirePackage driver. Has to be called after changing 'video_format', 'video_mode' and 'frame_rate'.

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.

'camera_capabilities' [format,mode,fps,width,height,colorformat, ...] Returns a tuple of numbers that contains information about the available standard settings of this camera. A section of six numbers holds the VideoFormat, VideoMode, FrameRate, Width, Height, and Camera color format.
'camera_model' model_name (string) Returns the name of the camera model.
'camera_vendor' vendor_name (string) Returns the name of the camera vendor.
'revision' revision (string) The revision number of the HALCON FirePackage interface.

Release Notes

  • Revision 3.1 (Mar 10, 2009):
    • Added read-only parameters with postfix '_description', '_range', and '_values' to enable the easy parameterization via a generic graphical user interface.
  • Revision 3.0 (Jun 28, 2007):
    • HALCON 8.0 version of the interface (legacy only).
  • Revision 2.4 (Jul 10, 2005):
    • HALCON 7.1 version of the interface (included in HALCON 7.1 CD).
    • New parameters 'num_multi_shot' and 'do_multi_shot' for configuring and triggering of the multishot functionality. The existing parameter 'num_shots' has been renamed into 'num_buffers' to avoid confusion with the parameter 'num_multi_shot'. The documentation of 'num_buffers' has been clarified.
    • Allow setting of offset and register values in string notation.
    • New parameters 'image_height', 'image_width', 'start_column', and 'start_row' to change the image part in Format_7 dynamically.
    • Speed-up for acquisition of RGB images (avoiding cache alignment failures when converting the interleaved image data into HALCON image objects).
    • Bugfix in handling grab timeout parameter (when calling grab_image_start the value was reset to 5000).
  • Revision 2.3 (Apr 4, 2005):
    • Support of video format 7 (partial scan).
    • Support of pre-licensed AVT cameras (FirePackage 1.5.1 or higher).
    • Acquisition from basic parameter of configuration ROM is corrected for all (camera) implementations
    • Faulty packet count acquisition is fixed.
    • Device/camera enumeration corrected.
    • Check of DLL compatibility gives detailed low-level error message.
    • info_framegrabber with 'info_boards' now returns information about the actually found camera (device, port, camera vendor and model, SN).
    • An optional value within the CameraType parameter in open_framegrabber allows configuration of the camera acquisition setting (one_shot/multi_shot/continuous_shot) and in addition a 'listen_only' mode. This enables the frame grabber to listen asynchronously for images at a specified ISO channel.
    • New parameters 'acquisition_mode', 'num_shots', and 'do_one_shot'.
    • New parameters 'ccr_offset' and 'ccr_quadlet' to access the camera register space.
    • The speed of the IEEE 1394 interface can be specified either in the Device parameter of open_framegrabber or with the parameter 'async_speed'.
    • New parameters 'image_width_range', 'image_height_range', 'camera_type_values', and 'camera_capabilities'.
    • Support of 16 bit image formats.
    • The interface is now multi-host capable: More than one host computer on the same IEEE 1394 bus can access the cameras in a shared manner.
  • Revision 2.2 (Oct 7, 2002):
    • HALCON 7.0 version of the interface (included in HALCON 7.0 CD).
    • Parameter 'gain' renamed into 'video_gain' due to the naming conflict with the standard gain parameter of the HALCON image aquisition integration interface.
    • New parameters with suffix '_range' added for get_framegrabber_param. These parameters are especially helpful when working with ActivVisionTools 2.1. The corresponding old '_min_value' and '_max_value' parameters are still usable for backward compatibility reasons.
    • set_framegrabber_param returns now an error (H_ERR_FGPARAM) if the selected parameter is not supported by the used camera.
    • get_framegrabber_param returns now an empty tuple as value if the requested parameter is not supported by the used camera.
    • get_framegrabber_param('trigger_mode') returns now the current trigger mode as a string instead of an integer.
  • Revision 2.1 (Aug 19, 2002):
    • Support of OHCI IEEE-1394 adapter cards.
    • Support of up to 8 isochronous channels and 4 cameras per board.
  • Revision 2.0 (Feb 25, 2002):
    • HALCON 6.1 version of the interface (included in HALCON 6.1 CD).
    • First official release.


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