query_io_interfaceT_query_io_interfaceQueryIoInterfaceQueryIoInterfacequery_io_interface (Operator)
Name
query_io_interfaceT_query_io_interfaceQueryIoInterfaceQueryIoInterfacequery_io_interface — Abfragen von Informationen zu einer I/O-Geräteschnittstelle.
Signatur
def query_io_interface(iointerface_name: str, query: MaybeSequence[str]) -> Sequence[Union[int, float, str]]
Beschreibung
Der Operator query_io_interfacequery_io_interfaceQueryIoInterfaceQueryIoInterfaceQueryIoInterfacequery_io_interface liefert Informationen zur
angegebenen I/O-Geräteschnittstelle IOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameiointerface_name. Die
gewünschte Art der Information wird über den Parameter
QueryQueryQueryQueryqueryquery ausgewählt. In ResultResultResultResultresultresult wird die angeforderte
Information zurückgegeben.
Mit dem Parameterwert 'interface_name'"interface_name""interface_name""interface_name""interface_name""interface_name" für QueryQueryQueryQueryqueryquery
können alle verfügbaren HALCON I/O-Schnittstellen abgefragt
werden. In diesem Fall wird der Wert für IOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameiointerface_name
ignoriert.
Die Beschreibung aller gerätespezifischen Parameter findet sich in
der Dokumentation für die verwendete I/O-Schnittstelle im
Verzeichnis 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.
Parameter
IOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameiointerface_name (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Name der HALCON I/O-Schnittstelle.
Defaultwert: []
Wertevorschläge: 'ADLINK-DAQPilot'"ADLINK-DAQPilot""ADLINK-DAQPilot""ADLINK-DAQPilot""ADLINK-DAQPilot""ADLINK-DAQPilot", 'ADLINK-EOS'"ADLINK-EOS""ADLINK-EOS""ADLINK-EOS""ADLINK-EOS""ADLINK-EOS", 'Advantech'"Advantech""Advantech""Advantech""Advantech""Advantech", 'Contec'"Contec""Contec""Contec""Contec""Contec", 'Hilscher-cifX'"Hilscher-cifX""Hilscher-cifX""Hilscher-cifX""Hilscher-cifX""Hilscher-cifX", 'Interface'"Interface""Interface""Interface""Interface""Interface", 'Linux-GPIO'"Linux-GPIO""Linux-GPIO""Linux-GPIO""Linux-GPIO""Linux-GPIO", 'NIDAQmx'"NIDAQmx""NIDAQmx""NIDAQmx""NIDAQmx""NIDAQmx", 'OPC_Classic'"OPC_Classic""OPC_Classic""OPC_Classic""OPC_Classic""OPC_Classic", 'OPC_UA'"OPC_UA""OPC_UA""OPC_UA""OPC_UA""OPC_UA"
QueryQueryQueryQueryqueryquery (input_control) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Parametername der Anfrage.
Defaultwert:
'io_device_names'
"io_device_names"
"io_device_names"
"io_device_names"
"io_device_names"
"io_device_names"
Wertevorschläge: 'interface_name'"interface_name""interface_name""interface_name""interface_name""interface_name", 'io_device_names'"io_device_names""io_device_names""io_device_names""io_device_names""io_device_names", 'param_name'"param_name""param_name""param_name""param_name""param_name", 'revision'"revision""revision""revision""revision""revision"
ResultResultResultResultresultresult (output_control) string-array → HTupleSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Liste der Ergebniswerte (abhängig von QueryQueryQueryQueryqueryquery).
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
Sind die Parameterwerte korrekt und ist die angegebene
I/O-Schnittstelle verfügbar, liefert query_io_interfacequery_io_interfaceQueryIoInterfaceQueryIoInterfaceQueryIoInterfacequery_io_interface
den Wert TRUE. 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.
Nachfolger
open_io_deviceopen_io_deviceOpenIoDeviceOpenIoDeviceOpenIoDeviceopen_io_device
Modul
Foundation