Zum Hauptinhalt springen

Formel anwenden

Diese Funktion wird auch als Formel bezeichnet.

Sie wird verwendet, wenn der von der PLC gelieferte Rohwert nicht direkt verwendet werden soll, sondern eine Einheitenumrechnung / Nullpunkt-Korrektur / Skalierung durchgeführt werden soll.

Häufige Beispiele:

  • Ein Drucksensor sendet eine Ganzzahl 1638, die tatsächlich 163.8 kPa entspricht → ${VALUE}*0.1
  • Umrechnung von Celsius in Fahrenheit → ${VALUE}*1.8+32
  • Umrechnung von mV in V → ${VALUE}/1000

Wo wird die Formel eingegeben?​

Tragen Sie die Formel im Feld [Formel] des Tag-Registrierungs- bzw. -Änderungsformulars ein. Direkt nach der Registrierung erscheint der umgerechnete Wert im nächsten Erfassungszyklus auf dem Bildschirm.

  • Wenn das Feld leer bleibt, wird der Rohwert unverändert verwendet.
  • Nach einmaliger Eingabe wird die Formel bei jeder weiteren Erfassung automatisch angewendet.

Grundlegende Verwendung​

${VALUE} bezeichnet den Rohwert, der gerade von der PLC gelesen wurde.

Gewünschte AktionFormelEingabe → Ausgabe
Unverändert verwenden(leer)100 → 100
Mit 10 multiplizieren${VALUE}*105 → 50
Durch 10 teilen (Ganzzahl → Dezimalzahl)${VALUE}*0.11638 → 163.8
Durch 1000 teilen (mV → V)${VALUE}/10003300 → 3.3
Addieren (Celsius → Kelvin)${VALUE}+273.1525 → 298.15
Subtrahieren (Nullpunkt-Korrektur)${VALUE}-1001024 → 924
Umrechnung in Fahrenheit${VALUE}*1.8+3225 → 77.0
Quadrieren${VALUE}*${VALUE} oder ${VALUE}^25 → 25
Quadratwurzelsqrt(${VALUE})144 → 12.0
Umdrehungen pro Minute → Hz${VALUE}/601800 → 30.0

Auf Werte anderer Tags verweisen​

Der letzte Wert eines anderen Tags kann im Format ${태그ID} abgerufen werden. Dies ist praktisch, wenn der Nullpunkt in einem separaten Tag verwaltet wird oder ein Korrekturfaktor separat gespeichert werden soll.

Gewünschte AktionFormel
Anderen Tag als Nullpunkt subtrahieren${VALUE}-${TAG_ZERO}
Zwei Tags addieren${VALUE}+${TAG_OFFSET}
Korrektur (gain × x + offset)${VALUE}*${TAG_GAIN}+${TAG_OFFSET}

Hierbei sind TAG_ZERO, TAG_OFFSET und TAG_GAIN die Tag-IDs anderer Tags. Diese müssen vorher als separate Tags registriert sein.

Wenn das referenzierte Tag noch nicht existiert

Wenn ${TAG_ZERO} geschrieben wurde, aber dieses Tag noch nie erfasst wurde, schlägt die Berechnung fehl (es erscheint eine Fehlermeldung wie „Berechnungsvariablenwert nicht vorhanden“ beim jeweiligen Tag). Nachdem das Gateway einmal durchgelaufen ist, normalisiert sich dies automatisch – warten Sie einfach einen Moment.


Verfügbare Funktionen​

Neben der Grundrechenarten können auch häufig verwendete mathematische Funktionen genutzt werden.

TypNotationBeispiel
Grundrechenarten+, -, *, /${VALUE}+1
Potenzierung^${VALUE}^2 (= Quadrat)
Klammern(, )(${VALUE}+10)*2
Quadratwurzelsqrt(...)sqrt(${VALUE})
Kubikwurzelcbrt(...)cbrt(${VALUE})
Natürlicher Logarithmusln(...)ln(${VALUE})
Dekadischer Logarithmus (Basis 10)log(...)log(${VALUE})
Sinus/Kosinus/Tangens (Bogenmaß)sin, cos, tansin(${VALUE})
Umkehrfunktionen der Trigonometrieasin, acos, atanatan(${VALUE})
Hyperbolische Funktionensinh, cosh, tanhtanh(${VALUE})
Konstantenpi, e${VALUE}*pi/180 (Grad → Bogenmaß)

Um Grad in Bogenmaß umzurechnen, multiplizieren Sie mit *pi/180. Beispiel: sin(${VALUE}*pi/180).


Anwendbare Datentypen​

Die Formel wird nur auf numerische Tags (Float, Double, Integer, Long) angewendet.

  • Bei String- und Boolean-Tags wird die Formel ignoriert und der Rohwert unverändert ausgegeben.
  • Wenn das korrigierte Ergebnis den ganzzahligen Wertebereich überschreitet, ändern Sie den Datentyp auf Float oder Double.

Häufige Fehler​

Falsches MusterProblemKorrektes Muster
VALUE * 0.1${...} Notation fehlt${VALUE}*0.1
${VALUE}*0,1Komma verwendet (Tippfehler bei koreanischer Tastatur)${VALUE}*0.1 (Punkt verwenden)
if(${VALUE}>0, ...)Bedingte Anweisungen nicht unterstütztFalls Bedingungen erforderlich, in separatem System behandeln
${VALUE} & 0xFFBitweise Operationen nicht unterstütztIn eine arithmetisch mögliche Form umwandeln

Häufig gestellte Fragen​

F. Wie kann ich überprüfen, ob die Formel angewendet wurde?​

Der Wert, der im Feld [Aktueller Wert] des Tags angezeigt wird, ist der umgerechnete Wert. Wenn Sie den Rohwert sehen möchten, registrieren Sie dieselbe Adresse als separates Tag ohne Formel und vergleichen Sie diese.

F. Ich möchte zwei Einheiten gleichzeitig ausgeben (z. B. Celsius und Fahrenheit)​

Erstellen Sie zwei Tags, die auf dieselbe PLC-Adresse zeigen, und geben Sie bei dem einen den Wert unverändert ein, bei dem anderen eine Umrechnungsformel wie ${VALUE}*1.8+32.

F. Das Ergebnis ist NaN / Infinity​

  • Division durch null → Infinity
  • Quadratwurzel einer negativen Zahl → NaN

Es ist sehr wahrscheinlich, dass der Rohwertbereich der PLC von der Erwartung abweicht. Prüfen Sie zuerst den Rohwert ohne Formel.

F. Ich benötige komplexere Verarbeitung (bedingte Verzweigung / mehrere Variablen / externe Daten)​

Mit einer Formel allein ist dies schwierig. Es wird empfohlen, die Nachverarbeitungsstufe der PlantPulse-Plattform oder ein separates Datenverarbeitungswerkzeug (z. B. Node-RED) zu verwenden. Siehe hierzu den Node-RED-Abschnitt auf der Seite Anwendungsverwaltung.

Eine vollständige Funktions- und Variablenreferenz finden Sie auf der Seite Erweitert — Formula-Referenz.