Funktionsbaustein "Benutzerdefinierte Formel"
Mit dem Funktionsbaustein zur Berechnung einer allgemeinen Formel können die Daten eines oder mehrerer Eingangskanäle einer beliebigen Berechnung unterzogen werden. Beispielsweise kann damit eine Temperaturkompensation erfolgen, indem ein Eingangskanal mit Längendaten mit einem weiteren Eingangskanal mit Temperaturdaten in einer entsprechenden Formel verknüpft werden.
Ein bestimmter Eingangskanal wird in der Formel durch die Variable, die mit 'm' oder 'delta' beginnt und mit der Positionsnummer des Kanals endet, bezeichnet. Beispielsweise wird der erste Eingangskanal durch die Variable 'm1' oder 'delta1' bezeichnet. In eckigen Klammern kann nach der Variablen eine zum Eingangskanal kompatible Einheit angegeben werden, z. B. 'm1[mm]', wenn die Daten des Eingangskanals 'm1' eine Strecke darstellen. Fehlt die Angabe einer Einheit, wird automatisch die Einheit des Eingangskanals eingesetzt, z. B. 'm1[cm]', wenn die Daten des Eingangskanals 'm1' eine Strecke in der Einheit 'cm' darstellen.
Wichtig: Wurde ein Eingangskanal spezifiziert, muss die Formel auch die entsprechende Variable enthalten! Entsprechendes gilt auch für Konstanten.
Unter "Einheit des Ergebnisses" kann die Einheitenkategorie (z. B. "Strecke", "Winkel", "elektrische Spannung" etc.) und die Einheit innerhalb der gewählten Einheitenkategorie, in der die berechneten Werte des Ausgangskanal gegeben sein sollen, angegeben werden. Voreingestellt ist als Einheitenkategorie "Strecke" und als Einheit "m".
Wichtig: Wurde ein Funktionsbaustein einmal gespeichert, lässt sich lediglich noch die Einheit innerhalb der gewählten Einheitenkategorie modifizieren, die Einheitenkategorie selbst ist dann fix.
Hinweis: Werden zwei oder mehr Kanäle durch die Formel miteinander verknüpft, die nicht zu den gleichen Zeitpunkten gemessen wurden, werden die Daten der Kanäle zuvor auf ein gemeinsames Zeitraster gebracht => siehe Messstellen-Eigenschaften unter Tab "Erweitert",
Beginnt eine Variable mit "delta", fließen nicht die Messwerte des entsprechenden Eingangskanals selbst in die Berechnung ein, sondern die Differenzen der Messwerte zur Referenzmessung: 'm_i - m_0', wobei 'm_i' den Messwert zum Zeitpunkt 'i' und 'm_0' den Referenzwert bezeichnet. Hierfür muss also zuvor im Tab "Referenzmessungen" mindestens eine Referenzmessung definiert worden sein.
Mögliche Operationen:
Mathematische Operatoren:
CODE+, -, *, /, %, ...
Vergleichsoperatoren:
CODE<, >, <=, >=, <> (ungleich)
Beliebige Klammerungen
Mathematische Funktionen:
CODEabs(), sin(x), cos(x), tan(x), arcsin(x), arccos(x), arctan(x) pi, e, exp(), ln(), log()
Fallunterscheidungen mit
CODEif(<Bedingung>; <True-Wert>; <False-Wert>)"
Beispiele für gültige Formeln:
- CODE
m1[m] + 1,2345
- CODE
m1[m] + c1
- CODE
2 delta1[m] + c1
- CODE
sqrt(m1[m] + m2[m] * m2[m]
- CODE
if( (m1[m] > 0.5) ; 42; m1[m] )
Mögliche Validierungsfehler:
"Die Einheit V ist nicht mit der Variablen m1 kompatibel." Erscheint, wenn die Einheitenkategorie z. B. eine Strecke ist, man aber eine Formel mit 'm1[V]' spezifiziert hat
"Formel-Variablen und ausgewählte Kanäle sind inkonsistent" - kommt vor, wenn Eingangskanäle ausgewählt wurden, für die in der Formel keine Variable angegeben wurde - oder umgekehrt, und/oder Konstanten nicht definiert wurden.