open_io_deviceT_open_io_deviceOpenIoDeviceOpenIoDevice (Operator)
Name
open_io_deviceT_open_io_deviceOpenIoDeviceOpenIoDevice
— Öffnen und Konfigurieren eines I/O-Gerätes.
Signatur
void OpenIoDevice(const HTuple& IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* IODeviceHandle)
void HIODevice::HIODevice(const HString& IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue)
void HIODevice::HIODevice(const char* IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue)
void HIODevice::HIODevice(const wchar_t* IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue)
(Nur Windows)
void HIODevice::OpenIoDevice(const HString& IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue)
void HIODevice::OpenIoDevice(const char* IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue)
void HIODevice::OpenIoDevice(const wchar_t* IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue)
(Nur Windows)
static void HOperatorSet.OpenIoDevice(HTuple IOInterfaceName, HTuple IODeviceName, HTuple genParamName, HTuple genParamValue, out HTuple IODeviceHandle)
public HIODevice(string IOInterfaceName, HTuple IODeviceName, HTuple genParamName, HTuple genParamValue)
void HIODevice.OpenIoDevice(string IOInterfaceName, HTuple IODeviceName, HTuple genParamName, HTuple genParamValue)
Beschreibung
Der Operator open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDevice
öffnet und konfiguriert die
gewählte I/O-Schnittstelle für ein bestimmtes Gerät. Der Name der
I/O-Schnittstelle ist durch den Basisnamen der darunterliegenden
Bibliothek bestimmt und wird dem Parameter IOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceName
übergeben. Bei der Konfiguration des ersten Gerätes für diese
Schnittstelle wird automatisch die Bibliothek der I/O-Schnittstelle
geladen. Das Gerät selbst wird durch den Namen adressiert, der dem
Parameter IODeviceNameIODeviceNameIODeviceNameIODeviceNameIODeviceName
übergeben wird. Die Namen der
unterstützten Geräte können über den Operator
query_io_interfacequery_io_interfaceQueryIoInterfaceQueryIoInterfaceQueryIoInterface
abgefragt werden. Mit Hilfe der Parameter
GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
kann das Gerät
konfiguriert werden. In IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandle
wird schließlich
eine Referenz zu der Geräteinstanz zurückgegeben. Falls diese
Geräteinstanz nicht mehr benötigt wird, muss sie über den Operator
close_io_deviceclose_io_deviceCloseIoDeviceCloseIoDeviceCloseIoDevice
wieder freigegeben werden.
Mit einer geöffneten Instanz zu einem Gerät kann ein
Übertragungskanal mit Hilfe des Operators open_io_channelopen_io_channelOpenIoChannelOpenIoChannelOpenIoChannel
geöffnet werden. Auf einem solchen Kanal können dann Werte über die
Operatoren read_io_channelread_io_channelReadIoChannelReadIoChannelReadIoChannel
und write_io_channelwrite_io_channelWriteIoChannelWriteIoChannelWriteIoChannel
gelesen und geschrieben werden.
Eine geöffnete Instanz eines Gerätes kann über die Operatoren
set_io_device_paramset_io_device_paramSetIoDeviceParamSetIoDeviceParamSetIoDeviceParam
und get_io_device_paramget_io_device_paramGetIoDeviceParamGetIoDeviceParamGetIoDeviceParam
rekonfiguriert werden.
Die 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".
Achtung
Auf Windows Systemen können Fehler-Dialogboxen vom Betriebssystems erscheinen, wenn abhängende Module des Interfaces nicht gefunden werden können. Dies ist beispielsweise der Fall, wenn das entsprechende SDK nicht installiert wurde. Das Erscheinen der Dialogboxen kann über Windows Error Mode kontrolliert werden. Informationen dazu finden sich in der Beschreibung von SetErrorMode in der MSDN Dokumentation.
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
IOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceName
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Name der HALCON I/O-Schnittstelle.
Defaultwert: []
Wertevorschläge: 'ADLINK-DAQPilot'"ADLINK-DAQPilot""ADLINK-DAQPilot""ADLINK-DAQPilot""ADLINK-DAQPilot", 'ADLINK-EOS'"ADLINK-EOS""ADLINK-EOS""ADLINK-EOS""ADLINK-EOS", 'Advantech'"Advantech""Advantech""Advantech""Advantech", 'Contec'"Contec""Contec""Contec""Contec", 'Hilscher-cifX'"Hilscher-cifX""Hilscher-cifX""Hilscher-cifX""Hilscher-cifX", 'Interface'"Interface""Interface""Interface""Interface", 'NIDAQmx'"NIDAQmx""NIDAQmx""NIDAQmx""NIDAQmx", 'OPC_Classic'"OPC_Classic""OPC_Classic""OPC_Classic""OPC_Classic", 'OPC_UA'"OPC_UA""OPC_UA""OPC_UA""OPC_UA"
IODeviceNameIODeviceNameIODeviceNameIODeviceNameIODeviceName
(input_control) tuple →
HTupleHTupleHtuple (string) (string) (HString) (char*)
I/O-Gerätename.
Defaultwert: []
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: []
IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandle
(output_control) io_device →
HIODevice, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Referenz auf das geöffnete I/O-Gerät.
Beispiel (HDevelop)
* Select a suitable i/o device interface of name IOInterfaceName
query_io_interface (IOInterfaceName, 'io_device_names', DeviceNames)
open_io_device (IOInterfaceName, DeviceNames[0], [], [], IODeviceHandle)
query_io_device (IODeviceHandle, [], 'io_channel_names.digital_input', ChannelInputNames)
open_io_channel (IODeviceHandle, ChannelInputNames[0], [], [], IOChannelHandle)
read_io_channel (IOChannelHandle, Value, Status)
Ergebnis
Der Operator
open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDevice
liefert den Wert 2 (H_MSG_TRUE), wenn eine
Instanz für das Gerät geöffnet werden konnte. 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
query_io_interfacequery_io_interfaceQueryIoInterfaceQueryIoInterfaceQueryIoInterface
Nachfolger
set_io_device_paramset_io_device_paramSetIoDeviceParamSetIoDeviceParamSetIoDeviceParam
,
get_io_device_paramget_io_device_paramGetIoDeviceParamGetIoDeviceParamGetIoDeviceParam
,
open_io_channelopen_io_channelOpenIoChannelOpenIoChannelOpenIoChannel
Modul
Foundation