open_io_channelT_open_io_channelOpenIoChannelOpenIoChannel (Operator)
Name
open_io_channelT_open_io_channelOpenIoChannelOpenIoChannel
— Ö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)
Beschreibung
Der Operator open_io_channelopen_io_channelOpenIoChannelOpenIoChannelOpenIoChannel
öffnet und konfiguriert
Übertragungskanäle einer geöffneten I/O-Geräteinstanz. Die
Geräteinstanz muss zuvor von open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDevice
erzeugt worden
sein und wird dem Parameter IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandle
übergeben. Die
Übertragungskanäle selbst werden durch ihre Namen in
IOChannelNameIOChannelNameIOChannelNameIOChannelNameIOChannelName
adressiert. Die vom Gerät unterstützten Namen
können mit Hilfe des Operators query_io_devicequery_io_deviceQueryIoDeviceQueryIoDeviceQueryIoDevice
ü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 GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
und
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
konfiguriert werden. Es wird eine Instanz jedes
Übertragungskanals erzeugt, deren Referenzen in
IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandle
zurückgegeben werden. Falls die Instanz eines
Kanals nicht mehr benötigt wird, sollte sie über den Operator
close_io_channelclose_io_channelCloseIoChannelCloseIoChannelCloseIoChannel
freigegeben und geschlossen werden. Sie
wird automatisch geschlossen, wenn die mit dem Kanal
zusammenhängende Geräteinstanz über close_io_deviceclose_io_deviceCloseIoDeviceCloseIoDeviceCloseIoDevice
geschlossen wird.
Mit einem geöffneten Übertragungskanal können schließlich die Werte
vom Gerät mit Hilfe der Operatoren read_io_channelread_io_channelReadIoChannelReadIoChannelReadIoChannel
und
write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelWriteIoChannel
gelesen und geschrieben werden.
Ein bereits geöffneter Kanal kann über die Operatoren
set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamSetIoChannelParam
und get_io_channel_paramget_io_channel_paramGetIoChannelParamGetIoChannelParamGetIoChannelParam
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'"doc/html/reference/io""doc/html/reference/io""doc/html/reference/io""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
IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandle
(input_control) io_device →
HIODevice, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Referenz auf das geöffnete I/O-Gerät.
IOChannelNameIOChannelNameIOChannelNameIOChannelNameIOChannelName
(input_control) string(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
I/O-Kanalnamen.
GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
(input_control) string-array →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Generische Parameternamen.
Defaultwert: []
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
(input_control) string-array →
HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Generische Parameterwerte.
Defaultwert: []
IOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandleIOChannelHandle
(output_control) io_channel(-array) →
HIOChannel, HTupleHTupleHtuple (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_channelOpenIoChannelOpenIoChannelOpenIoChannel
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_infoGetExtendedErrorInfoGetExtendedErrorInfoGetExtendedErrorInfo
abgefragt werden kann.
Vorgänger
open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDevice
,
query_io_devicequery_io_deviceQueryIoDeviceQueryIoDeviceQueryIoDevice
Nachfolger
set_io_channel_paramset_io_channel_paramSetIoChannelParamSetIoChannelParamSetIoChannelParam
,
read_io_channelread_io_channelReadIoChannelReadIoChannelReadIoChannel
,
write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelWriteIoChannel
Modul
Foundation