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

HALCON 7.1 Frame Grabber Interface for Pleora iPORT IP Engine

This page provides the documentation of the HALCON iPORT interface. Using this interface you can use any camera that is connected through the iPORT IP Engine from Pleora. Note that the software installation from Pleora typically also contains a HALCON interface using a different name, see remark below. Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 2.3

System Requirements

  • Intel compatible PC with Windows 2000/XP.
  • Best performance is reached with a network card from the INTEL Pro 1000 family (82540, 82541, 82546 chip). Then you can use the high performance driver Pro1000.sys (version 2.2.0). With other network cards you reach less performance and have a higher CPU usage.
  • Successfully installed Coyote software (version 2.2.0).
  • HALCON frame grabber interface HFGiPORT.dll or parHFGiPORT.dll, respectively.
    If you have properly installed the interface, both DLLs should reside in bin\i586-nt4 within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.
  • With the Coyote application you have to create a file named Config.xml, which must reside in the current working directory.
  • The camera must have a valid IP address before accessing it with HALCON. The recommended way is to use an DHCP/BOOTP server.

Features

  • Synchronous and asynchronous grabbing.
  • External camera triggering.
  • Support for a wide range of Camera Link and GigE cameras.
  • Software control of various camera features.
  • Software control of additional parameters depending on your specific camera.

Limitations

  • No LUTs.
  • grab_region and grab_region_async not supported.
  • No support of driver version 2.3, i.e., no support of standard GigE Vision cameras.
  • No support of intern color conversion.

Remarks

There exist several acquisition devices, which are supported by this interface, e.g., from DALSA, Imperx, JAI, and Mikrotron. The underlying driver is based on the IPORT IP Engine from Pleora.
Some cameras have additional parameters, which are described in their documentation. It is possible, that in such a case not all parameters (but the majority) described below are actually supported.

Description

Parameters for open_framegrabber():

Name 'iPORT' The name of the HALCON frame grabber interface.
HorizontalResolution 1 ... 16 The desired horizontal image resolution. Default: 1.
VerticalResolution 1 ... 16 The desired vertical image resolution. Default: 1.
ImageWidth width (int) The width of the desired image part. Default: 640.
ImageHeight height (int) The height of the desired image part. Default: 480.
StartRow 0, row The row coordinate of the upper left pixel within the desired image part. Default: 0.
StartColumn 0, col The column coordinate of the upper left pixel within the desired image part. Default: 0.
Field --- Ignored.
BitsPerChannel -1, 8, 10, 12, 14, 16 The desired number of bits per image channel. -1 uses the settings from the XML file. Please note that changes of this parameter disable the support of dual output format (tap read-out). Default: -1.
ColorSpace 'default' Specify the desired color space and, thus, the number of image channels of the resulting HALCON image. Default: 'default'.
Gain --- Ignored.
ExternalTrigger 'true', 'false' Activate/deactivate external triggering. Default: 'false'.
CameraType 'camera_type' (string) The name of the camera. Default: 'Standard CameraLink Camera'.
Device 'device_name' (string) The device name from the Config.xml file, e.g., 'New Device 1'. Default: 'default'.
Port ---
Ignored.
LineIn --- Ignored.

Parameters for set_framegrabber_param():

'black_level' black_level (int) Sets the black level of the camera.
'camera_gain' gain (int) Sets the gain of the camera.
'camera_gain_index' gain_index (int) Sets the index of the tap, whose gain will be changed.
'camera_offset' offset (int) Sets the offset of the camera.
'camera_offset_index' offset_index (int) Sets the index of the tap, whose offset will be changed.
'camera_pattern' pattern_number (int) Sets the pattern of the camera. Used only if supported by the camera.
'continuous_grabbing' 0, 1 Enables (1) or disables (0) the continuous grabbing of the camera.
'digital_shift' shift (int) Sets the digital shift of the camera. Used only if supported by the camera.
'do_update_to_camera' --- Transfers the changes to the camera. For backward compatibility the parameter name 'update_to_camera' still works.
'exposure_time' exposure_time (int) Sets the exposure time (in microseconds) of the camera.
'external_trigger' 0, 1 Enables (1) or disables (0) the external trigger.
'external_trigger_type' 'programmable', 'level_controlled', 'edge_controlled' Mode of the external trigger.
'force_single_shot' 0, 1 Activates (1) or deactivates (0) the single shot mode.
'frame_skip' 0 ... 4096 Number of frames to skip. If set to '0' each frame from the camera is grabbed.
'gpio_lookup_table' lookup_table (string) Sets the LUT of the general purpose I/O. Note that this parameter is write-only.
'gpio_trigger' 0, 1 Enables (1) or disables (0) triggering from the GPIO Control Block.
'grabber_test_pattern' 0, 1 Shows a test pattern. '0' means to disable the test pattern.
'horizontal_binning' 0, 1 Enables (1) or disables (0) the horizontal binning.
'horizontal_resolution' horizontal_resolution Sets the horizontal resolution.
'image_flip' 0, 1 Enables (1) or disables (0) the image flipping.
'image_height' image_height Sets the image height.
'image_width' image_width Sets the image width.
'interlaced' 0, 1 Enables (1) or disables (0) the interlaced mode.
'line_scan' 0, 1 Enables (1) or disables (0) the line scan mode.
'normalized' 0, 1 Specifies if the data of 16 bit images is packed in the MSB (1) or LSB (0).
'pulse_gen_delay' 0 ... 65535 Indicates the number of cycles that the pulse remains at a low level before rising to a high level.
'pulse_gen_granularity' 1 ... 256 Indicates the number of PCI clock cycles that are used for each increment of the delay and width. The amount specified in the granularity is multiplied by 30 nanoseconds.
'pulse_gen_index' index (int) Sets the index of the pulse generator, which will be set or get.
'pulse_gen_level_triggered' 0, 1 Indicates if a triggered pulse generator is triggered on the rising edge (0) or on the high level (1) of the signal.
'pulse_gen_periodic' 0, 1 Indicates if the pulse generator is periodic (1) or triggered (0).
'pulse_gen_set' 0, 1, 2, 3 Selects one of the pulse generators and sets the values you have entered via the appropriate parameter calls.
'pulse_gen_width' 0 ... 65535 Indicates the number of cycles that the pulse remains at a high level before falling to a low level.
'start_column' start_column Sets the column of the upper left image pixel.
'start_row' start_row Sets the row of the upper left image pixel.
'tap_quantity' 1, 2 Specifies the number of taps that the camera outputs.
'undefined_size_x' 0, 1 Enable (1) or disable (0) undefined horizontal size. Specifies if the grabber will use its internal counter to count pixels up to the specified width (image_width) or if it will rely on the Line Valid signal from the camera. Default: 0.
'undefined_size_y' 0, 1 Enable (1) or disable (0) undefined vertical size. Specifies if the grabber will use its internal counter to count lines up to the specified height (image_height) or if it will rely on the Frame Valid signal from the camera. Default: 0.
'vertical_binning' 0, 1 Enables (1) or disables (0) the vertical binning.
'vertical_resolution' vertical resolution Sets the vertical resolution.
'volatile' 'enable', 'disable' Enables or disables the volatile mode. In the volatile mode the two 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'.

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.

'camera_model' model (string) The camera model.
'camera_product_id' product_id (string) The product id of the camera.
'camera_serial_number' serial_number (string) The serial number of the camera.
'camera_vendor' vendor (string) The vendor of the camera.
'frame_rate' frame_rate (float) The frame rate of the camera.
'grab_frame_rate' frame_rate (float) The frame rate of the current grab.
'image_available' 0, 1 (int) Returns the status of the last asynchronous grab command. The value 1 means that the image is already acquired and thus can be fetched by grab_image_async without delay. Note that this parameter is especially useful in combination with external triggering.
'pulse_gen_count' count (int) Returns the number of pulse generators available.
'pulse_gen_get' pulse_gen (int) The values of the pulse generator. Note that the index of the pulse generator has to be set before calling this function.
'revision' revision The revision number of the HALCON iPORT interface.

Release Notes

  • Revision 2.3 (Jan 20, 2009):
    • Added default value for BitsPerChannel.
    • Added support of dual output format (tap read-out).
    • Reduced value list of ColorSpace to 'default'.
  • Revision 2.2 (Feb 27, 2008):
    • New parameter 'image_available'.
    • Removed parameters for GPIO.
    • Bugfix in open_framegrabber regarding default settings for ImageWidth and ImageHeight.
    • Bugfix in open_framegrabber regarding BitsPerChannel.
  • Revision 2.1 (May 08, 2007):
    • Added parameter 'revision'.
    • Bugfix in querying parameter 'volatile'.
  • Revision 2.0 (Apr 26, 2007):
    • First official release.


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