 |
|
HALCON 9.0 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.3
System Requirements
-
Intel compatible PC with Windows XP/Vista or Windows XP/Vista 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.
-
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.
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'
|
milli_seconds (long)
|
Maximal wait time in milli seconds 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'
|
micro_seconds (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.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.
-
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 milli seconds, 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):
|