zum Beispiel: Taupunkt berechnen
Die MessPC Software ermöglicht ab der Version 3 die Berechnung von Werten mit eigenen Formeln, die frei editiert werden können
Als Eingangsgrößen können dabei sowohl Sensoren <input.1> ... <input.28>
als auch Werte in Anzeigen <display.1> ... <display.12> dienen.
Die Zuordnung zu den Sensoren ist am Ende dieses Abschnitts beschrieben
Ein einfaches Beispiel:
Am Port com1.1 und com1.2 sind Temperatursensoren angeschlossen.
Diese messen Vor- und Rücklauftemperatur einer Heizungs- oder Solaranlage.
Angezeigt werden soll die Differenz zwischen den beiden Temperaturen.
Dazu wird folgende Formel eingetragen:
<input.13>-<input.14>
Ein weiteres Beispiel:
An com1 wird die Spannung, an com2 der Strom gemessen
(das ist ab Version 3 der MessPC Software mit Digitalmultimetern möglich).
In der Anzeige soll die Leistung dargestellt werden. Als Formel wird
in diesem Display eingetragen:
<input.13>*<input.17>
Ein komplexeres Beispiel:
Aus Temperatur und Luftfeuchte soll der Taupunkt berechnet werden.
(Die Berechnungsformel geht auf
http://www.wettermail.de/wetter/feuchte.html
und
http://www.thermotech.de/berechnung/taupunkt.php zurück)
(eine Umsetzung in PHP, die Messwerte über das Netz ausliest und auch Dampfdruck, Sättigungsdruck und absolute Feuchte berechnet, finden sie
hier)
Die Temperatur wird im Display 1, die Luftfeuchte im Display 2 angezeigt.
Der Taupunkt in Grad Celsius wird in der MesspC Software mit folgender Formel berechnet:
(234.67*0.434292289*log(6.1*exp((7.45*<display.1>)/(234.67+<display.1>)*
2.3025851)*<display.2>/100/6.1))/(7.45-0.434292289*log(6.1*exp((7.45*
<display.1>)/(234.67+<display.1>)*2.3025851)*<display.2>/100/6.1))
Erläuterungen zu den verwendbaren Formeln:
Der mathematische Ausdruck darf eine Reihe festgelegter Zeichen und
Zeichenfolgen beinhalten.
0 ... 9 Ziffer
. Dezimalpunkt (Komma wird auch akzeptiert)
( runde Klammer auf
) runde Klammer zu
{ geschweifte Klammer auf
} geschweifte Klammer zu
+ Plus
- Minus
* Multiplikation
/ Division
^ Potenz
sqrt(~) Quadratwurzel
log(~) Logarithmus zur Basis e (natürlicher Logarithmus)
lg2(~) Logarithmus zur Basis 2
lg10(~) Logarithmus zur Basis 10
exp(~) Expotential (Basis e)
ep2(~) Expotential (Basis 2)
ep10(~) Expotential (Basis 10)
sin(~) Sinus
cos(~) Cosinus
tan(~) Tangens
cot(~) Cotangens
arcsin(~) ArcusSinus
arccos(~) ArcusCosinus
arctan(~) ArcusTangens
arccot(~) ArcusCotangens
sinh(~) SinusHyperbolicus
cosh(~) CosinusHyperbolicus
tanh(~) TangensHyperbolicus
coth(~) CotangensHyperbolicus
arsinh(~) AreaSinusHyperbolicus
arcosh(~) AreaCosinusHyperbolicus
artanh(~) AreaTangensHyperbolicus
arcoth(~) AreaCotangensHyperbolicus
(~)! Fakultät; z.B. (5)! = 1*2*3*4*5 = 120
(~)° Umwandlung von Grad in Bogenmaß; z.B. (90)° = 1.5707...
rtg(~) Umwandlung von Bogenmaß in Grad; z.B. rtg(Pi) = 180
abs(~) Absolutwert; z.B. abs(-1.5) = 1.5
ru(~) rundet Wert auf ganze Zahl; z.B. ru(3.45) = 3, ru(5.0) = 5
ruup(~) rundet Wert auf ganze Zahl auf; z.B. ruup(0.08) = 1,
ruup(5.0) = 5
rudn(~) rundet Wert auf ganze Zahl ab; z.B. rudn(-1.2) = -2,
rudn(5.0) = 5
Pi Konstante = 3.14159.... = Kreizzahl
e Konstante = 2.71828.... = eulersche Zahl
X Standardvariable für einen numerischen Wert, die erst
mit dem Aufruf
von >fxp_CalcForm< durch eine reelle Zahl ersetzt wird.
< linke Spitzklammer für den Beginn einer definierten
Variable
> rechte Spitzklammer für das Ende einer definierten
Variable
Innerhalb von Spitzklammern können für Variablen die Zeichen frei gewählt
werden
Als Variablen können verwendet werden: <input.1> bis <input.28> für die
gemessenen Werte und <display.1> bis <display.12> für die angezeigten Werte.
Dabei gilt folgende Zuordnung zu den Schnittstellen und Displays:
<input.1> = lpt1.1
<input.2> = lpt1.2
<input.3> = lpt1.3
<input.4> = lpt1.4
<input.5> = lpt2.1
<input.6> = lpt2.2
<input.7> = lpt2.3
<input.8> = lpt2.4
<input.9> = lpt3.1
<input.10> = lpt3.2
<input.11> = lpt3.3
<input.12> = lpt3.4
<input.13> = com1.1
<input.14> = com1.2
<input.15> = com1.3
<input.16> = com1.4
<input.17> = com2.1
<input.18> = com2.2
<input.19> = com2.3
<input.20> = com2.4
<input.21> = com3.1
<input.22> = com3.2
<input.23> = com3.3
<input.24> = com3.4
<input.25> = com4.1
<input.26> = com4.2
<input.27> = com4.3
<input.28> = com4.4
<display.1> = display.1
<display.2> = display.2
<display.3> = display.3
<display.4> = display.4
<display.5> = display.5
<display.6> = display.6
<display.7> = display.7
<display.8> = display.8
<display.9> = display.9
<display.10> = display.10
<display.11> = display.11
<display.12> = display.12
Der Formelparser ist eine Entwicklung von Norbert Spörl und wurde in die MessPC Software integriert.
Mehr Details für Softwareentwickler dazu unter
http://home.t-online.de/home/NSp_ware/