open_io_channelT_open_io_channelOpenIoChannelOpenIoChannelopen_io_channel (Operator)

Name

open_io_channelT_open_io_channelOpenIoChannelOpenIoChannelopen_io_channel — Open and configure I/O channels.

Signature

open_io_channel( : : IODeviceHandle, IOChannelName, GenParamName, GenParamValue : IOChannelHandle)

Herror T_open_io_channel(const Htuple IODeviceHandle, const Htuple IOChannelName, const Htuple GenParamName, const Htuple GenParamValue, Htuple* IOChannelHandle)

void OpenIoChannel(const HTuple& IODeviceHandle, const HTuple& IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* IOChannelHandle)

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)

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)

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)

static void HOperatorSet.OpenIoChannel(HTuple IODeviceHandle, HTuple IOChannelName, HTuple genParamName, HTuple genParamValue, out HTuple IOChannelHandle)

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

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

public HIOChannel(HIODevice IODeviceHandle, 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)

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]]) -> HHandle

Description

The operator open_io_channelopen_io_channelOpenIoChannelOpenIoChannelOpenIoChannelopen_io_channel opens and configures transmission channels of an opened I/O device instance. The device instance must have been opened by open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDeviceopen_io_device before and is passed to IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleiodevice_handle. The transmission channels themselves are addressed by their names passed to IOChannelNameIOChannelNameIOChannelNameIOChannelNameIOChannelNameiochannel_name. Available names can be queried using query_io_devicequery_io_deviceQueryIoDeviceQueryIoDeviceQueryIoDevicequery_io_device with query parameter 'io_channel_name'"io_channel_name""io_channel_name""io_channel_name""io_channel_name""io_channel_name". The channels can be configured by the parameters GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value. A reference to each transmission channel is returned in IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleiochannel_handle. If the instance of the channel is not needed any more, it should be released and closed via the operator close_io_channelclose_io_channelCloseIoChannelCloseIoChannelCloseIoChannelclose_io_channel. Besides, it will be closed automatically when closing the associated device instance by close_io_deviceclose_io_deviceCloseIoDeviceCloseIoDeviceCloseIoDeviceclose_io_device.

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

An opened channel can be reconfigured by using the operators set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamSetIoChannelParamset_io_channel_param and get_io_channel_paramget_io_channel_paramGetIoChannelParamGetIoChannelParamGetIoChannelParamget_io_channel_param.

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

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

IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleiodevice_handle (input_control)  io_device HIODevice, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the opened I/O device.

IOChannelNameIOChannelNameIOChannelNameIOChannelNameIOChannelNameiochannel_name (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

HALCON I/O channel names of the specified device.

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  string-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Parameter names.

Default value: []

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  string-array HTupleSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Parameter values.

Default value: []

IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleiochannel_handle (output_control)  io_channel(-array) HIOChannel, HTupleSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (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_channelopen_io_channelOpenIoChannelOpenIoChannelOpenIoChannelopen_io_channel returns the value 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_infoget_extended_error_infoGetExtendedErrorInfoGetExtendedErrorInfoGetExtendedErrorInfoget_extended_error_info.

Possible Predecessors

open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDeviceopen_io_device, query_io_devicequery_io_deviceQueryIoDeviceQueryIoDeviceQueryIoDevicequery_io_device

Possible Successors

set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamSetIoChannelParamset_io_channel_param, read_io_channelread_io_channelReadIoChannelReadIoChannelReadIoChannelread_io_channel, write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelWriteIoChannelwrite_io_channel

Module

Foundation