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.
|
 |