7.8.12.6. Funzioni matematiche (algoritmo delle caratteristiche )

[Nota]Nota

Le funzioni possono essere presenti nelle condizioni e nell'assegnazione di variabili numeriche.

Condizione esemplificativa:

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

Esempi Assegnazione di variabili numeriche:

D3=LOGL1

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

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

Le condizioni

IF () THEN
  VAR = 
ELSE
  VAR = 
ENDIF

Comandi:

  • IF (....): Inserire la condizione tra le parentesi () (ad esempio, "<Variabile>.EQ.10").

  • THEN: dopo THEN <variabile> =, inserire il valore che la variabile deve assumere se la condizione è soddisfatta.

  • ELSE ...: Dopo ELSE <variabile> = è il valore della variabile se la condizione non è soddisfatta.

  • ELSEIF (....): Tra IF e ELSE è possibile inserire una serie di ulteriori distinzioni di casi.

    [Nota]Nota

    I cicli ELSEIF devono essere terminati con un ELSE.

  • ENDIF: completamento della condizione

Esempi con valori:

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 

Operatori logici:
  • Confronto

    .EQ.

    eq ual (uguale)

    .GT.

    più grande ( maggiore di)

    .GE.

    g reater e qual (maggiore o uguale a)

    .LT.

    più tardi (meno di)

    .LE.

    meno di o uguale a )

  • Collegamenti

    E.

    (entrambe le condizioni - destra e sinistra di .AND. - devono essere soddisfatte)

    .OR.

    (una delle due condizioni - a destra o a sinistra di .OR. - deve essere soddisfatta)

    .NE.

    n ot e qual (disuguale)

  • Valori booleani

    .VERO.

    Un'espressione può essere ugualmente "vera".

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

    FALSO.

    Un'espressione può essere ugualmente "sbagliata".

    --- .EQ..FALSE. ---

Operatore per il collegamento di stringhe

L'operatore // permette di collegare i valori delle variabili con un testo (o con altri valori di variabili).

[Nota]Nota

Le variabili devono essere dichiarate senza $.

Esempi:

TYPE=‘new‘//TYPE

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

L'uso di variabili all'interno di una stringa funziona in PARTdesigner:

Esempi:

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

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

Questo NON funziona con la mappatura ERP [ERP mapping], quindi l'uso dell'operatore // è particolarmente utile in questo caso.

Operazioni aritmetiche di base

+, -, *, /

più, meno, volte, diviso

**

Potenziamento

Funzioni matematiche

Numero = ABS (numero)

Valore assoluto :

Esempio:

|-3.4| = 3.4

Numero = INT (numero)

Numero = AINT (numero)

INT converte il numero in un numero intero.

AINT tronca le cifre decimali.

Il risultato di INT è identico a quello di AINT, purché il numero sia compreso nell'intervallo di numeri interi, ossia da -2^31 a 2^31.

Convertire in "intero" / troncare le cifre decimali

Esempio:

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

Numero = ANINT (numero)

Numero = NINT (numero)

Le due funzioni sono identiche.

Numero reale intero successivo (arrotondamento)

Esempio:

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

Numero = DIM (numero,numero)

Differenza positiva:

Finché il primo numero è maggiore del secondo, viene calcolato il numero 1 - numero 2; altrimenti il risultato è 0.

Esempio:

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

Numero = SQRT (numero)

Radice quadrata

Numero = EXP (numero)

Funzione esponenziale

Numero = LOG (numero)

Logaritmo naturale

Numero = LOG10 (numero)

Logaritmo in base 10

Numero = MAX (...)

MAX (A1, A2, A3,…) 

Valore massimo dei parametri

Numero = MIN (...)

MAX (A1, A2, A3,…) 

Valore minimo dei parametri

Numero = MOD (numero,numero)

Calcolo dei residui:

A - INT (A/P)*P

Esempio:

MOD(11,4) = 3

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

11 / 4 == 2 Rest 3

Numero = SEGNO (numero,numero)

Trasferimento del segno: |A| segno (B)

SIGN(A,B) significa che il valore di ritorno è il valore di A con il segno di B.

Esempio:

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

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

Funzioni angolari

Numero = SIN (numero)

Onda sinusoidale

Numero = SINH (numero)

Seno iperbolico

Numero = COS (numero)

Coseno

Numero = COSH (numero)

Coseno iperbolico

Numero = TAN(numero)

Tangente

Numero = TANH(numero)

Tangente coseno

Funzioni inverse a quelle sopra descritte:

Numero = ASIN (numero)

Arkussino

Numero = ACOS (numero)

Arcus cosinus

Numero = ATAN (numero)

Arkustangens

Numero = ATAN2 (numero,numero)

Figura 7.476. 

Arkustangens con due argomenti

ATAN2 è un'estensione di ATAN e, come ATAN, è una funzione inversa della funzione angolare tangente.

La funzione accetta due numeri reali come argomenti, a differenza della normale arctangente, che ha un solo numero reale come argomento. Ciò significa che dispone di informazioni sufficienti per poter fornire il valore della funzione in un intervallo di valori di 360° (cioè tutti e quattro i quadranti) e non deve essere limitato a due quadranti (come la normale arctangente).

atan2(y,x) restituisce l'angolo tra la retta per il punto (x,y) e l'asse x positivo, limitato a (-Pi,Pi].

Il risultato viene restituito in gradi.

[Nota]Nota

Nel caso delle funzioni angolari, la voce tra parentesi riflette il numero di gradi.

Funzioni legate al testo:

Numero = ATOF ("testo")

Trasforma un testo in un numero:

Esempio:

ATOF ('3.2') -> 3.2

LEN ("testo")

LEN (variabile)

Lunghezza del testo:

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

Estratto da un testo:

Il primo parametro è il testo; il secondo specifica il numero di caratteri con cui inizia l'estratto; il terzo parametro specifica la lunghezza dell'estratto.

Esempio:

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

[Nota]Nota

Le seguenti funzioni non possono essere utilizzate: FORMATSTR, FORMATVAL, KFIX

Funzioni del filo

testo = GETTHREADTEXT (numero,testo,testo,numero)

Utilizzare con filettature:

È possibile generare diversi testi di output utilizzando la seguente espressione.

Esempio:

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

Sezione 7.9.3.14.1.1.2, “Diversi passi di filettatura e calcoli automatici derivati, ad esempio per la descrizione della linea e il diametro del nucleoUna descrizione dettagliata è disponibile all'indirizzo .

Numero = GETTHREADVALUE (numero,testo,testo,numero)

Vedere la funzione precedente.

GETTHREADTEXT recupera un testo dalla tabella e GETTHREADVALUE recupera un valore DOPPIO.

Funzioni di traduzione

testo = TRANSLATE ('testo')

Traduci traduce un testo nella lingua corrente.

Sezione 7.8.12.7, “Funzioni di traduzione ”Vedi anche -> Esempio 1

testo = TRANSLATE (VARIABLENNAME)

Tuttavia, se si desidera utilizzare il valore visibile e tradotto nella descrizione della riga [Row label], nella scheda tecnica [Data sheet], nella derivazione 2D [2D derivation] e così via, è possibile utilizzare la funzione "TRANSLATE(VARIABLENNAME)".

Sezione 7.8.12.7, “Funzioni di traduzione ”Vedi anche -> esempio 2 e 3

testo = $VARIABLENNAME(SRC=VALDESC).

Sezione 7.8.12.7, “Funzioni di traduzione ”Vedere anche -> Esempio 4