NOVITÀ!
Tra i corsi che trovi su questo sito, trovi anche il nuovo videocorso per imparare a programmare in linguaggio di testo strutturato ST (SCL).
Clicca sull'immagine quì sotto per dare un'occhiata a tutti i corsi disponibili.
Lo standard IEC 61131-3 definisce cinque linguaggi di programmazione per plc, tra questi troviamo quello più ad alto livello chiamato di testo strutturato, oppure abbreviato con la sigla ST.
Questo è il linguaggio più simile ai linguaggi di programmazione classici per computer come il Pascal, il C, il Cobol e così via. I linguaggi di questo tipo ci permettono di scrivere le istruzioni in un modo più simile al nostro modo di pensare e parlare, per questo sono molto efficaci per svolgere certe funzioni.
Nella lezione di oggi andiamo a conoscere meglio questo linguaggio e utilizzeremo una delle sue funzioni più potenti, ovvero quella dei cicli FOR. Questa funzione ci permette di eseguire delle istruzioni un numero di volte da noi deciso, e si occupa di gestire un indice che viene incrementato ogni volta che le istruzioni vengono processate.
I cicli FOR sono molto utili e possono essere annidati, ed è proprio così che li usiamo nell’esempio di programma di plc di oggi, infatti con due di essi costruiremo una routine in linguaggio ST che ordina in senso crescente dieci numeri.
Per scrivere la nostra funzione di ordinamento definiamo una vettore di interi che contiene dieci variabili. L’utilizzo del vettore ci permette di accedere a ogni variabile mediante un indice numerico che la identifica univocamente nella struttura, vediamo com’è fatto questo vettore nella prossima immagine.
Come facciamo a ordinare i numeri nel vettore? In pratica, partendo dalla prima variabile nel vettore la confrontiamo con tutte le altre e se ne troviamo una minore di essa le scambiamo utilizzando come appoggio l’apposita variabile intera.
Il primo ciclo FOR scorre tutte le variabili tranne l’ultima, mentre il secondo ciclo FOR scorre dalla variabile con indice x + 1 fino all’ultima, in questo modo ogni variabile verrà confrontata con le successive nel vettore e nel caso scambiata. Ecco le istruzioni di seguito.
IF ORDINA THEN
FOR X := 1 TO 9 DO
FOR Y := X+1 TO 10 DO
IF DATI[Y] < DATI [X] THEN
APPOGGIO := DATI [X];
DATI [X] := DATI [Y];
DATI [Y] := APPOGGIO;
END_IF
END_FOR
END_FOR
END_IF
Nella prossima immagine vediamo la schermata del programma per plc costruito in linguaggio ST. Notiamo la dichiarazione del vettore di interi, le due variabili indice per i cicli FOR, quella di appoggio per lo scambio delle variabili, e per ultima la variabile booleana attivata dal pulsante di comando “ordina” nella supervisione.
Bene, siamo così arrivati al termine di questa lezione sul linguaggio di testo strutturato per PLC. Io ti invito a fare pratica con questo potente mezzo di programmazione, e ti do appuntamento qui sul mio sito e sul mio canale YouTube con una nuova lezione o un nuovo articolo sull’automazione industriale; ci vediamo presto!