CalculatorTool

Mit dem CalculatorTool können Berechnungen bzw. logische Abfragen durchgeführt werden. Im Gegensatz zu C# oder VB-Skripten sind hier keine Programmierkenntnisse notwendig.

../../../_images/calculatorTool.png

Inputs

Die Inputs können als Terminal per Drag&Drop auf das Tool hinzugefügt werden. Dabei werden folgende Datentypen unterstützt:

System.Int32
System.Double
System.Boolean
System.Int32[]
System.Double[]
System.VisionPro.CogToolResultConstant

Alternativ können Inputs im Tool Editor definiert werden:

../../../_images/calculatorTool-inputs.png
  1. Plus-Symbol: Manuelles Hinzufügen eines Input-Terminals

  2. Minus-Symbol: Entfernen des ausgewählten Input-Terminals

  3. Pfeil nach oben/unten: Ändern der Sortierreihenfolge

  4. Name: Name des Input-Terminals

  5. Abbreviation: Abkürzung des Namens, der bei den Ouput-Formeln alternativ zum Namen verwendet werden kann.

  6. Value: Aktueller Wert des Terminals

  7. Type: Datentyp des Terminals

Outputs

Unter „Outputs“ werden die Ergebnisse des Tools angelegt. Dabei können sowohl Zwischenergebnisse ohne Output-Terminal als auch Endergebnisse mit Output-Terminal definiert werden.

../../../_images/calculatorTool-outputs.png
  1. Plus-Symbol: Manuelles Hinzufügen eines Outputs

  2. Minus-Symbol: Entfernen des ausgewählten Outputs

  3. Pfeil nach oben/unten: Ändern der Sortierreihenfolge.

  4. Name: Name des Outputs

  5. Formula: Eingabe einer Formel zur Berechnung des Ausgabewertes (siehe weiter unten)

  6. Type: Datentyp des Outputs

  7. Value: Aktueller Wert des Outputs

  8. IsTerminal: Für den Output soll ein Terminal erzeugt werden.

Warnung

Die Outputs werden in der Sortierreihenfolge berechnet. Bitte bei der Sortierung darauf achten, dass Zwischenergebnisse vor der ersten Verwendung ermittelt werden müssen.

Eingabe der Formel

Im Feld „Formula“ werden die Formeln zu Berechnung der Output-Werte angegeben. Über das Kontextmenü (Rechts-Klick auf das „Formula“-Feld) sind alle möglichen Operatoren, Konstanten und Funktionen aufgelistet und können ausgewählt werden:

../../../_images/calculatorTool-menu.png

Außerdem stehen alle Inputs (mit dem unter „Abbreviation“ eingegebenen Namen) zur Verfügung. Outputs, die vor dem aktuellen Wert berechnet werden, können ebenfalls verwendet werden.

Beispiel für Inputs

../../../_images/calculatorTool-inputs-example.png

Beispiel für Outputs

../../../_images/calculatorTool-outputs-example.png

Hinweis

  1. Das Dezimaltrennzeichen ist in allen Feldern ein Punkt.

  2. Übergabeparameter von Funktionen werden mit Kommas getrennt.

  3. Leerzeichen zwischen den Operatoren werden ignoriert.

  4. Es können mehrere Funktionen ineinander verschachtelt werden.

  5. Es ist möglich zwischen Datentypen zu konvertieren, d.h. einem Ausgang einen anderen Datentypen als das zu erwartende Ergebnis zuweisen. Dabei ist zu beachten, dass z.B. bei der Konvertierung von Double nach Integer die Nachkommastellen abgeschnitten und nicht gerundet werden!

  6. Bei einer If-Bedingung müssen drei Parameter übergeben werden. Der Erste stellt die Bedingung dar, der Zweite den Wert bei Zutreffen der Bedingung und der Dritte den Wert bei nicht Zutreffen der Bedingung.

Verfügbare Konstanten, Operatoren, Funktionen

Konstante

Beschreibung

e

Eulersche Zahl

pi

Kreiszahl Pi

Außerdem stehen alle Inputs (über die Abkürzung) und die Outputs oberhalb des aktuellen Eintrages zur Verfügung.

Operator

Beschreibung

+

Addieren, positives Vorzeichen

-

Subtraieren, negatives Vorzeichen

(

Geöffnete Klammer

)

Geschlossene Klammer

*

Multiplizieren

/

Dividieren

^

XOR-Operator

!=

Ungleich

<

Kleiner

<=

Kleiner gleich

==

Gleich

>

Größer

>=

Größer gleich

if(,,)

If-Bedingung -> if(<Bedingung>, <Wahr>, <Falsch>)

Boolsche Funktionen

Funktion

Beschreibung

and(,)

Logischer UND-Operator

neg(,)

Logisch negieren

or(,)

Logischer ODER-Operator

xor(,)

Logischer XOR-Operator

Winkelfunktionen

Funktion

Beschreibung

DegreeToRad()

Umwandeln von Winkeln in Grad nach Bogenmaß

RadToDegree()

Umwandeln von Winkeln in Bogenmaß nach Grad

RadToMinus45Plus45()

Umwandeln von Winkeln in Bogenmaß nach Grad und verschieben in den Wertebereich [-45°; 45°]

RadToMinus180Plus180()

Umwandeln von Winkeln in Bogenmaß nach Grad und verschieben in den Wertebereich [-180°; 180°]

RadToZero360()

Umwandeln von Winkeln in Bogenmaß nach Grad und verschieben in den Wertebereich [0°; 360°]

RadToZeroAngle(,)

Umwandeln von Winkeln in Bogenmaß nach Grad und verschieben in den Wertebereich [0°; <Vorgabe>°]

RadToMinusAnglePlusAngle(,)

Umwandeln von Winkeln in Bogenmaß nach Grad und verschieben in den Wertebereich [-<Vorgabe>°; <Vorgabe>°]

Mathematische Funktionen

Funktion

Beschreibung

abs()

Absolutwert einer Zahl, Betrag

ceil()

Aufrunden

cos()

Kosinus

cosh()

Kosinus-Hyperbolikus

cot()

Cotangens

exp()

Exponential-Funktion

floor()

Abrunden

ln()

Natürliche Logarithmus

log(,)

Logarithmus -> log(<Zahl>, <Basis>)

max(,)

Maximalwert zweier Zahlen -> max(<Zahl1>,<Zahl2>)

min(,)

Minimalwert zweier zahlen -> min(<Zahl1>,<Zahl2>)

pow(,)

Potenzrechnen -> pow(<Zahl>, <Potenz>)

round(,)

Runden einer Zahl -> round(<Zahl>, <Nachkommastellen>)

sin()

Sinus

sinh()

Sinus-Hyperbolikus

sqrt()

Wurzelberechnung

tan()

Tangens

tanh()

Tangens-Hyperbolikus