Controllo di un Processo ad Eventi Discreti

 

Home Su

Il controllo di Sistemi ad Eventi Discreti

Si definiscono con il termine di Sistemi ad Eventi Discreti quei sistemi in cui la evoluzione dello stato dei componenti avviene ad eventi piuttosto che in maniera continua. Anche se il considerare l'evoluzione di un sistema ad eventi discreti è solo una approssimazione della realtà, tale semplificazione risulta spesso efficace ed è tale da snellire notevolmente un problema di automazione.

 Nella maggior parte dei casi, infatti, l'oggetto dello studio è un sistema molto complesso ed eterogeneo di macchine per cui, piuttosto che dover affrontare il problema di controllo della singola macchina, si richiede la realizzazione di un sistema di automazione e di sincronizzazione di più macchine. Lo stesso controllo delle singole componenti del processo viene progettato per astrazioni successive, preventivamente sintetizzando il controllo delle macchine per poter soddisfare dati requisiti di continuità, di rapidità e di qualità di automazione, in modo tale da poter approssimare il comportamento della singola macchina ad una semplice successione di stati ben definiti. 

I metodi per il progetto di Processi Automatizzati

Esistono diversi metodi a supporto del progetto di sistemi automatizzati. Tra i metodi di analisi più noti, ad esempio, c'è quello che usa un metodo grafico - matematico indicato con il termine di Reti di Petri che permette di analizzare la sequenza di operazioni svolte nel processo automatizzato per verificare la presenza di collisioni o semplicemente per valutarne l'efficienza. L'efficacia del metodo consiste nella formalizzazione matematica delle operazioni preventivamente strutturate tramite un grafo orientato, in modo da poter analizzare anche matematicamente, magari tramite il supporto informatico, l'efficacia e la correttezza del progetto di automazione.

I metodi di sintesi del controllo dei processi sono soprattutto derivati dal tipo di "macchine" che vengono utilizzate oggi per il controllo di processo, i PLC (Controllori Logici Programmabili). Questi dispositivi discendono dalle reti a relais molto utilizzate fino agli anni '70 in gran parte dei processi industriali automatizzati e ne ereditano in gran parte la modalità di funzionamento. Il funzionamento di un PLC può essere così sintetizzato: 

A. Lettura istantanea dello stato del processo controllato tramite dispositivi di misura specializzati;
B. Elaborazione, in funzione di tutte le letture dello stato in ingresso, delle azioni da compiere per modificare lo stato del processo nel modo desiderato; 
C. Attuazione delle uscite tramite attuatori comandabili direttamente;
D. Ripeti da (A);

Uno dei maggiori problemi nell'utilizzo dei PLC, almeno all'origine del loro utilizzo, è stato la mancanza di metodi efficaci per la progettazione del controllo, nonostante la grande capacità di elaborazione da loro offerta. All'origine del gap tra metodi e tecnologia, un fenomeno che tuttora affligge gran parte delle macchine moderne, è il rapido accrescere delle capacità di elaborazione dei PLC rispetto a ciò che le reti a relais - progettate con metodi statici ed inadeguati per sistemi dinamici come i PLC - erano in grado di offrire. La mancanza di metodi, insieme alla differenziazione di prodotti offerta dalle case costruttrici di PLC (fino alla comparsa di nuovi standard, la maggior parte dei PLC era assolutamente incompatibile da modello a modello), ha reso molto critica la manutenzione dei processi di automazione, per cui la necessità di nuovi metodi diventò oltremodo pressante.

Il metodo basato sul Grafcet

Fino alla definizione del Grafcet nel 1982, esistevano diversi metodi che potevano essere applicati alla risoluzione di problemi logici dinamici, la maggior parte dei quali diventano gradualmente più inadeguati al crescere della complessità del problema da risolvere. 

Il Grafcet, diagramma funzionale standardizzato dall'UTE (Union Technique de l'Electricité) che fa uso del concetto di Stato, Transizione e di Collegamento Orientato, consente di strutturare un problema secondo livelli di astrazione successiva, offrendo inoltre la possibilità di traduzione diretta della sua struttura in uno dei linguaggi a basso livello normalmente utilizzato nella programmazione dei PLC (ad esempio il linguaggio grafico LADDER o il linguaggio assembler dei PLC). 

Il Grafcet è assimilabile ad un diagramma degli stati o ad un diagramma di flusso, ma ne differisce per il fatto che mentre in questi ultimi ogni stato è individuato da una ben precisa configurazione (invariante) delle uscite, nel Grafcet uno Stato è individuato da un insieme di Azioni, mentre una transizione tra due stati è condizionata ad un evento che determina la fine di un'azione e l'inizio della successiva. Al contrario di molti diagrammi di flusso, inoltre, più stati possono essere contemporaneamente attivi e la possibilità di coordinazione di questi è una delle più importanti proprietà di questo linguaggio.

La formalizzazione nata con questo linguaggio permette di definire degli stati iniziali (stati che sono attivati all'attivazione del programma creato con il Grafcet), un collegamento di Scelta alternativa nell'attivazione di due o più stati, l'attivazione contemporanea di più stati attraverso un collegamento di Parallelismo, la convergenza sincronizzata di più stati attraverso un collegamento di Sincronizzazione. Per maggiori dettagli, è opportuno fare riferimento al documento che ne definisce in modo completo la formalizzazione. 

Il PC nell'Automazione Industriale e il LabView

Proprio nel momento di massima diffusione dei PLC, la diffusione dei personal computer e l'inserimento in commercio di schede e dispositivi per l'interfacciamento verso il campo, ha portato alla diffusione del concetto di PC visto come Embedded Controller e più in generale, alla diffusione dell'idea che il PC potrà in futuro sostituire completamente il PLC. In realtà, la sostituzione del PLC con il PC è lungi dall'essere prossima, in quanto la enorme specializzazione e il sempre maggiore accrescimento delle funzionalità dei PLC fa soprattutto pensare ad una fusione dei concetti di PC e PLC nel prossimo futuro.

Una buona carta attualmente a disposizione dei sostenitori del PC è la diffusione dei linguaggi orientati al controllo di cui il linguaggio LabView, prodotto dalla National Instruments, è uno dei più affermati e diffusi esponenti. Il LabView, ormai giunto alla versione 6, è considerato da quasi tutte le società produttrici di Hardware per PC il migliore linguaggio per la costruzione rapida di applicazioni (RAD, rapid application development) dedicate al controllo non critico e al  monitoraggio di processi di automazione.

A favore della coppia LabView - PC ci sono vari fattori che distinguono le potenzialità dei sistemi basati su PC da quelli basati su PLC, riassunti nell'elenco che segue:

Compatibilità: Un grande vantaggio dei sistemi basati su LabView è quello di essere multi - piattaforma, anche se l'enorme diffusione dei sistemi basati su processore x86 non ne richiederebbe effettivamente la necessità;
Potenza: Anche non potendo competere con la rapidità di esecuzione dei PLC, sono attualmente disponibili dei dispositivi di calcolo (basati su processore x86) Embedded, privi (o con una versione estremamente leggera) di sistema operativo, che esaltano maggiormente le capacità di elaborazione rapida e di controllo Real-Time;
Flessibilità: Una notevole proprietà dei sistemi basati su PC è la possibilità di poter disporre di una notevole quantità di memoria, per cui, teoricamente, non esiste limite alla possibilità di sviluppo di applicazioni che possono eseguire algoritmi molto complessi di calcolo sui dati in ingresso (basati ad esempio su Logica Fuzzy, Reti Neurali, Algoritmi Genetici);
Informatizzazione: Un sistema basato su PC prevede attualmente una così ampia gamma di dispositivi di comunicazione da poter rendere il controllo distribuito facilmente attuabile e molto flessibile;

La tendenza esponenzialmente crescente nelle caratteristiche sopraelencate per i sistemi basati su PC ha però creato in questi un forte gap tra le potenzialità e le capacità dei metodi di progetto disponibili, soprattutto per quanto riguarda i metodi per il progetto del controllo dei processi di automazione. Anche il LabView, come altri strumenti di progetto, non hanno a supporto una metodologia chiara ed efficace per tradurre le regole di controllo in codice grafico. Alcune tecniche di progetto, come l'UML (Universal Modeling Language), risolve i problemi di manutenzione del codice e di progetto per applicazioni di grandi dimensioni, ma non ne risolve i problemi di progetto della interazione logica tra l'elaboratore e il processo automatizzato. Inoltre, questi linguaggi sono orientati allo sviluppo di applicazioni tramite linguaggio testuale, non per linguaggi grafici.

Il Grafcet per il progetto di un Processo Automatizzato 

L'idea di utilizzare il Grafcet è nata proprio per colmare il gap tra potenzialità del linguaggio grafico e la complessità del controllo da attuare sul processo automatizzato. Nonostante la mancanza di una strutturazione del linguaggio di programmazione flessibile quanto quella di un linguaggio testuale ad oggetti, gli strumenti utilizzati per rendere possibile la conversione di un progetto di automazione scritto in Grafcet fanno soprattutto perno sulla capacità di manipolazione matematica che offre il LabView. 

Anche il Grafcet, come le reti di Petri, permettono una formalizzazione matematica successiva al progetto grafico del controllo. Al contrario delle reti di Petri, però, il fine della formalizzazione non è l'analisi del processo automatizzato ma la stesura del codice che realizza l'automazione desiderata. Per comprendere la procedura di conversione di un diagramma Grafcet in codice è necessario introdurre alcuni elementi fondamentali che la caratterizzano.

Dato un diagramma Grafcet che sintetizza l'automazione di un impianto, il procedimento di conversione di un diagramma in codice consiste, innanzitutto nel definire una serie di variabili booleane associate al processo:

S[i] Î n: Vettore degli Stati: l'elemento i-esimo indica, se pari ad 1, che il relativo stato è attivo;
T[j] Î Bm: Vettore Transizioni: l'elemento j-esimo indica, se pari ad 1, che le condizioni che rendono attiva la relativa transizione sono soddisfatte;

 Il passo successivo consiste nell'elaborare le seguenti funzioni:

1) Inizializzazione: Inizializzazione degli elementi del vettore S[i] degli stati a zero per tutti gli stati tranne quelli considerati come stati iniziali;
2) Verifica Transizioni: Si testano tutte le condizioni relative alle transizioni T[i] che discendono da stati attivi. Si impone l'elemento del vettore delle transizioni pari ad 1 se le condizioni che attivano la relativa transizione sono verificate;
3) Esecuzione: Tutte le azioni collegate a stati attivi vengono eseguite o vengono lasciate attive (in funzione del tipo di azione);
4) Cambio di Stato: Si disattiva ogni stato S[i] che è seguito da una transizione T[j] attiva e si attiva ogni stato S[i] che è preceduta da una transizione T[j] attiva; 

Delle 4 funzioni solo la prima viene eseguita all'attivazione del processo e dopo ogni reset dell'elaboratore che esegue il controllo. Le altre 3 vengono eseguite in successione ad ogni ciclo di esecuzione dell'elaboratore.

 

On Working 

Questa pagina è stata aggiornata il 17/06/01.

Leonardo Daga's Warehouseâ, http:/digilander.iol.it/LeoDaga
Send any Comments to: leonardodaga@libero.it