Impianto Automatico per il Riempimento di Contenitori

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