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