 |
|

|
HALCON 6.1 Frame Grabber Interface for Euresys Domino
Iota/Alpha/Gamma, GrabLink Value/Expert, and Multi Boards
|
This page provides the documentation of the HALCON MultiCam
frame grabber interface. This interface is based on the
Euresys MultiCam driver and
supports the Domino Iota/Alpha/Gamma, the GrabLink Value/Expert and
Multi frame grabber boards.
Registered
customers can download the
latest
revision of this interface from the
MVTec WWW server.
Revision: 2.13
System Requirements
-
Intel compatible PC with Windows NT 4.0, Windows 2000
or Windows XP.
-
Successfully installed Euresys multicam.sys driver
(version 4.2 or higher). Note that for using the continuous
mode you must install Euresys multicam 4.2 patch N!
-
Euresys DLL multi.dll and multicam.dll
(version 4.2 or higher).
These DLLs must be within your search path %PATH%. If you do not
have this DLLs, please contact Euresys or the vendor from which
you bought the board.
-
HALCON frame grabber interface HFGMultiCam.dll or
parHFGMultiCam.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.
Features
-
Synchronous and asynchronous grabbing.
-
Multiple cameras connected to multiple boards.
-
Support of GrabLink Value/Expert boards.
-
Support of Multi and Domino Iota/Alpha/Gamma boards.
-
Support of line scan cameras (Multi/Value/Expert only).
-
Support of StereoVision for Domino Alpha boards.
-
Support of different board topologies for Domino boards.
-
External trigger, asynchronous camera reset.
-
Software control of strobe and exposure.
-
Cropping of image parts (Multi only).
Limitations
-
No support of the volatile mode for multi-channel images.
-
grab_region and
grab_region_async not supported.
-
No LUTs.
Description
Parameters for
open_framegrabber():
|
|
|
Name
|
|
'MultiCam'
|
|
The name of the HALCON frame grabber interface.
|
|
|
HorizontalResolution
|
---
|
Ignored.
|
|
|
VerticalResolution
|
---
|
Ignored.
|
|
|
ImageWidth
|
0, 64, 65, ...
|
Multi only: The width of the desired image part ('0' stands for
the complete image). The width has to be equal or smaller than the
maximum image width but at least 64 pixels (see the MULTICAM
documentation). Default: 0.
|
|
|
ImageHeight
|
area scan: 0, 64, 65, ...
line scan: 0, 1, ..., 16384
|
Multi only: The height of the desired image part ('0' stands for
the complete image). Accessing an area scan camera the
height has to be equal or smaller than the maximum
image height (defined in the .cam camera file) but at
least 64 pixels. Using a line scan camera the height
defines the page length. '0' specifies the
default value defined in the .cam camera file (see the
MULTICAM documentation). Default: 0.
|
|
|
StartRow
|
0, 1, ...
|
Multi only: The row coordinate of the upper left pixel within the
desired image part. This value is ignored while using line scan
cameras. Default: 0.
|
|
|
StartColumn
|
0, 1, ...
|
Multi only: The column coordinate of the upper left pixel within
the desired image part. Default: 0.
|
|
|
Field
|
---
|
Ignored.
|
|
|
BitsPerChannel
|
---
|
Ignored.
|
|
|
ColorSpace
|
---
|
Ignored.
|
|
|
Gain
|
---
|
Ignored.
|
|
|
Externaltrigger
|
'true', 'false'
|
Activate/deactivate external triggering. When accessing a line
scan camera 'true' enables an external page trigger with page
delay 0. Default: 'false'.
|
|
|
CameraType
|
'mpf_file:cam_file'
or
'mpf_file:topology :cam_file'
|
This parameter specifies the mpf and camera file, separated
by a ':' (e.g., 'Alpha_Y:Generic_I50SA',
'Alpha_STEREOXY:CS8530_P30SM',
'Alpha_YBIS:11_11:InterlaceFR_IxxSA',
'Iota:InterlaceFR_IxxSA',
'Value:CV-M4CL_P24SC', 'Expert_A:L101k_L2048RG' or
'SyncMonoCam:Pulnix_TM-1020_Sync').
The frame grabber needs these auxiliary files to specify a
proper camera and to define the mode to run it.
Alpha/Gamma only: optionally the board topology can
be set with the first call of open_framegrabber
(default topology: '1_1'/'1_1_1').
For further information and a listing of file names or
valid topologies please refer to your
MULTICAM documentation. Default:
'SyncMonoCam:Pulnix_TM-1020_Sync'.
|
|
|
Device
|
'0', '1', ... or
'identifier'
|
There are two possibilities to address a specific board: the
number assigned by the MultiCam driver (passed as a string!) or
the identifier string of the frame grabber board. You can
yield the number and identifier of the installed boards by the
'board_info' parameter of the info_framegrabber
operator. Default: '0'.
|
|
|
Port
|
---
|
Ignored.
|
|
|
LineIn
|
---
|
Ignored.
|
|
Parameters for set_framegrabber_param():
Attention: The specified default values might
be overwritten by the used camera file!
General Parameters
|
|
|
'channel_state'
|
|
'idle', 'active'
|
|
This parameter gives access to the state of the channel.
When channel_state is set to 'idle' the channel is not
currently used by the application.
|
|
|
'continuous_grabbing'
|
'enable', 'disable'
|
Sets grabbing mode from single frame
capture to continuous mode. If the continuous mode is
enabled, the frame grabber board will grab all the
time (Note that in this mode grab_image will behave
like grab_image_async!). Default: 'disable'.
|
|
|
'external_trigger'
|
'true', 'false'
|
For backward compatibility only: Enables/disables the
frame/page trigger mode for area scan/line scan
cameras. If line scan cameras are used, no 'delayed'
triggering can be specified. See also
'external_frame_trigger' and
'external_page_trigger'. Default: 'false'.
|
|
|
'grab_timeout'
|
milliseconds
|
Specify the desired time-out
(milliseconds passed as a long) for aborting a
pending grab. -1 means to abort never. Default: 5000.
|
|
|
'line_period'
|
1, ..., 1047552
|
Area/line scan cameras: The parameter
specifies the desired line period in TCU (Timing Clock
Unit= 1/channel clock frequency). Line scan cameras:
the real line period can be slightly different because
it is adjusted by the driver to meet technical
constraints. This only applies when
'external_line_trigger' is set to 'false'. Default: 10000.
|
|
|
'num_buffers'
|
number
|
Specifies the desired number of image buffers holding the grabbed
images of the frame grabber. See also
'max_buffers'. Default: 3.
|
|
|
'start_async_after_grab_async'
|
'enable', 'disable'
|
By default, at the end of grab_image_async a new
request for an asynchronous grab command is automatically given to
the frame grabber board. If the parameter
'start_async_after_grab_async' is set to 'disable'
this new grab command is omitted. This might be useful
especially for random switching between several
connected cameras. Default: 'enable'.
|
|
|
'trigger_filter'
|
0, 1, ...
|
Applies an edge
cleaner to external frame/line trigger signal on line 8.
Multi:
The signal should remain stable for the specified
amount of camera clock periods prior to validate a
state transition.
Iota/Alpha/Gamma/Value/Expert:
You can only enable (0) or disable (>0) the
electrical noise removal filter.
For further details see also your frame grabber documentation.
Default: 16.
|
|
|
'trigger_signal'
|
'ttl_rising', 'ttl_falling',
'12V_rising', '12V_falling'
|
Selection of the style of the external frame/line
trigger on line 8 (A8 or B8). 'ttl_rising', 'ttl_falling'
means a frame/line is acquired when the hardware line 8
goes high/low (TTL compliant with a 3000 Ohm pull-up
resistor). '12V_rising', '12V_falling' has respectively
meaning whereas the line is 12 V compliant with a 2000
Ohm pull-down resistor. Domino Iota/Alpha/Gamma and GrabLink
Value/Expert boards support only
the first 2 values (TTL compliant with a 4700 Ohm
pull-up resistor). For details see also your
frame grabber documentation. Default: 'ttl_falling'.
|
|
|
'volatile'
|
'enable', 'disable'
|
In the volatile mode the frame grabber interface
buffers are used directly to store HALCON images. This
is the fastest mode avoiding to copy raw images in
memory (not available for multi-channel images).
However, be aware that older images are
overwritten again while calling grab_image or
grab_image_async.
Thus, you can only process one image while you grab
another image. Older images are invalid! Default:
'disable'.
|
|
|
'do_force_trigger'
|
---
|
Forces an event trigger from the
application, when external_trigger='true'. This might
be useful for testing purposes.
|
Multi Area Scan Parameters
These parameters are only supported by area scan
cameras which ar connected to a Multi board.
|
|
|
'exposure'
|
|
4, 5, ...
|
|
Duration of the exposure expressed as a number
of video lines. Default: 100.
|
|
|
'exposure_mode'
|
'reset_width',
'reset_interval',
'reset_expos_interval'
|
Exposure control
mode. 'reset_width' means the exposure is controlled
by the pulse width of the reset signal;
'reset_interval' means the exposure is controlled by
the interval of two consecutive edge pulses of the
reset signal; 'reset_expos_interval' means the
exposure is controlled by the interval between the
pulse on the reset signal and the pulse on the expose
signal. See your MULTICAM documentation for further
details. Default: 'reset_width'.
|
|
|
'exposure_signal'
|
'ttl_low_pulse',
'ttl_high_pulse',
'diff_low_pulse',
'diff_high_pulse'
|
Selection of the style of the camera
expose control line 5 (A5 or
B5). 'ttl_low_pulse'/'ttl_high_pulse' means the camera
receives a negative/positive going TTL voltage expose
pulse line 5. 'diff_low_pulse'/'diff_high_pulse' means
the camera receives a negative/positive going
differential (RS-422 or LVDS) voltage expose pulse
line 5. Default: 'diff_low_pulse'.
|
|
|
'external_frame_trigger'
|
'true', 'false'
|
Enables/disables the trigger mode for area scan cameras. Default:
'false'.
|
|
|
'image_height'
|
64, 65, ... , max_height
|
Sets the height of the desired image part. max_height is
specified in your camera file. See also
'max_image_height'. Default: max_height.
|
|
|
'image_width'
|
64, 65, ...,
max_width
|
Sets the width
of the desired image part. max_width is
specified in your camera file. See also
'max_image_width'. Default:
max_width.
|
|
|
'start_column'
|
0, 1, ...
|
Sets the start column of
the desired image part. Default: 0.
|
|
|
'start_row'
|
0, 1, ...
|
Sets the start row of the desired image part. Default: 0.
|
Multi Line Scan Parameters
These parameters are only supported by line scan
cameras which ar connected to a Multi board.
|
|
|
'exposure_signal'
|
|
'ttl_low_pulse',
'ttl_high_pulse',
'diff_low_pulse',
'diff_high_pulse'
|
|
Selection of the style of the camera
expose control line 5 (A5 or
B5). 'ttl_low_pulse'/'ttl_high_pulse' means the camera
receives a negative/positive going TTL voltage expose
pulse line 5. 'diff_low_pulse'/'diff_high_pulse' means
the camera receives a negative/positive going
differential (RS-422 or LVDS) voltage expose pulse
line 5. Default: 'diff_low_pulse'.
|
|
|
'exposure_tcu'
|
3...129024
|
Desired exposure
time expressed in TCU (Timing Clock Unit= 1/channel
clock frequency). Default: 20000.
|
|
|
'exposure_trim'
|
-6...12
|
Trimming of the exposure time, expressed
in dB (adding 6 dB doubles the value, subtracting 6dB divides
it by two and subtracting 12 dB divides it by four). Default: 0.
|
|
|
'external_line_trigger'
|
'true', 'rate_converted', 'false'
|
Enables/disables line triggering with
line scan cameras. The value 'rate_converted' enables
the line trigger and convertes the signal frequence by
the Multi rate converter (e.g., for web encoder). The
frequence ratio is defined by the 'line_pitch' and
'encoder_pitch' parameters. See your MULTICAM
documentation for details. Default: 'false'.
|
|
|
'external_page_trigger'
|
'true', 'delayed', 'false'
|
Enables/disables
page trigger mode for line scan cameras. 'delayed'
means a delay according to the 'page_delay'
parameter. Default: 'false'.
|
|
|
'image_height'
|
1...16384
|
Sets the height
of the desired image part. max_height is
specified in your camera file. See also
'max_image_height'. Default:
max_height.
|
|
|
'image_width'
|
64, 65, ...,
max_width
|
MULTI specific: Sets the width
of the desired image part. max_width is
specified in your camera file. See also
'max_image_width'. Default:
max_width.
|
|
|
'max_line_frequency'
|
1...100000
|
Maximum line frequency of the camera,
expressed in Hz. This parameter is
only used when 'external_line_trigger' is set to
'rate_converted'. It is used to compute the allowed
range of line rate for the rate converter. The
corresponding minimum line frequency may be read in
'min_line_frequency' and the corresponding encoder
frequency may be read in 'min_encoder_frequency'. See
also the MULTICAM documentation. Default: 2000.
|
|
|
'page_trigger_filter'
|
0, 4, 16, 64
|
Applies an edge cleaner to external page
trigger signal. The signal should remain
stable for the specified amount of camera clock
periods prior to validate a state transition. For
further details see also your frame grabber
documentation. Default: 16.
|
|
|
'page_trigger_signal'
|
'ttl_rising',
'ttl_falling',
'12V_rising', '12V_falling',
'diff_rising', 'diff_falling'
|
Selection of the style of the external
page trigger signal. 'ttl_rising', 'ttl_falling' means
a page is acquired when the hardware line 9 (A9 or B9)
goes high/low (TTL compliant with a 3000
Ohm pull-up resistor). '12V_rising', '12V_falling' has
respectively meaning whereas the line 9 is 12 V
compliant with a 2000 Ohm pull-down
resistor. 'diff_rising, 'diff_falling' means a page is
acquired when the hardware line 2 (A2 or B2) goes
high/low (differential with a 100 Ohm
terminal resistor). For details see also your frame
grabber documentation. Default: 'ttl_falling'.
|
|
|
'pixel_frequency'
|
1...50000000
|
Pixel clock frequency of the camera
expressed in Hz. This parameter is only used when
'external_line_trigger' is set to 'rate_converted'. It is
used to compute the allowed range of line rate for the
rate converter. See also your MULTICAM
documentation. Default: 5.000.000.
|
|
|
'start_column'
|
0, 1, ...
|
Sets the start column of the desired image
part. Default: 0.
|
Line Scan Parameters
These parameters are only supported by line scan
cameras which ar connected to a Multi/Value/Expert board.
|
|
|
'encoder_pitch'
|
|
1...1000
|
|
The encoder pitch parameter controls the
Multi rate converter. It is expressed in arbitrary
length unit. The length unit has to be the same as the
one of the 'line_pitch' parameter. This parameter is
only used when 'external_line_trigger' is set to
'rate_converted'. See your MULTICAM documentation
(especially the 'Programming the Rate Converter'
chapter) for details. Default: 100.
|
|
|
'line_pitch'
|
1...1000
|
The line pitch parameter controls the
Multi rate converter. It is expressed in arbitrary
length unit. The length unit has to be the same as the
one of the 'encoder_pitch' parameter. This parameter
is only used when 'external_line_trigger' is set to
'rate_converted'. See your MULTICAM documentation
(especially the 'Programming the Rate Converter'
chapter) for details. Default: 500.
|
|
|
'page_delay'
|
0...65535
|
A delay programmable
as a line count can be inserted between the page trigger
detection and the effective start of page acquisition.
The page trigger can occur while the previous page is not
yet fully acquired. This parameter is only used
when 'external_page_trigger' parameter is set on 'delayed'.
Default: 10.
|
Strobe Parameters
A pulse can be
generated over the hardware line 9 (A9 or B9) to control an
illumination device during the expose period. The strobe may
be used only when the page trigger for line scan cameras is not
used, i.e. 'external_page_trigger' is 'false'. The following
parameters uses the expose timer as the time basis for the
strobe pulse timing.
|
|
|
'strobe_duration'
|
|
0...100
|
|
The duration of the strobe pulse relative
to the full exposure window duration (a value of 50%
means that the duration of the strobe pulse is half
the duration of the exposure window). Default: 50.
|
|
|
'strobe_level'
|
'disable', 'ttl', 'open_collector', 'open_emitter', 'ittl'
|
Multi/Value/Expert only: Selection of the digital level
of the strobe output line 9 (A9 or B9). 'disable' uses
line 9 not as an output, 'ttl' provides a TTL compliant
signal, actively tied to the high or low state,
'ittl' provides an isolated TTL compliant signal (only
Value/Expert boards);
'open_collector' provides a TTL compliant signal,
actively tied to the low state and passively tied to
the high state through a 3000 Ohm pull-up resistor;
'open_emitter' a TTL compliant signal actively tied to
the high state and passively tied to the low state
through a 2000 Ohm pull-down resistor a according to
the 'strobe_type' parameter. Default:
'ttl'.
|
|
|
'strobe_line'
|
'nom', 'alt1', 'alt2', 'alt3', 'alt4', 'stz'
|
Iota/Alpha/Gamma/Value/Expert only:
Selection of the line of the strobe
output. See your MULTICAM documentation for more details.
Default: 'nom'.
|
|
|
'strobe_position'
|
0...100
|
The position of the middle of the strobe
pulse relative to the full exposure window (a value of
50% means that the strobe pulse is situated in the
middle of the exposure window). Default: 50.
|
|
|
'strobe_type'
|
'low', 'high', 'low_pulse', 'high_pulse'
|
Multi only: Selection of the style of the strobe
output line 9 (A9 or B9). 'low'/'high' holds the line
9 constantly on the low/high level (no strobe),
'low_pulse'/'high_pulse' provides a negative/positive
going pulse strobe. Iota/Alpha/Gamma/Value/Expert: Only the
last two value are supported.
Default: 'high_pulse'.
|
Domino Iota/Alpha/Gamma Parameters
|
|
|
'gain_control'
|
|
'linear', '+3db', '+2db', '+1db',
'0db', '-1db', '-2db', '-3db'
|
|
Selection between linear and logarithmical
gain control for all camera channels.
Default: '0db'.
|
|
|
'gain_value'
|
700...1400
|
Gain adjustment for all camera channels.
Default: 1000.
|
|
|
'offset'
|
-500...500
|
Establishing the linear common offset for
all camera channels. Default: 0.
|
Domino Iota/Alpha/Gamma and GrabLink Value/Expert Parameters
|
|
|
'exposure_trim'
|
|
-6...12
|
|
Trimming of the exposure time, expressed
in dB (adding 6 dB doubles the value, subtracting 6dB
divides it by two and subtracting 12 dB divides it by four).
Default: 0.
|
|
|
'exposure_us'
|
microseconds
|
Desired frame exposure time expressed in microseconds.
The value 0 means permanent exposure condition.
Default: 0.
|
Parameters for
get_framegrabber_param:
Additional parameters supported
by get_framegrabber_param only. Note that all
parameters supported by set_framegrabber_param
can also be accessed by
get_framegrabber_param.
|
|
|
'exposure_width'
|
|
exp_width
|
|
Effective exposure width expressed in TCU
(Timing Clock Unit= 1/channel clock
frequency).
|
|
|
'max_buffers'
|
number
|
The maximal settable number of destination image buffers for the
frame grabber. See also 'num_buffers'.
|
|
|
'max_image_height'
|
max_height
|
Using area scan cameras the parameter
returns the maximal settable height of the desired
image part. For line scan cameras this means
the maximal settable page length.
|
|
|
'max_image_width'
|
max_width
|
The maximal settable width of the desired image part.
|
|
|
'min_encoder_frequency'
|
min_freq
|
Indicates the computed minimum encoder
frequency in the application (in Hz). See
'max_line_frequency' and your MULTICAM documentation.
|
|
|
'min_line_frequency'
|
min_freq
|
Indicates the computed minimum line
frequency of the camera in the application (in
Hz). See 'max_line_frequency' and your MULTICAM
documentation.
|
|
|
'reset_width'
|
rst_width
|
Effective reset width expressed in TCU
(Timing Clock Unit= 1/channel clock frequency).
|
|
|
'revision'
|
revision
|
The revision number of the HALCON MultiCam frame
grabber interface.
|
|
Release Notes
-
Revision 2.13 (December 8, 2004):
-
Color storage changed from BGR to RGB for color images.
-
Support of blanks in camera file names.
-
Revision 2.12 (September 3, 2004):
-
Adaptation to MultiCam driver version 4.2.
-
Revision 2.11 (July 7, 2004):
-
Minor improvements for Domino Alpha/Gamma boards.
-
Revision 2.10 (April 28, 2004):
-
Support of StereoVision for Domino Alpha boards.
-
Support of different board topologies for
Domino Alpha/Gamma boards.
-
Adaptation to MultiCam driver version 4.1.2.
-
Revision 2.9 (June 27, 2003):
-
Bugfix in open_framegrabber for Multi boards.
-
Bugfix in grab_image to prevent time-out problems.
-
Adaptation to MultiCam driver version 2.9.2.
-
Revision 2.8 (May 14, 2003):
-
Adaptation to MultiCam driver version 2.9.1.
-
Revision 2.7 (March 13, 2003):
-
Supports now also the Domino Iota/Alpha2 boards
(Alpha2 board is treated as Alpha board).
-
Adaptation to MultiCam driver version 2.9.
-
Revision 2.6 (August 21, 2002):
-
Bugfix in grabbing images with more than 8 bits per channel
(GrabLink boards only).
-
Revision 2.5 (July 17, 2002):
-
Supports now also the GrabLink Value/Expert boards.
-
Adaptation to MultiCam driver version 2.8.2.
-
Revision 2.4 (June 28, 2002):
-
New parameter for channel state.
-
Enabling parameter control during runtime in continuous mode.
-
Renaming parameter 'force_trigger' to 'do_force_trigger'.
-
Revision 2.3 (March 27, 2002):
-
HALCON 6.1 version of the interface (included in HALCON 6.1 CD).
-
Enabling trigger control during runtime in continuous mode.
-
Revision 2.2 (Jan 9, 2002):
-
Renaming from 'Multi' into 'MultiCam' (supports now also
the Domino Alpha and Domino Gamma boards).
-
Adaptation to MultiCam driver version 2.6.
-
Renaming of several strobe, trigger, and exposure parameters
to ensure uniform prefixes.
-
New parameters for strobe and exposure control.
-
New parameters for gain and offset (Domino only).
-
Revision 2.1 (Nov 28, 2001):
-
Support of line scan cameras.
-
Support of strobe functionality.
-
Bugfix in support of more than 8 bits per channel.
-
Bugfix in volatile grabbing.
-
Revision 2.0 (Jun 18, 2001):
-
First official version of the interface.
|