 |
|
HALCON 9.0 Image Acquisition 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: 4.1
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 image acquisition interface hAcqiPORT.dll or
hAcqiPORTxl.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.
- 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_data and grab_data_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.
Camera specific parameters, which cannot be accessed via Coyote, are
available using a serial port connection. To set a parameter the parameter
name must be 'serial'. As value the command for the serial port has to be
used, e.g. 'set 10.5' to set exposure time to 10.5 ms.
To read the value of a parameter the serial command is part of the
parameter name, separated through a colon, e.g. 'serial:get set' to
query the exposure time. Please note that currently only single line
return values are supported. If more than one line is returned, the
next call of get_framegrabber_param may return remaining
values of the last call. In worst case the application can crash.
Description
Parameters for open_framegrabber():
|
Name
|
|
'iPORT'
|
|
The name of the HALCON image acquisition 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 the 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'.
|
|
Generic
|
---
|
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 image acquisition 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 for the HALCON iPORT interface.
|
|
Release Notes
- Revision 4.1 (Apr 28, 2010):
- Added support of serial commands for set_framegrabber_param
and get_framegrabber_param.
- Revision 4.0 (Dec 1, 2008):
-
HALCON 9.0 version of the interface (legacy only).
-
Added default value for BitsPerChannel.
-
Added support of dual output format (tap read-out).
-
Reduced value list of ColorSpace to 'default'.
- Revision 3.1 (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.
-
Bugfix in info_framegrabber to improve
the auto-detection mechanism by the
HDevelop Image Acquisition Assistant.
- Revision 3.0 (May 15, 2007):
|