35
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 · Disattivando l’impianto mediante il pulsante S7 di arresto fine ilo, il ariamento in orso deve essere portato a termine,

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

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

35

Riferimenti

Tecnologie informatiche per l'Automazione Pasquale Chiacchio - Francesco Basile McGraw-Hill