11/12/2009 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 • • • • Il grafo delle configurazioni stabili accessibili • • • • Definizione Configurazioni Evoluzioni Costruzione del GASC - Albero delle configurazioni accessibili Automa temporizzato • • PLC, SFC e GRAFCET Presentazione del problema Differenze tra GRAFCET e automa temporizzato Approccio utilizzato Costruzione Analisi Conclusioni Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 2 Introduzione PLC, SFC e GRAFCET PLC • SFC • Controllore a logica programmabile - Utilizzato nell’industria per il controllo dei processi produttivi 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 3 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 4 Introduzione Differenze GRAFCET/automa temporizzato 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 5 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 6 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 fasi attive Set di temporizzazioni scadute Set di uscite attive Condizione di invarianza Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 7 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 Operazioni sugli orologi Lista ordinata di insiemi di transizioni Causa dell’evoluzione Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 8 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 TAC GASC • Riportare sul GASC le evoluzioni stabili - Tra radici e foglie Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 9 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 10 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 11 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 12 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 13 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à Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 14 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 15 Grazie per la vostra attenzione Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 16 Approfondimenti Esempio pratico (1) Sistema di distribuzione acqua • • • Comportamento • • Un serbatoio 6 valvole 2 pompe 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 17 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 18 Approfondimenti TON sugli ingressi F 1 t1 a tF 1s/a T 2 a ∙ 1sec/X1 tTa V 1s/a ← XV ∙ a + XT ∙ a ∙ 1sec/X1 tV tTb a a Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 19 Approfondimenti Non simultaneità tra eventi di ingresso ed eventi dovuti alle temporizzazioni • • p.d.f.(e) p.d.f.: probability density function e: evento ‘variazione degli ingressi’ t 1s/Xi • 1s/Xi: temporizzazione sulla fase i • hi: orologio associato alla fase i t hi (sec) 1 T(A) T(A+1) Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente t 20 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 Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 21 Approfondimenti Esempio di utilizzo di UPPAAL (2) Grafo delle configurazioni stabili raggiungibili Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 22 Approfondimenti Esempio di utilizzo di UPPAAL (3) Automa temporizzato equivalente Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 23 Approfondimenti Esempio di utilizzo di UPPAAL (4) Linguaggio UPPAAL • Implementazione di query Query implementate • Raggiungibilità degli stati • Possibilità di evoluzione • Presenza di deadlock Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 24 Approfondimenti Esempio di utilizzo di UPPAAL (5) GASC semplificato Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 25 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. Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 26 Approfondimenti Definizione formale del Grafo delle Configurazioni Stabili Accessibili Analisi di modelli GRAFCET tramite generazione automatica dell’automa temporizzato equivalente 27