Calc Formula (Modulbaustein)

Dieser Baustein ermöglicht mathematische Berechnungen mit freier Eingabe der Rechenformel

Inhalt dieser Seite
richtet sich an
Experten

Syntax

["CalcFormula",["$Eingang1","$Eingang2,"...","$Eingang_n"], "$Result", "$Formula"]

Funktion

Eingänge

  • ["$In1", "$In2",... ,"$In_n"]: Array der Variablen, die in der Formel verwendet werden.

Ausgänge

  • $Result liefert das Ergebnis der Berechnung zurück (in 32bit float).

Hinweise

  • Dezimalzahlen werden zwingend mit .(Punkt) und nicht mit ,(Komma) getrennt.

  • Die Schreibweise der Variablen in der Formel ist case sensitiv, also X1 (und nicht x1)

  • Ein Fehler in der Formel führt zu dem Ergebnis = 0 und dem Abbruch der gesamten weiteren Custom-Logik (siehe auch Error).

  • Einige Konstanten wie z.B. PI werden unterstützt, Die Schreibweise _pi siehe hier. Zum Zeitpunkt des Verfassen dieses Artikels werden die erweiterten Konstanten wie z.b. _rad nicht unterstützt.

  • Ein vorhandener Eingangsparameter muss nicht in der Formel genutzt werden (das ist beim Debugging von Formelfehlern hilfreich).

  • Mathematische Zeichen müssen gesetzt werden, z.B. 2*X1 (und nicht 2X1)

  • Zahlen zwischen 0 und 1 dürfen ohne die vorangehende 0 geschrieben werden (0.2 = .2), aber das ist eine sehr unschöne Schreibweise und sollte vermieden werden.

  • Leerzeichen in Formeln sind erlaubt und haben keine Auswirkung.

  • Die muparser-Funktionen if(,,) und pow(,) werden nicht unterstützt, siehe auch Besonderheiten weiter unten.

Besonderheiten

  • Dieses Modul nutzt die MuParser Bibliothek. Dadurch können die hier beschriebenen Funktionen genutzt werden.

  • pow(,) wird nicht unterstützt, kann aber einfach durch ^ ersetzt werden
    zB: X1^X2

  • Statt if() kann innerhalb einer Formel eine Fallunterscheidung mittels folgender Schreibweise umgesetzt werden: (X1>0)?X1^X2:0'
    => if(X1>0) THEN X1X2 ELSE 0

  • pow(,) lässt sich bei ganzzahligen Exponenten mit einem Polynomial-Baustein ersetzen.

Praktische Anwendungsbeispiele

  • Berechnung des Lamellenwinkels abhängig vom Sonnenstand mittels Winkelfunktionen.

  • Eintreffwinkel der Sonne auf einen Solarkollektor berechnen

Entsprechendes Logik-Modul

https://elabnet.atlassian.net/wiki/spaces/TSKB/pages/1866006536

2019 - 2024 by Elaborated Networks GmbH / Impressum / Datenschutzerklärung