Skip to content

open_io_channelOpenIoChannelOpenIoChannelopen_io_channelT_open_io_channel🔗

Short description🔗

open_io_channelOpenIoChannelOpenIoChannelopen_io_channelT_open_io_channel — Open and configure I/O channels.

Signature🔗

open_io_channel( io_device IODeviceHandle, string IOChannelName, string GenParamName, string GenParamValue, out io_channel IOChannelHandle )void OpenIoChannel( const HTuple& IODeviceHandle, const HTuple& IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* IOChannelHandle )static void HOperatorSet.OpenIoChannel( HTuple IODeviceHandle, HTuple IOChannelName, HTuple genParamName, HTuple genParamValue, out HTuple IOChannelHandle )def open_io_channel( iodevice_handle: HHandle, iochannel_name: MaybeSequence[str], gen_param_name: Sequence[str], gen_param_value: Sequence[Union[int, float, str]] ) -> Sequence[HHandle]

def open_io_channel_s( iodevice_handle: HHandle, iochannel_name: MaybeSequence[str], gen_param_name: Sequence[str], gen_param_value: Sequence[Union[int, float, str]] ) -> HHandleHerror T_open_io_channel( const Htuple IODeviceHandle, const Htuple IOChannelName, const Htuple GenParamName, const Htuple GenParamValue, Htuple* IOChannelHandle )

void HIOChannel::HIOChannel( const HIODevice& IODeviceHandle, const HString& IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue )

void HIOChannel::HIOChannel( const HIODevice& IODeviceHandle, const char* IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue )

void HIOChannel::HIOChannel( const HIODevice& IODeviceHandle, const wchar_t* IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue ) (Windows only)

public HIOChannel( HIODevice IODeviceHandle, string IOChannelName, HTuple genParamName, HTuple genParamValue )

HIOChannelArray HIODevice::OpenIoChannel( const HTuple& IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue ) const

HIOChannel HIODevice::OpenIoChannel( const HString& IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue ) const

HIOChannel HIODevice::OpenIoChannel( const char* IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue ) const

HIOChannel HIODevice::OpenIoChannel( const wchar_t* IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue ) const (Windows only)

static HIOChannelArray HIOChannel::OpenIoChannel( const HIODevice& IODeviceHandle, const HTuple& IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue )

void HIOChannel::OpenIoChannel( const HIODevice& IODeviceHandle, const HString& IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue )

void HIOChannel::OpenIoChannel( const HIODevice& IODeviceHandle, const char* IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue )

void HIOChannel::OpenIoChannel( const HIODevice& IODeviceHandle, const wchar_t* IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue ) (Windows only)

HIOChannel[] HIODevice.OpenIoChannel( HTuple IOChannelName, HTuple genParamName, HTuple genParamValue )

HIOChannel HIODevice.OpenIoChannel( string IOChannelName, HTuple genParamName, HTuple genParamValue )

static HIOChannel[] HIOChannel.OpenIoChannel( HIODevice IODeviceHandle, HTuple IOChannelName, HTuple genParamName, HTuple genParamValue )

void HIOChannel.OpenIoChannel( HIODevice IODeviceHandle, string IOChannelName, HTuple genParamName, HTuple genParamValue )

Description🔗

The operator open_io_channelOpenIoChannel opens and configures transmission channels of an opened I/O device instance. The device instance must have been opened by open_io_deviceOpenIoDevice before and is passed to IODeviceHandleIODeviceHandleiodevice_handle. The transmission channels themselves are addressed by their names passed to IOChannelNameIOChannelNameiochannel_name. Available names can be queried using query_io_deviceQueryIoDevice with query parameter 'io_channel_name'"io_channel_name". The channels can be configured by the parameters GenParamNamegenParamNamegen_param_name and GenParamValuegenParamValuegen_param_value. A reference to each transmission channel is returned in IOChannelHandleIOChannelHandleiochannel_handle. If the instance of the channel is not needed any more, it should be released and closed via the operator close_io_channelCloseIoChannel. Besides, it will be closed automatically when closing the associated device instance by close_io_deviceCloseIoDevice.

Having opened a transmission channel, values can be read and written by the operators read_io_channelReadIoChannel and write_io_channelWriteIoChannel on the channel.

An opened channel can be reconfigured by using the operators set_io_channel_paramSetIoChannelParam and get_io_channel_paramGetIoChannelParam.

Please check the directory doc/html/reference/io for documentation about your specific I/O device interface, where all supported device specific parameters are listed.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.

Parameters🔗

IODeviceHandleIODeviceHandleiodevice_handle (input_control) io_device → (handle)HTuple (HHandle)HIODevice, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the opened I/O device.

IOChannelNameIOChannelNameiochannel_name (input_control) string(-array) → (string)HTuple (HString)HTuple (string)MaybeSequence[str]Htuple (char*)

HALCON I/O channel names of the specified device.

GenParamNamegenParamNamegen_param_name (input_control) string-array → (string)HTuple (HString)HTuple (string)Sequence[str]Htuple (char*)

Parameter names.

Default: [][]

GenParamValuegenParamValuegen_param_value (input_control) string-array → (string / integer / real)HTuple (HString / Hlong / double)HTuple (string / int / long / double)Sequence[Union[int, float, str]]Htuple (char* / Hlong / double)

Parameter values.

Default: [][]

IOChannelHandleIOChannelHandleiochannel_handle (output_control) io_channel(-array) → (handle)HTuple (HHandle)HIOChannel, HTuple (IntPtr)Sequence[HHandle]Htuple (handle)

Handles of the opened I/O channel.

Example🔗

(HDevelop)

query_io_device (IODeviceHandle, [], 'io_channel_names.digital_output', \
                 ChannelOutputNames)
open_io_channel (IODeviceHandle, ChannelOutputNames[0], [], [], \
                 IOChannelHandle)
write_io_channel (IOChannelHandle, 1, Status)

Result🔗

If the parameters are valid, the operator open_io_channelOpenIoChannel returns the value 2 (H_MSG_TRUE). If necessary an exception is raised. In this case, an extended error information may be set and can be queried with the operator get_extended_error_infoGetExtendedErrorInfo.

Combinations with other operators🔗

Combinations

Possible predecessors

open_io_deviceOpenIoDevice, query_io_deviceQueryIoDevice

Possible successors

set_io_channel_paramSetIoChannelParam, read_io_channelReadIoChannel, write_io_channelWriteIoChannel

Module🔗

Foundation