CORSO DI PROGRAMMAZIONE PLC ABB
TUTORIAL LINGUAGGIO DI TESTO STRUTTURATO ST

Software automation builder di ABB

Benvenuto nel corso di programmazione PLC ABB, oggi ci avviciniamo al linguaggio di testo strutturato ST, che fa parte dei cinque linguaggi di programmazione per i PLC, definiti nello standard IEC 61131-3.

Il programma di oggi effettua la ricerca di un valore scelto, all’interno di un vettore di dati interi. Per poter provare le istruzioni utilizziamo un processore AC500-eCo, tuttavia questo programma funziona con qualsiasi processore ABB e in pratica con qualsiasi PLC programmabile in linguaggio ST.

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.

Novità automazione e plc

Il linguaggio ST, che significa (di testo strutturato), è tra i più apprezzati dai programmatori di linguaggi ad alto livello, infatti somiglia a questi, molto più di quanto possano farlo i linguaggi ladder e a blocchi di funzione.

Nel linguaggio di testo strutturato, le istruzioni sono scritte in modo esteso, come se dovessimo descriverle con la voce; troviamo per esempio il costrutto IF - THEN, che significa “SE - ALLORA”, per effettuare dei condizionamenti, come vedremo a breve nel programma di oggi.

Anche i PLC della ABB sono programmabili in diversi linguaggi, e tutti i controllori moderni di questo produttore ci mettono a disposizione il linguaggio Structured Text.

Il progetto di esempio di oggi, come accennato, ricerca un numero dai noi scelto, contando quante volte appare all’interno di una serie di dati interi; questi dati sono memorizzati in un vettore.

Linguaggi di programmazione PLC

Quando lavoriamo con i vettori il linguaggio di testo strutturato risulta molto potente, infatti se usiamo per esempio un ciclo FOR, possiamo scorrere queste strutture dati in maniera veloce e semplice, con poche istruzioni.

Ecco nella prossima immagine un vettore di dati, così come definito nel PLC, quello che è importante notare è l’indice messo tra parentesi quadra, il quale permette di identificare ogni elemento all’interno del vettore stesso. Proprio questo indice, sarà utilizzato nel nostro programma.

Struttura dati di una variabile di tipo vettore

Ecco nella prossima immagine la dichiarazione della variabile di tipo ARRAY, nell’editor di Automation Builder. Il vettore contiene dati di tipo intero, e gli elementi avranno indice che va da zero a nove.

Dichiarazione vettore nel plc ABB

Il programma in linguaggio ST per la ricerca in un vettore con il PLC.

Nella prossima immagine vediamo il programma; sono davvero poche righe che sfruttano la potenza di questo linguaggio di programmazione.

All’inizio azzeriamo la variabile “trovati”, la quale conterrà il numero di volte che il valore cercato viene trovato nel vettore.

Abbiamo poi il ciclo FOR, che gestisce una variabile di tipo doppio intero “indice”, per andare a scorrere tutti gli elementi del vettore, e confrontarli con il contenuto della variabile “dato_cercare”.

Nel condizionamento IF, l’indice è messo tra parentesi quadre, in questo modo testiamo l’elemento che ci interessa. Questo indice andrà da 0 a 9, ed è il ciclo FOR che lo incrementa, per poi riportarlo a 0 quando ha terminato il giro.

Quando l’elemento con indice corrente è uguale a quello cercato, incrementiamo la variabile “trovati”.

Programma in linguaggio ST per plc ABB

Nella prossima immagine vediamo il programma in funzione: il valore cercato è “15”, e nel vettore è contenuto 5 volte; questi valori sono stati evidenziati nella figura.

Schermata runtime programma ST per plc ABB

Bene, abbiamo visto come il linguaggio di testo strutturato possa aiutarci a creare routines che eseguono qualcosa molte volte, utilizzando poche ed efficaci istruzioni.

Chiaramente avremmo potuto eseguire lo stesso esercizio anche utilizzando il linguaggio ladder, in quel caso avremmo dovuto gestire l’indice con delle istruzioni ADD, MOV, e delle funzioni di comparazione per azzerarlo quando raggiunge 9.

Il vantaggio del linguaggio ST, è che chiunque abbia conosciuto un qualsiasi linguaggio di programmazione “classico”, è in grado di comprenderlo.

Copyright(C) automazione-plc.it
P. IVA: 11676200964
Sito di informazione e didattica sull'automazione industriale, il mondo dei PLC e dei sistemi di supervisione.
Programmazione PLC.
Programmazione SCADA e HMI.
Apparecchiature e hardware industriale.
Strumentazione da campo.
Policy sulla Privacy e utilizzo dei Cookies