Operatoren und Funktionen

<< Click to Display Table of Contents >>

Navigation:  Plug-ins > Mitgelieferte User-Plug-ins > Formel > Formel-Editor >

Operatoren und Funktionen

 

Das Formel Plug-in kennt eine Reihe mathematischer, logischer und bitweiser Operatoren. Weiterhin werden einige mathematische sowie CanEasy-spezifische Funktionen unterstützt.

 

 

Mathematische Operatoren

 

Operator

Alternativ-Schreibweise

Beschreibung

+

ADD

Addition

-

SUB

Subtraktion

*

MUL

Multiplikation

/

DIV

Division

%

MOD

Rest einer Ganzzahldivision

!


Fakultät

 

 

Logische Operatoren

 

Operator

Alternativ-Schreibweise

Beschreibung

==

EQ

Gleichheit

!=

NE

Ungleichheit

>


Größer als

>=

GE

Größer oder gleich

<


Kleiner als

<=

LE

Kleiner oder gleich

||

OR

ODER

&&

AND

UND

!

NOT

NICHT

 

 

Bitweise Operatoren

 

Operator

Alternativ-Schreibweise

Beschreibung

!

BNOT

Bitweise Negierung

|

BOR

Bitweises ODER

&

BAND

Bitweises UND

^

BXOR

Bitweises Exklusiv-ODER

 

 

Mathematische Funktionen

 

Funktion

Beschreibung

abs(Wert)

Absolutwert

arcosh(Wert)

Areacosinus Hyperbolicus

arccos(Wert)

Arcuscosinus

arcsin(Wert)

Arcussinus

arsinh(Wert)

Areasinus Hyperbolicus

arctan(Wert)

Arcustangens

artanh(Wert)

Areatangens Hyperbolicus

sin(Wert)

Sinus

sinh(Wert)

Sinus Hyperbolicus

cos(Wert)

Cosinus

cosh(Wert)

Cosinus Hyperbolicus

tan(Wert)

Tangens

tanh(Wert)

Tangens Hyperbolicus

deg(Wert)

Radianten in Grad

ln(Wert)

Logarithmus naturalis

log(Wert)

Logarithmus decimalis

rad(Wert)

Grad in Radianten

sqr(Wert)

Quadratwurzel

 

Die trigonometrischen Funktionen erwarten das Argument in Radianten (0 bis 2π)

 

 

CAN-Funktionen

 

Funktion

Beschreibung

Sig(Pfad)

Dieser Funktion wird der komplette Pfad eines Signals übergeben. Beim Lesezugriff erhält man als Rückgabewert den Wert des Signals, beim Schreibzugriff (Zuweisung) wird der Wert des Signals verändert.

MsgByte(Pfad, Byteposition)

Mit dieser Funktion wird ein komplettes Byte der Botschaft (Pfad) an die Position Byteposition übergeben oder von der angegebenen Position gelesen.

MsgId(Pfad)

Diese Funktion gibt die Botschafts-ID der in Pfad genannnten Botschaft zurück.

UV,Var,Env

Dieser Funktion wird der komplette Pfad einer Umgebungs-Variablen übergeben. Beim Lesezugriff erhält man als Rückgabewert den Wert der Variable, beim Schreibzugriff (Zuweisung) wird der Wert der Variable geändert.

Attribute,Property,
Attr, Prop

Dieser Funktion wird der komplette Pfad eines Attributes übergeben. Beim Lesezugriff erhält man als Rückgabewert den Wert des Attributs, beim Schreibzugriff (Zuweisung) wird der Wert des Attributs geändert.

Val

Dieser Funktion wird der komplette Pfad eines beliebigen Werte-Objekts übergeben. (Beispiel: Signal, Variable, Attribut).

 

 

Rechenregeln

Es gelten die allgemeinen mathematischen Rechenregeln (Punkt vor Strich etc.). Durch das Setzen runder Klammern können davon abweichende Auswertungsreihenfolgen definiert werden.

 

Beispiele:

a = 5 + 3 * 2;

/* a erhält den Wert 11 */


b = (5 + 3) * 2;

/* b erhält den Wert 16 */

 

 

Cast-Operatoren

Weiterhin gibt es einen expliziten Cast-Operator für die Datentypen bool, int und double.

 

Beispiele:

a = bool (n);

/* a wird zu 1 wenn n ungleich 0 ist, sonst 0 */


b = int (d);

/* b wird zum ganzzahligen Anteil von d */


c = double (b);

/* c wird zur nächst möglichen Darstellung von b im Datentyp double */

 

 

Variablen

Alle Worte, die keine Schlüsselworte sind, können als Bezeichner für Variablen genutzt werden. Eine solche Variable behält ihren letzten Wert bei, auch über Simulationsstarts hinweg, d.h. es ist eine explizite Initialisierung notwendig, damit ein definierter Wert vorliegt.