powered by CADENAS

Manual

Manual

11.5.2.7. Merkmalalgorithmen

[Hinweis] Hinweis

Einige Beispiele zu Merkmalalgorithmen finden Sie im Trainingskatalog ($CADENAS/training/training.cip) unter /parteditor/....

Über sog. Merkmalalgorithmen werden Abhängigkeiten zwischen Variablen ausgedrückt. Im Beispiel (s. Abb.) sehen Sie, dass die Variable NENN durch das Produkt aus den Variablen DG und L dargestellt wird.

Merkmalalgorithmus einrichten - Beispiel

  1. Ehe der Algorithmus für eine Variable festgelegt werden kann, muss ihr im Fenster Variablen Manager der Status Merkmalalgorithmus zugewiesen werden.

  1. Im Fenster Merkmalalgorithmen erscheinen alle betreffenden Variablen aufgelistet. Wählen Sie die zu bearbeitende aus.

  1. Klicken Sie auf den Button $VAR=.

    --> Die Variable wird als erster Ausdrucksbestandteil des Merkmalalgorithmus’ ins benachbarte Feld geschrieben.

  1. Legen Sie die Zuordnung fest, die die Variable NENN definieren soll.

    --> In diesem Fall NENN = $DG.x$L..

[Hinweis] Hinweis

Wichtig ist dabei eine korrekte Syntax.

Bei Textvariablen: Machen Sie Ihre Angaben unbedingt innerhalb der beiden einfachen Anführungszeichen. Im Format DollarzeichenVariablennamePunkt können Variablen als Platzhalter in den Algorithmus aufgenommen werden. Auch Kombinationen mit anderen Schrift- bzw. Rechenzeichen und Verknüpfungen über IF- und ELSEIF-Funktionen (s. Erklärung weiter unten) sind möglich.

Bei Zahlvariablen: ...sind keine Hochkommata erforderlich. Einer Zahlvariable kann ein fester Zahlenwert und/oder auch eine Berechnung, die ihrerseits Variablen enthält, zugewiesen werden.

  • $VAR=

    Dieser Button überträgt die aktuell selektierte Variable ins Feld.

    Das Gleiche macht die Funktion "VAR=" im Kontextmenü.

  • IF

    Ein durch eine IF-Bedingung aufgebauter Algorithmus kann wie folgt aussehen (s. Abb.):

    Zwischen den Klammern () geben Sie Ihre Bedingung (z.B. (L1.EQ.10) ein.

    Hinter THEN D3 = geben Sie den Wert ein, den D3 annehmen soll, wenn die Bedingung erfüllt wird.

    Hinter ELSE D3 = steht der Wert für D3, falls die Bedingung nicht erfüllt wird. Mit ENDIF beschließen Sie die Bedingung.

    Beispiel mit Werten: IF (L1.EQ.10) THEN

    D3 = 20

    ELSE

    D3 = 30

    ENDIF

  • ELSEIF

    Soll mehr als eine Bedingung abgeprüft werden, kann mit ELSEIF-Anweisungen gearbeitet werden.

    Beispiel IF (L1.LT.10) THEN

    D3 = 1

    ELSEIF (L1.LT.20) THEN

    D3 = 2

    ENDIF

Folgende Bedingungen sind möglich:

.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)

.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)

Folgende mathematischen bzw. textbezogenen Funktionen können verwendet werden:

+, -, *, /

Grundrechenarten

**

Potenzierung

VAR =  
IF (....) ...

IF () THEN
  VAR = 
ELSE
  VAr = 
ENDIF
ELSEIF (....) ...

IF () THEN
  VAR = 
ELSE

Zahl = ABS (Zahl)

Absolutwert:

Beispiel:

|-3.4| = 3.4

Zahl = AINT (Zahl)

Abschneiden des nicht-ganzahligen Zahlenbereichs:

Beispiel:

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

Zahl = ANINT (Zahl)

Nächste ganzzahlige reelle Zahl (Rundung)

Beispiel:

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

Zahl = SIN (Zahl)

Sinus

Zahl = SINH (Zahl)

Hyperbelsinus

Zahl = COS (Zahl)

Cosinus

Zahl = COSH (Zahl)

Hyperbelcosinus

Zahl = TAN(Zahl)

Tangens

Zahl = TANH(Zahl)

Cosinustangens

Zahl = ASIN (Zahl)

Arkussinus

Zahl = ACOS (Zahl)

Arkuscosinus

Zahl = ATAN (Zahl)

Arkustangens

Zahl = ATAN2 (Zahl,Zahl)

Arkustangens mit zwei Argumenten

Das Ergebnis wird in Grad zurückgegeben

Zahl = SQRT (Zahl)

Quadratwurzel

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
DIN(4,8) = 0

Zahl = EXP (Zahl)

Exponentialfunktion

Zahl = INT (Zahl)

Abschneiden der Nachkommastellen

Beispiel:

INT(4,9) = 4
Zahl = NINT (Zahl)

Runden

Beispiel:

NINT(4.9) = 5
NINT(4.5) = 5
NINT(4.1) = 4

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

text = TRANSLATE ('text')

text = TRANSLATE ($VARIABLENNAME.)

text = $VARIABLENNAME(SRC=VALDESC).

Siehe Abschnitt 11.5.2.7.1, „Übersetzungsfunktionen“.

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
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 10.5.4.3.11.1.1.2, „Feingewinde - Varianten“.

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

Vergleiche vorhergehende Funktion.

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

Diese Funktionen können in Bedingungen (IF (L1.LT.SQRT(25)) THEN ...) oder in Zuweisungen von Zahlenvariablen (D3=LOGL1 oder A=(B+5)*3-10/2 oder C=SQRT(A**2+B**2)) vorkommen.

[Hinweis] Hinweis

Bei Tangentialfunktionen sind die Winkelangaben in Grad.

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