open_io_channelT_open_io_channelOpenIoChannelOpenIoChannelopen_io_channel (Operator)

Name

open_io_channelT_open_io_channelOpenIoChannelOpenIoChannelopen_io_channel — Öffnen und Konfigurieren von I/O-Übertragungskanälen.

Signatur

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   ( Nur Windows)

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)   ( Nur Windows)

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)   ( Nur Windows)

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

Beschreibung

Der Operator open_io_channelopen_io_channelOpenIoChannelOpenIoChannelopen_io_channel öffnet und konfiguriert Übertragungskanäle einer geöffneten I/O-Geräteinstanz. Die Geräteinstanz muss zuvor von open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceopen_io_device erzeugt worden sein und wird dem Parameter IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleiodevice_handle übergeben. Die Übertragungskanäle selbst werden durch ihre Namen in IOChannelNameIOChannelNameIOChannelNameIOChannelNameiochannel_name adressiert. Die vom Gerät unterstützten Namen können mit Hilfe des Operators query_io_devicequery_io_deviceQueryIoDeviceQueryIoDevicequery_io_device über den Parameter 'io_channel_name'"io_channel_name""io_channel_name""io_channel_name""io_channel_name" abgefragt werden. Die Kanäle können über die Parameter GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value konfiguriert werden. Es wird eine Instanz jedes Übertragungskanals erzeugt, deren Referenzen in IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleiochannel_handle zurückgegeben werden. Falls die Instanz eines Kanals nicht mehr benötigt wird, sollte sie über den Operator close_io_channelclose_io_channelCloseIoChannelCloseIoChannelclose_io_channel freigegeben und geschlossen werden. Sie wird automatisch geschlossen, wenn die mit dem Kanal zusammenhängende Geräteinstanz über close_io_deviceclose_io_deviceCloseIoDeviceCloseIoDeviceclose_io_device geschlossen wird.

Mit einem geöffneten Übertragungskanal können schließlich die Werte vom Gerät mit Hilfe der Operatoren read_io_channelread_io_channelReadIoChannelReadIoChannelread_io_channel und write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelwrite_io_channel gelesen und geschrieben werden.

Ein bereits geöffneter Kanal kann über die Operatoren set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamset_io_channel_param und get_io_channel_paramget_io_channel_paramGetIoChannelParamGetIoChannelParamget_io_channel_param rekonfiguriert werden.

Eine ausführliche Beschreibung aller gerätespezifischen Parameter findet sich in der Dokumentation für die verwendete I/O-Schnittstelle im Verzeichnis doc/html/reference/io.

Ausführungsinformationen

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

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

Referenz auf das geöffnete I/O-Gerät.

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

I/O-Kanalnamen.

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

Generische Parameternamen.

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)

Generische Parameterwerte.

Default: []

IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleiochannel_handle (output_control)  io_channel(-array) HIOChannel, HTupleSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Referenzen auf die geöffneten I/O-Übertragungskanäle.

Beispiel (HDevelop)

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

Ergebnis

Der Operator open_io_channelopen_io_channelOpenIoChannelOpenIoChannelopen_io_channel liefert den Wert 2 ( H_MSG_TRUE) , wenn die Parameterwerte gültig waren und die Kanäle für das Gerät geöffnet werden konnten. Ansonsten wird eine Fehlerbehandlung durchgeführt. In diesem Fall kann vom Interface eine zusätzliche Fehlerinformation gesetzt werden, die mit get_extended_error_infoget_extended_error_infoGetExtendedErrorInfoGetExtendedErrorInfoget_extended_error_info abgefragt werden kann.

Vorgänger

open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceopen_io_device, query_io_devicequery_io_deviceQueryIoDeviceQueryIoDevicequery_io_device

Nachfolger

set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamset_io_channel_param, read_io_channelread_io_channelReadIoChannelReadIoChannelread_io_channel, write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelwrite_io_channel

Modul

Foundation