Die Wertkette

Die typisierte Umrechnung, die jeder Tag teilt, vom Rohwert zum technischen Wert, die zwei Regeln für ungültige Messwerte, die Aktionen bei Werten außerhalb des Bereichs, die Umformungen bei Boolean und String und wie ein Schreibvorgang die Stufen rückwärts durchläuft.

Als Markdown ansehen

Jeder Tag teilt eine typisierte Kette der Umrechnung, die aus dem Rohwert den technischen Wert macht. Die Kette wohnt im Tag selbst: Die Karte Umrechnung auf der Seite Tags und die Tabelle des Geräts zeigen dieselben Stufen, und der Wert, der in Logic, auf Dashboards, in der Aufzeichnung und am öffentlichen OPC UA-Knoten landet, ist der, der die letzte Stufe verlässt.

Zuerst der Rohwert

Die Kette beginnt beim Rohwert, gewandelt in den Datentyp des Tags, nicht beim eigenen Objekt des Treibers: Ein Treiber, der einem Tag vom Typ Int32 3,7 reicht, liest oben auf der Karte 4, und jede Stufe rechnet mit dieser 4 weiter. Ein Messwert, den der erklärte Typ überhaupt nicht halten kann (Text, wo eine Zahl erklärt ist), ist ein leerer Messwert, nie eine ersatzweise Null. Am anderen Ende wird der technische Wert zurück in denselben Typ gewandelt, ein Tag vom Typ Float rundet also auf das, was ein Float darstellen kann.

Die Stufen

Bei numerischen Typen ist die Kette eine Reihe von Stufen, jede mit ihrem eigenen Kontrollkästchen; eine ausgeschaltete Stufe reicht ihre Eingabe durch, und die Karte zeigt am Ende jeder Stufe den laufenden Wert, sodass Sie einen Messwert live durch die Rechnung verfolgen können:

Stufe Standard Wirkung
Skalierung ein skaliert = roh × Faktor + Versatz. Der Faktor ist standardmäßig 1, der Versatz 0. Ein Faktor von 0 wird dort abgelehnt, wo er eingetippt wird ("Ein Skalierungsfaktor von 0 würde jeden Messwert auf null setzen. Geben Sie den Faktor ein, mit dem multipliziert wird (1 behält den Wert)."), weil er jeden Messwert auf null setzen würde und die Vorschau und die gespeicherte Kette nie auseinandergehen dürfen.
Kalibrierung aus Ein zweites lineares Paar, auf den skalierten Wert angewendet: kalibriert = skaliert × Faktor + Versatz. Getrennt von der Skalierung gehalten, damit eine Justage vor und nach der Prüfung die Rechnung des Messbereichs nicht stört, und über eine eigene Berechtigung geregelt; siehe Kalibrierung. Ein Faktor von 0 wird auf dieselbe Weise abgelehnt.
Ungültiger Messwert immer gezeigt Zwei Regeln für Messwerte, die keine brauchbare Zahl tragen (unten). Kein Kontrollkästchen: Sein "Aus" ist selbst eine der Antworten.
Grenzen aus Beurteilt den Wert gegen Min (standardmäßig 0) und Max (standardmäßig 100) und wendet die gewählte Aktion bei Werten außerhalb des Bereichs an (unten). Die Schranken werden vereinheitlicht, ein Min über Max scheitert also nie: Die kleinere der beiden ist die Untergrenze.
Nachkommastellen ein Rundet auf Nachkommastellen Stellen, standardmäßig 2, angenommen von 0 bis 15.

Beide linearen Stufen tragen einen Assistenten Zwei Punkte, der das Paar aus zwei Referenzpunkten berechnet; er ist Schritt für Schritt auf Kalibrierung beschrieben.

Das Gerät hat ohne Zahl geantwortet

Ein offenes Thermoelement, ein Kanal ohne Fühler: Der Messwert ist angekommen, die Anlage spricht, aber die Messung ist NaN. Nur bei numerischen Tags, und die Qualität bleibt in beiden Fällen gut:

Regel Wirkung
Durchreichen (Standard) Das NaN reist unberührt weiter und überspringt die Stufe Grenzen ganz, welche Aktion diese Stufe auch trägt: Grenzen beurteilen Zahlen, und hier gibt es keine. Unendlich ist kein NaN und läuft weiterhin am Rand des Bereichs an.
Durch einen Wert ersetzen Die erklärte Zahl tritt ab dieser Stufe an die Stelle und geht wie jeder Messwert in Grenzen, Nachkommastellen und die abschließende Wandlung ein.

Das Gerät hat nicht geantwortet

Eine Zeitüberschreitung, ein durchtrenntes Kabel, eine ausgeschaltete Anlage, eine Ausnahme im Treiber. Bei jedem Typ, wobei einem Tag, der einen Zeitstempel, eine Kennung oder einen Block Bytes liest, nur die ersten beiden Regeln angeboten werden: Ein erklärter Ersatzwert ist eine Zahl, und keiner dieser drei lässt sich aus einer machen.

Regel Wirkung
Den Fehler zeigen (Standard) Der Tag liest leer, und seine Qualität wird schlecht, der Fehlschlag zeigt sich also überall zugleich.
Den letzten guten Wert halten Der letzte Messwert, der angekommen ist, bleibt ohne Verfall stehen, bis die Anlage wieder antwortet. Die Zeitstempel zeigen weiter auf diesen Messwert, denn dann wurde die Zahl gemessen. Vor dem ersten Messwert wird nichts gehalten; der Tag liest dann leer.
Durch einen Wert ersetzen Die erklärte Zahl wird so dargestellt, wie sie erklärt ist: Es gibt keinen Messwert, der die Stufen durchlaufen könnte, sie wird also weder skaliert noch kalibriert noch gerundet, sondern nur in den Typ des Tags gewandelt. Angeboten bei jedem Typ, in den die Wandlung eine Zahl trägt, also bei jedem Typ außer DateTime, Guid und ByteString.

Ein Ersatzwert ist nie stumm: Die Karte Laufender Wert schreibt, warum ("Letzter guter Wert, gehalten, solange das Gerät nicht antwortet."), der Punkt für den laufenden Wert wird gelb, und der eingebettete OPC UA-Server veröffentlicht den Wert mit einem Status für Ersatzwerte statt mit einem einfachen Good. Er bleibt so lange veröffentlicht, wie die Regel es verlangt: Ein Gerät, das weiterhin nicht antwortet, lässt einen externen Client nicht zwischen Ersatzwert und Lesefehler hin und her springen, was dieser Client liest, ist also das, was der Bereich zeigt. Der Messwert selbst nimmt den Punkt in dem Augenblick zurück, in dem das Gerät antwortet, und ebenso den Ersatzwert auszuschalten. Einen Ersatzwert zu wählen heißt, Verfügbarkeit zu wählen, Alarme und Ausdrücke beurteilen den Punkt also weiter, als hätte er einen Wert; was das kostet, wird offen zurückgezahlt, denn das Journal hält den fehlgeschlagenen Lesevorgang weiterhin fest, und der Zustand des Geräts meldet es weiterhin als offline. Ein Ersatzwert beantwortet "Was soll dieser Punkt zeigen", nie "Ist die Anlage da". Vor einem erklärten Ersatzwert außerhalb der eingeschalteten Grenzen wird dort gewarnt, wo er eingetippt wird: "Außerhalb der Grenzen [0, 100]: der Wert, der einen fehlgeschlagenen Lesevorgang ersetzt."

Werte außerhalb des Bereichs

Die Aktionen der Stufe Grenzen für einen Wert außerhalb von Min und Max:

Aktion Wert wird Qualität
Kein Wert Eine Lücke (kein Wert). gut
Begrenzen (Standard) Die nächstgelegene Schranke. gut
Fehler und kein Wert Eine Lücke. schlecht (Grenzverletzung)
Fehler und begrenzen Die nächstgelegene Schranke. schlecht (Grenzverletzung)
NaN NaN. gut. Nur bei Tags vom Typ Float und Double angeboten, deren Typ es darstellen kann; es lässt einen Kanal von Process den ungültigen Wert einordnen. Eine Aktion NaN, die ein Schreibvorgang eines Agenten oder eine eingespielte Sicherung an einem ganzzahligen Tag hinterlassen hat, fällt auf die Lücke Null zurück.

Eine Grenzverletzung fließt in die wirksame Qualität des Tags ein, der Punkt für den laufenden Wert, Ausdrücke in Eigenschaften und Alarme sehen den Wert außerhalb der Grenzen also ohne weiteres Zutun als schlecht, und die Karte Umrechnung schreibt "Der Wert 130 liegt außerhalb der Grenzen [0, 100]." Es bleibt ein Zustand des Prozesses und kein Problem der Verbindung, und der Zustand des Geräts zählt es deswegen nicht als offline.

Boolean, String und andere Typen

Nicht numerische Typen haben ihre eigenen Umformungen auf derselben Karte Umrechnung:

  • Boolean: Invertieren meldet die logische Negation des Rohwerts.
  • String: Beginn des Ausschnitts (ab 0) und Länge schneiden ein Fenster aus der rohen Zeichenkette; eine leere Länge läuft bis zum Ende, und Schranken außerhalb des Bereichs werden begrenzt, statt fehlzuschlagen.
  • Jeder andere Typ (DateTime, Guid, ByteString) geht unverändert durch und zeigt keine Karte Umrechnung.

Den Fehler zu zeigen und den letzten guten Wert zu halten gilt bei jedem Typ; durch einen Wert zu ersetzen wird überall dort angeboten, wo eine erklärte Zahl zu einem Messwert werden kann, ein Tag vom Typ DateTime, Guid oder ByteString führt es also nicht auf. Die NaN-Regel gilt nur bei numerischen Tags.

Ein Schreibvorgang läuft die Kette rückwärts

Das Schreibfeld auf der Karte Laufender Wert nimmt einen technischen Wert und durchläuft die eingeschalteten, umkehrbaren Stufen rückwärts, der Reihe nach: auf Min und Max begrenzen, wenn Grenzen eingeschaltet ist (ein Schreibvorgang wird immer begrenzt und nie verworfen, welche Aktion bei Grenzverletzung auch eingestellt ist), die Kalibrierung herausrechnen ((Wert − Versatz) ÷ Faktor), die Skalierung auf dieselbe Weise herausrechnen und dann in den Typ des Tags wandeln. Das Runden verliert Information und wird nicht rückgängig gemacht. Eine Eingabe vom Typ Boolean wendet Invertieren erneut an. Der Ausschnitt einer Zeichenkette betrifft nur die Anzeige, ein Schreibvorgang auf eine Zeichenkette sendet also den ganzen Wert wortgetreu; DateTime, Guid und ByteString gehen durch. Ein Wert, den ein externer OPC UA-Client am öffentlichen Knoten schreibt, ist bereits roh und durchquert nichts davon.