MVTec Software GmbH
  Building Vision For Business
Halcon

HALCON 10 Image Acquisition Interface for SVS-VISTEK Gigabit Ethernet Cameras

This page provides the documentation of the HALCON SVCam-GigE image acquisition interface for accessing the SVCam Gigabit Ethernet cameras from SVS-VISTEK. Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 4.4

System Requirements

  • Intel compatible PC with Windows XP/Vista/7 or Windows XP/Vista/7 x64.
  • Successfully installed Gigabit Ethernet network adapter.
  • Successfully installed SVCam GigE filter driver SVGigE.sys (version 1.4.16.39 or higher). If the SVCam GigE filter driver is not installed the camera is also available. Please keep in mind that without filter driver the camera works with reduced performance, and the PC CPU usage is higher. To use the camera without filter driver please check also the generic 'filter_driver' parameter in open_framegrabber.
  • SVS-VISTEK DLLs SVGigE.dll, SVGigETLFilter.dll, and SVGigETLWinsock.dll (or SVGigE.x64.dll, SVGigETLFilter.x64.dll, and SVGigETLWinsock.x64.dll on Windows x64). These DLLs must be in your search path %PATH%.
  • HALCON image acquisition interface hAcqSVCam-GigE.dll or hAcqSVCam-GigExl.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.

Features

  • Multiple cameras.
  • Synchronous and asynchronous grabbing.
  • Image cropping.
  • Software control of various camera parameters like exposure and gain.

Limitations

  • grab_data and grab_data_async not supported.
  • No LUTs.
  • No support of 32 bit applications on Windows x64 (WoW64).

Description

Parameters for open_framegrabber():

Name 'SVCam-GigE' The name of the HALCON image acquisition interface.
HorizontalResolution 1, 2, width The desired horizontal image resolution. Use 1 for full resolution, or 2 for subsampling (or binning, depends on what the camera model supports). Default: 1
VerticalResolution 1, 2, height The desired vertical image resolution. Use 1 for full resolution, or 2 for subsampling (or binning, depends on what the camera model supports). Default: 1
ImageWidth 0, width (long) The width of the desired image part ('0' stands for the complete image). Default: 0
ImageHeight 0, height (long) The height of the desired image part ('0' stands for the complete image). Default: 0
StartRow 0, row (long) The row coordinate of the upper left pixel within the desired image part. Default: 0.
StartColumn 0, column (long) The column coordinate of the upper left pixel within the desired image part. Default: 0.
Field --- Ignored
BitsPerChannel 8, 12, 16 Number of bits per image channel. Default: 8.
ColorSpace 'gray', 'raw', 'rgb', 'default' Specify the desired color space and thus the number of image channels of the resulting HALCON image. Default: 'default'.
Generic ['filter_driver=state', 'packet_size=size', 'num_buffers=number', 'force_ip=MAC,IP/mask[,gateway,timeout]', 'bayer_high_quality=state', 'heartbeat=time'] With the Generic parameter some important values can be set before the camera is initialized. Note that the parameter names including the values must be strings. The following parameters are available:
  • filter_driver
    This parameter decides whether the image data stream will be transferred by a Winsock based implementation (state=no) of if a filter driver will be used (state=yes). If no filter driver is installed, you have to set 'filter_driver=no'. Default: yes.
  • packet_size
    By default, the used packet size is adjusted automatically depending on the MTU setting of the network adapter (which should be set to approx. 9000 by enabling Jumbo frames in the configuration of the network adapter). Please note that Jumbo frames should be enabled to reach optimal performance. Note that you can only use packet size values ≥ 1500 if the camera supports such values and all underlying network components support Jumbo frames and are configured appropriately.
  • num_buffers
    To set the maximum number of buffers used in the HALCON acquisition interface a value between 1 and 1000 has to be set. Note that depending on the image size of the used camera a high number of buffers can exceed the available memory size of your computer. Default: 5.
  • force_ip
    To set a temporary IP address to a specific camera defined by the MAC address. At minimum 3 input values are needed: MAC address, new IP address for the device, and subnet mask. Optionally, a gateway and a timeout for the ForceIP can also be defined. The values must be separated by commas (except the subnet mask, where the separator is a slash).
    The MAC address can be used either separated by colons or without a separator. The IP address must be decimal numbers separated by dots, followed either by a slash and the subnet mask in bytes or by a comma and the subnet mask in decimal numbers separated by dots. Optionally, a gateway can be set with decimal numbers separated by dots. Also a timeout (in microseconds) for the ForceIP command can be set optionally.
  • bayer_high_quality
    Activates the bayer conversion routine. To enable the high quality algorithm use (state=yes), to disable this feature use (state=no). Default: no.
  • heartbeat
    Sets the heartbeat timeout of the camera (0...60 sec). Default: 3.
  • ExternalTrigger 'true', 'false' Activate/deactivate external triggering. Default: 'false'.
    CameraType --- Ignored
    Device [device_name, mac_address, ip_address, sn_number, user_defined_name] To open a specific camera the device name as shown in info_framegrabber('device',...,...) has to be set. Alternatively, the MAC/IP address or the user-defined name can be used.
    Port --- Ignored
    LineIn --- Ignored

    Parameters for set_framegrabber_param():

    'acquisition_control' 'start', 'stop' Controlling the image acquisition. It's not required to start the acquisition before acquiring images the first time. This will be done automatically during opening the device.
    'acquisition_mode' 'fixed_frequency', 'software_trigger', 'external_trigger_internal_exposure', 'external_trigger_external_exposure' The user can select one of different acquisition modes.
    'auto_tap_balance_mode' 'off', 'once', 'continuous' Sets the auto tap balance mode.
    'do_abort_grab' --- Current image acquisition will be aborted.
    'do_force_trigger' --- Forces the camera to snap an image when the camera is in software trigger mode, see parameter 'acquisition_mode'.
    'do_read_eeprom ' --- Camera settings will be restored from EEPROM.
    'do_restore_factory_defaults' --- Camera's factory defaults will be restored.
    'do_tap_balance' --- The taps of dual-tap sensors will be balanced.
    'do_write_eeprom' --- Current settings will be written to EEPROM.
    'exposure_delay ' exposure_delay (float) Exposure delay related to trigger in microseconds.
    'exposure' exposure_time (float) Exposure time for all internal acquisition modes in microseconds.
    'framerate' framerate (float) Framerate could just be set in the 'fixed_frequency' acquisition mode.
    'gain ' 0 ... 18 (long) Analog gain for ADC.
    'grab_timeout' milliseconds (long) Maximal wait time in milliseconds for a triggered image. Default: 5000.
    'inter_packet_delay' 0 ... 1000 (long) Relative delay of network packets.
    'input_iomux_out0' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2', 'IOMux_IN3', 'IOMux_IN_IO_RXD', 'IOMux_UART_OUT', 'IOMux_STROBE', 'LOW', 'HIGH' Signal level on multiplexer's out0 port.
    'input_iomux_out1' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2', 'IOMux_IN3', 'IOMux_IN_IO_RXD', 'IOMux_UART_OUT', 'IOMux_STROBE', 'LOW', 'HIGH' Signal level on multiplexer's out1 port.
    'input_iomux_out2' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2', 'IOMux_IN3', 'IOMux_IN_IO_RXD', 'IOMux_UART_OUT', 'IOMux_STROBE', 'LOW', 'HIGH' Signal level on multiplexer's out2 port.
    'input_iomux_out3' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2', 'IOMux_IN3', 'IOMux_IN_IO_RXD', 'IOMux_UART_OUT', 'IOMux_STROBE', 'LOW', 'HIGH' Signal level on multiplexer's out3 port.
    'iomux_out_txd' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2', 'IOMux_IN3', 'IOMux_IN_IO_RXD', 'IOMux_UART_OUT', 'IOMux_STROBE', 'LOW', 'HIGH' Input signal selection to multiplexer's txd port.
    'iomux_uart_in' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2', 'IOMux_IN3', 'IOMux_IN_IO_RXD', 'IOMux_UART_OUT', 'IOMux_STROBE' Input signal selection to multiplexer's uart_in port.
    'iomux_trigger' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2', 'IOMux_IN3', 'IOMux_IN_IO_RXD', 'IOMux_UART_OUT', 'IOMux_STROBE' Input signal selection to multiplexer's trigger port.
    'offset' 0 ... 255 (long) Analog offset for ADC.
    'offset_adc_1' 0 ... 100 (long) ADC offset for tap 1.
    'offset_adc_2' 0 ... 100 (long) ADC offset for tap 2.
    'start_async_after_grab_async' 'enable', 'disable' By default, at the end of grab_image_async a new asynchronous grab command is automatically executed. If this parameter is set to 'disable' this new grab command is omitted. Default: 'enable'.
    'strobe_signal' 'rising', 'falling' Strobe signal edge.
    'strobe_position' microseconds (long) Start of strobe signal related to trigger.
    'strobe_duration' strobe_duration (long) Duration of strobe signal in microseconds.
    'tap_balance' -2.0 ... 2.0 (float) Sets the tap balance value.
    'tap_configuration' 'none', 'single_tap', 'dual_tap' Sets the tap configuration.
    'trigger_signal' 'falling', 'rising' Trigger signal edge.
    'user_defined_name ' name (string) Name assigned by a user to a camera (max. 16 chars).
    'volatile ' 'enable', 'disable' Raw and grayscale only.
    In the volatile mode the image 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'.
    'white_balance_b' 100 ... 200 (long) Blue color enhancing factor.
    'white_balance_g' 100 ... 200 (long) Green color enhancing factor.
    'white_balance_r' 100 ... 200 (long) Red color enhancing factor.

    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.

    'bayer_high_quality' state (string) Returns 'yes' if bayer high quality is used, otherwise 'no'.
    'device_version' device_version (string) Camera's device version.
    'filter_driver' state (string) Returns 'yes' if filter driver is used, otherwise 'no'.
    'heartbeat' time (float) Current heartbeat timeout of the camera in seconds.
    'ip_address' ip_address (string) Camera's current IP address.
    'iomux_out0' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2',
    'IOMux_IN3', 'IOMux_IN_IO_RXD',
    'IOMux_UART_OUT', 'IOMux_STROBE',
    'LOW', 'HIGH'
    Input signal selection to multiplexer's out port 0.
    'iomux_out1' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2',
    'IOMux_IN3', 'IOMux_IN_IO_RXD',
    'IOMux_UART_OUT', 'IOMux_STROBE',
    'LOW', 'HIGH'
    Input signal selection to multiplexer's out port 1.
    'iomux_out2' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2',
    'IOMux_IN3', 'IOMux_IN_IO_RXD',
    'IOMux_UART_OUT', 'IOMux_STROBE',
    'LOW', 'HIGH'
    Input signal selection to multiplexer's out port 2.
    'iomux_out3' 'IOMux_IN0', 'IOMux_IN1', 'IOMux_IN2',
    'IOMux_IN3', 'IOMux_IN_IO_RXD',
    'IOMux_UART_OUT', 'IOMux_STROBE',
    'LOW', 'HIGH'
    Input signal selection to multiplexer's out port 3.
    'num_buffers' num (long) Gets the number of the internal used buffers. Default: 5.
    'sensor_height' height (long) Sensor pixel height of the camera.
    'sensor_width' width (long) Sensor pixel width of the camera.
    'mac_address' mac_address (string) Camera's MAC address.
    'manufacturer_name' name (string) Camera manufacturer's name.
    'manufacturer_specific_info' info (string) Camera manufacturer's specific information.
    'model_name' model name (string) Cameras model name.
    'packet_size' packet_size (long) Returns the used packet size.
    'serial_number' serial_number (string) Cameras serial number.
    'revision' revision_number (string) Revision of the HALCON acquisition interface.

    Release Notes

    • Revision 4.4 (May 30, 2011):
      • Fixed bug in case of multi-threaded applications, when multiple cameras waiting for a trigger signal. If a specific camera was triggered, other cameras were also affected.
      • Fixed bug in loading the correct SDK library version on Windows x64.
      • Changed behavior of info_framegrabber(..,'device',...) and info_framegrabber(..,'info_boards',...): Now, the returned value lists only contain information about devices from SVS-VISTEK.
    • Revision 4.3 (Jun 22, 2010):
      • Added implementation of info_framegrabber(..,'generic',...) to query all supported values for the Generic parameter in open_framegrabber.
      • Added read-only parameters 'bayer_high_quality', 'filter_driver', 'heartbeat', 'num_buffers' and 'packet_size' to query the current values of the corresponding Generic parameters in open_framegrabber.
      • HALCON 10 version of the interface (included in HALCON 10 DVD).
    • Revision 4.2 (Nov 24, 2009):
      • Fixed bug in software trigger mode: The call of grab_image_async erroneously returned with black images.
      • Added new parameters 'do_force_trigger' and 'start_async_after_grab_async' to enable the full control about the image acquisition in (software) trigger mode.
      • Added missing documentation of the parameters 'tap_balance', 'auto_tap_balance_mode', and 'do_tap_balance'.
      • Improved error handling in case of stream channel errors.
      • Changed the default timeout value for grab_image and grab_image_async from 1500 to 5000 milliseconds, see parameter 'grab_timeout'.
      • Removed documentation of the deprecated parameters 'gain_adc_1', 'gain_adc_2', and 'tap_count'. These parameters are still available for backwards compatibility reasons.
    • Revision 4.1 (Sep 25, 2009):
      • First official release.

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