Impianto per il comando automatico di un garage

Transcript

Impianto per il comando automatico di un garage
Impianto per il comando automatico di un garage
Elaborato per il corso di Tecnologie per i Sistemi d'Automazione, tenuto dal professor Iervolino R.
per il corso di laurea in Ingegneria Informatica.
Per l'appello del 30 Maggio 2011.
Autore
Verde Pasquale
matricola
534/2461
Controllo di un garage
Verde P. 534/2461
pag. 1/8
Controllo di un garage
Verde P. 534/2461
pag. 2/8
Riepilogo architettura del sistema
Le caratteristiche dell'impianto si possono riassumere schematicamente come segue.
Entrata, input
Entrata, output
B1 Fotocellula esterna
M1SU
Solleva sbarra entrata
B2 Fotocellula interna
M1GIU
Abbassa sbarra entrata
S12 Pulsante emissione ticket
S_ENT
Semaforo entrata.
0 = Verde (Garage libero)
1 = Rosso (Garage pieno)
S2 Fine corsa: sbarra alzata
S3 Fine corsa: sbarra abbassata
A1 Centralina. Segnala ritiro ticket
Uscita, input
Uscita, output
B3 Fotocellula interna
M2SU
Solleva sbarra uscita
B4 Fotocellula esterna
M2GIU
Abbassa sbarra uscita
S4 Fine corsa: sbarra alzata
S_USC
Semaforo uscita.
0 = Verde (Via libera)
1 = Rosso (sbarra chiusa)
S5 Fine corsa: sbarra abbassata
A2 Centralina. Segnala pagamento avvenuto
Comandi manuali presenti alla cassa (sono tutte variabili di input)
S1
Selettore a chiave per avvio sistema.
0 = chiave inserita (sistema operativo). 1 = chiave rimossa (sistema disattivato).
S6
Reset contatore
S9
S7
Solleva sbarra entrata
S10 Abbassa sbarra uscita
S8
Abbassa sbarra entrata
S11 Emergenza. Solleva sbarre.
Solleva sbarra uscita
Chiarimenti alle specifiche
Centraline.
Delle centraline elettroniche consideriamo l'informazione booleana di interesse.
A1 abilita l'ingresso quando il ticket è stato ritirato, A2 abilita l'uscita all'inserimento della
ricevuta magnetica che conferma il pagamento.
Supponiamo che l'emissione del ticket sia automatica (per questo la fase
“EMETTI_TICKET”, come vedremo, non avrà alcuna azione associata).
Motori sbarre.
Consideriamo due variabili booleane di output per ogni motore. Una si attiva per sollevare
la sbarra corrispondente (SU), l'altra per abbassarla(GIU).
Semafori.
Utilizziamo una variabile booleana per semaforo. Il semaforo all'ingresso diventa Rosso(1)
se il garage risulta pieno (200 auto) ed è inizialmente Verde(0), quello all'uscita invece è
Rosso (1) con la sbarra abbassata, diventa Verde (0) per consentire l'uscita delle auto.
Controllo di un garage
Verde P. 534/2461
pag. 3/8
Descrizione funzionalità e progetto del sistema di controllo
Comando sbarra.
Dopo aver individuato ingressi e uscite del sistema ci siamo concentrati su queste ultime: è
necessario in primo luogo un Function Block per azionare il motore di una sbarra fino
all'attivazione del sensore di fine corsa specificato in input.
Questo blocco semplice e versatile è implementato in linguaggio a contatti, e sarà utile per
azionare le sbarre in entrambe le direzioni. L'ingresso VAI avvia l'operazione: il motore
viene azionato (Set) fino a raggiungere il fine corsa FC, evento che innesca il Reset
dell'uscita.
FUNCTION_BLOCK
END_FUNCTION_BLOCK
Come vedremo, sono sufficienti quattro istanze del blocco appena definito per
implementare tutti i comandi manuali.
Il Contatore.
Per conoscere in ogni istante il numero di auto presenti nel garage abbiamo bisogno di un
contatore bidirezionale. Useremo il blocco funzionale predefinito CTUD (CounTer
Up/Down), di cui riportiamo schema e descrizione degli input e degli output.
CTUD
BOOL
>CU
BOOL
>CD
BOOL
R
BOOL
LD
INT
PV
QU
QD
CV
Controllo di un garage
CU = Counter Up, ingresso sui cui fronti di salita il
contatore è incrementato
CD = Counter Down, ingresso sui cui fronti di salita il
BOOL contatore è decrementato
R = Reset, porta a zero il conteggio
PV = valore massimo del conteggio
BOOL
LD = carica il contatore con il valore PV
QD = segnala che il contatore ha raggiunto lo zero
INT QU = segnala che il contatore ha raggiunto il valore PV
CV = Counter Value, valore corrente raggiunto dal
contatore
Verde P. 534/2461
pag. 4/8
Gestione entrata e uscita vetture.
La gestione ordinaria del garage avrà bisogno delle uscite del contatore. Avremo due
blocchi, uno per l'entrata e l'altro per l'uscita, implementati in SFC.
FUNCTION_BLOCK
END_FUNCTION_BLOCK
Controllo di un garage
Verde P. 534/2461
pag. 5/8
FUNCTION_BLOCK
END_FUNCTION_BLOCK
Controllo di un garage
Verde P. 534/2461
pag. 6/8
Abbiamo ora tutto ciò che serve per realizzare il programma principale.
PROGRAM garage
VAR_INPUT
S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12: BOOL;
B1, B2, B3, B4, A1, A2: BOOL;
END_VAR
VAR_OUTPUT
S_ENT, S_USC, M1SU, M1GIU, M2SU, M2GIU:BOOL;
END_VAR
VAR
ENTRATA: GEST_ENT; USCITA: GEST_USC; CONT: CTUD;
APRI1, CHIUDI1, APRI2, CHIUDI2: CMD_SBARRA;
END_VAR
END_PROGRAM
Controllo di un garage
Verde P. 534/2461
pag. 7/8
Traduzione in linguaggio a contatti (LD)
Non tutti i PLC ammettono l’SFC come linguaggio di programmazione, dunque
trasformiamo gli schemi SFC di entrata e uscita nel più diffuso LD.
Controllo di un garage
Verde P. 534/2461
pag. 8/8