Teleram

Home page

Strutturazione del software per l'automazione delle macchine industriali mediante PLC:

la tecnica batch

 

Nell’ambito dell’automazione industriale il software dei sistemi di controllo a microprocessore, quali i PLC (Programmable Logic Controller), riveste un’importanza sempre maggiore. Concetti quali la strutturazione, la leggibilità, il riutilizzo, l'affidabilità, la portabilità e la facilità di manutenzione del software sono alla base del successo di un’applicazione. Lo sviluppo del software di controllo per un impianto automatizzato è sicuramente una fase critica in quanto da esso dipendono in larga parte non solo le prestazioni ma anche la flessibilità dell'impianto stesso. Nel settore industriale delle macchine automatiche, la programmazione è spesso prerogativa di operatori che in genere non hanno la preparazione e le conoscenze acquisite nei corsi universitari quali "ingegneria del software" o "fondamenti di informatica". Il primo e più importante passo in ogni problema di automazione consiste in una corretta progettazione non solo della struttura meccanica e del cablaggio elettrico ma anche del software del sistema di controllo. Non è infatti possibile scrivere seri programmi di automazione industriale se non si è in grado di affrontare in modo metodico la progettazione del software.

Un grave errore dei programmatori alle prime armi, ma spesso anche di quelli esperti, è quello di essere così ansiosi di scrivere il programma da non preoccuparsi di stendere prima una dettagliata specifica del funzionamento dell’automazione. Le applicazioni di maggior successo sono quelle che sono state ben progettate ed il tempo impiegato nella preparazione dei programmi non è mai sprecato. Se un programma è scritto troppo frettolosamente, si perderà molto tempo nella implementazione dei cambiamenti che in seguito si renderanno necessari. Un problema deve essere inizialmente capito e definito mediante le rappresentazioni grafiche dei diagrammi di funzionamento. Solo successivamente queste rappresentazioni grafiche possono essere tradotte in istruzioni di programma.

Tra le tecniche di programmazione derivate dalle reti di Petri, la “tecnica batch” si basa sull'elaborazione di opportuni diagrammi di flusso e di regole precise per la conversione di tali diagrammi in istruzioni di programma. E’ sempre possibile descrivere il funzionamento ed il comportamento di un processo mediante una rappresentazione grafica dei sistemi logici di comando e controllo indipendentemente dal tipo di applicazione. Per chi si accosta per la prima volta a questo tipo di tecnica di programmazione, gli sarà utile paragonarla ad un famoso gioco di società, il gioco dell’oca. Nel gioco dell’oca ad ogni lancio di dadi si è costretti a seguire un determinato percorso, esattamente come il programma è costretto a seguire delle tappe logiche precostituite dal programmatore. Si può quindi associare idealmente ad ogni casella del gioco una tappa del diagramma. In questo modo ogni casella del gioco rappresenta uno dei possibili stati in cui la macchina automatica si può porre.

La tecnica batch si basa sull'impiego di schemi funzionali sequenziali simili al Grafcet (norma C.E.I. 3-35). Il Grafcet è una combinazione di segni grafici, sigle alfanumeriche e letterali che consente una descrizione approfondita del ciclo di lavoro di una macchina automatica. Gli schemi funzionali costruiti con le regole del Grafcet forniscono una vista generale del processo, favoriscono gli scambi interdisciplinari tra i tecnici di differente formazione, facilitano la realizzazione del programma finale e rendono agevoli eventuali modifiche dovute a successive variazioni. Ricorrendo agli schemi funzionali, il processo viene organizzato in una sequenza di passi e di transizioni.

Il ciclo di funzionamento di una macchina automatica viene suddiviso in una successione di stadi ben definiti, chiamati passi, separati da condizioni di transizione. Ogni passo è caratterizzato da un'azione del sistema (o più di una). Un passo può consistere, per esempio, nell’operazione di arresto di un motore o di apertura di una valvola. Prima di iniziare un passo devono essere soddisfatte tutte le condizioni di transizione. La transizione da un passo al successivo è sempre associata ad una condizione (o più di una) che deve essere verificata come, per esempio, l’azionamento di un pulsante, l’attivazione di un sensore o il superamento di una soglia prefissata della pressione. L'evoluzione del ciclo è quindi condizionata da una o più condizioni che devono essere assolte per passare da uno stato a quello successivo.

La tecnica batch assegna a ciascun stato operativo del processo un bit (detto anche merker ed indicato con la lettera M seguita da un numero progressivo) in modo tale che, se il bit è on (1), lo stato è attivo e, se il bit è off (0), lo stato non è attivo. I bit rappresentati gli stati della macchina automatica si trovano nella condizione on o off sulla base della sequenza logica del programma e delle condizioni che devono essere assolte affinché sia possibile procedere nel ciclo di lavoro. In questo modo, l’esecuzione delle azioni corrispondenti a ciascun passo del processo dipendono dallo stato di un bit. Quando interviene una transizione, la macchina passa da uno stato ad un altro semplicemente mettendo ad on il bit del nuovo stato e disattivando il bit dello stato in cui si trovava prima della transizione. L'attivazione del bit di un nuovo stato della macchina viene cioè effettuata se il bit dello stato precedente è attivo e se è verificata la condizione della transizione. In questo modo, nello stesso istante in cui si attiva il nuovo passo, il passo precedente viene disattivato. L'attivazione e la disattivazione sono effettuate con semplici operazioni di "set" e "reset" dei bit rappresentanti gli stati evolutivi dell'impianto (figura 1 seguente). L’operazione di set mette ad on un bit di stato, mentre l’operazione di reset lo mette ad off.

 
 
Questo approccio non richiede un aumento della complessità del software ma, al contrario, è un ottimo metodo per ottimizzare i tempi di sviluppo e per agevolare il lavoro di gruppo dei programmatori stabilendo delle regole precise per la conversione dei diagrammi di funzionamento in istruzioni di programma da immettere nella memoria dei PLC. Un semplice esempio nell’applicazione di questa tecnica è rappresentata dal programma per l’automazione di un cancello elettrico il cui funzionamento è sotto gli occhi di tutti. In genere, mediante due pulsanti a chiave, situati uno all’interno e uno all’esterno dell’edificio, o mediante telecomando si avvia l’apertura del cancello. Completata la fase dell’apertura, il cancello resta fermo per un prefissato tempo di pausa e, successivamente, inizia la fase di chiusura. Durante la chiusura una fotocellula ha la funzione di controllare che nessun oggetto o persona entri nel raggio d’azione del cancello, fermando eventualmente la chiusura e ripetendo l’apertura. Questa descrizione a parole del funzionamento presenta un grande inconveniente: la difficoltà di seguire il flusso logico delle azioni intraprese dal sistema di controllo. E’ difficile, in altri termini, avere un colpo d’occhio su quali azioni sono eseguite e in base a quali condizioni. La rappresentazione mediante diagramma (figura 2 seguente) semplifica notevolmente il funzionamento del sistema di controllo. Sono infatti ben definiti i cinque stati in cui si può trovare il cancello durante il funzionamento ordinario e le condizioni da assolvere per passare da uno stato all’altro.  
 

Se il cancello si trova nello stato iniziale (cancello chiuso), solo la pressione di uno dei pulsanti di apertura consente l’avvio del ciclo di apertura. La fase di apertura (stato 2) termina nell’istante in cui il finecorsa posto alla fine del percorso di apertura viene azionato. Successivamente alla fase di apertura, il cancello rimane immobile nello stato 3 finché un temporizzatore (timer) non termina di contare il tempo di pausa. A questo punto inizia la fase di chiusura automatica che termina solo quando il finecorsa di chiusura viene azionato. Se durante la chiusura (stato 4) viene impegnata la fotocellula di sicurezza, il cancello passa in uno stato di pausa (stato 5) e poi ritorna nello stato di apertura (stato 2).

Le nove regole della tecnica batch consentono di convertire il diagramma di flusso del cancello automatico in istruzioni di programma per il PLC ed in questo modo il sistema di controllo realmente esegue le azioni indicate nello schema di funzionamento. In prospettiva, il progettista del sistema di controllo può anche non conoscere alcuno dei linguaggi di programmazione dei PLC ma ricorrendo alla tecnica batch sarà sempre sicuro che il programmatore realizzerà un programma che si atterrà fedelmente a quanto indicato nel diagramma di funzionamento. In altri termini, la tecnica batch mette a disposizione alcune regole prefissate per la conversione biunivoca del diagramma di funzionamento in un programma per il sistema di controllo a microprocessore, consentendo al progettista del software di svolgere il proprio ruolo fondamentale nello sviluppo dell’automazione e lasciando al programmatore il compito di convertire il progetto in istruzioni da immettere nella memoria del PLC attenendosi a precise regole di sviluppo.

In conclusione, la risoluzione di un problema di automazione, ricorrendo alla tecnica batch, comporta la suddivisione di un programma in almeno quattro parti: un modulo delle predisposizioni iniziali, un modulo del ciclo automatico, un modulo di assegnazione dei comandi agli attuatori ed un modulo di diagnostica ed allarme. In questo modo è possibile migliorare considerevolmente la leggibilità del software e, di conseguenza, la modificabilità e la riutilizzabilità dello stesso.