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
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_channelOpenIoChannelOpenIoChannelOpenIoChannelopen_io_channel öffnet und konfiguriert
Übertragungskanäle einer geöffneten I/O-Geräteinstanz. Die
Geräteinstanz muss zuvor von open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDeviceopen_io_device erzeugt worden
sein und wird dem Parameter IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleiodevice_handle übergeben. Die
Übertragungskanäle selbst werden durch ihre Namen in
IOChannelNameIOChannelNameIOChannelNameIOChannelNameIOChannelNameiochannel_name adressiert. Die vom Gerät unterstützten Namen
können mit Hilfe des Operators query_io_devicequery_io_deviceQueryIoDeviceQueryIoDeviceQueryIoDevicequery_io_device über den
Parameter 'io_channel_name'"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 GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value konfiguriert werden. Es wird eine Instanz jedes
Übertragungskanals erzeugt, deren Referenzen in
IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleiochannel_handle zurückgegeben werden. Falls die Instanz eines
Kanals nicht mehr benötigt wird, sollte sie über den Operator
close_io_channelclose_io_channelCloseIoChannelCloseIoChannelCloseIoChannelclose_io_channel freigegeben und geschlossen werden. Sie
wird automatisch geschlossen, wenn die mit dem Kanal
zusammenhängende Geräteinstanz über close_io_deviceclose_io_deviceCloseIoDeviceCloseIoDeviceCloseIoDeviceclose_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_channelReadIoChannelReadIoChannelReadIoChannelread_io_channel und
write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelWriteIoChannelwrite_io_channel gelesen und geschrieben werden.
Ein bereits geöffneter Kanal kann über die Operatoren
set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamSetIoChannelParamset_io_channel_param und get_io_channel_paramget_io_channel_paramGetIoChannelParamGetIoChannelParamGetIoChannelParamget_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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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
IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleiodevice_handle (input_control) io_device → HIODevice, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Referenz auf das geöffnete I/O-Gerät.
IOChannelNameIOChannelNameIOChannelNameIOChannelNameIOChannelNameiochannel_name (input_control) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
I/O-Kanalnamen.
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control) string-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Generische Parameternamen.
Defaultwert: []
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)
Generische Parameterwerte.
Defaultwert: []
IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleiochannel_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_channelOpenIoChannelOpenIoChannelOpenIoChannelopen_io_channel liefert den Wert 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_infoGetExtendedErrorInfoGetExtendedErrorInfoGetExtendedErrorInfoget_extended_error_info abgefragt werden kann.
Vorgänger
open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDeviceopen_io_device,
query_io_devicequery_io_deviceQueryIoDeviceQueryIoDeviceQueryIoDevicequery_io_device
Nachfolger
set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamSetIoChannelParamset_io_channel_param,
read_io_channelread_io_channelReadIoChannelReadIoChannelReadIoChannelread_io_channel,
write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelWriteIoChannelwrite_io_channel
Modul
Foundation