Upload
vuongdung
View
213
Download
0
Embed Size (px)
Citation preview
Università di Napoli Ferderico II
Facoltà di Ingegneria Informatica
anno accademico 2013/2014
Impianto Automatico per il
Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
2
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
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
3
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
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
4
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.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
5
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
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
6
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.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
7
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:
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.
Avvia
Pausa
Pausa Richiesta
Sistema in Pausa
Monitor Nastro
Nastro in Movimento
Motore Surriscaldato
STOP
Emergenza
Sistema in
Emergenza
Selettore Quantità
3 5 7
Selezionare la quantità da versare
Monitor Serb
Quantità
Insufficiente
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
8
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.
PLC
S1, S7, S3, S4, S5, S8
H1, H10, H5, H6, H2, H3, H4, H7, H8, H9
S6, B1, S2, F1
M1, Y1
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
9
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 Tipo Pos Fisica Variabile
Valore Predefinito
S1 Avvia Impianto A Rilevazione del Fronte di Salita/Impulsivo B1.1 Flase (0)
S7 Richiesta Pausa A Rilevazione del Fronte di Salita/Impulsivo B1.2 Flase (0)
Pulsanti relativi alla selezione del numero di pastiglie
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
S3 Selettore 3 Pastiglie Con possibilità di blocco sul valore 1 B2.1 Flase (0)
S4 Selettore 5 Pastiglie Con possibilità di blocco sul valore 1 B2.2 Flase (0)
S5 Selettore 7 Pastiglie Con possibilità di blocco sul valore 1 B2.3 Flase (0)
Pulsanti di emergenza
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
S8 Arresto d’Emergenza A Rilevazione del Fronte di Salita/Impulsivo B3.1 Flase (0)
In UniSim le variabili relative ai pulsanti sono state dichiarate in una lista chiamata “Buttons” nelle Variabili
Globali di sistema:
Tutti questi pulsanti sono presenti fisicamente sulla plancia di controllo precedentemente illustrata.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
10
Sensori
I sensori sono divisi tra sensori presenti sul Serbatoio e Sensori presenti sul nastro trasportatore.
Sensori sul Serbatoio
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
S6 Livello Minimo Sensore di presenza (interruttore) S1.1 True (1)
B1 Fotocellula Fotocellula S1.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 Tipo Pos Fisica Variabile
Valore Predefinito
S2 Barattolo Posizionato Sensore di presenza (interruttore) S2.1 Flase (0)
F1 Temperatura Motore Relè Termico S2.2 Flase (0)
In UniSim le variabili relative ai sensori sono state dichiarate in una lista chiamata “Sensors” nelle Variabili
Globali di sistema:
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
11
Variabili Interne al Sistema Le variabili Interne di sistema si dividono in Variabili di Stato, di Conteggio e di Controllo.
Variabili di Stato
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
sis_OK Sistema OK Bool V1.1 True (1)
sis_Pausa Pausa Richiesta Bool V1.2 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 Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
CONT Contatore Integer/Contatore V2.1 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
attraverso la Fotocellula B1. Tale variabile può
essere implementata fisicamente tramite un
Contatore a Decremento CTD riportato sulla sinistra, dove si effettueranno i
collegamenti riportati nella tabella a destra.
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.
Var Sistema Var CTD
B1 >CD
setta LD
[Nr Pastiglie] PV
C0 Q
CV
B2
B1 PV
B0
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
12
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
funzionamento delle fasi Versa3,
Versa5 e Versa7 e il modo in cui
questo tipo di setting viene
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.
Variabili di Controllo
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
versa Attiva versamento Bool L3.1 Flase (0)
Setta Setta il contatore Bool L3.2 False (0)
muovi Muove il nastro trasportatore Bool L3.3 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:
Versa3.X Versa5.X Versa7.X B2 B1 B0 Valore INT
1 0 0 0 1 1 3
0 1 0 1 0 1 5
0 0 1 1 1 1 7
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
13
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 Tipo Pos Fisica Variabile
Valore Predefinito
H1 Nastro In Movimento Led L1.1 Flase (0)
H10 Motore Surriscaldato Led L1.2 Flase (0)
Lampade relative al Serbatoio
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
H5 Nr Pastiglie Insufficienti Led L2.1 Flase (0)
Lampade relative al Selettore Quantità
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
H6 Effettua scelta Led L3.1 Flase (0)
H2 Selettore 3 Pastiglie Lampada Led con Inciso Numero 3 L3.2 Flase (0)
H3 Selettore 5 Pastiglie Lampada Led con Inciso Numero 5 L3.3 Flase (0)
H4 Selettore 7 Pastiglie Lampada Led con Inciso Numero 7 L3.4 Flase (0)
Lampade relative alla richiesta di Fermo
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
H7 Pausa Richiesta Led L4.1 Flase (0)
H8 Sistema in Pausa Led L4.2 Flase (0)
Lampade di Emergenza
Nome Etichetta Tipo Pos Fisica Variabile
Valore Predefinito
H9 Sistema in Emergenza Led L5.1 Flase (0)
Tutte queste lampade sono presenti fisicamente sulla plancia di controllo precedentemente illustrata.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
14
In UniSim le variabili relative ai pulsanti sono state dichiarate in una lista chiamata “Lights” nelle Variabili
Globali di sistema:
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
15
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 Tipo Pos Fisica Variabile
Valore Predefinito
M1 Motore Motore A1.1 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 Tipo Pos Fisica Variabile
Valore Predefinito
Y1 Elettrovalvola Elettrovalvola A2.1 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
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
16
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
[LD_Main]
END_FUNCTION_BLOCK
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
bool
bool
bool
bool
bool bool
bool
bool
bool
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
17
FUNCTION_BLOCK
[LD_Tank]
END_FUNCTION_BLOCK
FUNCTION_BLOCK
[LD_Engine]
END_FUNCTION_BLOCK
FUNCTION_BLOCK
[LD_Pause]
END_FUNCTION_BLOCK
FUNCTION_BLOCK
[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.
Safety
F1
S1
S8
H9
H10
sis_OK
bool
bool
bool
bool
bool
bool
Pause
S1
S7
sis_Pausa
H7
bool
bool bool
bool
Engine
muovi
F1
sis_OK
H1
M1
bool
bool
bool
bool
bool
Tank
versa
sis_OK
B1
C0
versa
Y1
C-
bool
bool
bool
bool
bool
bool
bool
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
18
Funcion Block Principale (Main)
Schema SFC
Di seguito si riporta lo schema SFC sviluppato in UniSim:
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
19
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.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
20
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.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
21
Traduzione LD
Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder:
(* sez di inizializzazione *)
INIZ Init
S
AZIONI
(* sez di valutazione tranx. *)
Init T1
S6 T2
T3
T4
T11
S6 sis_OK
S1
ver_liv
liv_ins
az_mot
S6 sis_OK
T5
S2 sis_Pausa
T7
sis_Pausa
pausa T6
S1 sis_OK
scelta T8
T9
T10
S3
S3 S4
S3 S4 S5
T12
T13
versa3 versa
versa5 versa
versa7 versa
(* sez di disattivazione fasi *)
T1 Init
R
T2 ver_liv
R
T3
T4 liv_ins
R
T5 az_mot
R
T6 pausa
R
T7
T8 scelta
R
T9
T10
T11 versa3
R
T12 versa5
R
T13 versa7
R
T14
finito S2
T14 finito
R
sis_OK
(*sez di attivazione fasi *)
T1 ver_liv
S
T2 liv_ins
S
T3 az_mot
S
T4
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
22
(* sez Esecuzione Azioni *)
T5 pausa
S
T6
T7
scelta
S
T11 finito
S
T12
T13
T8 versa3
S
T9 versa5
S
T10 versa7
S
liv_ins H5
az_mot muovi
AZIONI:
pausa H7
R
H8
scelta H6
T14 ver_liv
S
finito
(* segnalazione versamento *)
versa3
versa5
versa7
H2
H3
H4
versa3
versa5
versa7
setta
P
(* settaggio del contatore *)
(* azionamento versamento *) versa3
versa5
versa7
versa
S
B2
P
B1
P
B0
P
versa3
versa5
versa7
versa7
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
23
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
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
24
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.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
25
Traduzione LD
Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder:
(* sez Esecuzione Azioni *)
apri Y1
S
chiudi Y1
R
versa
R
AZIONI:
(* sez di inizializzazione *)
INIZ Init
S
AZIONI
(* sez di valutazione tranx. *)
Init T1
T2
T4
apri
passato C0
versa sis_OK
osserva T3
B1
sis_OK
sis_OK
T5
C0 sis_OK
T6
chiudi
(* sez di disattivazione fasi *)
T1 Init
R
T2 apri
R
T3
T6 chiudi
R
T4 passato
R
T5
osserva
R
(* sez di attivazione fasi *)
T1 apri
S
T6 init
S
T3
T4 chiudi
S
T2 osserva
S
T5
passato
S
passato C-
P
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
26
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.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
27
Traduzione LD
Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder:
(* sez Esecuzione Azioni *)
az_mot H1
M1
AZIONI:
(* sez di inizializzazione *)
INIZ Init
S
AZIONI
(* sez di valutazione tranx. *)
Init T1
muovi
T2
F1
sis_OK
(* sez di disattivazione fasi *)
T1 Init
R
T3 ferma
R
T2 az_mot
R
T4
(* sez di attivazione fasi *)
az_mot muovi
T3
F1 sis_OK ferma muovi
az_mot
T4
muovi
T4 Init
S
T2 ferma
S
T1 az_mot
S
T3
F1 sis_OK
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
28
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).
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
29
Traduzione LD
Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder:
(* sez Esecuzione Azioni *)
vai sis_Pausa
R
pausa
H7
S
AZIONI:
(* sez di inizializzazione *)
INIZ vai
S
AZIONI
(* sez di valutazione tranx. *)
vai T1
S7
(* sez di disattivazione fasi *)
T1 vai
R
T2 pausa
R
(* sez di attivazione fasi *)
T1 pausa
S
T2 vai
S
pausa T2
S1
sis_Pausa
S
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
30
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”.
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
31
Traduzione LD
Effettuiamo ora la traduzione dell'SFC appena presentato in linguaggio Ladder:
(* sez Esecuzione Azioni *)
surrisc H10
blocc sis_OK
R
H9
AZIONI:
(* sez di inizializzazione *)
INIZ
AZIONI
(* sez di valutazione tranx. *) tempOK T1
F1
(* sez di disattivazione fasi *)
T1 tempOK
R
T2 sisOK
R
T3
T4 blocc
R
surrisc
R
(* sez di attivazione fasi *)
tempOK
S
sisOK
S
sisOK T2
S8
surrisc T3
F1
blocc T4
S1
T1 surrisc
S
T2 blocc
S
T3
T4 sisOK
S
tempOK
S
sisOK sis_OK
S
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
32
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
END_PROGRAM
Pause
S1
S7
sis_Pausa
H7
Safety
F1
S1
S8
H9
H10
sis_OK
Engine
muovi
F1
sis_OK
H1
M1
Tank
versa
sis_OK
B1
C0
versa
Y1
C-
S1
S2
S3
S4
S5
S6
S7
S8
B1
F1
Input
H1
H2
H3
H4
H5
H6
H7
H8
H9
H10
M1
Y1
Output
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
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
33
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
Impianto Automatico per il Riempimento di Contenitori
Tecnologie dei Sistemi di Automazione
Giovanni Ruotolo - Matricola xxx
Università di Napoli Ferdico II | Facoltà di Ingegneria Informatica
34
Traccia fornita dal Docente