Interne Datenpunkte des OPC UA Servers

Der WinCC OA OPC UA Server verwendet einen zentralen Datenpunkt für die generellen Statusanzeigen und Konfigurationsparameter von Typ _OPCUAPvssServer. Der Name des Datenpunktes ist per Default _OPCUAPvssServer. Die Managernummer ist im Namen nicht enthalten, da es üblicherweise nur einen OPC UA Server im Projekt gibt und dieser dann mit einer beliebigen Nummer laufen kann. Der Name des Datenpunktes kann in der Konfigurationsdatei config (siehe Mögliche Config-Einträge des OPC UA Servers) angepasst werden.

_OPCUAPvssServer

Datenpunktelement Typ Beschreibung
Config.EnableLogging uint

Aktiviert das Logging im OPC UA SDK (= UaTrace)

Kein Logging = 0 (Default)

Config.DisableDataUpdate uint

Wird DisableDataUpdate auf 1 gesetzt, werden im OPC UA Prozessraum keine Werte mehr aktualisiert. Liegen in WincCOA Wertänderungen vor, werden diese Werte im OPC UA Prozessraum als "Uncertain" markiert.

Beim Zurücksetzen auf 0 werden automatisch die aktuellen Werte zum Client übermittelt.

0 = Defaultwert

Config.DisableWrite uint

Wird DisableWrite auf 1 gesetzt, erlaubt der Server keine Schreib-Anfragen vom Client und gibt den Error-Code "WriteNotAllowed" zurück.

Durch Setzen auf 2 werden Schreib-Anfragen ohne Fehlerrückmeldung für den Client verworfen.

0 = Defaultwert

Config.CNSViews dyn_string Dieses Datenpunktelement beinhaltet alle CNS-Views die dem Server zum Erstellen des Adressraums zugewiesen wurden.
Config.GroupAuthentication dyn_uint Über dieses Element kann die Gruppen-Authentifizierung aktiviert werden. Per Default ist dieses Element leer, die Gruppen-Authentifizierung also deaktiviert. Sobald Gruppen-IDs auf das Element geschrieben werden, prüft der Server bei der Benutzer-Authentifizierung zusätzlich, ob der angegebene Benutzer Mitglied einer der definierten Gruppen ist.
Config.AlarmPrioMapping dyn_string

Dieses Datenpunktelement enthält alle konfigurierten Zuordnungen von WinCC OA-Alarmklassen zu OPC UA-Severities.

Immer wenn der OPC UA-Server einen Alarm von WinCC OA erhält, sucht er nach konfigurierten OPC UA-Severities. Wenn für die Alarmklasse eine OPC UA-Severity konfiguriert ist, wird der Alarm mit dieser weitergeleitet, andernfalls wird die WinCC OA-Alarmpriorität als OPC UA-Severity verwendet.

Die Liste enthält einen Eintrag für jede Aufgabe im Format "<alert_class> <severity>".

Config.StatusMapping dyn_string

Dieses Datenpunktelement enthält alle konfigurierten Zuordnungen von User-Bits zu OPC UA-Severities.

Wenn sich der Wert des Serverdatenpunktelements ändert, wird nach zugeordneten User-Bits gesucht. Wenn ein User-Bit mit einer zugewiesenen Severity gesetzt ist, leitet der Server die Wertänderung mit der Severity weiter. Wenn mehrere User-Bits mit einer zugewiesenen Severity vorhanden sind, wird das höchste verwendet.

Die Liste enthält einen Eintrag für jede Zuordnung im Format "<user_bit> <status_code>".

Config.DatapointLogging bit32

Dieses Datenpunktelement wird zum Aktivieren oder Deaktivieren der Datenpunktprotokollierung verwendet.

Session Logging
Durch Setzen von Bit 1 auf TRUE wird das Session Logging aktiviert. Danach wird jeder Verbindungsauf- bzw. abbau eines Client auf dem Datenpunktelement State.DatapointLogging.Session protokolliert.
Write Loogging
Bit 2 aktiviert die Schreibprotokollierung, die alle von Clients durchgeführten Wertänderungen am Datenpunktelement State.DatapointLogging.Write protokolliert.
Method Logging
Mit Bit 3 wird das Logging von Methoden aktiviert. In diesem Fall werden die Session ID und die Node ID der aufgerufenen Methode in das Datenpunktelement State.DatapointLogging.Method geschrieben.
Wichtig: Die Bit-Zählung beginnt mit 1.
Tipp: Die Bits können nach Bedarf kombiniert werden.
Command.DebugPI bool

Gibt die aktuell vom OPC UA Server freigegebenen Datenpunktelemente und deren UaNodeIds in der Log-Datei aus.

0 -> keine Aktion

1 -> Ausgabe erfolgt

Anmerkung: Der Debug Level "-dbg 10" muss für den OPC UA Server aktiv sein damit die Informationen in der Log-Datei ausgegeben werden!
State.ClientsConnected uint Anzahl der Clients, die zum WinCC OA OPC UA Server verbunden sind.
State.CNSViews dyn_int

Zeigt den aktuellen Status der jeweiligen CNS-View an.

Status Beschreibung
0 Der Status der CNS-View ist nicht definiert, da der OPC Server nicht läuft. Wenn der Server nicht ordnungsgemäß gestoppt wurde (z.B. wenn der Server durch den KILL Befehl gestoppt wurde), bleibt der zuletzt gesetzte Status bis der OPC Server neu gestartet wird.
1 Das verteilte System ist verbunden und die CNS-View bzw. alle OPC-Elemente der View sind korrekt im Adressraum des Servers. Die Werte aller Elemente im Adressraum stimmen mit den Werten der Datenpunktelemente überein.
2 Das verteilte System ist verbunden und die Delta-Synchronisation läuft. Verbundene OPC-Clients können Daten vom Server abfragen.
3 Das verteilte System ist verbunden und die Voll-Synchronisation läuft. Das bedeutet dass die komplette CNS-View im Server-Adressraum aktualisiert wird. In diesem Fall erhalten die verbundenen OPC-Clients die zuletzt verwendbaren Werte des Servers, die mit OPC-Quality "uncertain, Last Useable Value" gekennzeichnet sind. Sobald eine CNS-View eines systems in diesem Status ist, gilt das auch für alle anderen Views dieses Systems.
4 Das verteilte System ist verbunden, die konfigurierte CNS-View existiert nicht bzw. kann im angegebenen System nicht gefunden werden.
5 Das verteilte System ist nicht verbunden und der Server hat keine Informationen zu den konfigurierten CNS-Views im Adressraum. Sobald die Verbindung zum verteilten System hergestellt wird, führt der OPC-Server eine Voll-Synchronisation für alle Views durch.
6

Das verteilte System ist nicht verbunden, dem Server sind DP Identification und CNS-Views im Adressraum bekannt. Alle Werte des Systems dieser View werden vom Server mit OPC-Quality "Uncertain - Last Usable Value" gekennzeichnet. Wird die Verbindung zum verteilten System hergestellt, führt der OPC-Server eine Voll- oder Deltasynchronisation durch, abhängig von Config-Eintrag "maxUpdateMsgCouint und der Menge an geänderten Daten.

Wird der OPC Server mit useLocalIdentification gestartet, wird der Adressraum mit den geladenen Informationen der proj_path/data/DpMsgTypeContainer.bin und proj_path/data/DpMsgIdentification.bin Dateien erstellt, damit TypContainer und DpIdentification nicht übers Netzwerk gesendet werden müssen.

State.MaxNumberOfClients bool

Gibt an, ob die maximale Anzahl an Client-Verbindungen erreicht wurde.

TRUE = maximale Anzahl erreicht

FALSE = maximale Anzahl nicht erreicht

State.DatapointLogging.Session string

Dieses Datenpunktelement wird immer dann aktualisiert, wenn ein Client eine Verbindung zum Server herstellt oder die Verbindung zum Server trennt.

Es enthält Nachrichten im Format:

<hex session id> <code> "<session name>" "<authentication method>" "<username>" <hex ua status code>

Weitere Informationen finden Sie unter Aktivieren des Session Logging.

Dieses Datenpunktelement wird nur aktualisiert, wenn das Session Logging auf dem Datenpunktelement Config.DatapointLogging aktiviert ist.

State.DatapointLogging.Write string

Dieses Datenpunktelement wird immer dann aktualisiert, wenn ein OPC UA-Client Werte ändert.

Es enthält Nachrichten im Format:

<hex session id> <UA node id> <new value> <hex ua status code>

Weitere Informationen finden Sie unter Aktivieren des Write Logging.

Dieses Datenpunktelement wird nur aktualisiert, wenn das Write Logging auf dem Datenpunktelement Config.DatapointLogging aktiviert ist.

State.DatapointLogging.Method string

Dieses Datenpunktelement wird aktualisiert, wenn eine OPC UA Methode aufgerufen wird.

Es enthält die Nachricht in folgendem Format:

<hex session id> <UA node id>

Für weitere Informationen, siehe Aktivieren des Method Logging.

Dieses Datenpunktelement wird nur aktualisiert, wenn das Mtehod Logging auf dem Datenpunktelement Config.DatapointLogging aktiviert wurde.