PXC Family

Datasheet (PDF)

Manual & Guide

Application Notes

Driver Updates

Example Source Code

Compatible Image Processing Software

Product FAQ

Home Page


Feedback at:
CSinfo@cyberoptics.com or
1-800-366-9131

HALCON 5.2 FG interface for PXC200 and PXC200A boards

This document provides some information about the HALCON framegrabber interface Pxc.dll for the Imagenation frame grabbers PXC200 and PXC200A from CyberOptics Semiconductor. Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 1.13

System Requirements

  • Intel compatible PC with Windows NT 4.0 (Service Pack 4) or Windows 2000.
  • Successfully installed Imagenation driver pxc.sys.
  • Imagenation DLLs frame_32.dll and either pxc2_nt.dll (for old driver pxc200.sys) or pxc_nt.dll (for new driver pxc.sys).
    These DLLs must be within your search path %PATH%. If you do not have these DLLs, please contact Imagenation or the vendor from which you bought the framegrabber board.
  • HALCON framegrabber interface Pxc.dll revision 1.12 or higher.
    Older revisions are not compatible with HALCON 5.2. Note that you can check the current version of the DLL after you opened the framegrabber via open_framegrabber using get_framegrabber_param(FGHandle,'revision',Revision). If this fails, you've got revision 1.4 or older. If you have properly installed the interface, Pxc.dll should reside in bin\i486-nt4 within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.

Features

  • Multiple framegrabber boards with multiple cameras.
  • Synchronous and asynchronous grabbing.
  • External trigger.
  • Subsampling (with automatic switch to field grabbing increasing both quality and speed).
  • Software control of grabbing timeout.
  • Software control of the type of trigger signal.
  • Software control of field to be grabbed (first).
  • Software control of wait states after switching between cameras.
  • Software control of contrast and brightness.
  • Software control of where the digitizing should start.

Limitations

  • No cropping of image parts.
  • Due to PCI transfer problems you might encounter grabbing failures ('ERR_CORRUPT'). In this case try to decrease the PCI bus load (e.g., by using the 16 bit instead of the 24 bit grabbing mode).
  • No LUTs.
  • grab_region and grab_region_async not supported.

Description

Parameters for open_framegrabber():

Name 'Pxc' The name of the HALCON framegrabber interface.
FGWidth 1, 2, 4, width The desired image resolution. Use '1' for full resolution, '2' for subsampling by factor 2, '4' for subsampling by factor 4, or the corresponding absolute values 640, 320, 160 (NTSC) or 768, 384, 192 (PAL). Default: 1.
FGHeight 1, 2, 4, height The desired image resolution. Use '1' for full resolution, '2' for subsampling by factor 2, '4' for subsampling by factor 4, or the corresponding absolute values 480, 240, 120 (NTSC) or 576, 288, 144 (PAL). Default: 1.
Width 0 The width of the desired image part ('0' stands for the complete image). Default: 0.
Height 0 The height of the desired image part ('0' stands for the complete image). Default: 0.
StartRow 0 The row coordinate of the upper left pixel within the desired image part ('0' obviously results in delivering the complete image). Default: 0.
StartColumn 0 The column coordinate of the upper left pixel within the desired image part ('0' obviously results in delivering the complete image). Default: 0.
Field 'first', 'second', 'next' Specify with which field to start the next grab. The default setting 'next' allows maximum speed, but can result in a line jitter of one line. Default: 'next'.
Bits 8, 16, 24 Grayscale (8 bits) or color (16 or 24 bits). The 16 bit mode is used to reduce the PCI bus load. You will get an 24 bit HALCON image in this case, too (the 5-6-5 bit encoded RGB raw data delivered by the PXC board is splitted and shifted to an 8-8-8 three channel RGB HALCON image inside the framegrabber interface). Default: 24.
ColorSpace 'rgb' The desired color space (fixed).
Gain 0.0 ... 2.0 The desired video gain (contrast) in ampere. Please see also the HDevelop example program pxc_gain.dev in examples\hdevelop\Image\Framegrabber. Default: 1.0.
ExternalTrigger 'true', 'false' Activate/deactivate external triggering . The digital input line used for external trigger signals depends on the PXC version you have: Without the option package only one line is available, which will be used for all input ports (that is for all cameras connected to the board). With installed option package (PXC200-F or PXC200-AF) the four available input lines are used to provide individual trigger signals for each camera, where camera x is mapped to the corresponding input line x. Default: 'false'.
Generic 'NTSC', 'PAL', 'AUTO' The generic parameter is used to specify the video signal: 'NTSC', 'PAL', or 'AUTO'. The latter will do an automatic analysis of the signal. Default: 'AUTO'.
Device '-1', 'board' The number of the framegrabber board (passed as a string!) or '-1' for an automatic detection (in case you have only one PXC board installed in your PC). Default: '-1'.
Port -1, 0, ..., 7 The desired input port: 0 - 3 are used for composite input signals, the logical ports 4 - 7 (mapped to the physical ports 0 - 3) are used for S-Video inputs. The value -1 (automatic detection) can only be used for composite input! Default: -1.
LineIn 1 Fixed.

Parameters for set_framegrabber_param():

'volatile' 'enable', 'disable' Grayscale (8 bit) only. In the volatile mode the two framegrabber 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!
'suppress_errors' 'true', 'false' If the value 'true' is chosen, PCI transfer errors are not reported. Default: 'false'.
'trigger_signal' 'falling', 'rising', 'low' Specify the desired type of trigger signal for external triggering (see the Imagenation documentation for details). Default: 'low'.
'switch_camera_delay' blanks The number of vertical blanks after switching cameras. This value depends on the differences between the cameras connected to one framegrabber board concerning both the video format and the sync (see the Imagenation documentation for details). Default: 0.
'grab_timeout' timeout Number of milliseconds (integer) after which a pending grabbing command is aborted. The value -1 is used for no timeout. Note that the interface measures the time interval between the start of the grabbing command and the delivery of the image in the next grab_image or grab_image_async operator. It cannot take into account the time when an asynchronous grab was actually finished (which can be long before the image is accessed with the next grabbing command). Thus, timeout settings shorter than the time passing between consecutive grabbing calls might will lead to false timeout alarms when grabbing asynchronously. Default: -1.
'brightness' -0.5 ... 0.5 The desired video brightness (offset) in ampere. Please see also the HDevelop example program pxc_gain.dev in examples\hdevelop\Image\Framegrabber. Default: 0.
'gain' 0.0 ... 2.0 The desired video gain (contrast) in ampere. Please see also the HDevelop example program pxc_gain.dev in examples\hdevelop\Image\Framegrabber. Default: 1.0.
'show_internal_errors' 'true', 'false' Specify whether the framegrabber interface should pop up an alert box in case of an error or not. If you use your own error management, we recommend to switch off the internal error display. In this mode only the error code is returned by the framegrabber operators, but the interface itself is "silent" (important for inline applications etc.). Otherwise, the user has to click on one of the buttons in the error dialog. On the other side, activated internal error display will result in more detailed and specific error messages for trouble shooting. Default: 'true'.
'start_digitizing' even number The start position of the digitizing within each row. 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().

'revision' revision The revision number of the HALCON framegrabber interface Pxc.dll.

Release Notes

  • Revision 1.13 (Oct 19, 2001):
    • Adaptation to Imagenation PXC driver Revision 3.0.
  • Revision 1.12 (Mar 23, 1999):
    • HALCON 5.2 version of the interface (included in the HALCON 5.2 CD).
  • Revision 1.11 (Sep 9, 1998):
    • New parameter: start_digitizing.
  • Revision 1.10 (Jul 24, 1998):
    • Compatible to the new Imagenation driver pxc.sys / pxc_NT.dll.
    • Software control of contrast (gain) and brightness; see parameters 'gain' and 'brightness'.
    • Parameter 'show_internal_errors'.
  • Revision 1.9 (May 29, 1998):
    • Subsampling in vertical direction is mapped to field grabbing which enhances both quality and speed.
  • Revision 1.8 (May 27, 1998):
    • Bug concerning external triggering eliminated.
    • Timeout for grabbing (see also parameter 'grab_timeout').
    • Four independent trigger lines for boards with installed option package (PXC200-F).
    • Optional: Internal 16 bit color grabbing to reduce the PCI bus load.
    • S-Video input signals can be handled correctly now (note that you cannot use the port setting "-1" for such input signals).
  • Revision 1.7 (May 1998):
    • Bug concerning multiple cameras per board eliminated.
    • Adjustable number of vertical blanks (wait states) after switching cameras connected to one framegrabber board (parameter 'switch_camera_delay').
  • Revision 1.6 (March 1998):
    • Parameter 'revision' for get_framegrabber_param.
    • Minor bug fixes in error handling.
  • Revision 1.4 (March 10, 1998):
    • HALCON 5.1 version of the interface (included in the HALCON 5.1 CD).

Last modified: Fri Oct 19 10:56:14 CEST 2001