KlassenKlassenKlassenKlassen | | | | Operatoren

open_io_deviceT_open_io_deviceOpenIoDeviceopen_io_deviceOpenIoDeviceOpenIoDevice (Operator)

Name

open_io_deviceT_open_io_deviceOpenIoDeviceopen_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)

Herror open_io_device(const HTuple& IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* IODeviceHandle)

void HIODevice::OpenIoDevice(const HTuple& IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue)

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::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 HOperatorSetX.OpenIoDevice(
[in] VARIANT IOInterfaceName, [in] VARIANT IODeviceName, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* IODeviceHandle)

void HIODeviceX.OpenIoDevice(
[in] BSTR IOInterfaceName, [in] VARIANT IODeviceName, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

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_deviceOpenIoDeviceopen_io_deviceOpenIoDeviceOpenIoDevice ö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 IOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceName ü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 IODeviceNameIODeviceNameIODeviceNameIODeviceNameIODeviceNameIODeviceName übergeben wird. Die Namen der unterstützten Geräte können über den Operator query_io_interfacequery_io_interfaceQueryIoInterfacequery_io_interfaceQueryIoInterfaceQueryIoInterface abgefragt werden. Mit Hilfe der Parameter GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue kann das Gerät konfiguriert werden. In IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandle 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_deviceCloseIoDeviceclose_io_deviceCloseIoDeviceCloseIoDevice wieder freigegeben werden.

Mit einer geöffneten Instanz zu einem Gerät kann ein Übertragungskanal mit Hilfe des Operators open_io_channelopen_io_channelOpenIoChannelopen_io_channelOpenIoChannelOpenIoChannel geöffnet werden. Auf einem solchen Kanal können dann Werte über die Operatoren read_io_channelread_io_channelReadIoChannelread_io_channelReadIoChannelReadIoChannel und write_io_channelwrite_io_channelWriteIoChannelwrite_io_channelWriteIoChannelWriteIoChannel gelesen und geschrieben werden.

Eine geöffnete Instanz eines Gerätes kann über die Operatoren set_io_device_paramset_io_device_paramSetIoDeviceParamset_io_device_paramSetIoDeviceParamSetIoDeviceParam und get_io_device_paramget_io_device_paramGetIoDeviceParamget_io_device_paramGetIoDeviceParamGetIoDeviceParam 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""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.

Parallelisierung

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

IOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceNameIOInterfaceName (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Name der HALCON I/O-Schnittstelle.

Defaultwert: []

Wertevorschläge: 'Advantech'"Advantech""Advantech""Advantech""Advantech""Advantech", 'Contec'"Contec""Contec""Contec""Contec""Contec", 'Interface'"Interface""Interface""Interface""Interface""Interface", '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"

IODeviceNameIODeviceNameIODeviceNameIODeviceNameIODeviceNameIODeviceName (input_control)  tuple HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

I/O-Gerätename.

Defaultwert: []

GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Generische Parameternamen.

Defaultwert: []

GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Generische Parameterwerte.

Defaultwert: []

IODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandleIODeviceHandle (output_control)  io_device HIODevice, HTupleHTupleHIODevice, HTupleHIODeviceX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Referenz auf das geöffnete I/O-Gerät.

Beispiel (HDevelop)

query_io_interface ('Advantech', 'io_device_name', DeviceNames)
open_io_device ('Advantech', 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_deviceOpenIoDeviceopen_io_deviceOpenIoDeviceOpenIoDevice 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_infoGetExtendedErrorInfoget_extended_error_infoGetExtendedErrorInfoGetExtendedErrorInfo abgefragt werden kann.

Vorgänger

query_io_interfacequery_io_interfaceQueryIoInterfacequery_io_interfaceQueryIoInterfaceQueryIoInterface

Nachfolger

set_io_device_paramset_io_device_paramSetIoDeviceParamset_io_device_paramSetIoDeviceParamSetIoDeviceParam, get_io_device_paramget_io_device_paramGetIoDeviceParamget_io_device_paramGetIoDeviceParamGetIoDeviceParam, open_io_channelopen_io_channelOpenIoChannelopen_io_channelOpenIoChannelOpenIoChannel

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren