powered by CADENAS

Manual

Manual

7.8.11.1. Mathematische Funktionen (Merkmalalgorithmus)

[Hinweis] Hinweis

Funktionen können in Bedingungen und Zuweisung von Zahlenvariablen vorkommen.

Beispiel Bedingung:

IF (L1.LT.SQRT(25)) THEN ...

Beispiele Zuweisung von Zahlenvariablen:

D3=LOGL1

A=(B+5)*3-10/2

C=SQRT(A**2+B**2)
Bedingungen

IF () THEN
  VAR = 
ELSE
  VAR = 
ENDIF

Kommandos:

  • IF (....): Zwischen den Klammern () geben Sie die Bedingung ein (z.B. "<Variable>.EQ.10").

  • THEN: Hinter THEN <Variable> = geben Sie den Wert ein, den die Variable annehmen soll, wenn die Bedingung erfüllt wird.

  • ELSE ...: Hinter ELSE <Variable> = steht der Wert für die Variable, falls die Bedingung nicht erfüllt wird.

  • ELSEIF (....): Zwischen IF und ELSE kann eine beliebige Anzahl weiterer Fallunterscheidungen eingefügt werden.

    [Hinweis] Hinweis

    ELSEIF-Schleifen müssen mit einem ELSE abgeschlossen werden.

  • ENDIF: Abschluss der Bedingung

Beispiele mit Werten:

IF (L1.EQ.10) THEN
D3 = 20
ELSE
D3 = 30
ENDIF

IF (L1.EQ.10) THEN 
D3 = 10 
ELSEIF (L1.EQ.20) THEN 
D3 = 20 
ELSE
D3 = 30
ENDIF 
Logische Operatoren:
  • Vergleiche

    .EQ.

    eq ual (gleich)

    .GT.

    g reater t hen (größer als)

    .GE.

    g reater e qual (größer gleich)

    .LT.

    l ower t hen (kleiner als)

    .LE.

    l ower e qual (kleiner gleich)

  • Verknüpfungen

    .AND.

    (beide Bedingungen - rechts und links von .AND. - müssen erfüllt sein)

    .OR.

    (eine der beiden Bedingungen - rechts bzw. links von .OR. - muss erfüllt sein)

    .NE.

    n ot e qual (ungleich)

  • Boolesche Werte

    .TRUE.

    Ein Ausdruck kann gleich "wahr" sein.

    --- .EQ..TRUE. ---

    .FALSE.

    Ein Ausdruck kann gleich "falsch" sein.

    --- .EQ..FALSE. ---
Operator zur Verknüpfung von Strings

Der Operator // ermöglicht es, Variablenwerte mit einem Text (bzw. anderen Variablenwerten) zu verknüpfen.

[Hinweis] Hinweis

Variablen sind ohne $. zu deklarieren.

Beispiele:

TYPE=‘new‘//TYPE

CONC = ABC//'0'//PQR//XYZ

Im PARTdesigner funktioniert die Verwendung von Variablen innerhalb eines Strings:

Beispiele:

C= 'Test --- $A.-$B.'

NENN = '$H.x$B.x$L.'

Dies funktioniert beim ERP-Mapping NICHT, sodass insbesondere hier die Verwendung des // Operators sehr hilfreich ist.

Grundrechenarten

+, -, *, /

plus, minus, mal, geteilt

**

Potenzierung

Mathematische Funktionen

Zahl = ABS (Zahl)

Absolutwert:

Beispiel:

|-3.4| = 3.4

Zahl = INT (Zahl)

Zahl = AINT (Zahl)

INT wandelt die Zahl in einen Integer um.

AINT schneidet die Nachkommastellen ab.

Das Ergebnis von INT ist das gleiche wie bei AINT, solange die Zahl im Bereich von Integer ist, also -2^31 bis 2^31.

Umwandeln in "Integer" / Abschneiden der Nachkommastellen

Beispiel:

AINT(3.1) = 3
AINT(3.9) = 3
AINT(-3.9) = -3

Zahl = ANINT (Zahl)

Zahl = NINT (Zahl)

Die beiden Funktionen sind identisch.

Nächste ganzzahlige reelle Zahl (Rundung)

Beispiel:

ANINT(3.1) = 3
ANINT(3.9) = 4
ANINT(4.5) = 5
ANINT(-3.9) = -4

Zahl = DIM (Zahl,Zahl)

Positive Differenz:

Solange die erste Zahl größer als die zweite ist, wird Zahl 1 - Zahl 2 gerechnet; ansonsten ist das Ergebnis 0.

Beispiel:

DIM(8,4) = 4
DIM(4,8) = 0

Zahl = SQRT (Zahl)

Quadratwurzel

Zahl = EXP (Zahl)

Exponentialfunktion

Zahl = LOG (Zahl)

Natürlicher Logarithmus

Zahl = LOG10 (Zahl)

Logarithmus zur Basis 10

Zahl = MAX (...)

MAX (A1, A2, A3,…) 

Größtwert der Parameter

Zahl = MIN (...)

MAX (A1, A2, A3,…) 

Kleinstwert der Parameter

Zahl = MOD (Zahl,Zahl)

Restberechnung:

A – INT (A/P)*P

Beispiel:

MOD(11,4) = 3

11 - (INT(11/4)*4) = 11 - 2*4 = 3

11 / 4 == 2 Rest 3

Zahl = SIGN (Zahl,Zahl)

Vorzeichenübertragung: |A| signum (B)

SIGN(A,B) bedeutet, dass der Rückgabewert der Wert von A mit dem Vorzeichen von B ist.

Beispiel:

SIGN(10,1)   =  10
SIGN(10,-1)  = -10

SIGN(-10,1)  =  10
SIGN(-10,-1) = -10
Winkelfunktionen

Zahl = SIN (Zahl)

Sinus

Zahl = SINH (Zahl)

Hyperbelsinus

Zahl = COS (Zahl)

Cosinus

Zahl = COSH (Zahl)

Hyperbelcosinus

Zahl = TAN(Zahl)

Tangens

Zahl = TANH(Zahl)

Cosinustangens

Umkehrfunktionen zu oben genannten:

Zahl = ASIN (Zahl)

Arkussinus

Zahl = ACOS (Zahl)

Arkuscosinus

Zahl = ATAN (Zahl)

Arkustangens

Zahl = ATAN2 (Zahl,Zahl)

Arkustangens mit zwei Argumenten

ATAN2 ist eine Erweiterung zu ATAN und wie diese eine Umkehrfunktion der Winkelfunktion Tangens.

Sie nimmt zwei reelle Zahlen als Argumente, im Gegensatz zum normalen Arkustangens, welcher nur eine reelle Zahl zum Argument hat. Damit hat sie genügend Information, um den Funktionswert in einem Wertebereich von 360° (also allen vier Quadranten) ausgeben zu können, und muss sich nicht (wie der normale Arkustangens) auf zwei Quadranten beschränken.

atan2(y,x) gibt den Winkel zwischen der Linie zum Punkt (x,y) und der positiven X-Achse zurück, begrenzt auf (-Pi,Pi].

Das Ergebnis wird in Grad zurückgegeben.

[Hinweis] Hinweis

Bei den Winkelfunktionen spiegelt der Eintrag in Klammer die Gradzahl wider.

Textbezogenen Funktionen:

Zahl = ATOF ('text')

Macht aus einem Text eine Zahl:

Beispiel:

ATOF ('3.2') -> 3.2

LEN ('text')

LEN (Variable)

Länge des Textes:

LEN('abcd')  = 4
LEN(VAR)  = Länge des Textes in der Variable VAR
text = SUBSTR (text,Zahl,Zahl)

Ausschnitt aus einem Text:

Erster Parameter ist der Text; der zweite gibt an, beim wievielten Zeichen der Ausschnitt beginnt; der dritte Parameter gibt die Länge des Ausschnitts an.

Beispiel:

SUBSTR('Hallo Welt',1,5) -> Hallo
SUBSTR('Hallo Welt',7,4) -> Welt

[Hinweis] Hinweis

Folgende Funktionen können nicht verwendet werden: FORMATSTR, FORMATVAL, KFIX

Gewindefunktionen

text = GETTHREADTEXT (Zahl,text,text,Zahl)

Verwendung bei Gewinden:

Mittels folgendem Ausdruck können verschiedene Ausgabetexte erzeugt werden.

Beispiel:

NAME  =  GETTHREADTEXT(D,'DIN 13','',P,'NAME')

Eine detaillierte Beschreibung finden Sie unter Abschnitt 7.9.3.11.1.1.2, „Verschiedene Gewindesteigungen und abgeleitete automatische Berechnungen für z.B. Zeilenbeschreibung und Kerndurchmesser“.

Zahl = GETTHREADVALUE (Zahl,text,text,Zahl)

Vergleiche vorhergehende Funktion.

GETTHREADTEXT holt einen Text aus der Tabelle und GETTHREADVALUE einen DOUBLE-Wert.

Übersetzungsfunktionen

text = TRANSLATE ('text')

TRANSLATE übersetzt einen Text in die aktuelle Sprache.

Siehe auch Abschnitt 7.8.11.2, „Übersetzungsfunktionen“ -> Beispiel 1

text = TRANSLATE (VARIABLENNAME)

Soll aber beispielsweise in der Zeilenbeschreibung, im Datenblatt, der 2D-Ableitung, etc., der sichtbare, übersetzte Wert benutzt werden, können Sie die Funktion "TRANSLATE(VARIABLENNAME)" einsetzen.

Siehe auch Abschnitt 7.8.11.2, „Übersetzungsfunktionen“ -> Beispiel 2 und 3

text = $VARIABLENNAME(SRC=VALDESC).

Siehe auch Abschnitt 7.8.11.2, „Übersetzungsfunktionen“ -> Beispiel 4