interfaces mvtec

资料

Image Acquisition Interface for Matrix MAS devices via Slink

Interface: Slink
Revision: 13.0.1
Date: 2016-10-28
HALCON Version: 13.0

General

This page provides the documentation of the HALCON Slink image acquisition interface for Matrix MAS devices. Registered customers can download the latest revision of this interface from the MVTec WWW server.

System Requirements

  • Intel compatible PC with Windows 7 (32-bit or 64-bit) or newer that is also supported by the vendor-specific SDK, also WoW64 (using 32-bit HALCON on 64-bit Windows).
  • Installed WinDriver 10.4 und Slink drivers. If you have properly installed the interface, the files can be found either at %ProgramFiles%\IB Matrix BV\drivers or %ProgramFiles(x86)%\IB Matrix BV\drivers.
  • Sensor setup program IBMatrix_MAS_Setup. If you have properly installed the interface, the files can be found either at %ProgramFiles%\IB Matrix BV\IBMatrix_MAS_Setup or %ProgramFiles(x86)%\IB Matrix BV\IBMatrix_MAS_Setup.
  • Support files. If you have properly installed the interface, the support files should be at %ProgramData%\IB Matrix BV\HalconInterface:
    FPGA program files:
    - SI_Config.mcs
    - SI_Config_fs.mcs
    - SIC_Config.mcs
    - SIC_Config_fs.mcs
    - SIC5x5_Config.mcs
    - SIC5x5_Config_fs.mcs
    - SIH_Config_fs.mcs
    - Config.mcs
    - FPGA.txt
    System configuration file:
    - SlinkConfig.txt Use IBMatrix_MAS_Setup to change.
    WoW64 executables in the x86 directory:
    - frontendcontinue.dll version 2.0.0.1 or higher.
    - HalconInterface.dll version 12.0.0.1 or higher.
    - HalconInterfacexl.dll version 12.0.0.1 or higher.
    x64 executables in the x64 directory:
    - frontendcontinue.dll version 2.0.0.1 or higher.
    - HalconInterface.dll version 12.0.0.1 or higher.
    - HalconInterfacexl.dll version 12.0.0.1 or higher.
    SlinkDevice_x directory:
    - MASSETUP.INI Use IBMatrix_MAS_Setup to change.
    - Other files will be added by IBMatrix_MAS_Setup.
  • HALCON image acquisition interface hAcqSlink.dll or hAcqSlinkxl.dll, respectively. If you have installed the interface properly, both DLLs should reside in bin\%HALCONARCH% within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.
  • Slink PCI(e) board.
  • MAS sensor.

Features

  • Synchronous and asynchronous grabbing with color and monochrome images, using a scanning technique.

Limitations

  • Scans per second limited dependent on MAS size and resolution.

Parameters for info_framegrabber

Parameter Value List Type Description
'bits_per_channel' [] Fixed 8 bit.
'camera_type' ['MAS014xxM1C'] string MAS configuration string.
'color_space' ['rgb', 'gray'] string Color space dependent on the installed MAS device(s).
'defaults' [0, 0, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', 'Device_0', -1, -1] mixed Default values (as used for open_framegrabber).
'device' ['<device>'] string Available devices.
'external_trigger' [] Unsupported query.
'field' [] Unsupported query.
'general' [] Ingenieurs bureau Matrix BV Slink interface.
'generic' [] Unsupported query.
'horizontal_resolution' [] Horizontal resolution dependent on MAS configuration sensors, low = 0, medium = 1, high = 2.
'image_height' [] Image height free from 1 to 8192.
'image_width' [] Image width fixed dependent on the number of sensors in the MAS and the overlap.
'info_boards' ['device:<device> | bus:<bus> | slot:<slot> | description:<description> | status:<status>'] string Installed Slink boards.
'line_in' [] Unsupported query.
'parameters' ['<parameters>'] string Additional parameters for the Slink acquisition interface.
'parameters_readonly' ['<parameters_readonly>'] string Additional read only parameters for the Slink acquisition interface.
'parameters_writeonly' [] Unsupported query.
'port' [] Unsupported query.
'revision' ['<revision>'] string Current interface revision.
'start_column' [] Unsupported query.
'start_row' [] Unsupported query.
'vertical_resolution' [] Unsupported query.

Parameters for open_framegrabber

The open parameters are read back from the MASSETUP.ini device file at %ProgramFiles%\IB Matrix BV\IBMatrix_MAS_Setup\SlinkDevice_x. Use IBMatrix_MAS_Setup to tune the device.

Parameter Values Default Type Description
Name 'Slink' string Name of the HALCON interface.
HorizontalResolution 0 0 integer Horizontal resolution dependent on MAS configuration sensors, low = 0, medium = 1, high = 2.
VerticalResolution 0 0 integer Ignored.
ImageWidth 0 0 integer Image width fixed dependent on the number of sensors in the MAS and the overlap.
ImageHeight 0 0 integer Image height free from 1 to 8192.
StartRow 0 0 integer Ignored.
StartColumn 0 0 integer Ignored.
Field 'default' 'default' string Ignored.
BitsPerChannel 8 8 integer Fixed 8 bit.
ColorSpace 'rgb', 'gray' 'rgb' string Color space dependent on the installed MAS device(s).
Generic -1 -1 float Ignored.
ExternalTrigger 'false' 'false' string Ignored.
CameraType 'MAS014xxM1C' 'default' string MAS configuration string.
Device '<device>' 'Device_0' string Available devices.
Port -1 -1 integer Ignored.
LineIn -1 -1 integer Ignored.

Parameters for set_framegrabber_param

Parameter Values Type Description
'acquire_start_trigger' '0 Continuous', '1 Port 1 up', '2 Port 1 down', '3 Port 2 up', '4 Port 2 down', '5 Port 3 up', '6 Port 3 down', '7 Port 4 up', '8 Port 4 down' string Set the external trigger values.
'active_ledbars' 'Led bar1', 'Led bar2', 'Both bars' string The current led bars used.
'backplane_distance_mm' 250::2000 integer Distance between the back of the MAS device and the conveyor plane in mm.
'binning_resolution' 'Low', 'Medium' string Sets the horizontal binning resolution values.
'color_space' 'rgb', 'gray' string Use color mode or gray values.
'continuous_grabbing' 'enable', 'disable' string Continuous grabbing on.
'current_sensor_file' '<current_sensor_file>' string The file which contains the default parameters.
'digital_output' 0::15 integer The value of the digital output, available values depend on illumination and grab marker.
'do_abort_grab' <integer> integer Abort current grab.
'encoder_divide' 1::255 integer Divide the encoder pulses to get roughly square pixels.
'grab_timeout' 1000::360000 integer Per grab abort timeout.
'illumination_time_fixed_lamp' 1::20 integer The number of sensor lines the shutter is on.
'illumination_time_led_bar' 1::512 integer The flash duration in system units.
'image_height' 1::8192 integer The height or number of scan lines of an image.
'max_line_rate' 200::1250 integer The maximum line scan frequency, if this is too high transfer of the imagedata is incomplete.
'measurement_elevation_mm' 0::50 integer Elevation height of the interesting objects above the conveyor plane, determines the overlap.
'start_grab_marker_output' 'No marker', 'Bit 3', 'Bit 2', 'Bit 1', 'Bit 0' string To synchronize an output can be toggled at the start of a grab sequence.
'use_encoder' 'true', 'false' string Use the encoder or the internal timer.
'use_fixed_lamps_no_flash' 'true', 'false' string The illumination is fixed light source else a flashing led bar is used.

Parameters for get_framegrabber_param

  • There are names of event handles for abort, buffers_full, input_changed and transfer_end. Those names can be used to open an event using the Windows API call OpenEvent.
  • The abort handle can be used to abort grabbing as alternative for do_abort_grab.
  • The other three can be used in WaitForObject or WaitForMultipleObjects as alternative for the callback functions.
  • Handles should be closed and reopened after closing and reopening the board.
Parameter Values Type Description
'abort_handle' '<abort_handle>' string Abort grab event handle name.
'acquire_start_trigger' '0 Continuous', '1 Port 1 up', '2 Port 1 down', '3 Port 2 up', '4 Port 2 down', '5 Port 3 up', '6 Port 3 down', '7 Port 4 up', '8 Port 4 down' string Set the external trigger values.
'acquire_status' 'true', 'false' string Indication if the current sensor is grabbing.
'active_ledbars' 'Led bar1', 'Led bar2', 'Both bars' string The current led bars used.
'available_callback_types' '<available_callback_types>' string Query call back types.
'available_param_names' '<available_param_names>' string Available parameters for this interface.
'backplane_distance_mm' 250::2000 integer Distance between the back of the MAS device and the conveyor plane in mm.
'binning_resolution' 'Low', 'Medium' string Sets the horizontal binning resolution values.
'bits_per_channel' <integer> integer Fixed 8 bit.
'buffers_full_handle' '<buffers_full_handle>' string Buffer full event handle name.
'camera_type' '<camera_type>' string MAS configuration string.
'color_space' 'rgb', 'gray' string Use color mode or gray values.
'configuration' '<configuration>' string Describes the MAS sensor configuration.
'continuous_grabbing' 'enable', 'disable' string Continuous grabbing on.
'current_buffer' <integer> integer Current acquire buffer to be processed.
'current_busslot' '<current_busslot>' string Bus slot of the current device.
'current_encoder_reading' <integer> integer Current encoder value.
'current_sensor_file' '<current_sensor_file>' string The file which contains the default parameters.
'current_sensor_subdirectory' '<current_sensor_subdirectory>' string The subdirectory where the settings, tuning etc. files of this board are stored.
'device' '<device>' string Available devices.
'digital_input' <integer> integer Read back of the digital_input signals.
'digital_output' 0::15 integer The value of the digital output, available values depend on illumination and grab marker.
'do_abort_grab' <integer> integer Abort current grab.
'encoder_divide' 1::255 integer Divide the encoder pulses to get roughly square pixels.
'external_trigger' 'true', 'false' string Unsupported query.
'field' '<field>' string Unsupported query.
'generic' <integer> integer Unsupported query.
'grab_timeout' 1000::360000 integer Per grab abort timeout.
'horizontal_resolution' <integer> integer Horizontal resolution dependent on MAS configuration sensors, low = 0, medium = 1, high = 2.
'illumination_time_fixed_lamp' 1::20 integer The number of sensor lines the shutter is on.
'illumination_time_led_bar' 1::512 integer The flash duration in system units.
'image_height' 1::8192 integer The height or number of scan lines of an image.
'image_width' <integer> integer Current image width.
'input_changed_handle' '<input_changed_handle>' string Input changed event handle name.
'line_in' <integer> integer Unsupported query.
'max_line_rate' 200::1250 integer The maximum line scan frequency, if this is too high transfer of the imagedata is incomplete.
'measurement_elevation_mm' 0::50 integer Elevation height of the interesting objects above the conveyor plane, determines the overlap.
'name' 'Slink' string Name of the HALCON interface.
'port' <integer> integer Unsupported query.
'revision' '<revision>' string Gets the current revision.
'start_column' <integer> integer Unsupported query.
'start_grab_marker_output' 'No marker', 'Bit 3', 'Bit 2', 'Bit 1', 'Bit 0' string To synchronize an output can be toggled at the start of a grab sequence.
'start_row' <integer> integer Unsupported query.
'transfer_end_handle' '<transfer_end_handle>' string Transfer end event handle name.
'use_encoder' 'true', 'false' string Use the encoder or the internal timer.
'use_fixed_lamps_no_flash' 'true', 'false' string The illumination is fixed light source else a flashing led bar is used.
'vertical_resolution' <integer> integer Unsupported query.

Operator set_framegrabber_lut

Not supported by this interface.

Operator get_framegrabber_lut

Not supported by this interface.

Operator set_framegrabber_callback

Not supported by this interface.

Operator get_framegrabber_callback

All actually supported callback types of a specific image acquisition device can be queried by calling get_framegrabber_param with the parameter 'available_callback_types'. Once the callback is registered, on every occurrence of the underlying event (e.g., the notification that the exposure has finished) the specified callback function will be called. If the callback function is set to NULL, the corresponding callback will be unregistered.

The signature of the callback function is Herror (__stdcall *HAcqCallback)(void *AcqHandle, void *Context, void *UserContext) and uses the following parameters:

  • AcqHandle Acquisition handle of the corresponding image acquisition instance.
  • Context Optional context data of the specific callback.
  • UserContext User context as set via set_framegrabber_callback.
Using user-callback functions

Note that the execution time of a user-specific callback function should always be as short as possible since during the execution of a callback function the handling of further internal callbacks might be blocked. This can be achieved by removing the actual processing from the user-specific callback function to a separate thread that is controlled via signals or events.

Operator grab_image_start

Starts a new asynchronous grab. See also grab_image_start.

Operator grab_image

grab_image starts a new synchronous grab. See also grab_image. Note that the interface converts the image from the device to the desired image format specified by the parameters 'image_width', 'image_height', 'start_row', 'start_column', 'bits_per_channel', and 'color_space'.

Operator grab_image_async

grab_image_async returns an image and starts the next asynchronous grab. See also grab_image_async. Note that the interface converts the image from the device to the desired image format specified by the parameters 'image_width', 'image_height', 'start_row', 'start_column', 'bits_per_channel', and 'color_space'.

Operator grab_data

Not supported by this interface.

Operator grab_data_async

Not supported by this interface.

Operator close_framegrabber

This operator closes the device. See also close_framegrabber.

HDevelop Examples

For this interface there are the following examples available:
  • slink_simple.hdev - A simple example to show the usage of the interface.
  • slink_parameters.hdev - Lists all parameters of a device.

Release Notes

  • Revision 13.0.1 (Oct 28, 2016):
    • HALCON 13 version of the interface.
  • Revision 6.2 (Jun 29, 2016):
    • info_framegrabbers might have crashed when querying 'info_boards' and the Slink SDK was not installed. This problem has been fixed.
  • Revision 6.1 (Nov 4, 2015):
    • Added Windows 10 support.
  • Revision 6.0 (Aug 26, 2015):
    • First official release.