open_io_channelT_open_io_channelOpenIoChannelOpenIoChannelopen_io_channel (Operator)
open_io_channelT_open_io_channelOpenIoChannelOpenIoChannelopen_io_channel
— Open and configure I/O channels.
Signature
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_channelOpenIoChannelOpenIoChannelopen_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_deviceOpenIoDeviceOpenIoDeviceopen_io_device
before and
is passed to IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleiodevice_handle
. The transmission channels
themselves are addressed by their names passed to
IOChannelNameIOChannelNameIOChannelNameIOChannelNameiochannel_name
. Available names can be queried using
query_io_devicequery_io_deviceQueryIoDeviceQueryIoDevicequery_io_device
with query parameter
'io_channel_name'"io_channel_name""io_channel_name""io_channel_name""io_channel_name". The channels can be configured by the
parameters GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name
and GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value
. A
reference to each transmission channel is returned in
IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleiochannel_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_channelCloseIoChannelCloseIoChannelclose_io_channel
. Besides, it will be closed automatically
when closing the associated device instance by
close_io_deviceclose_io_deviceCloseIoDeviceCloseIoDeviceclose_io_device
.
Having opened a transmission channel, values can be read and written
by the operators read_io_channelread_io_channelReadIoChannelReadIoChannelread_io_channel
and
write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelwrite_io_channel
on the channel.
An opened channel can be reconfigured by using the operators
set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamset_io_channel_param
and get_io_channel_paramget_io_channel_paramGetIoChannelParamGetIoChannelParamget_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
- 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
IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleiodevice_handle
(input_control) io_device →
HIODevice, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the opened I/O device.
IOChannelNameIOChannelNameIOChannelNameIOChannelNameiochannel_name
(input_control) string(-array) →
HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
HALCON I/O channel names of the specified device.
GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name
(input_control) string-array →
HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Parameter names.
Default:
[]
GenParamValueGenParamValueGenParamValuegenParamValuegen_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:
[]
IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleiochannel_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_channelOpenIoChannelOpenIoChannelopen_io_channel
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_infoget_extended_error_infoGetExtendedErrorInfoGetExtendedErrorInfoget_extended_error_info
.
Possible Predecessors
open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceopen_io_device
,
query_io_devicequery_io_deviceQueryIoDeviceQueryIoDevicequery_io_device
Possible Successors
set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamset_io_channel_param
,
read_io_channelread_io_channelReadIoChannelReadIoChannelread_io_channel
,
write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelwrite_io_channel
Module
Foundation