interfaces mvtec

Interface Documentation

ADLINK-EOS I/O Interface for the onboard digital I/O device of an ADLINK EOS-1300 vision system

Interface: ADLINK-EOS
Revision: 20.11.4
Date: 2023-08-01

General

This page provides the documentation of the HALCON ADLINK-EOS interface for accessing the onboard Digital I/O device of an ADLINK EOS-1300 vision system. Only interface specific parameters and features are described here. For general information of the operators for I/O interfaces please have a look at the HALCON Operator Reference.
Registered customers can download the latest revision of this interface from the MVTec WWW server.

System Requirements

  • ADLINK EOS-1300 vision system with Windows 7 (32-bit) or newer that is also supported by the vendor-specific SDK, also WoW64 (using 32-bit HALCON on 64-bit Windows).
  • Installed ADLINK-EOS SDK with version 1.1.1.0926 (or higher).
  • Windows: HALCON I/O interface hioADLINK-EOS.dll or hioADLINK-EOSxl.dll, respectively. If you have properly installed the interface, all these DLLs should reside in bin\%HALCONARCH% within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.

Installation

Only when installing or updating the interface manually follow these steps:
  • Windows: Extract the archive containing the interface files to the HALCON base directory %HALCONROOT% (Note: Administrator privileges may be required for this step). Additionally, you have to move the interface examples to the directory %HALCONEXAMPLES% manually.

Features

  • Opening and using of multiple ADLINK-EOS I/O channels.
  • Variable debouncing filter for digital input channels.
  • Callbacks using HALCON message queues for digital input channels.

Limitations

  • No support of the encoder channels.
  • No support for configuring channels as trigger channels.

Operator control_io_interface

Not supported by this interface.

Operator query_io_interface

query_io_interface(::IOInterfaceName, Query:Result)
Queries information about the specified I/O device interface.
Parameter Values Type Description
IOInterfaceName 'ADLINK-EOS' string HALCON I/O interface name.
Query string Parameter name of the query.
     'io_device_info' ['device:<device> | model:<device model> | status:<device status>'] string Returns a list of available devices with additional information about the model and device status ('available', 'busy', 'unknown').
     'io_device_names' '<name>' string Returns a list of available devices.
     'param_name' '<parameter>'[,'<parameter>'...] string Returns the possible parameter names.
     'revision' '<version>.<revision>.<build>' string Revision number of the interface.
Result integer, real, string List of result values (according to Query).

Operator open_io_device

open_io_device(::IOInterfaceName, IODeviceName, GenParamName, GenParamValue:IODeviceHandle)
Open and configure an I/O device.
Parameter Values Default Type Description
IOInterfaceName 'ADLINK-EOS' [] string HALCON I/O interface name.
IODeviceName [] string I/O device name.
GenParamName [] string Dynamic parameter names.
GenParamValue [] integer, real, string Dynamic parameter values.
IODeviceHandle handle Handle of the opened I/O device.

Operator control_io_device

Not supported by this interface.

Operator set_io_device_param

Set the device parameters. Currently, no parameters are defined.

Operator get_io_device_param

get_io_device_param(::IODeviceHandle, GenParamName:GenParamValue)
Query settings of an I/O device instance.

There may exist additional parameter attributes, which can be accessed as 'ParamNames.AttributeName'. The following standard attributes may be available:
  • '.access': This attribute provides the access permissions of the corresponding parameter as a string. Possible values are 'ro' (read-only), 'wo' (write-only), 'rw' (read/write), 'na' (unavailable, perhaps due to insufficient access rights), and 'ni' (unavailable, not defined for this device or channel).
  • '.category': This attribute provides the category of the corresponding parameter as a string. 'I/O interface' for all pre-defined I/O interface parameters.
  • '.default': This attribute provides the default value of the corresponding parameter.
  • '.description': This attribute provides the description of the corresponding parameter as a string.
  • '.displayname': This attribute provides the displayname of the corresponding parameter as a string.
  • '.range': This attribute provides the minimum and maximum, (and the step width, if applicable) for the corresponding integer or float parameter as a tuple with 2 (or 3) elements.
  • '.representation': This attribute provides how the value of the parameter should be displayed in a GUI: 'ip address', 'hex', ...
  • '.tooltip': This attribute provides the tool-tip of the corresponding parameter as a string.
  • '.type': This attribute provides the HALCON value type (integer, real, or string) of the corresponding parameter as a string.
  • '.values': This attribute provides the valid value list for the corresponding parameter as a tuple.
  • '.visibility': This attribute provides the visibility of the corresponding parameter as a string. Possible values are 'common', 'extended', and 'dangerous'.
  • '.unit': This attribute provides the units of the corresponding parameter as a string. For example: 'ns', 'us' and 'ms', or 'mm', 'cm', 'dm' and 'm'.
Parameter Values Type Description
IODeviceHandle handle Handle of the opened I/O device.
GenParamName string Parameter names.
     'io_device_name' '<name>' string Returns the name of the device.
     'param_name' '<parameter>'[,'<parameter>'...] string Returns the possible parameter names.
GenParamValue integer, real, string, handle Parameter values.

Operator query_io_device

query_io_device(::IODeviceHandle, IOChannelName, Query:Result)
Query information about channels of the specified I/O device.
Parameter Values Type Description
IODeviceHandle handle Handle of the opened I/O device.
IOChannelName string Channel names to query.
Query string Name of the query.
     'channel_type' 'digital_input', 'digital_output' string Returns the type of a channel.
     'io_channel_names' '<name>' string Returns a list of channels provided by the device, e.g., 'di_0.2' describes input port channel 2 on port 0. To list only the channels of a specific type, use the special form io_channel_names.<channel_type> (for a list of valid channel types, see the description of the channel_type parameter).
     'param_name' '<parameter>'[,'<parameter>'...] string Returns the possible parameter names.
     'value.range' [<min>,<max>,<step>] string Returns the possible range of the used I/O channel name parameter.
Result integer, real, string List of values (according to Query).

Operator open_io_channel

open_io_channel(::IODeviceHandle, IOChannelName, GenParamName, GenParamValue:IOChannelHandle)
Open and configure I/O channels.
Parameter Values Default Type Description
IODeviceHandle handle Handle of the opened I/O device.
IOChannelName string HALCON I/O channel names of the specified device.
GenParamName [] string Parameter names.
GenParamValue [] integer, real, string Parameter values.
IOChannelHandle handle Handles of the opened I/O channel.

Operator control_io_channel

Not supported by this interface.

Operator set_io_channel_param

set_io_channel_param(::IOChannelHandle, GenParamName, GenParamValue:)
Set specific parameters of I/O channels.
Parameter Values Default Type Description
IOChannelHandle handle Handles of the opened I/O channels.
GenParamName [] string Parameter names.
     'cos_message_queue' 0 handle When the value of the input_channel changes, a message is sent to the message queue. To disable the sending of messages, set this parameter to 0.
     'cos_polarity' ''high'', ''low'', ''both'' ''high'' string Defines for which change of state of the channel a message is sent to the message queue.
     'input_debouncing_filter' 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 integer The digital input channels are equiped with a debouncing filter. This paremeter controls the filter time of this filter. The values correspond to the following times (in ms):
0: disabled
1: 0.82
2: 1.64
3: 3.28
4: 6.55
5: 13.10
6: 26.20
7: 52.43
8: 104.85
9: 209.72
GenParamValue [] integer, real, string, handle Parameter values to set.

Operator get_io_channel_param

get_io_channel_param(::IOChannelHandle, GenParamName:GenParamValue)
Query specific parameters of I/O channels.

There may exist additional parameter attributes, which can be accessed as 'ParamNames.AttributeName'. The following standard attributes may be available:
  • '.access': This attribute provides the access permissions of the corresponding parameter as a string. Possible values are 'ro' (read-only), 'wo' (write-only), 'rw' (read/write), 'na' (unavailable, perhaps due to insufficient access rights), and 'ni' (unavailable, not defined for this device or channel).
  • '.category': This attribute provides the category of the corresponding parameter as a string. 'I/O interface' for all pre-defined I/O interface parameters.
  • '.default': This attribute provides the default value of the corresponding parameter.
  • '.description': This attribute provides the description of the corresponding parameter as a string.
  • '.displayname': This attribute provides the displayname of the corresponding parameter as a string.
  • '.range': This attribute provides the minimum and maximum, (and the step width, if applicable) for the corresponding integer or float parameter as a tuple with 2 (or 3) elements.
  • '.representation': This attribute provides how the value of the parameter should be displayed in a GUI: 'ip address', 'hex', ...
  • '.tooltip': This attribute provides the tool-tip of the corresponding parameter as a string.
  • '.type': This attribute provides the HALCON value type (integer, real, or string) of the corresponding parameter as a string.
  • '.values': This attribute provides the valid value list for the corresponding parameter as a tuple.
  • '.visibility': This attribute provides the visibility of the corresponding parameter as a string. Possible values are 'common', 'extended', and 'dangerous'.
  • '.unit': This attribute provides the units of the corresponding parameter as a string. For example: 'ns', 'us' and 'ms', or 'mm', 'cm', 'dm' and 'm'.
Parameter Values Type Description
IOChannelHandle handle Handles of the opened I/O channels.
GenParamName string Parameter names.
     'channel_type' 'digital_input', 'digital_output' string Returns the type of a channel.
     'cos_message_queue' handle When the value of the input_channel changes, a message is sent to the message queue. To disable the sending of messages, set this parameter to 0.
     'cos_polarity' ''high'', ''low'', ''both'' string Defines for which change of state of the channel a message is sent to the message queue.
     'input_debouncing_filter' 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 integer The digital input channels are equiped with a debouncing filter. This paremeter controls the filter time of this filter. The values correspond to the following times (in ms):
0: disabled
1: 0.82
2: 1.64
3: 3.28
4: 6.55
5: 13.10
6: 26.20
7: 52.43
8: 104.85
9: 209.72
     'io_channel_name' '<name>' string Returns the name of the channel.
     'param_name' '<parameter>'[,'<parameter>'...] string Returns the possible parameter names.
GenParamValue integer, real, string, handle Parameter values.

Operator read_io_channel

read_io_channel(::IOChannelHandle:Value, Status)
Read a value from the specific I/O channel or from a port.
Parameter Values Type Description
IOChannelHandle handle Handles of the opened I/O channels.
Value integer, real, string, handle Read value.
Status integer Status of read value. A status of '0' indicates success, while any other value indicates an error condition.

Operator write_io_channel

write_io_channel(::IOChannelHandle, Value:Status)
Writes a value to the specific I/O channel or to a port.
Parameter Values Type Description
IOChannelHandle handle Handles of the opened I/O channels.
Value integer, real, string, handle Write values.
Status integer Status of written values. A status of '0' indicates success, while any other value indicates an error condition.

Operator close_io_channel

close_io_channel(::IOChannelHandle:)
Close I/O channels.
Parameter Type Description
IOChannelHandle handle Handles of the opened I/O channels.

Operator close_io_device

close_io_device(::IODeviceHandle:)
Close the specified I/O device.
Parameter Type Description
IODeviceHandle handle Handle of the opened I/O device.
Queries the requested information from the specified I/O channels. The parameter 'ParameterNode' is not used by this interface.

HDevelop Examples

For this interface the following examples are available:
  • adlink-eos_digital_read.hdev - Example to show how to read several parameters and values.
  • adlink-eos_digital_write.hdev - Example to show how to write several parameters and values.
  • adlink-eos_event_based_read.hdev - Example to show how to use a message queue to asynchronously react to changes of the input channels.

Release Notes

  • Revision 20.11.4 (Aug 1, 2023):
    • The distribution package of this interface now contains files providing meta information for the HDevelop example browser.
  • Revision 13.0.3 (Nov 28, 2017):
    • The technical dependency from the HALCON Library has been removed.
    • If the operator get_io_channel_param was called with 'param_name' the wrong number of values was returned. This problem has been fixed.
    • Added 'param_name' implementation for operator query_io_interface and query_io_device.
    • The operator query_io_device with the parameter 'channel_type' returned with no error if the IOChannelName was not specified. This problem has been fixed.
    • If the operator query_io_device was called with 'value.range' and the IOChannelName was not specified the error WIPV2 instead of WIPN2 was returned. This problem has been fixed.
  • Revision 13.0.2 (Apr 27, 2017):
    • The format of the messages sent when the value of a registered digital input channel changes has been extended.
  • Revision 13.0.1 (Apr 3, 2017):
    • First official release.