UA_ConnectGetStatus

Dieser Funktionsbaustein überprüft den Verbindungsstatus einer existierenden Verbindung zu einem anderen OPC UA Server. Die Verbindung wird hierbei über den jeweiligen Connection Handle referenziert. Der Status wird dann als E_UAConnectionStatus zurückgegeben. Der Verbindungsstatus wird anhand der internen Session-Info bzw. des OPC UA Heartbeats ermittelt, es wird keine zusätzliche Kommunikation (Read o.ä.) durchgeführt.
Über den zusätzlichen Eingabeparameter GetServiceLevel lässt sich das ServiceLevel des OPC UA Servers auslesen. Hierfür wird im Hintergrund ein Lesebefehl an den Server abgesetzt, um diese Information zu ermitteln.
Eingänge
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
GetServiceLevel : BOOL;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst. |
ConnectionHdl | DWORD | Connection Handle einer existierenden Kommunikationsverbindung. |
GetServiceLevel | BOOL | Liest das ServiceLevel des OPC UA Servers aus. |
Timeout | TIME | Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden. Der Wert muss passend zum ST_UASessionConnectInfo.tConnectionTimeout gesetzt werden. Hierbei gilt die Faustregel: ADS Timeout > 2 * ConnectionTimeout. |
Ausgänge
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
ConnectionStatus : E_UAConnectionStatus;
ServerState : E_UAServerState;
ServiceLevel : BYTE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Done | BOOL | Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde. |
Busy | BOOL | TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht. |
Error | BOOL | Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in ErrorID enthalten. |
ErrorID | DWORD | Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. |
ConnectionStatus | E_UAConnectionStatus | Verbindungsstatus (siehe E_UAConnectionStatus). |
ServerState | E_UAServerState | Serverstatus (siehe E_UAServerState). |
ServerState | BYTE | ServiceLevel des OPC UA Servers. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-Arm® | Tc3_PLCopen_OpcUa |
SPS-Bibliothek | Benötigte Version |
---|---|
Tc3_PLCopen_OpcUa | >= 3.2.11.0 |