OPC UA - Geschwindigkeit bei großen Datenaufkommen optimieren

Zuviel Werbung?
-> Hier kostenlos registrieren
Bei unangepassten Konfigurationen eines OPC UA-Clients, können Sie den OPC UA-Server einer SIMATIC S7-1200 oder S7-1500 CPU oder die OPC UA-Kommunikation unnötig belasten oder auch überlasten.

Wie stark der OPC UA-Server einer SIMATIC S7-1200 / S7-1500 CPU und die OPC UA-Kommunikation belastet werden, hängt maßgeblich vom darauf zugreifenden OPC UA-Client ab. In diesem FAQ geben wir Ihnen nützliche Tipps, um die Belastung des Servers möglichst gering zu halten, damit die Kommunikation zwischen Client und Server problemlos abläuft.

Wiederholte Read- und Write-Zugriffe auf den Server (nur bei S7-1500)
Bei der Verwendung von häufig wiederkehrenden Read- und Write-Zugriffen auf die gleichen Variablen des Servers, empfehlen wir Ihnen die Implementierung des "Registered Read"- und "Registered Write"-Service. Beim Registrieren von Variablenknoten erstellt der OPC UA-Server ein sogenanntes "Handle", das direkt auf den registrierten Knoten verweist. Bei Lese- oder Schreibaufträgen des Clients auf dieses "Handle" muss der Server die Node-ID nicht mehr auflösen und kann zusätzlich optimiert auf die geforderte Variable zugreifen.

Große Datenstrukturen und Arrays in einer Subscription

Sie sollten bei einer Subscription nicht grundsätzlich eine ganze Struktur oder ein ganzes Array als "Monitored Item" anlegen, sofern dies nicht durch Ihren Prozess erforderlich ist. Ändert sich nur ein Wert innerhalb einer Struktur oder eines Arrays, wird immer der ganze Datenblock in einem "Publish Response" übertragen. Dadurch erzeugen Sie unnötige Kommunikationslast.

Temporär nicht benötigte Subscriptions deaktivieren

Deaktivieren Sie temporär nicht benötigte Subscriptions über Ihrem Client. Mit Hilfe des "Publishing Mode" können Sie nicht benötigte Subscriptions vorübergehend deaktivieren und bei Bedarf wieder reaktivieren. Damit entlasten Sie den Server und die Kommunikation temporär.

Temporär nicht benötigte Monitored Items einer Subscription deaktivieren

Genau wie die Subscription selbst, können Sie auch einzelne Monitored Items innerhalb einer Subscription deaktivieren. Setzen Sie hierfür den "Monitoring Mode" der Items auf "Disabled". Um bei Bedarf die Abfragen auf die Items wieder zu aktivieren, setzen Sie deren "Monitoring Mode" je nach Anwendungsfall wieder auf "Sampling" oder "Reporting". Hiermit entlasten Sie den Server und die Kommunikation temporär.

Aufteilung von Monitored Items innerhalb Subscriptions nach unterschiedlichen Sampling-Intervallen

Falls Ihr OPC UA-Client Variablen des Servers mit unterschiedlichen Sampling-Intervallen abonnieren soll, empfehlen wir Ihnen die Variablen, sortiert nach den gewünschten Sampling-Intervallen, über verschiedene Subscriptions zu verteilen. Gruppieren Sie beispielsweise Monitored Items mit geringen Sampling-Intervallen (z.B. 500 ms) in einer anderen Subscription, als Monitored Items mit hohen Sampling-Intervallen (z.B. 5000 ms).

Konsistente Datenübertragung (nur bei S7-1500)
Mit OPC UA-Methoden haben Sie die Möglichkeit, Daten konsistent auf den OPC UA-Server einer SIMATIC S7-1500 CPU zu schreiben oder vom Server zu lesen. Die Zugriffsarten Read, Write und Subscription gewährleisten keine Datenkonsistenz. Hier muss der Anwender die Datenkonsistenz applikativ sicherstellen.

Empfehlung zur maximalen Anzahl an Monitored Items von Subscriptions

Sie finden Empfehlungen zur maximalen Anzahl an Monitored Items von Subscriptions in den technischen Daten zu jeder CPU im Siemens Industry Online Support, bezogen auf ein Sampling- und Publishingintervall von 1000ms.

Überschreitung der gewünschten Sampling-Zeit durch Überlastung des Servers oder zu vielen Monitored Items

Bei der Überschreitung der von Ihrem Client geforderten Sampling-Zeit von Monitored Items gibt der OPC UA-Server eine "GoodOverload"-Statusmeldung aus. Dieser Publishing-Response enthält keine aktualisierten Werte, da der Server überlastet ist und die geforderte Sampling-Zeit nicht einhalten kann. Auf diese Meldung können Sie mit Ihrem Client reagieren, indem Sie einige Punkte dieses FAQs befolgen: 109763090.

OPC UA-Spezifikation 1.0.4 mit "Type Definitions" (ab Firmware V2.6)

Wenn Ihr Prozess vorsieht, komplexe Datentypen wie Strukturen oder UDTs vom OPC UA-Server einer SIMATIC S7-1200 / S7-1500 CPU zu lesen, empfehlen wir Ihnen die Verwendung des neuen Attributs "Type Definition" zum Parsing der übermittelten Daten. In diesem Fall können Sie das "Type Dictionary" der älteren Spezifikation auf der CPU abschalten, um Speicherressourcen freizugeben. Des Weiteren wirkt sich die Abschaltung des "Type Dictionary" positiv auf die Hochlauf-Performance des OPC UA-Servers der CPU aus. Sie finden die Einstellung zum "Type Dictionary" in der Gerätekonfiguration der CPU unter "OPC UA > Allgemein > Abwärtskompatible Datentyp-Definitionen nach OPC UA-Spezifikation <= V1.03".

Analyse der Kommunikationslast und Zykluszeit des OPC UA-Servers der SIMATIC S7-1200 / S7-1500

Ein detailliertes Bild der von Ihrem Client verursachten Kommunikationslast und der Zykluszeit des OPC UA-Servers einer SIMATIC S7-1200 / S7-1500 CPU erhalten Sie über den Systemfunktionsbaustein "RT_Info". Die folgenden Betriebsmodi unterstützen Sie hierbei:
  • 21: Liefert für den letzten Programmzyklus zurück, welche Anteile der Laufzeit auf die Kommunikation und das Anwenderprogramm entfallen.
  • 25: Gibt die kürzeste, längste und die aktuelle Zykluszeit des Anwenderprogramms aus.
Vergleichen Sie die Ergebnisse von "RT_Info" ohne und mit OPC UA-Kommunikation, um die Unterschiede festzustellen. Weitere Informationen zum SFB finden Sie in der TIA Hilfe ("F1").
Hintergrund: Die OPC UA-Kommunikation einer S7-1200 / S7-1500 CPU findet innerhalb der Programmzyklen statt und wirkt sich deshalb negativ auf die Zykluszeit des CPU-Programms aus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es ist so, dass die Kommunikation temporär abreißt/stark verlangsamt ist (mehrere Sekunden warten).

Jetzt überlegen wir, wo die "BottleNecks" in der Kommunikation zu suchen sind.
Grundsätzlich würd ich aber auch mal das Netzwerk nicht vergessen.
Ist da was überlastet? PG oder sonstwas drangesteckt? Doppelte IP? Defekte Rj45? Defekte LWL-Umsetzer? IT-Tools die abundzu reinspucken?
Alles schon gehabt. Man versteift dich auf irgendwas und dann liegts an was ganz anderem...
 
Moin ducati und die anderen,

vielen Dank für die reichlichen Informationen!

Das muss ich jetzt erst einmal alles analysieren und bewerten.

VG
Mario
 
Wir haben auch unser MES-System per OPC UA angebunden.
Mit 1515F haben wir auch Performanceprobleme.
Lösung ... Auch wenn's schmerzt ... Umstieg auf 1516F.

Stabilitätsprobleme haben wir eigentlich mit Tia 16 und Firmware 2.9 keine.
Nur nicht, um in dieselbe Falle zu treten, war die S7-1515F eh schon am Limit, oder waren für die eigentliche Aufgabe noch Reserven vorhanden?
 
Zurück
Oben