Mathematische Funktionen

TwinCAT hat eigene mathematische Funktionen implementiert, weil die math.h Implementierung von Microsoft nicht echtzeitfähig ist.
Diese Funktionen sind in TcMath.h deklariert, einem Teil von TwinCAT SDK. Die Operationen werden für x64 mittels SSE ausgeführt; auf x86 Sytemen wird die FPU verwendet.

Mathematische Funktionen 1:

TwinCAT 3.1 4018 und früher

TwinCAT 3.1 4018 stellte eine fpu87.h mit den gleichen Methoden bereit. Diese existiert weiterhin, und leitet auf die TcMath.h um.

Mathematische Funktionen 2: Bereitgestellte Methoden

Name

Beschreibung

sqr_

Quadriert.

sqrt_

Berechnet die Quadratwurzel.

sin_

Berechnet den Sinus.

cos_

Berechnet den Kosinus.

tan_

Berechnet den Tangens.

atan_

Berechnet den Winkel, dessen Tangens der angegebene Wert ist.

atan2_

Berechnet den Winkel, dessen Tangens der Quotient zweier angegebener Werte ist.

asin_

Berechnet den Winkel, dessen Sinus der angegebene Wert ist.

acos_

Berechnet den Winkel, dessen Kosinus der angegebene Wert ist.

exp_

Berechnet e hoch angegebene Potenz.

log_

Berechnet den Logarithmus eines angegebenen Werts.

log10_

Berechnet den Logarithmus zur Basis 10 eines angegebenen Werts.

fabs_

Berechnet den Absolutwert.

fmod_

Berechnet den Restbetrag.

ceil_

Berechnet die kleinste Integerzahl die größer oder gleich der angegebenen Zahl ist.

floor_

Berechnet die größte Integerzahl die kleiner oder gleich der angegebenen Zahl ist.

pow_

Berechnet eine angegebene Zahl hoch angegebener Potenz.

sincos_

Berechnet den Sinus und den Kosinus von x.

fmodabs_

Berechnet den Absolutbetrag, der die euklidische Definition der mod-Operation erfüllt.

round_

Berechnet einen Wert und rundet ihn auf den nächsten Integer.

round_digits_

Berechnet einen gerundeten Wert mit einer festgelegten Anzahl Dezimalstellen.

coubic_

Berechnet die Kubikzahl.

ldexp_

Berechnet eine reelle Zahl (double) aus Mantisse und Exponent.

ldexpf_

Berechnet eine reelle Zahl (float) aus Mantisse und Exponent.

sinh_

Berechnet den Hyperbelsinus des angegebenen Winkels.

cosh_

Berechnet den Hyperbelkosinus des angegebenen Winkels.

tanh_

Berechnet den Hyperbeltangens des angegebenen Winkels.

finite_

Ermittelt, ob der angegebene Wert endlich ist.

isnan_

Ermittelt, ob der gegebene Wert keine Zahl ist (NAN „not a number“).

rands_

Berechnet eine Pseudo-Zufallszahl zwischen 0 und 32767. Der Parameter holdrand wird zufällig gesetzt und bei jedem Aufruf geändert.

Anmerkungen

Die Funktionen haben die Endung „_“ (Unterstrich), um sie als TwinCAT Implementierung zu kennzeichnen.
Die meisten sind analog math.h von Microsoft konzipiert, nur für den Datentyp Double.

Siehe auch

MSDN Dokumentation von Funktionen analog math.h.