Convenzioni usate negli esempi:
␢ per indicare uno spazio; se ␢ non compare, non va inserito uno spazio
⏎ per indicare che bisogna andare a capo e continuare sulla riga successiva.
Una nota sul simbolo ␢
Il simbolo ␢ si chiama blank symbol.
È un simbolo storico dell'informatica usato per rappresentare graficamente lo spazio, che normalmente non è visibile.
Il termine SPACE per indicare il carattere spazio era già utilizzato nei primi standard informatici degli anni Sessanta. Il simbolo ␢ venne usato nella documentazione tecnica proprio per rendere visibile quello spazio. Oggi è meno comune, ma indica ancora la stessa cosa.
I nomi delle variabili
Il nome di una variabile può essere scelto liberamente, rispettando le regole del linguaggio Structured Text e del software PLC utilizzato.
Per esempio:
variabile1
temperatura
pompa1
statoAllarme
Non è obbligatorio iniziare con una lettera maiuscola né utilizzare un nome particolare. È comunque consigliabile scegliere nomi chiari e descrittivi, così da rendere il programma più facile da leggere e manutenere.
Assegnare un valore
Scriviamo:
variabile1␢:=␢TRUE;
Significa assegnare alla variabile di nome variabile1 il valore TRUE, cioè VERO.
variabile1 nome della variabile
:= operatore di assegnazione
TRUE valore vero
; fine dell'istruzione
In un programma PLC, l'assegnazione viene eseguita durante l'elaborazione del codice Structured Text.
Assegnare il valore falso
Scriviamo:
variabile1␢:=␢FALSE;
Significa assegnare alla variabile variabile1 il valore FALSE.
variabile1 nome della variabile
:= operatore di assegnazione
FALSE valore falso
; fine dell'istruzione
Usare una condizione
Scriviamo:
IF␢variabile1␢=␢TRUE␢THEN⏎
variabile2␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è uguale a TRUE, allora assegna a variabile2 il valore TRUE.
IF introduce la condizione.
THEN indica l'azione da eseguire quando la condizione è vera.
END_IF; chiude la struttura condizionale.
In Structured Text, il confronto viene eseguito con l'operatore =, mentre l'assegnazione viene eseguita con l'operatore :=
Aggiungere un'alternativa
Scriviamo:
IF␢variabile1␢=␢TRUE␢THEN⏎
variabile2␢:=␢TRUE;⏎
ELSE⏎
variabile2␢:=␢FALSE;⏎
END_IF;
Significa: SE variabile1 è uguale a TRUE, ALLORA assegna a variabile2 il valore TRUE; ELSE (ALTIMENTI), assegna a variabile2 il valore FALSE.
END_IF; chiude la condizione.
La parte introdotta da ELSE viene eseguita quando la condizione dell'IF è falsa.
Controllare due condizioni insieme
Scriviamo:
IF␢variabile1␢=␢TRUE␢AND␢variabile2␢=␢TRUE␢THEN⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è uguale a TRUE e anche variabile2 è uguale a TRUE, allora assegna a variabile3 il valore TRUE.
AND è un operatore logico e significa che entrambe le condizioni devono essere vere.
In questo caso, l'assegnazione a variabile3 viene eseguita solo quando tutte e due le condizioni risultano vere.
Controllare se almeno una condizione è vera
Scriviamo:
IF␢variabile1␢=␢TRUE␢OR␢variabile2␢=␢TRUE␢THEN⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è uguale a TRUE oppure variabile2 è uguale a TRUE, allora assegna a variabile3 il valore TRUE.
OR è un operatore logico e significa che è sufficiente che almeno una delle condizioni sia vera.
In questo caso, l'assegnazione a variabile3 viene eseguita se variabile1, variabile2 oppure entrambe risultano vere.
Invertire una condizione
Scriviamo:
IF␢NOT␢variabile1␢THEN⏎
variabile2␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 non è TRUE, allora assegna a variabile2 il valore TRUE.
NOT è un operatore logico e serve a invertire il valore di una condizione.
Se variabile1 è TRUE, con NOT la condizione diventa falsa.
Se variabile1 è FALSE, con NOT la condizione diventa vera.
Confrontare due valori
Scriviamo:
IF␢variabile1␢>␢variabile2␢THEN⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è maggiore di variabile2, allora assegna a variabile3 il valore TRUE.
> è un operatore di confronto e significa maggiore di.
In questo caso, l'assegnazione a variabile3 viene eseguita solo se il valore di variabile1 è maggiore del valore di variabile2.
Confrontare un valore minore
Scriviamo:
IF␢variabile1␢<␢variabile2␢THEN⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è minore di variabile2, allora assegna a variabile3 il valore TRUE.
< è un operatore di confronto e significa minore di.
In questo caso, l'assegnazione a variabile3 viene eseguita solo se il valore di variabile1 è minore del valore di variabile2.
Confrontare un valore maggiore o uguale
Scriviamo:
IF␢variabile1␢>=␢variabile2␢THEN⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è maggiore o uguale a variabile2, allora assegna a variabile3 il valore TRUE.
>= è un operatore di confronto e significa maggiore o uguale a.
In questo caso, l'assegnazione a variabile3 viene eseguita se il valore di variabile1 è maggiore o uguale al valore di variabile2.
Confrontare un valore minore o uguale
Scriviamo:
IF␢variabile1␢<=␢variabile2␢THEN⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è minore o uguale a variabile2, allora assegna a variabile3 il valore TRUE.
<= è un operatore di confronto e significa minore o uguale a.
In questo caso, l'assegnazione a variabile3 viene eseguita se il valore di variabile1 è minore o uguale al valore di variabile2.
Verificare se due valori sono uguali
Scriviamo:
IF␢variabile1␢=␢variabile2␢THEN⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è uguale a variabile2, allora assegna a variabile3 il valore TRUE.
= è un operatore di confronto e significa uguale a.
In questo caso, l'assegnazione a variabile3 viene eseguita solo se il valore di variabile1 è uguale al valore di variabile2.
Verificare se due valori sono diversi
Scriviamo:
IF␢variabile1␢<>␢variabile2␢THEN⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è diversa da variabile2, allora assegna a variabile3 il valore TRUE.
<> è un operatore di confronto e significa diverso da.
In questo caso, l'assegnazione a variabile3 viene eseguita solo se il valore di variabile1 è diverso dal valore di variabile2.
Aggiungere una seconda condizione
Scriviamo:
IF␢variabile1␢=␢TRUE␢THEN⏎
variabile3␢:=␢TRUE;⏎
ELSIF␢variabile2␢=␢TRUE␢THEN⏎
variabile3␢:=␢FALSE;⏎
END_IF;
Significa: SE variabile1 è uguale a TRUE, allora assegna a variabile3 il valore TRUE; ALTRIMENTI, SE variabile2 è uguale a TRUE, assegna a variabile3 il valore FALSE.
ELSIF permette di controllare una seconda condizione quando la prima condizione dell'IF non è vera.
La condizione introdotta da ELSIF viene quindi controllata solo se la condizione precedente è risultata falsa.
Aggiungere un'alternativa finale
Scriviamo:
IF␢variabile1␢=␢TRUE␢THEN⏎
variabile3␢:=␢TRUE;⏎
ELSIF␢variabile2␢=␢TRUE␢THEN⏎
variabile3␢:=␢FALSE;⏎
ELSE⏎
variabile3␢:=␢TRUE;⏎
END_IF;
Significa: SE variabile1 è uguale a TRUE, allora assegna a variabile3 il valore TRUE; ALTRIMENTI, SE variabile2 è uguale a TRUE, assegna a variabile3 il valore FALSE; ALTRIMENTI, con ELSE, assegna a variabile3 il valore TRUE.
La parte introdotta da ELSE viene eseguita solo quando tutte le condizioni precedenti sono risultate false.
Assegnare un valore numerico
Scriviamo:
variabile1␢:=␢10;
Significa assegnare alla variabile1 il valore numerico 10.
10 è un valore numerico.
A differenza di TRUE e FALSE, che rappresentano valori logici, un numero può essere utilizzato per rappresentare per esempio una temperatura, una quantità, un conteggio o una misura.
Sommare due valori
Scriviamo:
variabile3␢:=␢variabile1␢+␢variabile2;
Significa assegnare a variabile3 il risultato della somma tra variabile1 e variabile2.
+ è l'operatore di addizione.
Se variabile1 vale 10 e variabile2 vale 5, a variabile3 viene assegnato il valore 15.
Sottrarre due valori
Scriviamo:
variabile3␢:=␢variabile1␢-␢variabile2;
Significa assegnare a variabile3 il risultato della sottrazione tra variabile1 e variabile2.
- è l'operatore di sottrazione.
Se variabile1 vale 10 e variabile2 vale 5, a variabile3 viene assegnato il valore 5.
Moltiplicare due valori
Scriviamo:
variabile3␢:=␢variabile1␢*␢variabile2;
Significa assegnare a variabile3 il risultato della moltiplicazione tra variabile1 e variabile2.
* è l'operatore di moltiplicazione.
Se variabile1 vale 10 e variabile2 vale 5, a variabile3 viene assegnato il valore 50.
Dividere due valori
Scriviamo:
variabile3␢:=␢variabile1␢/␢variabile2;
Significa assegnare a variabile3 il risultato della divisione tra variabile1 e variabile2.
/ è l'operatore di divisione.
Se variabile1 vale 10 e variabile2 vale 5, a variabile3 viene assegnato il valore 2.