Un'espressione è una costruzione che dopo la valutazione restituisce un valore. Questo valore viene utilizzato nelle istruzioni.
Le espressioni sono composte da operatori, operandi e/o assegnazioni. Un operando può essere una costante, una variabile, una chiamata di funzione o un'altra espressione.
Esempi
|
(* Costante *) |
|
(* Variabile *) |
|
(* Chiamata di funzione *) |
|
(* Espressione *) |
|
(* Espressione *) |
|
(* Assegnazione, vedere sotto *) |
La valutazione di un'espressione avviene tramite l'elaborazione degli operatori, in base a regole stabilite. L'operatore con l'ordine di operazione più alto viene elaborato per primo, seguito dall'operatore con il livello operativo successivo e così via, finché non vengono elaborati tutti gli operatori.
Di seguito è riportata una tabella degli operatori ST nell'ordine del rispettivo livello operativo ordinale:
Funzionamento |
Simbolo |
Livello operativo |
---|---|---|
tra parentesi |
(espressione) |
ordine più alto |
chiamata di funzione |
nome di funzione (elenco parametri) |
.............. |
elevazione a potenza |
EXPT |
............. |
negazione |
– |
............ |
compilazione di complementi |
NOT |
........... |
moltiplicazione |
* |
.......... |
divisione |
/ |
......... |
modulo |
MOD |
........ |
addizione |
+ |
....... |
sottrazione |
– |
...... |
confronto V |
<,>,<=,>= |
..... |
uguale a |
= |
.... |
non uguale a |
<> |
... |
AND booleano |
AND |
.. |
XOR booleano |
XOR |
. |
OR booleano |
OR |
ordine più basso |
Come estensione allo standard IEC 61131-3 (ExST), è possibile utilizzare le assegnazioni come espressioni.
Esempi:
|
(* |
|
(* assegnazioni corrette, |
|
(* viene visualizzato un messaggio per la mancata corrispondenza del tipo di |
|
(*Espressione utilizzata all'interno dell'istruzione della condizione IF: alla prima |