Funzioni stringa
Applicazione
Le funzioni stringa consentono di definire ed elaborare i testi con l'ausilio di parametri stringa per creare ad es. protocolli variabili con FN 16: F-PRINT. Nell'informatica una stringa indica un testo.
Argomenti trattati
- Range di variabili
- Programmazione di stringhe di formato
Descrizione funzionale
All'interno delle funzioni NC Formula, Variabile o Formula stringa è possibile utilizzare le seguenti funzioni stringa:
Elemento di sintassi | Significato | Funzione NC |
---|---|---|
DECLARE STRING | Assegnazione del testo a un parametro QS | DECLARE STRING |
|| | Concatenamento di contenuti di parametri stringa e assegnazione a un parametro stringa |
|
TONUMB | Conversione del valore di un parametro QS in un valore numerico e assegnazione a un parametro numerico Conversione del valore di un parametro stringa in valore numerico |
|
TOCHAR | Conversione del valore numerico in un testo e assegnazione a un parametro stringa |
|
SUBSTR | Copia della stringa parziale da un parametro QS e assegnazione a un parametro stringa |
|
SYSSTR | Lettura dei dati di sistema e assegnazione dei contenuti a un parametro stringa |
|
INSTR | Ricerca della stringa parziale in un parametro QS e assegnazione dell'occorrenza a un parametro numerico Ricerca di una stringa parziale all'interno del contenuto di un parametro QS |
|
STRLEN | Determinazione della lunghezza dei caratteri di un parametro QS e assegnazione a un parametro numerico Determinazione del numero di caratteri del contenuto di un parametro QS |
|
STRCOMP | Confronto dell'ordine lessicale crescente di parametri QS e assegnazione del risultato a un parametro numerico |
|
CFGREAD | Lettura del contenuto di un parametro macchina e assegnazione a una variabile |
|
Il controllo numerico offre le seguenti possibilità per inserire le formule:
- Completamento automatico
Immissione formula con l'ausilio del completamento automatico
- Tastiera in primo piano per immissione formula dalla barra delle azioni o dalla maschera
- Modo Immissione formula della tastiera virtuale
Lettura dei dati di sistema con SYSSTR
Con la funzione NC SYSSTR si possono leggere i dati di sistema e memorizzare i contenuti in parametri stringa. La data di sistema si seleziona tramite un numero di gruppo ID e un numero NR. Come opzione possono essere immessi IDX e DAT.
Con SYSSTR è possibile leggere solo valori alfanumerici.
Per valori numerici il controllo numerico offre la funzione NC FN 18: SYSREAD. La programmazione di SYSSTR è identica a FN 18: SYSREAD.
Lettura del dato di sistema con FN 18: SYSREAD
Nella panoramica generale dei dati di sistema i valori alfanumerici sono contrassegnati con il testo stringa di sistema.
Panoramica dei parametri macchina, codici di errore e dati di sistema
La documentazione aggiuntiva Panoramica dei parametri macchina, codici di errore e dati di sistema contiene una panoramica delle seguenti funzioni:
- Parametri macchina dell'applicazione MP x attrezzista
- Codici di errore predefiniti della funzione NC FN 14: ERROR (ISO: D14)
- Dati di sistema leggibili con le funzioni NC FN 18: SYSREAD (ISO: D18) e SYSSTR
ID: 1445456-xx
La documentazione può essere scaricata gratuitamente dalla homepage HEIDENHAIN.
Assegnazione di testo a un parametro stringa
Prima di poter impiegare e modificare dei testi, è necessario assegnare caratteri a parametri stringa.
Un testo viene assegnato a un parametro stringa come descritto di seguito: | ||
| ||
| ||
|
In alternativa è possibile assegnare caratteri a un parametro QS con la funzione NC DECLARE STRING.
In questi esempi il controllo numerico assegna un testo a un parametro stringa.
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 QS10 = "workpiece" | ; Assegnazione del testo al parametro QS QS10 |
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 {a} = "workpiece" | ; Assegnazione del testo al parametro denominato {a} |
Concatenamento di valori di parametri stringa
Con l'operatore di concatenamento || si possono concatenare tra loro i contenuti di più parametri stringa. Possono essere combinati ad es. testi fissi e variabili.
I contenuti di più parametri stringa si concatenano come descritto di seguito: | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
In questi esempi il controllo numerico concatena i contenuti di due parametri stringa e assegna il risultato a un terzo parametro stringa.
Contenuti dei parametri:
- QS12 e {b}: Stato:
- QS13 e {c}: Scarto
- QS10 e {a}: Stato: Scarto
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 QS10 = QS12 || QS13 | ; Concatenamento dei contenuti di QS12 e QS13 e assegnazione al parametro QS QS10 |
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 {a} = {b} || {c} | ; Concatenamento di contenuti da {b} e {c} e assegnazione al parametro denominato {a} |
Conversione del valore di un parametro stringa in valore numerico
La funzione NC TONUMB consente di salvare esclusivamente caratteri numerici di un parametro QS in un altro tipo di variabile. Infine è possibile impiegare questi valori all'interno di calcoli.
In questi esempi il controllo numerico converte il valore della variabile di un parametro QS in un valore numerico. Il controllo numerico assegna questo valore al parametro numerico.
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 Q82 = TONUMB ( SRC_QS11 ) | ; Conversione del valore di QS11 in un valore numerico e assegnazione a Q82 |
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 {a} = TONUMB ( SRC_QS11 ) | ; Conversione del valore di QS11 in un valore numerico e assegnazione a {a} |
Conversione di valori numerici in testi
La funzione NC TOCHAR consente di salvare il contenuto di un parametro numerico in un parametro stringa. Il contenuto salvato può essere concatenato ad es. con altri parametri stringa.
In questi esempi il controllo numerico converte il valore numerico di un parametro Q in un testo. Il controllo numerico assegna questo testo a un parametro stringa.
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; Conversione del valore numerico da Q50 in un testo e assegnazione al parametro QS QS11 |
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 {a} = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; Conversione del valore numerico da Q50 in un testo e assegnazione al parametro denominato {a} |
Copia di una stringa parziale da un parametro stringa
La funzione NC SUBSTR consente di salvare da un parametro QS una stringa parziale definita in un altro parametro stringa. È possibile utilizzare questa funzione NC ad es. per estrarre il nome del file da un percorso assoluto.
In questi esempi il controllo numerico salva una stringa parziale di un parametro QS in un altro parametro stringa. L'elemento di sintassi BEG2 consente di definire che il controllo numerico esegua la copia a partire dal terzo carattere. L'elemento di sintassi LEN4 consente di definire che il controllo numerico esegua la copia dei quattro caratteri seguenti.
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; Assegnazione della stringa parziale da QS10 al parametro QS QS13 |
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 {a} = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; Assegnazione della stringa parziale da QS10 al parametro denominato {a} |
Ricerca di una stringa parziale all'interno del contenuto di un parametro QS
La funzione NC INSTR consente di verificare se è presente una stringa parziale definita all'interno di un parametro QS. In questo modo è possibile definire, ad es., se ha funzionato il concatenamento di diversi parametri QS. Per la verifica sono necessari due parametri QS. Il controllo numerico cerca nel primo parametro QS il contenuto del secondo parametro QS.
Se il controllo numerico trova la stringa parziale, salva il numero di caratteri fino all'occorrenza della stringa parziale nel parametro di risultato. In presenza di più occorrenze il risultato è identico, in quanto il controllo numerico salva la prima occorrenza.
Se il controllo numerico non trova la stringa parziale da cercare, salva il numero totale dei caratteri nel parametro di risultato.
In questo esempio il controllo numerico esegue la ricerca in un parametro QS del testo di un secondo parametro QS. Per il conteggio dei caratteri il controllo numerico inizia da zero. Il controllo numerico assegna l'occorrenza come numero a un parametro numerico.
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) | ; Ricerca di una stringa parziale di QS13 in QS10 |
Determinazione del numero di caratteri del contenuto di un parametro QS
La funzione NC STRLEN determina il numero di caratteri del contenuto di un parametro QS. Questa funzione NC consente di determinare ad es. la lunghezza di un percorso del file.
Se il parametro QS selezionato non è definito, il controllo numerico fornisce il valore -1.
In questo esempio il controllo numerico determina il numero di caratteri di un parametro QS. Il controllo numerico assegna il numero determinato a un parametro numerico.
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 Q52 = STRLEN ( SRC_QS15 ) | ; Determinazione del numero di caratteri di QS15 e assegnazione a Q52 |
Confronto dell'ordine lessicale di due testi
La funzione NC STRCOMP consente di confrontare l'ordine lessicale del contenuto di due parametri QS.
Il controllo numerico restituisce i seguenti risultati:
- 0: il contenuto di entrambi i parametri QS è identico
- -1: il contenuto del primo parametro QS si trova nell'ordine lessicale prima del contenuto del secondo parametro QS
- +1: il contenuto del primo parametro QS si trova nell'ordine lessicale dopo il contenuto del secondo parametro QS
L'ordine lessicale è come descritto di seguito:
- Caratteri speciali, ad es. ?_
- Valori numerici, ad es. 123
- lettere maiuscole, ad es. ABC
- lettere minuscole, ad es. abc
Il controllo numerico esegue la verifica a partire dal primo carattere finché il contenuto dei parametri QS non differisce. Se i contenuti differiscono ad es. nella quarta posizione, il controllo numerico interrompe la verifica in quella posizione.
Contenuti più brevi con identica stringa di caratteri vengono visualizza dapprima nell'ordine, ad es. abc prima abcd.
In questo esempio il controllo numerico confronta l'ordine lessicale dei valori dei due parametri QS. Il controllo numerico assegna il risultato come numero a un parametro numerico.
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; Confronto dell'ordine lessicale dei valori di QS12 e QS14 |
Acquisizione del contenuto di un parametro macchina
La funzione NC CFGREAD consente di leggere i valori di parametri macchina.
Prima di CFGREAD è necessario programmare un parametro QS con key, entità e attributo. Prestare attenzione alla corretta grafia maiuscola e minuscola.
Contenuti della tabella a vista
La funzione NC contiene i seguenti elementi di sintassi:
Elemento di sintassi | Significato |
---|---|
KEY_QS | Parametro QS con il nome del gruppo del parametro macchina (key) Se non è presente alcuna key, occorre definire il parametro QS senza contenuto. |
TAG_QS | Parametro QS con il nome dell'oggetto del parametro macchina (entità) |
ATR_QS | Parametro QS con il nome del parametro macchina (attributo) |
IDX | Indice del parametro macchina Numero o parametro numerico Elemento di sintassi opzionale |
I valori richiesti vengono determinati con la vista a tabella dell'editor di configurazione.
Se il parametro macchina contiene valori numerici, è possibile acquisire i valori in parametri Q, QL o QR. Il controllo numerico visualizza i valori numerici sempre con sistema metrico. Le stringhe si acquisiscono in parametri QS. In parametri denominati si possono acquisire valori numerici e stringhe.
Esempi
In questo esempio si applica la sovrapposizione traiettoria dal parametro macchina pocketOverlap (N. 201001):
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 QS11 = "CH_NC" | ; Assegnazione della key al parametro QS QS11 |
12 QS12 = "CfgGeoCycle" | ; Assegnazione dell'entità al parametro QS QS12 |
13 QS13 = "pocketOverlap" | ; Assegnazione dell'attributo al parametro QS QS13 |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | ; Lettura del contenuto del parametro macchina |
In questo esempio si applica la posizione del sistema di tastatura utensile nell'asse Y (indice 1) del parametro macchina centerPos (N. 114313):
I programmi NC inclusi nel presente manuale utente sono proposte di soluzioni. Prima di utilizzare i programmi NC o singoli blocchi NC su una macchina, è necessario adattarli.
Adattare dapprima i seguenti contenuti:
- Utensili
- Dati di taglio
- Avanzamenti
- Altezza e posizioni di sicurezza
- Inserire le posizioni specifiche della macchina, ad es. con M91
- Percorsi di chiamate programma
Alcuni programmi NC sono indipendenti dalla cinematica della macchina. Adattare questi programmi NC alla propria cinematica della macchina prima del primo funzionamento di prova.
Testare i programmi NC prima di eseguirli utilizzando anche la simulazione.
Testando un programma è possibile accertare se il programma NC può essere impiegato con le opzioni software disponibili, la cinematica attiva della macchina e la configurazione corrente della macchina.
11 QS11 = "TT140_2" | ; Assegnazione della key al parametro QS QS11 |
12 QS12 = "CfgTTRectStylus" | ; Assegnazione dell'entità al parametro QS QS12 |
13 QS13 = "centerPos" | ; Assegnazione dell'attributo al parametro QS QS13 |
14 {a} = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 IDX1 ) | ; Lettura del contenuto del parametro macchina |
Nota
Se si impiega la funzione NC Formula stringa, il risultato è sempre un testo. Se si impiega la funzione NC Formula, il risultato è sempre un valore numerico.