MVTec Software GmbH
  Building Vision For Business
Halcon

HALCON 5.2 Frame Grabber Interface for ELTEC PC_EYE® Boards

This document provides some information about the HALCON frame grabber interface PCEye.dll for the ELTEC frame grabber boards PC_EYE® 1, PC_EYE® 2, and PC_EYE® 4. Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 1.4

System Requirements

  • Intel compatible PC with Windows NT 4.0 (Service Pack 4).
  • Successfully installed ELTEC PC_EYE® 1, PC_EYE® 2, or PC_EYE® 4 (or any combination of those).
  • ELTEC DLLs eleye116.dll, eleye216.dll or eleye416.dll, respectively.
    These DLLs must be within your search path %PATH% (e.g., in bin\i486-nt4 within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON). If you do not have these DLLs, please contact ELTEC or the vendor from which you bought the frame grabber board.
  • PC_EYE® 4 only: ELTEC DLL el_hard.dll and eleye416.cam.
    These files must also be within your search path %PATH% (e.g., in bin\i486-nt4 within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON). If you do not have these files, please contact ELTEC or the vendor from which you bought the frame grabber board.
  • HALCON frame grabber interface PCEye.dll (revision 1.0 or higher).
    If you have properly installed the interface, PCEye.dll should reside in bin\i486-nt4 within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.
  • Configuration files for your boards, created with the PC_EYE® configuration tool.

Features

  • Multiple frame grabber boards (different board types may be mixed).
  • Synchronous and asynchronous grabbing.
  • Cropping of image parts.
  • External trigger.
  • LUTs.
  • Software control of 'black' and 'white' levels.
  • Support of color CCD cameras with software control of 'gain', 'hue' ,'saturation', and 'gamma' (PC_EYE® 2 and PC_EYE® 4 only).
  • Software control of the digital output lines of the PC_EYE® boards.
  • Support of dual mode (PC_EYE® 4 only).

Limitations

  • grab_region() and grab_region_async() not supported.
  • Support of monochrome 8 bit and RGB 24 bit mode only.

Description

Parameters for open_framegrabber():

Name 'PCEye' The name of the HALCON frame grabber interface.
FGWidth --- Ignored (value is set via the configuration file).
FGHeight --- Ignored (value is set via the configuration file).
Width 0, width The width of the desired image part (Use 0 for the use of values set in the configuration file). Default: 0.
Height 0, height The height of the desired image part (Use 0 for the use of values set in the configuration file). Default: 0.
StartRow 0, row The row coordinate of the upper left pixel of the desired image part (if Width and Height are set to 0, this value is ignored and taken from the configuration file). Default: 0.
StartColumn 0, column The column coordinate of the upper left pixel of the desired image part (if Width and Height are set to 0, this value is ignored and taken from the configuration file). Default: 0.
Field --- Ignored (value is set via the configuration file).
Bits --- Ignored (value is set via the configuration file).
ColorSpace --- Ignored (value is set via the configuration file).
Gain --- Ignored (value is set via the configuration file).
ExternalTrigger --- Ignored (value is set via the configuration file).
Generic 'filename' Name of the configuration file for the board. This has to be a valid '.dat'-file created with the PC_EYE® configuration tool. All the basic board setup is done using this file. Note that only the 'gray' (8 bit) and 'rgb' (24 bit) color modes are supported by this interface. A full path name has to be entered (e.g., 'C:\\my_configurations\\my_pceye2_svhs0.dat').
Device 'name:x' The name of the frame grabber board. Devices must be named 'name:x', where name is either 'pceye1', 'pceye2' or 'pceye4', and x is the HEX setting of the board (PC_EYE® 1 and PC_EYE® 2: HEX switch, PC_EYE® 4: jumpers J101 and J102).
Example: 'pceye4:3' is a PC_EYE® 4 board with HEX jumpers set to 3. Note, that different boards have to use different HEX settings.
Port --- Ignored (value is set via the configuration file).
LineIn --- Ignored.

Parameters for set_framegrabber_param():

All these settings are valid for all input lines (if applicable), i.e., cameras connected to one frame grabber board. Note that not all of these settings may be used with all boards. Some of these settings do not influence the grabbing on all camera inputs (see below).

'volatile' 'enable', 'disable' In the volatile mode (8 bit only!) 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'.
'start_row' pixelalign ... (FGWidth-width) The start row of the desired image part. 'start_row' must not be larger than FGWidth-'width' and should be divisible by the value 'pixelalign' (see below); otherwise, 'start_row' is adjusted to a smaller valid value.
'start_column' pixelalign ... (FGHeight-height) The start column of the desired image part. 'start_column' must not be larger than FGHeight-'height' and should be divisible by the value 'pixelalign' (see below); otherwise, 'start_column' is adjusted to a smaller valid value.
'white_level' white_level_min ... white_level_max The desired voltage level for 'white' pixels in millivolts (floating point number). The valid range for a particular board can (and should) be queried via get_framegrabber_param(...,'white_level_min',...) and get_framegrabber_param(...,'white_level_max',...), respectively. Furthermore, 'white_level' must be larger than 'black_level'.
'black_level' black_level_min ... black_level_max The desired voltage level for 'black' pixels in millivolts (floating point number). The valid range for a particular board can (and should) be queried via get_framegrabber_param(...,'black_level_min',...) and get_framegrabber_param(...,'black_level_max',...), respectively. Furthermore, 'black_level' must be smaller than 'white_level'.
'color_mode' 'r', 'g', 'b' Set desired color plane (PC_EYE® 2 with 8 bit per pixel only).
'white_level_r' white_level_min ... white_level_max The desired voltage level for 'white' pixels in millivolts (floating point number) for the red channel (PC_EYE® 2 with RGB 24 bit per pixel only). The valid range for a particular board can (and should) be queried via get_framegrabber_param(...,'white_level_min',...) and get_framegrabber_param(...,'white_level_max',...), respectively. Furthermore, 'white_level_r' must be larger than 'black_level_r'.
'white_level_g' white_level_min ... white_level_max The desired voltage level for 'white' pixels in millivolts (floating point number) for the green channel (PC_EYE® 2 with RGB 24 bit per pixel only). The valid range for a particular board can (and should) be queried via get_framegrabber_param(...,'white_level_min',...) and get_framegrabber_param(...,'white_level_max',...), respectively. Furthermore, 'white_level_g' must be larger than 'black_level_g'.
'white_level_b' white_level_min ... white_level_max The desired voltage level for 'white' pixels in millivolts (floating point number) for the blue channel (PC_EYE® 2 with RGB 24 bit per pixel only). The valid range for a particular board can (and should) be queried via get_framegrabber_param(...,'white_level_min',...) and get_framegrabber_param(...,'white_level_max',...), respectively. Furthermore, 'white_level_b' must be larger than 'black_level_b'.
'black_level_r' black_level_min ... black_level_max The desired voltage level for 'black' pixels in millivolts (floating point number) for the red channel (PC_EYE® 2 with RGB 24 bit per pixel only). The valid range for a particular board can (and should) be queried via get_framegrabber_param(...,'black_level_min',...) and get_framegrabber_param(...,'black_level_max',...), respectively. Furthermore, 'black_level_r' must be smaller than 'white_level_r'.
'black_level_g' black_level_min ... black_level_max The desired voltage level for 'black' pixels in millivolts (floating point number) for the green channel (PC_EYE® 2 with RGB 24 bit per pixel only). The valid range for a particular board can (and should) be queried via get_framegrabber_param(...,'black_level_min',...) and get_framegrabber_param(...,'black_level_max',...), respectively. Furthermore, 'black_level_g' must be smaller than 'white_level_g'.
'black_level_b' black_level_min ... black_level_max The desired voltage level for 'black' pixels in millivolts (floating point number) for the blue channel (PC_EYE® 2 with RGB 24 bit per pixel only). The valid range for a particular board can (and should) be queried via get_framegrabber_param(...,'black_level_min',...) and get_framegrabber_param(...,'black_level_max',...), respectively. Furthermore, 'black_level_b' must be smaller than 'white_level_b'.
'offset' 0.0 ... 1.0 The desired offset level (PC_EYE® 2 and PC_EYE® 4 only, RGB 24 bit). The equation 0.0 <= 2*offset + gain <= 2.0 has to be satisfied; otherwise, 'gain' is decreased automatically.
'gain' 0.0 ... 2.0 The desired gain (PC_EYE® 2 and PC_EYE® 4 only, RGB 24 bit). The equation 0.0 <= 2*offset + gain <= 2.0 has to be satisfied; otherwise, 'offset' is decreased automatically.
'saturation' 0.0 ... 2.0 The desired color saturation (PC_EYE® 2 and PC_EYE® 4 only, RGB 24 bit).
'hue' -180.0 ... 180.0 The desired color hue in degree (PC_EYE® 2 and PC_EYE® 4 only, RGB 24 bit).
'gamma' 1.0, 1.4 The desired gamma correction (PC_EYE® 2 and PC_EYE® 4 only, RGB 24 bit): l_out = l_in * exp(gamma).
'port' 0, 1, 2, 3 (PC_EYE® 1)
0, 1, 16, 17, 32, 33 (PC_EYE® 2)
0, 1, 16, 17, 32, 33, 48, 49 (PC_EYE® 4)
Select the desired camera input port for acquisition during runtime. The following values are possible:
PC_EYE® 1:   0
1
2
3
video input #0
video input #1
video input #2
video input #3
PC_EYE® 2:   0
1
16
17
32
33
RGB input #0
RGB input #1
CVBS input #0
CVBS input #1
SVHS input #0
SVHS input #1
PC_EYE® 4:   0
1
16
17
32
33
48
49
b/w video input #0
b/w video input #1
CVBS input #0
CVBS input #1
SVHS input #0
SVHS input #1
dual mode
dual mode (channels swapped)
'output_set' 1 ... 7 (PC_EYE® 1/2),
1 ... 3 (PC_EYE® 4)
Set value to 1, 2, and 4 (or any combination) to set output lines 1, 2, and 3 (or any combination) to high state (PC_EYE® 4: output lines 1 and 2 only). Note, that the output status can not be read via get_framegrabber_param().
'output_reset' 1 ... 7 (PC_EYE® 1/2),
1 ... 3 (PC_EYE® 4)
Set value to 1, 2, and 4 (or any combination) to set output lines 1, 2, and 3 (or any combination) to low state (PC_EYE® 4: output lines 1 and 2 only). Note, that the output status can not be read via get_framegrabber_param().
'grab_timeout' 100 - 327680 Sets a timeout value for grabbing (in ms). After grab_timeout milliseconds the grabbing routine returns with a timeout error. Default: 5000.
'testacq_interval' 0 - 10 Set time (in ms) between two subsequent test calls while waiting for the end of a current grab. Default: 2.
'switch_buffer' 'enable', 'disable' This parameter controls the buffer switching after each grab. Usually, two image buffers are allocated, which are used alternately. Default: 'enable'. Attention: Do not disable the buffer switching if you are using the volatile mode!

Parameters for get_framegrabber_param():

Additional parameters supported by get_framegrabber_param() only. Note that all parameters supported by set_framegrabber_param() (except 'output_set' and 'output_reset') can also be accessed by get_framegrabber_param().

'revision' revision The revision number of the HALCON frame grabber interface PCEye.dll.
'pixelalign' bits Alignment of 'start_row' and 'start_column' in the memory. 'start_row' and 'start_column' must be divisible by this value.
'black_level_min' millivolt The minimum allowed voltage level for 'black' pixels in millivolts.
'black_level_max' millivolt The maximum allowed voltage level for 'black' pixels in millivolts.
'white_level_min' millivolt The minimum allowed voltage level for 'white' pixels in millivolts.
'white_level_max' millivolt The maximum allowed voltage level for 'white' pixels in millivolts.

Release Notes

  • Revision 1.4 (January 24, 2000):
    • Timeout configuration while waiting for a grab (new parameters 'grab_timeout' and 'testacq_interval').
    • Bugfix in asynchronous image grabbing.
    • New parameter 'switch_buffer'.
  • Revision 1.0 (November 19, 1999):
    • First official release.

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