Datenaustausch

Der OPC UA Server kann zur Identifizierung der Items entweder die Datenpunkt- und Datenpunktelementnamen oder die Datenpunktalias verwenden. Mit dem Alias kann der Anwender eine von den WinCC OA Datenpunktnamen unabhängige Adressierung über OPC UA realisieren. Ob Datenpunktnamen oder Alias verwendet werden, muss in der Config-Datei eingestellt werden (Eintrag nodeIdType). Die beiden Arten können nicht gemischt werden. D.h. der Server kann nur Namen oder Alias verwenden.

Anmerkung: Für detaillierte Informationen siehe Zugriff auf WinCC OA Daten.

In einem Projekt ist der Start von nur einem einzigen WinCC OA OPC UA Server zu empfehlen, da die Datenpunktgruppen nicht pro Server einstellbar sind. Würde man mehrere WinCC OA OPC UA Server starten, so würden diese gemeinsam auf dieselben Datenpunkte zugreifen.

Zuordnung Attribute OPC UA <-> WinCC OA

Bei der Abbildung der WinCC OA Projektstruktur auf das OPC UA Server Prozessabbild gibt es zwei zu unterscheidende Punkte. Einerseits braucht der OPC UA Server die WinCC OA Projektstruktur, um den Namensraum aufzubauen, andererseits braucht der OPC UA Server Daten aus dem Prozessabbild des Event-Managers.

Die ersten Daten sind in der unteren Tabelle aufgelistet. Um diese Daten im Server aktuell zu halten, reagiert der OPC UA Server auf Änderungen der Projektstruktur. Das bedeutet, der Server wertet die entsprechenden WinCC OA Messages aus.

OPC UA Bezeichnung Datentyp Bemerkung Entsprechung in WinCC OA
NodeId NodeId String Datenpunktname oder Alias
NodeClass NodeClass Nummer der NodeClass Keine
BrowseName QualifiedName Nodename Datenpunktelementname (nicht mehrsprachig)
DisplayName LocalizedText Anzeigetext des Nodes Datenpunktelementname (nicht mehrsprachig)
Description LocalizedText Beschreibung

Langtext in aktueller Sprache "Description" des _common WinCC OA Konfigs.

Wenn dieses nicht existiert, wird der DisplayName verwendet.

WinCC OA -> OPC UA Variablen

Die Daten aus dem Prozessabbild des WinCC OA Event-Managers werden auf OPC UA Variablen abgebildet. Die Zuordnung zwischen WinCC OA Attributen und OPC UA Variablen Attributen ist in der folgenden Tabelle angeführt.

Bezeichnung Datentyp Bemerkung Entsprechung in WinCC OA
Value Der eigentliche Wert

Onlinewert (_online.._value)

Kommt eine Wertänderung vom OPC UA Server, so wird der Originalwert und nicht der Onlinewert gesetzt.

Zeitstempel WinCC OA Attribut _online.._stime(Quellzeit)
Status

WinCC OA Attribut _online.._status64

Die genaue Abbildung des WinCC OA Status auf OPC UA Status ist weiter unten im Abschnitt "WinCC OA Statusabbildung auf OPC UA Status" beschrieben.

DataType NodeId Siehe Zuordnung der Datentypen
ArraySize Int32 Siehe Zuordnung der Datentypen
AccessLevel Byte Wird über die Datenpunktgruppe definiert. Für Daten, die nur lesbar sind, wird das Flag CurrentRead gesetzt. Für Daten, die lesbar und schreibbar sind, wird CurrentRead und CurrentWrite gesetzt.
UserAccessLevel Byte Der UserAccessLevel ist gleich dem AccessLevel. D.h. es wird nur über die Datenpunktgruppen definiert, wie die Zugriffsrechte gesetzt sind. Alle Clients, die sich zum OPC Server verbinden dürfen, haben damit die gleichen Zugriffsrechte auf das Prozessabbild.

WinCC OA Statusabbildung auf OPC UA Status

WinCC OA -> OPCUA

Wenn eines oder mehrere der folgenden WinCC OA Statusbits gesetzt sind:

_out_prange

_out_range

_exp_inv

_auth_inv

_stime_inv

OpcUa_Bad
In allen anderen Fällen OpcUa_Good

OPCUA -> WinCC OA

OpcUa_Good 0
OpcUa_BadXXX WinCC OA Statusbit auth_inv gesetzt

Analog Item Objekt

Das Analog Item Objekt wird zurzeit nicht unterstützt. Damit unterstützt der OPC UA Server kein relatives Totband für die Monitored Items.

Zuordnung Datentypen OPC UA <-> WinCC OA

Die folgende Tabelle listet die WinCC OA Datentypen auf, die vom WinCC OA OPC UA Server unterstützt werden.

OPC UA Datentyp WinCC OA Datentyp
Boolean DPEL_BOOL
Int32 DPEL_INT
Int64 DPEL_LONG
UInt64 DPEL_BIT64
Byte DPEL_CHAR
UInt32 DPEL_UINT
UInt64 DPEL_ULONG
Double DPEL_FLOAT
String DPEL_STRING
DateTime DPEL_TIME
ByteString DPEL_BLOB
UInt32 DPEL_BIT32
NodeId DPEL_DPID
LocalizedText DPEL_LANGSTRING
Array vom Basistyp

DPEL_DYN_*

Anmerkung: * .. steht für einen Basisdatentyp
Einschränkung: dyn_blob Elemente werden nicht unterstützt.
Einschränkung: Es wird nur eine maximale Länge des Arrays von 65536 unterstützt.)
Anmerkung: Der Zugriff auf DPEs des Typs DPEL_DPID mittels OPC UA ist limitiert, da dieser Typ an DPEs in WinCC OA nur existierende DP Identifiers akzeptiert.

Aus diesem Grund ist es für den Client nicht möglich eine NodeId zu schrieben, welche nicht einem existierenden DP Identifier entspricht. So akzeptieren diese OPC UA Variablen Nodes nur NodeIds, welche einen existierenden DP Name beinhalten.