280 likes | 556 Views
Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente. Cristiano Poddie Tesi di laurea specialistica in Ingegneria Elettronica Università degli Studi di Cagliari – DIEE ENS Cachan - LURPA Relatori: Prof. J.M. ROUSSEL Prof. Alessandro Giua.
E N D
Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente Cristiano Poddie Tesi di laurea specialistica in Ingegneria Elettronica Università degli Studi di Cagliari – DIEE ENS Cachan - LURPA Relatori: Prof. J.M. ROUSSEL Prof. Alessandro Giua
Indice Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente • Introduzione • PLC, SFC e GRAFCET • Presentazione del problema • Differenze tra GRAFCET e automa temporizzato • Approccio utilizzato • Il grafo delle configurazioni stabili accessibili • Definizione • Configurazioni • Evoluzioni • Costruzione del GASC • Albero delle configurazioni accessibili • Automa temporizzato • Costruzione • Analisi • Conclusioni
Introduzione PLC, SFC e GRAFCET • PLC • Controllore a logica programmabile • Utilizzato nell’industria per il controllo dei processi produttivi • SFC • Linguaggio di programmazione • Linguaggio grafico, concetto di stato, causa, effetto, temporizzazioni • Deriva dal linguaggio GRAFCET • GRAFCET • Linguaggio di modellazione • Descrive il comportamento di un sistema
Introduzione Presentazione del problema • Obiettivo • Stabilire un metodo che consenta di descrivere il comportamento di un grafcet tramite un automa temporizzato equivalente • Motivazioni • GRAFCET • linguaggio di modellazione molto completo e semplice da usare ma per il quale non sono disponibili molti strumenti di analisi • Automa temporizzato • formalismo ampiamente studiato e per il quale sono disponibili diversi mezzi di analisi • Approccio utilizzato • Modellazione realizzata tramite grafcet • Generazione automatica dell’automa temporizzato • Analisi dell’automa temporizzato ottenuto
Grafcet Più fasi attive simultaneamente Scatto simultaneo di più transizioni Approccio orientato alla condizione o all’evento Differenti forme e applicazioni delle temporizzazioni Automa temporizzato Solo uno stato attivo Un solo evento per volta Approccio orientato solo agli eventi Temporizzazioni: guardie, invarianti e reset Introduzione Differenze GRAFCET/automa temporizzato
Introduzione Approccio utilizzato: Passaggio per un modello intermedio • Perché un modello intermedio? • Per semplificare il meccanismo di costruzione • Ricercare gli stati stabili raggiungibili e le evoluzioni del grafcet • Rappresentare gli stati e le evoluzioni tramite l’automa temporizzato • Informazioni contenute nel modello intermedio • Informazioni necessarie all’analisi delle evoluzioni del grafcet • Situazioni, uscite emesse successioni di scatti simultanei di transizioni • Informazioni necessarie per l’automa temporizzato • Eventi, guardie, invarianti e operazioni sugli orologi • Modello utilizzato • Estensione del grafo delle situazioni stabili accessibili
Grafo delle Configurazioni Stabili Accessibili Grafo delle Configurazioni Stabili Accessibili (GASC) • Composizione • Macchina mono-stato • Stato: configurazione stabile del grafcet • Evoluzione: passaggio da una configurazione stabile ad un’altra • Tempo: livello logico • Configurazione del Grafcet • Situazione del grafcet • Insieme di fasi attive • Stato delle temporizzazioni • Insieme di temporizzazioni scadute • Stato delle uscite • Insieme delle uscite attive • Condizione di invarianza Set di temporizzazioni scadute Set di fasi attive Set di uscite attive Condizione di invarianza
Grafo delle Configurazioni Stabili Accessibili GASC: Evoluzioni • Configurazione del grafcet • Situazione del grafcet • Stato delle temporizzazioni • Stato delle uscite • Evoluzioni tra le configurazioni • Condizione di evoluzione • Condizione (o evento) che devono rispettare gli ingressi e le temporizzazioni • Dettaglio dell’evoluzione • Lista ordinata degli insiemi di transizioni che scattano • Operazioni sugli orologi Lista ordinata di insiemi di transizioni Causa dell’evoluzione Operazioni sugli orologi
TAC GASC Grafo delle Configurazioni Stabili Accessibili Costruzione del GASC • Tecnica proposta • Costruire l’albero delle configurazioni accessibili (TAC) per ogni configurazione stabile raggiungibile • Radice: configurazione stabile da analizzare • Nodo: configurazione raggiunta da analizzare • Foglia: configurazione stabile raggiungibile • Riportare sul GASC le evoluzioni stabili • Tra radici e foglie
Albero delle configurazioni accessibili TAC: Radice • Informazioni date • Configurazione stabile da analizzare • Informazioni da calcolare • Transizioni che possono scattare • Insiemi di transizioni che possono scattare simultaneamente (con la relativa condizione) • per ogni insieme un evoluzione • Evoluzioni dovute al tempo • Condizione di invarianza • Condizione booleana su ingressi e temporizzazioni per cui la configurazione è stabile
Albero delle configurazioni accessibili TAC: nodo intermedio • Informazioni date • Configurazione raggiunta • Variazioni di ingressi e temporizzazioni per cui è stata raggiunta la configurazione • Informazioni da calcolare • Transizioni che possono scattare • Insiemi di transizioni che possono scattare • Condizione di stabilità • Per le situazioni raggiunte almeno parzialmente stabili Foglia
Automa temporizzato Automa temporizzato: costruzione • Stato • Per ogni configurazione stabile uno stato dell’automa temporizzato • Invariante ← Condizione di stabilità sulle temporizzazioni • Transizione • Per ogni evoluzione del GASC una transizione dell’automa temporizzato • Condizione di transizione ← condizione di evoluzione sugli ingressi • Guardia: • associare ad ogni espressione d/Xi una guardia xi≥ d • Associare ad ogni espressione d/Xi la guardia xi < d • Associare, se necessario, dei reset per gli orologi
Automa temporizzato Analisi dell’automa • Studio della raggiungibilità • Verificare tramite software dedicato (per esempio UPPAAL) la raggiungibilità degli stati dell’automa • Verificare quali evoluzioni possono essere effettuate dall’automa
Automa temporizzato Semplificazione del GASC • Se uno stato non è raggiungibile dall’automa eliminare la configurazione dal GASC • Se un’evoluzione non può essere effettuata dall’automa eliminare il relativo arco dal GASC • Condizione necessaria e sufficiente per la raggiungibilità
Conclusioni Conclusioni • Grafo delle Configurazioni Stabili Accessibili • Rappresentazione completa ma compatta • Solo le configurazioni stabili sono riportate • Tutte le informazioni sulle possibili evoluzioni sono riportate • Risultati di questo lavoro • Un approccio per l’analisi di grafcet temporizzati • Visione logica del tempo • Grafo delle Configurazioni Stabili Raggiungibili • Visione fisica del tempo • Costruzione dell’automa temporizzato e analisi del grafo delle regioni • Un algoritmo per ottenere automaticamente il GASC • Implementato su Python e attualmente in uso presso il laboratorio LURPA • Probabile pubblicazione nel corso dell’anno 2010
Approfondimenti Esempio pratico (1) • Sistema di distribuzione acqua • Un serbatoio • 6 valvole • 2 pompe • Comportamento • Le pompe si alternano ogni 24 ore • Temporizzazioni nell’avvio pompe e apertura valvole • Analisi • Le operazioni vengono eseguite nell’ordine richiesto? • Esistono situazioni di pericolo? • Analisi manuale impossibile
Approfondimenti Esempio pratico (2) • Modello in GRAFCET • Analisi manuale impossibile • Risultati ottenuti con l’algoritmo utilizzato • 32 configurazioni raggiungibili • Nessuna instabilità • 670 evoluzioni possibili • Nessuna situazione di pericolo • Tempo impiegato: 15 secondi circa su P4 2,4GHz
Approfondimenti TON sugli ingressi F 1 a tF t1 1s/a T 2 tTa a ∙ 1sec/X1 V tTb a 1s/a ← XV ∙ a + XT ∙ a ∙ 1sec/X1 tV a
Approfondimenti Non simultaneità tra eventi di ingresso ed eventi dovuti alle temporizzazioni • p.d.f.: probability density function • e: evento ‘variazione degli ingressi’ • 1s/Xi: temporizzazione sulla fase i • hi: orologio associato alla fase i p.d.f.(e) t 1s/Xi t hi (sec) 1 t T(A) T(A+1)
Approfondimenti Esempio di utilizzo di UPPAAL (1) Grafcet analizzato • specifiche: • O2 deve essere emessa • O2 e O3 non devono mai essere emesse simultaneamente • Impossibile un’analisi manuale
Approfondimenti Esempio di utilizzo di UPPAAL (2) Grafo delle configurazioni stabili raggiungibili
Approfondimenti Esempio di utilizzo di UPPAAL (3) Automa temporizzato equivalente
Approfondimenti Esempio di utilizzo di UPPAAL (4) • Linguaggio UPPAAL • Implementazione di query • Query implementate • Raggiungibilità degli stati • Possibilità di evoluzione • Presenza di deadlock
Approfondimenti Esempio di utilizzo di UPPAAL (5) GASC semplificato
Approfondimenti Esempio di GRAFCET con instabilità totale Instabilità totale • Lo stesso insieme di transizioni scatta due volte • Costruzione dell’albero delle configurazioni accessibili • Nella costruzione individuiamo la seguente sequenza: • <{t3}, {t2}, {t1}, {t2}> • L’instabilità totale viene riportata all’analista insieme alla causa.
Approfondimenti Definizione formale del Grafo delle Configurazioni Stabili Accessibili