open_io_deviceT_open_io_deviceOpenIoDeviceOpenIoDevice (Operator)

Name

open_io_deviceT_open_io_deviceOpenIoDeviceOpenIoDevice — Öffnen und Konfigurieren eines I/O-Gerätes.

Signatur

open_io_device( : : IOInterfaceName, IODeviceName, GenParamName, GenParamValue : IODeviceHandle)

Herror T_open_io_device(const Htuple IOInterfaceName, const Htuple IODeviceName, const Htuple GenParamName, const Htuple GenParamValue, Htuple* IODeviceHandle)

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

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