Università di Napoli Ferderico II Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx anno accademico 2013/2014 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Sommario Descrizione dell'Elaborato ................................................................................................................................. 4 Funzionalità dell’impianto ............................................................................................................................. 4 Schema dell’Impianto .................................................................................................................................... 5 Ipotesi aggiuntive .......................................................................................................................................... 5 Svolgimento ................................................................................................................................................... 6 Ipotesi di implementazione Fisica ..................................................................................................................... 7 Plancia di Comando Utente ........................................................................................................................... 7 Pannello Avvia ........................................................................................................................................... 7 Pannello Pausa........................................................................................................................................... 7 Pannello Monitor Nastro ........................................................................................................................... 7 Pannello Monitor Serbatoio ...................................................................................................................... 7 Pannello Selettore Quantità ...................................................................................................................... 7 Pannello Emergenza .................................................................................................................................. 8 Collegamenti.................................................................................................................................................. 8 Variabili .............................................................................................................................................................. 9 Variabili di ingresso ....................................................................................................................................... 9 Pulsanti ...................................................................................................................................................... 9 Sensori ..................................................................................................................................................... 10 Variabili Interne al Sistema.......................................................................................................................... 11 Variabili di Stato ...................................................................................................................................... 11 Variabili di Conteggio............................................................................................................................... 11 Variabili di Controllo ................................................................................................................................ 12 Variabili di Uscita ......................................................................................................................................... 13 Lampade .................................................................................................................................................. 13 Attuatori .................................................................................................................................................. 15 Descrizione del Programma............................................................................................................................. 16 Definizione Blocchi funzionali...................................................................................................................... 16 Funcion Block Principale (Main) .................................................................................................................. 18 Schema SFC.............................................................................................................................................. 18 Funzionamento ........................................................................................................................................ 19 Traduzione LD .......................................................................................................................................... 21 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 2 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Funcion Block Gestione del Serbatoio (Tank) .............................................................................................. 23 Schema SFC.............................................................................................................................................. 23 Funzionamento ........................................................................................................................................ 23 Traduzione LD .......................................................................................................................................... 25 Funcion Block Gestione del Nastro Trasportatore (Engine) ........................................................................ 26 Schema SFC.............................................................................................................................................. 26 Funzionamento ........................................................................................................................................ 26 Traduzione LD .......................................................................................................................................... 27 Funcion Block Gestione della Richiesta della Pausa (Pause) ....................................................................... 28 Schema SFC.............................................................................................................................................. 28 Funzionamento ........................................................................................................................................ 28 Traduzione LD .......................................................................................................................................... 29 Funcion Block Gestione della sicurezza dell’Impianto (Sefety) ................................................................... 30 Schema SFC.............................................................................................................................................. 30 Funzionamento ........................................................................................................................................ 30 Traduzione LD .......................................................................................................................................... 31 Definizione Programma ................................................................................................................................... 32 Definizione Configurazione ............................................................................................................................. 33 Casi di test ....................................................................................................................................................... 33 Traccia fornita dal Docente ............................................................................................................................. 34 Riferimenti ....................................................................................................................................................... 35 3 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Descrizione dell'Elaborato Si intende effettuare la programmazione di un PLC sviluppando un algoritmo di controllo. L’impianto da controllare attua il riempimento automatico di una serie di contenitori. Delle pastiglie contenute in un serbatoio devono essere sistemate in appositi contenitori, in quantità definibili dall’operatore. Funzionalità dell’impianto Dopo aver attivato l’impianto mediante il pulsante S1 e verificato che non è stato raggiunto il livello minimo del serbatoio (S6), il motore M1 che aziona il nastro trasportatore si mette in funzione (lampada di segnalazione H1 accesa), fin tanto che un contenitore non si trovi nella posizione di caricamento (sensore S2 attivato). A questo punto si deve predisporre la quantità di pastiglie da immettere nei contenitori: se si preme il pulsante S3 scendono 3 pastiglie, con S4 5 pastiglie, con S5 7 pastiglie per contenitore. Effettuata la predisposizione, segnalata ogni volta da una rispettiva lampada (H2, H3, H4), si apre l’elettrovalvola Y1, che permette il passaggio delle pastiglie dal serbatoio ai contenitori; le pastiglie scendono e vengono conteggiate mediante fotocellula B1. Non appena viene raggiunto il numero di pastiglie predisposte, l’elettrovalvola Y1 si chiude e il motore M1 riparte portando un altro contenitore nella posizione (S2 azionato). A questo punto il ciclo prosegue. Se durante il caricamento di un contenitore si seleziona un’altra quantità, il travaso in corso deve essere portato a termine rispettando il valore precedentemente impostato. L’impianto è dotato di un sensore S6 che controlla il livello minimo nel serbatoio di pastiglie, qualora tale livello fosse raggiunto durante il caricamento dei contenitori l’impianto deve venire fermato alla fine del ciclo ed una lampada di segnalazione H5 dovrà indicare il livello raggiunto. Il ciclo non potrà ripartire fin tanto che il livello minimo non sarà di nuovo superato aggiungendo pastiglie nel serbatoio. Disattivando l’impianto mediante il pulsante S7 di arresto fine ciclo, il caricamento in corso deve essere portato a termine, questo consente di riempire correttamente anche l’ultimo contenitore e di posizionare quello successivo vuoto nella posizione di caricamento. L’inizio di un nuovo ciclo, premuto S1, richiede cosi solo la selezione della quantità di pastiglie per contenitore per avviare immediatamente il riempimento del contenitore. Si preveda inoltre un pulsante di emergenza (S8) che possa disattivare in qualsiasi istante tutto l’impianto, bloccando anche il caricamento che si sta effettuando, ad analogo risultato si arriva se interviene il relè termico F1 messo a protezione del motore M1. Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 4 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Schema dell’Impianto Ipotesi aggiuntive Quando viene effettuata la richiesta di disattivazione (messa in Pausa) dell’impianto mediante il pulsante S7, tale richiesta viene memorizzata nel sistema e viene accesa una lampada (H7) che segnala l’avvenuta ricezione della richiesta. Fin quando il sistema non entra in pausa tale richiesta può essere abortita tramite la pressione del pulsante S1. Una volta terminato il ciclo di riempimento dell’ultimo contenitore il sistema viene portato nello stato di Pausa. Questo stato viene segnalato mediante una lampada (H8). La lampada H7 viene spenta. Il sensore di livello S6 segnala la quantità presente nel serbatoio con la seguente logica: se il livello di pillole raggiunge e supera il livello stabilito (quantità sufficiente per procedere con le operazioni di riempimento) il valore della variabile associata a tale sensore sarà pari ad 1, questo dato che le pasticche presenti nei presi del sensore effettuano una sollecitazione meccanica sul sensore. Nel caso contrario la mancata presenza delle pasticche non sarà presente nessuna sollecitazione meccanica e per tale motivo si avrà un valore 0 della variabile associata al sensore. Lo stato di messa in emergenza dell’impianto tramite la pressione del pulsante S8 deve venire segnalato da una lampada (H9) che deve restare attiva fin quando il sistema non esce dallo stato di emergenza, ovvero fin quando non viene premuto il tasto di avvio (S1) che segnala da parte dell’utente al sistema l’avvenuto rientro dallo stato di emergenza. In questo stato devono essere terminate tutte le fasi di attuazione fisica del sistema (quindi sia il versamento delle pasticche, sia il movimento del nastro trasportatore. Non sarà necessario terminare le operazioni logiche del sistema non rappresentando esse pericolo per l’utenza. Quando il motore del sistema entra in surriscaldamento questo stato dovrà essere segnalato da una lampada (H10). Tale lampada dovrà restare accesa fin quando il motore non si sarà raffreddato e lo stato Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 5 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx della variabile relativo al relè F1 non torna a 0. In questa fase non sarà necessario terminare la fase di versamento dato che il nastro in questa fase è fermo, e dato che il surriscaldamento del motore non influenza la fase di versamento delle pasticche nel contenitore. Questo vale anche subito dopo il posizionamento del contenitore. Se contemporaneamente il contenitore viene posizionato e si presenta il surriscaldamento del motore il sistema passerà alla fase successiva. Nel caso in cui invece il nastro sia in funzione, il motore verrà arrestato. Esso riprenderà la sua attività non appena la temperatura sarà rientrata nella norma. Il sistema prevede la selezione della quantità da versare nel contenitore in base al valore delle variabili associate ai pulsanti S2 S3 ed S4. Se essi fossero pulsanti di tipo impulsivo o se registrassero solo il fronte di salita dell’interazione avvenuta, sarebbe necessario effettuare la selezione ad ogni ciclo, ovvero ogni qualvolta il sistema si accinga a caricare un nuovo contenitore. Invece di optare per una soluzione con variabile di appoggio che memorizzi l’ultima scelta effettuata, si reputa più pratico utilizzare dei pulsanti bloccabili con una rotazione sul relativo asse. In questo modo il valore associato al pulsante varrà 1 fino allo sblocco di questo. L’eventuale pressione su più pulsanti al momento della scelta della quantità da versare non pregiudicherà il comportamento del sistema. Questo grazie ad una gestione delle priorità a mutua esclusione: 3 pastiglie (priorità 0), 5 pastiglie (priorità 1), 7 pastiglie (priorità 2). Svolgimento Si procederà con una ipotesi di applicazione fisica tramite la costruzione di una plancia di controllo da associarle al PLC che a sua volta verrà collegato all’Impianto da Controllare, per poi individuare la lista delle variabili utilizzate dal sistema con la loro posizione fisica in memoria. Successivamente presenterà la struttura del programma introducendo i Blocchi Funzionali che fanno parte dell'elaborato per poi illustrare gli SFC che compongono questo con la relativa descrizione funzionale e traduzione in Linguaggio Ladder (LD). Infine si accorperà l'intero progetto tramite la stesura del Programma e della Configurazione che allocherà in modo corretto le varie parti sviluppate separatamente. L’SFC verrà sviluppato tramite il Software di Simulazione UniSim (http://wpage.unina.it/detommas/unisim/). Si allega al seguente elaborato la traccia originale fornita dal Docente. 6 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Ipotesi di implementazione Fisica Il sistema potrà essere implementato su un qualsiasi sistema PLC. Plancia di Comando Utente Di seguito è presente uno schema che rappresenta in linea di massima la Plancia di comando dell’Impianto: Avvia Monitor Serb Monitor Nastro Nastro in Movimento Quantità Insufficiente Motore Surriscaldato Pausa Emergenza Sistema in Emergenza Selettore Quantità Selezionare la quantità da versare Pausa Richiesta Sistema in Pausa 3 5 7 STOP La plancia è suddivisa in 6 pannelli: Pannello Avvia Presenta solo un bottone (verde) che rappresenta il pulsante di Attivazione S1. Pannello Pausa Presenta 2 spie, che rappresentano le lampade di “Pausa Richiesta” H7 (gialla) e “Sistema in Pausa” H8 (rossa) oltre che al pulsante di “Richiesta Pausa” S7 (arancione). Pannello Monitor Nastro Presenta 2 spie, che rappresentano le lampade di “Nastro in Movimento” H1 (verde) e “Motore surriscaldato” H10 (rossa). Pannello Monitor Serbatoio Presenta 1 singola spia che rappresenta la lampada che indica un numero di pasticche insufficienti presenti nel serbatoio. Tale lampada viene indicata come “Quantità insufficiente” H5 (rossa). Pannello Selettore Quantità Presenta 1 spia che indica la necessità di effettuare la scelta della quantità da versare. Tale lampada viene indicata sulla plancia tramite la spia “Selezionare la quantità da versare” H6 (verde). Subito sotto tale spia saranno presenti 3 lampade che rappresentano la selezione effettuata H2 H3 ed H4 (di colore blu con sopra inciso il numero di pasticche corrispondenti da versare). Infine sono presenti 3 pulsanti che permettono la selezione della quantità S3 S4 ed S5 (verdi) che potranno essere bloccati nello stato di 1 tramite una rotazione sul proprio asse, questo al fine di evitare la selezione ad ogni fine ciclo. Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 7 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Pannello Emergenza Presenta 1 spia che indica la presenza del sistema nello stato di emergenza. Tale lampada viene indicata sulla plancia tramite la spia “Sistema in Emergenza” H9 (rossa). Inoltre è presente il pulsante relativo alla richiesta ed immediata attuazione dello stato di emergenza del sistema S8 (pulsante tipico di emergenza rosso con sopra inciso il testo “Stop”). Collegamenti L’impianto da controllare dovrà essere collegato al PLC, che a sua volta verrà collegato alla plancia di controllo in base allo schema sotto riportato. Si rimanda alla descrizione delle Variabili del Sistema per chiarimenti sui collegamenti. S6, B1, S2, F1 M1, Y1 PLC S1, S7, S3, S4, S5, S8 H1, H10, H5, H6, H2, H3, H4, H7, H8, H9 8 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Variabili Variabili di ingresso Pulsanti I pulsanti si dividono in pulsanti relativi al funzionamento dell’Impianto, pulsanti relativi alla selezione del numero di pastiglie da immettere nei contenitori e in pulsanti di emergenza. Pulsanti relativi al funzionamento dell’impianto Nome Etichetta S1 Avvia Impianto S7 Richiesta Pausa Pos Fisica Variabile B1.1 B1.2 Valore Predefinito Flase (0) Flase (0) Tipo Con possibilità di blocco sul valore 1 Con possibilità di blocco sul valore 1 Con possibilità di blocco sul valore 1 Pos Fisica Variabile B2.1 B2.2 B2.3 Valore Predefinito Flase (0) Flase (0) Flase (0) Tipo A Rilevazione del Fronte di Salita/Impulsivo Pos Fisica Variabile B3.1 Valore Predefinito Flase (0) Tipo A Rilevazione del Fronte di Salita/Impulsivo A Rilevazione del Fronte di Salita/Impulsivo Pulsanti relativi alla selezione del numero di pastiglie Nome S3 S4 S5 Etichetta Selettore 3 Pastiglie Selettore 5 Pastiglie Selettore 7 Pastiglie Pulsanti di emergenza Nome Etichetta S8 Arresto d’Emergenza In UniSim le variabili relative ai pulsanti sono state dichiarate in una lista chiamata “Buttons” nelle Variabili Globali di sistema: 9 Tutti questi pulsanti sono presenti fisicamente sulla plancia di controllo precedentemente illustrata. Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Sensori I sensori sono divisi tra sensori presenti sul Serbatoio e Sensori presenti sul nastro trasportatore. Sensori sul Serbatoio Nome Etichetta S6 Livello Minimo B1 Fotocellula Tipo Sensore di presenza (interruttore) Fotocellula Pos Fisica Variabile S1.1 S1.1 Valore Predefinito True (1) Flase (0) Il valore di S6 è inizialmente vero dato il presupposto che prima di avviare per la prima volta l’impianto si sia provveduto a inserire le pasticche nel serbatoio. Essendo questo ingresso legato ad un sensore che determini la presenza o meno delle pasticche, esso muterà immediatamente stato in caso contrario. Sensori sul Nastro Trasportatore Nome Etichetta S2 Barattolo Posizionato F1 Temperatura Motore Tipo Sensore di presenza (interruttore) Relè Termico Pos Fisica Variabile S2.1 S2.2 Valore Predefinito Flase (0) Flase (0) In UniSim le variabili relative ai sensori sono state dichiarate in una lista chiamata “Sensors” nelle Variabili Globali di sistema: 10 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Variabili Interne al Sistema Le variabili Interne di sistema si dividono in Variabili di Stato, di Conteggio e di Controllo. Variabili di Stato Nome sis_OK sis_Pausa Etichetta Sistema OK Pausa Richiesta Tipo Bool Bool Pos Fisica Variabile V1.1 V1.2 Valore Predefinito True (1) Flase (0) La variabile sis_OK registra al suo interno l’informazione relativa alla richiesta di Interruzione di Emergenza. Quando il valore della variabile è 1 il sistema è OK e non è stata richiesta nessuna interruzione di Emergenza. Quando viene richiamata l’Emergenza il valore di questa variabile viene settata a 0. La variabile sis_Pausa registra la richiesta di Pausa da parte dell’utente. Quando l’utente infatti preme il tasto Pausa (S7) tale variabile viene settata ad 1. Tale variabile torna a valere 0 quando viene premuto il tasto S1 di avvio. Variabili di Conteggio Nome CONT Etichetta Contatore Tipo Integer/Contatore Pos Fisica Variabile V2.1 Valore Predefinito 0 La variabile CONT viene settata ad un determinato valore al momento della scelta del numero di pastiglie da immettere nei contenitori (quindi in base al valore delle variabili S2, S3 ed S4). Successivamente questo valore viene decrementato al passaggio di ogni pastiglia Var Sistema Var CTD attraverso la Fotocellula B1. Tale variabile può B1 >CD LD essere implementata fisicamente tramite un setta [Nr Pastiglie] PV Contatore a Decremento CTD riportato sulla sinistra, dove si effettueranno i C0 Q collegamenti riportati nella tabella a destra. CV In UniSim questo dispositivo viene rappresentato da una variabile di Tipo Integer. Ragionando sulla variabile di sistema indicata in tabella come "[Nr Pastiglie]" possiamo dire che : L'ingresso PV del Contatore presenta 3 bit per il settaggio (contatore a 3 bit) : B0, B1 e B2, questi rappresentano, dal meno significativo al più significativo, il valore in formato Intero booleano del valore di partenza del contatore. B2 B1 PV B0 11 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx La variabile [Nr Pastiglie] è di tipo Intero in codifica Binaria e corrisponderà al valore dei bit [B2,B1,B0], in base ai casi: Si veda il Funcion Block Principale per comprendere il 1 0 0 0 1 1 3 funzionamento delle fasi Versa3, Versa5 e Versa7 e il modo in cui 0 1 0 1 0 1 5 questo tipo di setting viene 0 0 1 1 1 1 7 implementato fisicamente tramite il linguaggio LD corrispondente al relativo SFC. La locazione di memoria per i 3 bit B0, B1 e B2 nel sistema saranno rispettivamente V2.1.0, V2.1.1 e V2.2.2. Versa3.X Versa5.X Versa7.X B2 B1 B0 Valore INT Variabili di Controllo Nome versa Setta muovi Etichetta Attiva versamento Setta il contatore Muove il nastro trasportatore Tipo Bool Bool Bool Pos Fisica Variabile L3.1 L3.2 L3.3 Valore Predefinito Flase (0) False (0) False (0) La variabile versa viene utilizzata per sincronizzare il sistema di controllo con quello di attuazione del versamento delle pasticche nel versatore. Essa diventa 1 quando il sistema ha impostato tutto per il versamento delle pasticche nel contenitore e torna a 0 quando il versamento delle pastiglie è terminato. La variabile "setta", di tipo impulsivo, verrà collegata all'ingresso LD del contatore e registrerà in esso il valore della variabile [Nr Pastiglie]. Infine la variabile "muovi" servirà per imporre al nastro trasportatore di muoversi per permettere lo scorrimento dei contenitori. In UniSim le variabili interne al sistema sono state dichiarate in una lista chiamata “Variables” nelle Variabili Globali di sistema: 12 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Variabili di Uscita Lampade Le Lampade si dividono in lampade relative allo stato del Nastro Trasportatore, al Serbatoio, al Selettore Quantità, alla richiesta di Fermo (Pausa) e alla segnalazione di Emergenza. Lampade relative al Nastro Trasportatore Nome Etichetta H1 Nastro In Movimento H10 Motore Surriscaldato Tipo Led Led Pos Fisica Variabile L1.1 L1.2 Valore Predefinito Flase (0) Flase (0) Tipo Led Pos Fisica Variabile L2.1 Valore Predefinito Flase (0) Pos Fisica Variabile L3.1 L3.2 L3.3 L3.4 Valore Predefinito Flase (0) Flase (0) Flase (0) Flase (0) Tipo Led Led Pos Fisica Variabile L4.1 L4.2 Valore Predefinito Flase (0) Flase (0) Tipo Led Pos Fisica Variabile L5.1 Valore Predefinito Flase (0) Lampade relative al Serbatoio Nome Etichetta H5 Nr Pastiglie Insufficienti Lampade relative al Selettore Quantità Nome H6 H2 H3 H4 Etichetta Effettua scelta Selettore 3 Pastiglie Selettore 5 Pastiglie Selettore 7 Pastiglie Tipo Led Lampada Led con Inciso Numero 3 Lampada Led con Inciso Numero 5 Lampada Led con Inciso Numero 7 Lampade relative alla richiesta di Fermo Nome Etichetta H7 Pausa Richiesta H8 Sistema in Pausa Lampade di Emergenza Nome Etichetta H9 Sistema in Emergenza Tutte queste lampade sono presenti fisicamente sulla plancia di controllo precedentemente illustrata. 13 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx In UniSim le variabili relative ai pulsanti sono state dichiarate in una lista chiamata “Lights” nelle Variabili Globali di sistema: 14 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Attuatori Gli attuatori del sistema sono due, uno relativo al Nastro Trasportatore (il motore) ed un altro relativo al Serbatoio (l’elettrovalvola). Attuatori relativi al Nastro Trasportatore Nome Etichetta M1 Motore Tipo Motore Pos Fisica Variabile A1.1 Valore Predefinito Flase (0) Quando il valore della variabile M1 vale 1 il motore viene azionato e resta tale fin quando essa resta invariata. Quando il valore di questa variabile viene riportata a 0 il motore si ferma. Attuatori relativi al Nastro Trasportatore Nome Etichetta Y1 Elettrovalvola Tipo Elettrovalvola Pos Fisica Variabile A2.1 Valore Predefinito Flase (0) Quando il valore della variabile Y1 vale 1 l’elettrovalvola è aperta e permette il passaggio delle pastiglie dal serbatoio al contenitore. Quando il valore di questa variabile viene riportata a 0 l’elettrovalvola viene chiusa. In UniSim le variabili relative agli Attuatori sono state dichiarate in una lista chiamata “Actuators” nelle Variabili Globali di sistema: NB: gli indirizzi delle variabili, al fine di separare logicamente le tipologie, sono stati divisi in 5 locazioni ribattezzando le locazioni di memoria utilizzate nello standard: Pulsanti : Bx.x = I1x.x Sensori : Sx.x = I2x.x Variabili Interne al Sistema : Vx.x = Wx.x Lampade : Lx.x = U1x.x Attuatori : Ax.x = U2x.x 15 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Descrizione del Programma Il programma Sviluppato “Imp_Riemp_Cont” permette la gestione dell’Impianto Automatico per il riempimento di Contenitori precedentemente descritto. Il Programma sviluppato è suddiviso in 5 Blocchi Funzionali qui brevemente descritti: Main : Principale o si occupa della gestione dell'intero impianto. Tank : Gestione del Serbatoio o si occupa della gestione dell'elettrovalvola e dei sensori relativi al serbatoio durante la fase di versamento delle pastiglie nel contenitore. Engine : Gestione del Nastro Trasportatore o si occupa della gestione del motore che si occupa del movimento del Nastro, esso viene influenzato dai casi di emergenza e di surriscaldamento del motore. Pause : Gestione della richiesta della Pausa o si occupa di segnalare al Blocco funzionale Principale l’avvenuta richiesta di pausa da parte dell’utente al momento giusto, ovvero solo dopo che il contenitore vuoto sia stato posizionato in posizione di caricamento. Sefety : Gestione della sicurezza dell’Impianto o si occupa di segnalare all’SFC Principale l’avvento di uno stato di emergenza. Si occuperà, tramite due SFC separati di gestire le seguenti segnalazioni: Temperatura del motore elevata Sistema in Emergenza (segnalata dall’utente) Definizione Blocchi funzionali Iniziamo col definire i blocchi Funzionali: FUNCTION_BLOCK bool bool bool bool bool bool bool bool bool Main S1 S2 S3 S4 S5 S6 sis_OK sis_Pausa versa H2 H3 H4 H5 H6 H7 H8 muovi versa setta B2 B1 B0 bool bool bool bool bool bool bool bool bool bool bool bool bool [LD_Main] END_FUNCTION_BLOCK 16 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx FUNCTION_BLOCK bool bool bool bool Tank versa sis_OK B1 C0 versa Y1 C- bool bool bool H1 M1 bool bool sis_Pausa H7 bool bool H9 H10 sis_OK bool bool bool [LD_Tank] END_FUNCTION_BLOCK FUNCTION_BLOCK bool bool bool Engine muovi F1 sis_OK [LD_Engine] END_FUNCTION_BLOCK FUNCTION_BLOCK bool bool Pause S1 S7 [LD_Pause] END_FUNCTION_BLOCK FUNCTION_BLOCK bool bool bool Safety F1 S1 S8 [LD_Safety] END_FUNCTION_BLOCK NB: dato che la variabile CONT di tipo Intero viene realizzata tramite l’ausilio di un contatore CTD esterno ai blocchi funzionali che vengono qui presentati, è necessario dare in uscita al Blocco Funzione Principale, non la variabile Integer, ma le singole variabili di tipo Booleane che interagiscono con il blocco standard CTD (B0, B1, B2 e setta). Inoltre al blocco Tank sarà necessario dare in ingresso il valore della variabile CTD.Q che sarà uguale ad 1 quando il contatore starà a 0. In uscita a questo blocco ci sarà il comando di decremento del contatore. Per chiarimenti si vedano le descrizioni ed implementazioni dei relativi Blocchi Funzionali e la definizione del Programma. Per praticità nella dichiarazione dei precedenti Blocchi Funzionali è stato inserito un riferimento agli schemi Ladder relativi e non lo schema vero e proprio, ciò per praticità e dato che nel dettaglio i relativi SFC e Ladder verranno presentati di seguito. Procediamo ora con la presentazione e descrizione approfondita di ogni singolo Blocco Funzionale. Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 17 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Funcion Block Principale (Main) Schema SFC Di seguito si riporta lo schema SFC sviluppato in UniSim: 18 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Funzionamento Il BC (blocco Funzionale) Principale si occupa della gestione dell'intero impianto. Parte da una fase detta "Init", dove il sistema si trova in stato di quiete, ancora nulla è stato avviato. Dopo la pressione del tasto S1 (Tasto di Avvio del sistema) avviene il superamento della transazione T1 che porta il sistema nella fase "ver_liv" (verifica livello). Il questa fase il sistema effettua la verifica del livello minimo del serbatoio. Come detto nelle "ipotesi aggiuntive" se il livello è sufficiente affinché il sistema si avvii è necessario che la varabile associata al sensore di livello S6 sia pari ad 1. Infatti, se tale valore è raggiunto ed il sistema è nello stato di "ok" ovvero se la varabile interna di sistema "sis_OK" sia pari ad 1 (si veda il BF Gestione della sicurezza dell'impianto) il sistema passa, tramite il superamento della transazione T3, alla fase "az_mot" (aziona motore). Nel caso in cui il livello non fosse superato, ovvero quando il numero di pastiglie sia insufficiente (S6 = 0), il sistema non supera la transazione T3 ma supera la transazione T2 (selezione gestita con logica di muta esclusione) e si porta nella fase di "liv_ins" (livello insufficiente), il sistema resta in questa fase fin quando non viene ristabilita la minima quantità di pastiglie nel serbatoio, passando, tramite la transazione T4, alla fase "az_mot" (ovviamente affinché il sistema superi la transazione T4 sarà necessario che il sistema si trovi ancora nello stato "ok"). Mentre il sistema si trova nella fase "liv_ins" viene accesa, tramite l'ausilio di un azione valida per tutta la durata della fase (tipo azione "N"), la lampada corrispondente alla variabile H5 (Quantità di pastiglie insufficienti). Una volta passata alla fase "az_mot" il sistema tramite l'ausilio un azione di tipo "N" attiva la variabile interna "muovi" che permette l'attivazione del movimento del nastro trasportatore gestito dal BF Engine. La gestione dell'impatto dello stato di emergenza o di eventuale surriscaldamento vengono gestite direttamente dell'BF Engine. Il sistema resta in questa fase fin quando non si verifica uno dei seguenti eventi (in mutua esclusione): Il contenitore raggiunge il punto di caricamento (variabile S2 =1), è stata richiesta una pausa dall'utente (sis_Pausa=1, si veda il BF Gestione di richiesta di Pausa): Attivazione Transazione T5. Il questo caso il sistema si porta nella fase "pausa" dove, tramite due azioni si ha: lo spegnimento della lampada H7 (richiesta pausa ricevuta) (azione di tipo "R", reset) e l'accensione della lampada H8 (sistema in pausa). Quest'ultima resterà attiva per tutta la durata della fase (azione di tipo "N"). Il sistema, tramite la transazione T6, passerà alla fase di "scelta" solo quando verrà premuto il tasto di avvio S1 e solo se il sistema si troverà nello stato di "ok". Il contenitore raggiunge il punto di caricamento (variabile S2 =1), non è stato richiesta la pausa di sistema (variabile sis_Pausa=0) e il sistema è in stato "ok" (sis_OK=1): In questo caso viene superata la transazione T7 e il sistema si porta nella transazione "scelta" che rappresenta il prossimo step e che verrà di seguito approfondito. Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 19 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx NB: nel superamento della fase T7 non è stato necessario considerare il surriscaldamento del motore dato che, una volta posizionato il contenitore, è possibile procedere con il riempimento del contenitore (si veda "ipotesi aggiuntive"). Una volta che il sistema si trova nella fase "scelta" si accenderà una lampada che segnalerà la necessità di effettuare una scelta, H6 (selezionare la quantità da versare). A quanto punto in base a quale sarà la scelta dell'operatore, tramite il superamento delle transazioni T8, T9 o T10 si procederà al settaggio del contatore e all'attivazione del BF Gestione del Serbatoio, che si occuperà del versamento. La transazione T8 verrà superata se viene premuto il tasto S3 (o nel caso esso fosse stato in precedenza bloccato al valore 1), la transazione T9 verrà superata nel caso in cui venga premuto il tasto S4 (o nel caso esso fosse stato in precedenza bloccato al valore 1) solo se non viene premuto il tasto S3, la transazione T10 verrà superata nel caso in cui venga premuto il tasto S5 (o nel caso esso fosse stato in precedenza bloccato al valore 1) solo se non viene premuto il tasto S4 ed S3. Questo assicura non solo la mutua esclusione, ma garantisce un indice di priorità per ogni transazione : La transazione T8 ha priorità sulle transazioni T9 e T10 e la transazione T9 ha priorità sulla transazione T10. Questo data la seguente logica: se è presente un errore nella selezione meglio versare meno pasticche possibile. In base a quale tra le transazioni T8, T9 e T10 verrà attivata si arriverà rispettivamente alle fasi "versa3", "versa5" e "versa7". Queste rappresentano le fasi di settaggio del contatore e di attivazione del BF Gestione del Serbatoio. In tutte e tre le fasi si procederà ad attivare una lampada che indichi la selezione eseguita, rispettivamente H2 (selezionate 3 pastiglie), H3 (selezionate 5 pastiglie) ed H4 (selezionate 7 pastiglie), queste resteranno attive fin quando non sarà terminato il versamento (azioni di tipo "N"). Contemporaneamente, si andrà a settare il valore di partenza del contatore a decremento CONT con un'azione di tipo "P", rispettivamente "CONT:=3", "CONT:=5" e "CONT:=7", queste azioni verranno implementate in Ladder tramite un sistema di logica binaria, dipendente dal bottone attivo, collegato all'ingresso PV del contatore. Si procederà dunque prima a stabilire il valore dei bit relativi al contatore, in base alla scelta fatta, successivamente il settaggio sul Contatore avverrà quando verrà attivata la variabile "setta" (collegato all'ingresso LD del contatore con rilevazione del fronte di salita). In fine si procederà al settaggio della variabile di controllo "versa" che attiverà effettivamente il BF Gestione del Serbatoio. Il sistema resterà in una di queste tre fasi fin quando non sarà terminato il riempimento del contenitore. A questo punto il BF Gestione del Serbatoio resetterà la variabile di controllo "versa" e questa disattivazione renderà superabili le transazioni T11, T12 e T13 che permetteranno al sistema di portarsi alla fase "finito". In questa fase verrà richiesto nuovamente l'azionamento del nastro trasportatore tramite un azione di tipo N sulla variabile interna "muovi". Questo per permettere lo spostamento del contenitore appena riempito oltre la linea di riempimento, permettendo al sensore S2 di liberarsi ed attendere un nuovo contenitore. Quando il sensore S2 verrà liberato verrà attivata la transazione T14 che porterà il BF Principale nuovamente alla fase "ver_liv" dove si procederà ad un nuovo ciclo di caricamento. Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 20 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Traduzione LD Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder: (* sez di disattivazione fasi *) (* sez di inizializzazione *) Init INIZ T1 R S T2 AZIONI T3 T1 S1 T4 ver_liv T5 az_mot R T3 sis_OK liv_ins R T2 S6 S6 ver_liv R (* sez di valutazione tranx. *) Init Init T7 liv_ins S6 T4 sis_OK T6 az_mot S2 sis_Pausa R T5 T8 sis_Pausa sis_OK pausa scelta R T7 T9 pausa S1 T6 sis_OK T10 scelta T8 S3 T11 versa3 R S3 S4 S3 S4 T9 T12 versa5 R S5 T10 T13 versa7 R versa3 versa T11 T14 finito R versa5 versa T12 (*sez di attivazione fasi *) versa7 versa T13 T1 ver_liv S finito S2 T14 T2 liv_ins S T3 az_mot S T4 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 21 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx T5 pausa S T6 (* segnalazione versamento *) versa3 H2 versa5 H3 versa7 H4 scelta S T7 T8 versa3 S T9 versa5 S T10 versa5 B2 P versa7 S T11 (* settaggio del contatore *) finito versa7 B1 versa3 S T12 P versa7 T13 B0 P T14 ver_liv S versa5 (* sez Esecuzione Azioni *) liv_ins H5 az_mot muovi versa7 (* azionamento versamento *) finito versa3 H7 versa5 R H8 scelta setta P AZIONI: pausa versa3 versa S versa7 H6 22 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Funcion Block Gestione del Serbatoio (Tank) Schema SFC Di seguito si riporta lo schema SFC sviluppato in UniSim: Funzionamento Il Blocco Funzionale (BF) Gestione del Serbatoio si occupa della gestione dell'elettrovalvola e dei sensori relativi al serbatoio durante la fase di versamento delle pastiglie nel contenitore. Parte da una fase detta "Init", dove il serbatoio si trova in stato di quiete, questo anche se il sistema è già in funzionamento. Quando il BF Principale ha effettuato il settaggio del Contatore a Decremento CONT ed ha settato ad 1 la variabile di controllo "versa" durante le fasi "versa3", "versa5" o "versa7" rende superabile la transazione T1 del BF Gestione del Serbatoio. Questo, dopo aver verificato che il sistema sia in uno stato di "ok" (variabile sis_OK=1, si veda BF Gestione della sicurezza dell'impianto) si porta nella fase "apri" dove setta ad 1 la variabile Y1 associata all'elettrovalvola del serbatoio. Quest'azione, di tipo set "S", apre il serbatoio e permette il passaggio delle pasticche attraverso la fotocellula B1 che ne effettua il conteggio. Una volta aperta l'elettrovalvola il BF Tank attraversa la transazione T2 (sempre superabile) e si porta nella fase "osserva". In questa fase esso attende che avvenga il passaggio di una pastiglia attraverso la fotocellula. Quando questo avviene esso attraversa la transazione T3 e si porta nella fase "passato" dove effettua tramite un'azione di tipo "P" un decremento del contatore CONT tramite un collegamento al contatore CTD esterno sul relativo ingresso “>CD”. Se il contatore non è ancora vuoto (CONT>0) esso tramite la transazione T5 torna alla fase "osserva". Se invece esso è vuoto (CONT=0) tramite la transazione T4 si porta alla fase "chiudi" dove resetta la variabile Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 23 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Y1, quindi chiude l'elettrovalvola, e resetta la variabile "versa" permettendo l'attivazione delle transazioni T13, T14 e T5 del BF Principale. L’implementazione in Ladder della condizione CONT=0 viene eseguito tramite il valore del blocco contatore CTD.Q dato in ingresso al BC “Tank” come C0. In fine, tramite la transazione T6, sempre superabile, si riporta alla fase “init” ed attende la prossima richiesta di caricamento (prossima attivazione della variabile “versa”). Il sistema di sicurezza agisce sul sistema di controllo del serbatoio in questo modo: Se il sistema non è in stato di “ok” (sis_OK=0) le transazioni T1 e T5 non sono superabili, ovvero, non è possibile raggiungere da T1 la fase “apri” (si impedisce così l’apertura dell’elettrovalvola) e non ritorna, tramite la transazione T5 alla fase “osserva” (dove il sistema si troverebbe bloccato fino al passaggio della prossima pastiglia). Inoltre, in qualsiasi momento, durante la fase di versamento e conteggio, grazie all’operatore logico OR, che lega alle condizioni di superamento delle transazioni T3 e T4 la variabile sis_OK, sarà possibile uscire dal ciclo di conteggio, in caso di sistema in stato di emergenza (sis_OK=0), portando istantaneamente il BF Tank nella fase “chiudi”. A questo punto, una volta risolta l'emergenza, il contenitore verrà comunque fatto avanzare tramite il BF Principale tramite la fase "finito". Sarà cura dell'Operatore provvedere alla rimozione del contenitore non idoneo. 24 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Traduzione LD Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder: (* sez di inizializzazione *) (* sez di attivazione fasi *) Init INIZ T1 S S T2 AZIONI T5 T1 versa sis_OK T3 T4 T3 B1 chiudi S T6 sis_OK passato passato S T2 apri osserva osserva S (* sez di valutazione tranx. *) Init apri init S T4 C0 (* sez Esecuzione Azioni *) AZIONI: sis_OK apri Y1 S C0 sis_OK T5 passato P T6 chiudi chiudi (* sez di disattivazione fasi *) T1 T2 C- Y1 R Init versa R R apri R T3 osserva R T4 passato R T5 T6 chiudi R 25 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Funcion Block Gestione del Nastro Trasportatore (Engine) Schema SFC Di seguito si riporta lo schema SFC sviluppato in UniSim: Funzionamento il Blocco Funzionale (BF) Gestione del Nastro Trasportatore si occupa della gestione del motore che si occupa del movimento del Nastro, esso gestisce anche i caso di emergenza e di surriscaldamento del motore. Inizialmente il BF Engine si trova nella fase "init" dove il nastro trasportatore è in quiete. Nel momento in cui arriva dal BF Principale il comando di attivazione tramite l'attivazione della variabile interna di sistema "muovi" viene resa superabile la transazione T1 (sempre e solo se il sistema è in stato di OK e il motore non è surriscaldato) che permette al BF Engine di arrivare alla fase "az_mot". In questa fase viene azionato il motore tramite il settaggio della variabile M1 associata all'attuatore e contemporaneamente viene accesa la lampada H1 che segnala sulla console dell'operatore il movimento del nastro trasportatore. Se Il motore si surriscalda (variabile associata al sensore di temperatura del Motore F1 = 1) o il sistema passa nello stato di emergenza (variabile sis_OK = 0, si veda il BF Gestione della sicurezza dell'impianto) il BF Engine si porta, tramite l'attivazione della transazione T2 alla fase "ferma" dove attende che il motore sia uscito dallo stato di surriscaldamento e che il sistema sia tornato nello stato di "ok". Se nel frattempo il contenitore aveva raggiunto la posizione di caricamento, il BF Principale disattiva la variabile "muovi". Ciò implica che se il BF Engine si trovava nel frattempo nella fase "ferma" esso tornerà nella fase "az_mot" solo quando la variabile "muovi" sia tornata vera, anche se il motore non è più surriscaldato e il sistema si trova in sicurezza. Per tale motivo, le fasi "ferma" ed "init" potranno trovarsi attive in attesa di ricevere il comando di attivazione dal BF Principale. Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 26 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Traduzione LD Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder: (* sez di inizializzazione *) (* sez di attivazione fasi *) Init INIZ T1 S (* sez di valutazione tranx. *) muovi S T3 AZIONI Init T2 F1 sis_OK T1 F1 T2 ferma S T4 az_mot muovi az_mot Init S sis_OK ferma muovi F1 sis_OK az_mot muovi T3 T4 (* sez Esecuzione Azioni *) AZIONI: az_mot (* sez di disattivazione fasi *) T1 Init H1 M1 R T2 az_mot R T4 T3 ferma R 27 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Funcion Block Gestione della Richiesta della Pausa (Pause) Schema SFC Di seguito si riporta lo schema SFC sviluppato in UniSim: Funzionamento Il Blocco Funzionale (BF) Gestione della Richiesta della Pausa si occupa di segnalare al BF Principale l’avvenuta richiesta di pausa da parte dell’utente al momento giusto, ovvero solo dopo che il contenitore vuoto sia stato posizionato in posizione di caricamento. Parte da una fase detta "vai", il BF Pause resetta la variabile di stato “sis_Pausa”. Lo stato falso di tale variabile indica al BF Principale che nessuna richiesta di Pausa è avvenuta, quindi, nel momento di determinare se mettere il sistema in pausa o no, esso perseguirà con la fese di riempimento del contenitore. Quando l’utente preme il tasto S7 (Richiedi Pausa) il BF Pause tramite il superamento della transazione T1 si porta nella fase “pausa” dove setta ad 1 la variabile di stato “sis_Pausa” (Richiesta di Pausa attiva) ed accende la lampada H7 (Pausa Richiesta) con un’azione di tipo Set. Infatti essa verrà spenta tramite un reset della variabile H7 dal BF Principale nell’omonima fase “pausa”, dove verrà spenta la lampada H7 (Pausa Richiesta) e verrà accesa la lampada H8 (sistema in pausa) con un’azione di tipo “N”. Questa resterà accesa fin quando il sistema non uscirà dallo stato di Pausa, ovvero quando l’utente preme il tasto S1 (Avvia Sistema). 28 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Traduzione LD Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder: (* sez di inizializzazione *) (* sez di attivazione fasi *) vai INIZ T1 S S T2 AZIONI S7 vai S (* sez di valutazione tranx. *) vai pausa T1 (* sez Esecuzione Azioni *) AZIONI: pausa S1 T2 vai R pausa (* sez di disattivazione fasi *) T1 T2 sis_Pausa sis_Pausa S vai H7 R S pausa R 29 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Funcion Block Gestione della sicurezza dell’Impianto (Sefety) Schema SFC Di seguito si riporta lo schema SFC sviluppato in UniSim: Funzionamento Il Blocco Funzionale (BF) Gestione della Sicurezza dell’impianto si occupa di segnalare agli altri BF l’avvento di uno stato di emergenza. Si occuperà, tramite due SFC separati di gestire le seguenti segnalazioni: Temperatura del motore elevata Sistema in Emergenza (segnalata dall’utente) I due SFC sono molto semplici e si limitano a: Nel caso dell’SFC relativo alla Temperatura del motore elevata: L’SFC parte dalla fase “tempOK”, se e quando la temperatura del motore supera il limite di temperatura, quando la variabile associata al relè termico F1 diventa pari ad 1, la transazione T1 diventa superabile e l’SFC si porta nella fase “surrisc”, in questa fase si segnala all’utente lo stato del motore tramite l’accensione di una lampada H10 (Motore Surriscaldato). Questa lampada essendo essa attivata da un’azione di tipo “N” resterà attiva per tutto il tempo in cui l’SFC si troverà nella funzione “surrisc”. L’SFC si riporta alla fase “tempOK”, tramite il superamento della transazione T3, quando la temperatura del motore è tornata normale (F1=0). Questa parte dell’SFC non comunica in via diretta con il BF Engine dato che esso ha libero accesso alla variabile F1. Nel caso dell’SFC relativo al Sistema in Emergenza: L’SFC parte dalla fase “sisOK”, dove provvede a settare la variabile di stato “sis_OK” (segnalazione di sistema in stato di “ok”. Se e quando l’utente richiama il sistema di emergenza tramite la pressione del tasto S8 (stop), la transazione T2 diventa superabile e l’SFC si porta nella fase “blocc”. A questa fase sono associate due azioni, la prima, di tipo “Reset” porta la varabile “sis_OK” a 0 indicando che il sistema non si trova più nello stato di “Ok”, la seconda, di tipo “N”, accende la lampada H9 (Sistema in Emergenza). Il reset della variabile di stato “sis_OK” influisce drasticamente sul BF Principale e sul BF Tank arrestando tutte le attività fisiche del sistema. L’SFC resta nella fase “blocc” fin quando l’utente non segnala al sistema il rientro della criticità tramite la pressione del tasto S1 (avvia sistema). Quando quest’evento si verifica la transazione T4 diventa superabile e l’SFC si riporta nella fase “sisOK” dove setta la variabile “sis_OK”. Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 30 Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Traduzione LD Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder: (* sez di inizializzazione *) (* sez di attivazione fasi *) T1 tempOK INIZ S S T2 sisOK S surrisc blocc S T3 tempOK S AZIONI T4 (* sez di valutazione tranx. *) sisOK S tempOK F1 T1 sisOK S8 T2 (* sez Esecuzione Azioni *) AZIONI: surrisc F1 T3 surrisc H10 blocc S1 T4 sisOK sis_OK S blocc (* sez di disattivazione fasi *) T1 sis_OK R tempOK H9 R T2 sisOK R T3 surrisc R T4 blocc R 31 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Definizione Programma Una volta completamente definiti i Blocchi Funzionali definiamo il programma creato unendo i blocchi funzionali e definendo le variabili di input e di output del sistema: PROGRAM Imp_Riemp_Cont VAR_INPUT S1, S2, S3, S4, S5, S6, S7, S8, B1, F1: BOOL; END_VAR VAR_OUTPUT H1, H2, H3, H4, H5, H6, H7, H8, H9, H10, M1, Y1: BOOL; END_VAR VAR sis_OK, sis_Pausa, versa, muovi, setta, B0, B1, B2: BOOL; END_VAR Input Main S1 S2 S3 S4 S5 S6 sis_OK sis_Pausa versa S1 S2 S3 S4 S5 S6 S7 S8 H2 H3 H4 H5 H6 H7 H8 muovi versa setta B2 B1 B0 Output Engine muovi F1 sis_OK Tank versa sis_OK B1 C0 B1 F1 H1 M1 versa Y1 C- H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 M1 Y1 Pause S1 S7 sis_Pausa H7 Safety F1 S1 S8 H9 H10 sis_OK 32 END_PROGRAM Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Definizione Configurazione In ultima istanza definiamo la configurazione del sistema. Supponiamo di utilizzare un controllore con una sola risorsa di elaborazione con la sigla PLC586: CONFIGURATION impianto_riempimento RESOURCE controllore ON PLC586 PROGRAM programma: Imp_Riemp_Cont ( S1:=%B1.1, S2:=%S2.1, S3:=%B2.1, S4:=%B2.2, S5:=%B2.3, S6:=%S1.1, S7:=%B1.2, S8:=%B3.1, B1:=%S1.2, F1:=%S2.2, H1:=%L1.1, H2:=%L3.2, H3:=%L3.3, H4:=%L3.4, H5:=%L2.1, H6:=%L3.1, H7:=%L4.1, H8:=%L4.2, H9:=%L5.1, H10:=%L1.2, M1:=%A1.1, Y1:=%A2.1, sis_OK:=%V1.1, sis_Pausa:=%V1.2, versa:=%V3.1, muovi:=%V3.3, setta:=%V3.2, B0:=%V2.1.0, B1:=%V2.1.1, B2:=%V2.1.2); END_RESOURCE END CONFIGURATION Con ciò il sistema è stato completamente definito. Casi di test Durante la fase di scrittura e definizione dei blocchi funzionali con l'ausilio del Software UniSim si sono effettuati innumerevoli Test tra cui quelli riguardanti il surriscaldamento e lo stato di emergenza durante tutte le fasi del programma. Data la complessità del sistema, innumerevoli casi di test sono stati affrontati. Si è prefinto, al fine di non appesantire troppo la relazione di lasciare eventuali dimostrazioni e Test sul sistema all'interessato rendendo disponibile in rete il progetto realizzato con UniSim al seguente indirizzo di dominio Pubblico: https://dl.dropboxusercontent.com/u/43850400/Imp_Riemp_Cont.xml 33 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Traccia fornita dal Docente 34 Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica Impianto Automatico per il Riempimento di Contenitori Tecnologie dei Sistemi di Automazione Giovanni Ruotolo - Matricola xxx Riferimenti Tecnologie informatiche per l'Automazione Pasquale Chiacchio - Francesco Basile McGraw-Hill Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica 35
© Copyright 2024 Paperzz