UA_ConnectGetStatus

UA_ConnectGetStatus 1:

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.

UA_ConnectGetStatus 2: 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.

UA_ConnectGetStatus 3: 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