CORSO DI PROGRAMMAZIONE PLC ALLEN BRADLEY:
ESEMPIO IN LINGUAGGIO DI TESTO STRUTTURATO ST

Programmazione PLC Allen Bradley: linguaggio di testo strutturato ST

Benvenuto nel corso di programmazione PLC Allen Bradley CompactLogix e ControlLogix, 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 5570 emulate, controllore di questa famiglia simulabile in Studio 5000.

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 Rockwell Automation (Allen Bradley) 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.

I linguaggi di programmazione per i 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 il vettore di dati, così come definito in Logix Designer 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.

Vettore dati utilizzato nel programma in linguaggio ST

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 “occorrenze”, 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 “valore_cercato”.

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 “occorrenze”.

Routine in linguaggio ST nel plc Allen Bradley: ricerca in un vettore

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

Visualizzazione dei dati in runtime

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