Estratto del documento

Sequenza e funzione chart: un po' di storia

Nasce nel 1975 da una commissione di ingegneri che volevano costruire uno strumento per avere un linguaggio che fosse più adeguato alla complicazione di quello che andava modellato/controllato. Si sono ispirati al concetto di macchina stati, che viene utilizzata in vari ambiti dell'ingegneria per modellare questo tipo di evoluzione dal punto di vista matematico. La macchina stati ha l’idea che l'evoluzione da una situazione operativa ad un'altra avviene quando si scatenano certi eventi, in condizioni particolari. Quindi, di fatto è molto simile ad un sistema a tempo discreto, però l'evoluzione non avviene in quel formalismo canonico, ma ci si sposta da stato in stato; quindi, esiste un centro controllo associato allo. La commissione ha partorito questo GRAFCET che è stato poi incluso nello standard, con il nome di Sequential Function Chart. È un linguaggio di alto livello per incrementare il controllo logico sequenziale, che è molto diverso da quello visto prima. Il formalismo è gerarchicamente superiore, nel senso che di fatto uno può descrivere il funzionamento del processo tramite un SFC; i linguaggi che abbiamo visto prima di “più basso livello”, servono semplicemente ad implementare il controllo, quindi quello che si chiama azioni e condizioni. È un metalinguaggio che in qualche modo fa uso degli altri per implementare praticamente alcuni pezzi di linguaggio stesso.

Elementi di base: stato

Gli elementi di base di questo diagramma di flusso sono: stato, transizione, condizioni e archi, che collegano stati e transizioni ecc. Nell’esempio della timbratrice automatica c'era un SFC disegnato a fianco. Lo stato è rappresentato con un quadrato, in ogni caso dove c'è X o un numero normalmente c’è uno stato a cui vengono affiancati altri blocchi che possono essere, per esempio, la descrizione delle azioni dello stato. Ogni stato, può essere chiamato anche fase, tappa, passo e step, e di fatto rappresenta una situazione operativa. Cioè se sono nello stato X svolgo delle azioni, una situazione operativa. Questo tipo di azione viene svolto con certe caratteristiche. Ad ogni stato è associato un algoritmo di controllo generico, di fatto una serie di operazioni; è una condizione invariante, significa che se ci sei ci rimani finché qualcuno non ti butta fuori. Per finire altrove deve scatenarsi una transizione di stato, vuol dire che si verifica un evento che scatena la transizione (da uno stato mi sposto in un altro stato) ad un’altra riga, che è di nuovo in variante con altre azioni ecc. Uno stato può essere attivo o inattivo: se sono in uno stato, lo stato è attivo. Nell’SFC ci possono essere tanti stati che possono essere inattivi; quando finisco in uno stato inattivo, quello stato diventa attivo e il precedente diventa inattivo. Per esempio, in questo diagramma abbiamo due stati X e Y (normalmente useremo i numeri). Per descrivere il passaggio dallo stato X a Y si usa una transizione, che permette di spiegare come avviene. Ad ogni transizione è associata una condizione (barra di traverso) a cui è associato un certo evento o una condizione che modella il verificarsi di un evento, che potrebbe essere una condizione tipicamente logica, quindi un'espressione logica. Per esempio, pezzo presente davanti alla fotocellula, “sì-no”: sì transizione attiva, no transizione non attiva. Le condizioni sono gli eventi che determinano il passaggio da uno stato all’altro, rappresentate tramite espressioni booleane. Gli archi orientati (linea con freccia) descrivono la direzione con cui gli stati sono connessi l’uno all'altro; quindi, in questo caso la direzione con cui faccio la transizione, nel caso in cui si verifica l'evento, è da X verso Y, quando avremo più stati, gli archi orientati serviranno a stabilire l'ordine in cui vado a esplorare tutti gli stati.

Altri elementi di base

Per connettere due stati metto un arco e una freccia e tra due stati c'è sempre una transizione; quindi, non può accadere che due stati siano connessi in maniera diretta senza alcuna condizione associata alla transizione. Non posso avere due transizioni senza in mezzo uno stato, perché se faccio la transizione la faccio da uno stato ad un altro stato tramite una condizione. Tra due stati una transizione. Tra due transizioni uno stato. Il doppio quadratino descrive il punto di partenza (condizione iniziale) dell'evoluzione del programma. In questo caso, lo stato iniziale è lo stato 1 e posso transire dallo stato 1 al 2 in funzione del fatto che la condizione della transizione sia diventata vera.

Esempio: timbratrice automatica

Questo esempio fa capire l'utilità di utilizzare questo tipo di rappresentazione. Abbiamo un nastro trasportatore su cui viaggiano dei pezzi e un timbro che deve timbrare quando il pezzo è lì. La condizione iniziale (doppio quadratino), lo stato 1 dell’SFC, mette il focus su questo sistema su cui ci sarà un sensore che verificherà quando il pezzo è presente. Nella condizione iniziale aspetto che arrivi il pezzo; quando arriva si verifica una condizione, cioè la fotocellula rileva la presenza del pacco e faccio la transizione dallo stato 1 allo stato 2. In questa configurazione sono nello stato 2 in cui sono associate delle azioni legate alla timbratura; quindi, per esempio viene mandato il pistone in avanti. Quando dico “pistone avanti”, sto sottintendendo che vi è una serie di operazioni che andranno ad attuare il pistone. Il pistone va in basso e timbra; mi fermo quando ho una verifica dopo un tot di minuti o secondi allo scadere del quale, si transisce dallo stato di timbratura a quello dell'espulsione del pezzo, che prevede una serie di azioni: per esempio tirare su il pistone, cioè attuare la pompa al contrario per aspirare l'olio ecc. ecc. e poi riaccendere il nastro trasportatore per espellere il pezzo. Una grossa fetta di operazioni dell'automazione industriale si possono ricondurre a varianti di questo tipo, cioè oggetti che si spostano sotto macchinari e devono essere lavorati e va fatto in maniera ripetitiva, veloce, logica. Dal punto di vista formale quando ho finito l'espulsione del pezzo, torno nello stato 1 perché è un sistema che voglio in maniera ciclica; quindi, quando si ripresenterà il pezzo tutte le azioni vengono ripetute. Questo è quello che fa un PLC.

Regole di evoluzione

Non si può disegnare uno schema SFC senza avere uno stato iniziale; quindi, occorre stabilire uno o più stati iniziali e poi questi interagiranno l’uno con l'altro. Per passare da uno stato all'altro occorre che in mezzo ci sia una transizione a cui è associata una condizione che sia vera. Questo tipo di condizioni, ad esempio in una fotocellula che misura la presenza o meno di un pezzo, ovvero che la condizione sia vera o falsa (ad es. pezzo presente o meno sotto la fotocellula) non è strettamente legata a dov'è l’SFC, ma si tratta semplicemente di verificare o meno una certa espressione logica, come i sensori che possono dare un risultato falso o vero in funzione di quello che sta succedendo nel plant. Questo non vuol dire che tutte le volte che la transizione è vera io transisco dallo stato precedente a quello successivo, ma avviene un doppio passaggio, in quanto la transizione deve essere abilitata oltre che verificata; quindi, una transizione è abilitata se tutti gli stati a monte della transizione stessa sono attivi. È vero che fra uno stato e l'altro c'è una transizione ma può essere che più stati insistano su una stessa transizione; quindi, devo verificare che lo stato sia attivo altrimenti non mi interessa del valore della condizione, cioè che ci sia o meno il pezzo non mi interessa quando sono in attesa del pezzo, piuttosto mi preoccupo di capire se il pezzo c'è o non c'è. Si parla di abilitazione della transizione quando lo stato è attivo. Se la transizione non è abilitata, allora non viene neanche testata la condizione. Quando invece diventa abilitata in funzione del valore che ha la condizione, allora la transizione diventa attiva (o superabile). Esistono tante condizioni, ma ci interessano quelle che stanno davanti lungo il percorso di attivazione degli stati, perché l’unica condizione che vado a verificare è quella che collega lo stato corrente con il successivo. Lo stato corrente abilita una transizione e quando diviene vera permette di fare il superamento della transazione stessa e cambiare stato. Quando con l’ostacolo viene disattivato tutto ciò che veniva fatto nello stato precedente viene interrotto e ci si preoccupa dello stato successivo. Questo introduce il fenomeno del tempo ad eventi discreti, quindi non è esattamente uguale a quello che abbiamo visto nel controllo a tempo discreto visto nel modulo due dove c'era un tempo che inesorabilmente andava avanti con un tempo di scansione, qua invece il tempo è come se procedesse a scatti non uniformi e mi sposto da un punto ad un altro tramite un evento.

Macro-stati

È possibile utilizzare il concetto di Macro-Stato dove raccolgo più stati in un unico stato. In questo esempio lo stato 4 ha al suo interno tre stati che hanno un loro significato, delle transizioni associate interne, delle azioni associate a ciascuno degli stati. Questi tre stati li posso riassumere genericamente nello stato 4 senza perdere di generalità, perché tanto so che ogni volta che vado in 4 in realtà sto andando a fare 10, 11 e 12. Questo serve solo a rappresentare in maniera più sintetica quello che sto facendo.

Strutture di collegamento: scelta e convergenza

Abbiamo due tipologie di prodotti A e B, che sono sullo stesso nastro. Tali prodotti devono subire una lavorazione differente. Naturalmente mi serve distinguere fra i due prodotti e quindi esiste un sensore capace non solo di rilevare la presenza del prodotto ma anche di distinguere tra i due tipi di prodotto. Quando è finita la lavorazione dei due prodotti deve essere avviato un test di qualità, che è indipendente dal tipo di prodotto, e poi viene espulso.

Scelta e convergenza

Normalmente si possono avere n prodotti indipendenti di tipo diverso, quindi, è quello che si chiama normalmente scelta. In SFC, la scelta viene disegnata in questo modo: Abbiamo lo stato 5 in cui sono giunto da chissà dove con una certa transizione, e poi una struttura di collegamento, che si chiama Scelta, che permette di collegare lo stato 5 agli stati 6, 7, 8 e 9. Tra due Stati collegati avviene sempre una transizione; c6, quindi, tra 5 e 6 c'è la condizione tra 5 e 7 c'è la c7, c8, condizione tra 5 e 8 c'è la condizione tra 5 e 9 c'è la c9. condizione Sono archi orientati, quindi vuol dire che ci sono delle frecce e ci appoggiamo sulla convenzione che dall'alto si va verso il basso, per cui non c'è un collegamento tra 6 e 7, ma da 5 e 6, 5 e 7, 5 e 8, 5 e 9. C'è una barra unica che permette di finire dallo stato 5 negli stati 6, 7, 8 o 9 in funzione delle condizioni. Una volta che sono finito in uno degli stati, e ad un certo punto arrivo in fondo alla mia lavorazione specifica e dovrei eseguire il test indipendentemente dal fatto che sia stato prodotto A, B, C o D; quindi si completa la struttura, che si era aperta con una scelta, con una cosiddetta Convergenza. La convergenza rappresenta il fatto che gli stati indipendenti convergono verso un unico stato di più sequenze solitamente mutuamente esclusive tra loro; quindi, se sono andato in 6 non sono andato in 7, 8 e 9 e se sono andati in 8 non sono andato in 6, 7 e 9 ecc. Se immaginate queste sequenze collegate, ci sono degli altri stati in mezzo che non sono rappresentati e, per esempio, se sono entrato in 9 arrivo in 14 non arrivo in 13. In verità di questi stati solo uno diventa attivo e per questo motivo ho 4 condizioni che si possono abilitare e che eventualmente andrebbero verificate. Sotto le quattro condizioni c’è un'unica barra che chiude la convergenza per finire nello stato 15. Questo schema rappresenta il caso di studio mostrato nella slide precedente, in cui ho i due tipi di prodotti e arriva un tipo di prodotto quindi faccio una lavorazione (uno dei rami dell’SFC) e a valle del quale, indipendentemente dal fatto che abbia fatto prodotto A, B, C o D, devo fare 15, che è un altro stato che fa per esempio un controllo di qualità sul prodotto elaborato e non mi interessa se è A, B, C o D. Lo stato 15, infatti, è comune a tutti i rami quindi in questo modo posso fare qualcosa di molto più sofisticato dal punto di vista della rappresentazione del programma, è un livello più alto dal punto di vista della modellazione.

Mutua esclusione

Con Mutua esclusione si intende che se è arrivato il prodotto A, allora non è arrivato il prodotto B. Se è arrivato un certo tipo di prodotto posso imporre che sono sicuro che non è arrivato nessun altro tipo di prodotto, mi posso fidare del fatto che il sensore è affidabile e rileva un tipo di prodotto e basta. Posso fare di più dal punto di vista della programmazione, rendendo le condizioni c6, mutuamente esclusive, per cui il fatto che una qualsiasi delle condizioni (c7, c8 c9) e sono espressioni booleane (vere o false), posso fare in modo di renderle mutualmente esclusive dal punto di vista del tipo di condizione che vado ad imporre. Cioè suppongo di avere c6, c7, c8 e c9 associate a ciascuno dei rami a cui è associata la condizione logica che chiamerò cond6, cond7, cond8 e cond9. Quindi se è arrivato il prodotto di tipo 6, è vero e vado in questo ramo. Per garantire che tutte le altre condizioni diventino false, condiziono alla negazione della condizione 6. Di fatto, hanno un and logico (*) alla negazione della condizione 6: se la condizione 6 è vera, allora not è falso, e se lo metto in and con qualsiasi altra cosa il risultato è c6, c7, c8.

Anteprima
Vedrai una selezione di 5 pagine su 20
Automazione dei processi industriali - Sequential Function Chart   Pag. 1 Automazione dei processi industriali - Sequential Function Chart   Pag. 2
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Automazione dei processi industriali - Sequential Function Chart   Pag. 6
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Automazione dei processi industriali - Sequential Function Chart   Pag. 11
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Automazione dei processi industriali - Sequential Function Chart   Pag. 16
1 su 20
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/04 Automatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher mvezzani di informazioni apprese con la frequenza delle lezioni di Automazione dei processi industriali e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Notarnicola Ivano.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community