Zum Hauptinhalt springen

Arbeitsweisen beim Lesen und Schreiben

Der OPC Router beschafft Werte eines OPC-Servers auf drei Arten: aus seinem eigenen Zwischenspeicher, über eine laufende Anmeldung am Server oder durch direktes Lesen bei jedem Transfer. Die Arbeitsweise bestimmt, wie aktuell ein Wert im Transfer ist und wie viel Last auf Netzwerk und OPC-Server entsteht.

Eingestellt wird sie je Anbindung über die Eigenschaft „OPC Lesemodus“ im Reiter „Erweitert“ der OPC UA-Anbindung oder der klassischen OPC-Anbindung. Die Einstellung wirkt nicht auf alle Objekte der Anbindung – welches Transferobjekt und welcher Trigger ihr folgt, zeigt die Übersicht.

Die drei Arbeitsweisen​

OPC Router Cache​

Die Datenpunkte sind am OPC-Server angemeldet und werden im Hintergrund aktualisiert. Der Transfer übernimmt den zuletzt empfangenen Wert aus dem Zwischenspeicher des OPC Routers und greift dafür nicht auf den Server zu.

  • Geringste Netzlast, kürzeste Transferdauer.
  • Der Wert ist höchstens so aktuell wie die letzte Hintergrundaktualisierung. Bei häufig wechselnden Werten wird ein veralteter Wert übertragen.

Asynchron​

Die Datenpunkte sind angemeldet, der Server meldet Wertänderungen von sich aus. Leseanfragen blockieren den Transfer nicht, mehrere Leseoperationen werden parallel verarbeitet.

  • Aktuellere Werte als beim Zwischenspeicher, ohne dass der Transfer auf jede einzelne Antwort wartet.
  • Bei vielen Datenpunkten mit hoher Änderungsrate entsteht dauerhafte Last durch die Änderungsmeldungen.

Synchron​

Die Datenpunkte werden bei jedem Transfer direkt am OPC-Server gelesen. Der OPC Router meldet sie ohne laufende Aktualisierung an und liest sie erst, wenn der Transfer sie benötigt.

  • Höchste Aktualität.
  • Höchste Netz- und Serverlast, längste Transferdauer.

Vorbelegung​

AnbindungArbeitsweise
neu angelegtSynchron
aus einer Konfiguration ohne diese Einstellung übernommenOPC Router Cache

Welches Objekt welcher Arbeitsweise folgt​

Transferobjekte​

TransferobjektFolgt der EinstellungArbeitsweise
OPC Data Access✅Liest nach der eingestellten Arbeitsweise.
OPC Dynamic Read✅Liest die zur Laufzeit übergebenen Datenpunkte nach der eingestellten Arbeitsweise.
OPC Dynamic Write–Schreibt nur.
OPC-StrukturenteilweiseLiest den Strukturknoten bei jedem Transfer direkt. In der Arbeitsweise „OPC Router Cache“ übernimmt es stattdessen einen bereits vorliegenden Triggerwert.
OPC-Message–Fester Ablauf über den Veränderungszähler. Antwortdatenpunkte werden erst übernommen, wenn derselbe Wert zweimal gelesen wurde.
OPC-Methoden–Ruft eine OPC UA-Methode auf und liest keine Datenpunkte.
Multiple OPC Read–Liest immer direkt am Server, auch wenn die Anbindung auf „OPC Router Cache“ oder „Asynchron“ steht.
OPC Batch Read–Liest immer direkt am Server, auch wenn die Anbindung auf „OPC Router Cache“ oder „Asynchron“ steht.
OPC HA Lesen–Liest aus dem Historian. Die Art des Zugriffs legt das Transferobjekt selbst fest.

Trigger​

Kein Trigger richtet sich nach der Einstellung „OPC Lesemodus“. Jeder Trigger überwacht seine Datenpunkte auf die für ihn festgelegte Weise.

TriggerFolgt der EinstellungArbeitsweise
Bit-Trigger–Fragt Trigger- und Antwortdatenpunkt zyklisch ab. Ein Wert wird erst akzeptiert, wenn er zweimal übereinstimmend gelesen wurde.
Grenzwert-Trigger–Meldet den Datenpunkt asynchron an und prüft den Grenzwert zyklisch.
Data-Change-Missing-Trigger–Meldet den Datenpunkt asynchron an und überwacht, ob innerhalb der eingestellten Zeit eine Änderung eintrifft.
Data-Change-Trigger–Meldet den Datenpunkt asynchron an; der Server meldet jede Wertänderung.
Multi-Datachange-Trigger–Legt für die ermittelte Datenpunktgruppe eigene Abonnements an.
Message-Trigger–Fragt den Zähldatenpunkt zyklisch ab. Ein Wert wird erst akzeptiert, wenn er zweimal übereinstimmend gelesen wurde.
Alarm-/Event-Trigger–Abonniert Ereignisse des OPC UA-Servers und liest keine Datenpunkte.

Trigger und Transferobjekt im Zusammenspiel​

Löst ein Trigger einen Flow aus, liegt der Wert des auslösenden Datenpunkts bereits vor. Ob ein Transferobjekt diesen Wert übernimmt, hängt von der Arbeitsweise ab:

  • OPC Router Cache: Das Transferobjekt übernimmt den Wert aus dem Triggerereignis, sofern Trigger und Transferobjekt dieselbe Anbindung verwenden und der Trigger den Datenpunkt bereits gelesen hat.
  • Asynchron und Synchron: Das Transferobjekt liest den Datenpunkt erneut. Ändert sich der Wert zwischen Auslösung und Transfer, überträgt der Transfer den neueren Wert – nicht den, der den Trigger ausgelöst hat.

Soll ein Transfer genau den Wert übertragen, der ihn ausgelöst hat, ist die Arbeitsweise „OPC Router Cache“ zu wählen oder der Triggerwert direkt als Eingangswert des Flows zu verwenden.

Schreiben​

Für das Schreiben gilt die Einstellung „OPC Lesemodus“ nicht. Maßgeblich ist die Eigenschaft „Asynchrones Schreiben aktivieren“ der Anbindung:

EinstellungVerhalten
deaktiviertDer Transfer wartet auf die Bestätigung des OPC-Servers. Ein Schreibfehler wirkt auf den Transfer zurück.
aktiviertDer Schreibauftrag wird abgesetzt, ohne auf die Bestätigung zu warten. Der Transfer läuft weiter; die Rückmeldung über Erfolg oder Fehler ist vom Transfer zeitlich entkoppelt.

Weitere Einstellungen mit Einfluss​

EinstellungWirkung
„Read Max Age“ (nur OPC UA)Legt fest, wie alt ein Wert sein darf, den der OPC-Server aus seinem eigenen Zwischenspeicher liefern darf. Die Einstellung wirkt im Server, nicht im OPC Router. Siehe OPC UA Plug-in.
„OPC Tags beim Start registrieren“ (nur OPC UA)Registriert die Datenpunkte bereits beim Start der Anbindung, anstatt erst beim ersten Transfer. Dadurch wird der erste Transfer nicht durch die Registrierung verzögert. Die Plug-in-Instanz kann jedoch etwas mehr Zeit zum Starten benötigen.
„Sample Rate“Abtastrate der Anmeldung. Sie begrenzt, wie aktuell ein Wert in den Arbeitsweisen „OPC Router Cache“ und „Asynchron“ sein kann.
„Erlaubte Qualities“Bestimmt, welche Qualitätszustände der OPC Router überhaupt annimmt. Siehe OPC-Qualitäten und Statuscodes.

Auswahl der Arbeitsweise​

AnforderungArbeitsweise
Der Transfer muss den aktuellen Wert der Maschine übertragen (Auftragsdaten, Messwerte zum Zeitpunkt des Transfers).Synchron
Der Transfer soll genau den Wert übertragen, der den Trigger ausgelöst hat.OPC Router Cache
Viele Datenpunkte werden zyklisch übertragen und einzelne Sekunden Alter sind unkritisch.OPC Router Cache
Viele Datenpunkte werden gelesen und der Transfer soll nicht auf jede Antwort warten.Asynchron

Typische Beobachtungen​

BeobachtungUrsache
Der übertragene Wert ist älter als der Wert an der Maschine.Arbeitsweise „OPC Router Cache“, oder die Abtastrate der Anmeldung ist zu groß.
Der übertragene Wert weicht vom Triggerwert ab.Arbeitsweise „Asynchron“ oder „Synchron“: Das Transferobjekt liest den Datenpunkt erneut.
Die Last auf dem OPC-Server steigt mit jedem Transfer deutlich.Arbeitsweise „Synchron“, oder ein Transferobjekt, das immer direkt liest (Multiple OPC Read, OPC Batch Read).
Die Umstellung auf „Synchron“ ändert nichts.Das verwendete Transferobjekt folgt der Einstellung nicht – siehe Übersicht.