Testo tesina 1, maggio 2016 Casello autostradale Si deve simulare il funzionamento di un casello autostradale dotato di 6 varchi. I primi quattro a sinistra sono tutti uguali, il quinto è riservato ai possessori di telepass, mentre il sesto è controllato manualmente dal personale, in caso di avaria dei varchi automatici. Il sistema viene messo in esecuzione dalla pressione del tasto Start. E presente un arresto di emergenza azionato dal tasto Stop, che causa il blocco immediato di qualunque operazione di moto. Alla ripressione di tale tasto il sistema deve tornare a funzionare normalmente, riprendendo da dove si era fermato. I veicoli ammessi nella simulazione sono auto e moto. L arrivo di uno di questi due veicoli è simulato dalla pressione di uno dei due tasti Auto e Moto presenti per ogni varco dall 1 al 4, mentre nel varco 5 è presente il solo tasto Telepass e nel varco 6 sono presenti due pulsanti, Alza_sbarre6 e Abbassa_sbarre6. Vista frontale 1 2 3 4 5 6 TELEPASS SensoreRuotaSx_1 SensoreRuotaDx_1 Sbarra alzata parzialmente Sbarra alzata completamente Vista dall alto Sensore Uscito_1 SensoreRuotaDx_1 Sensore_pres_telepass SensoreRuotaSx_1 Quando un veicolo raggiunge la prossimità di un varco, se è una macchina farà scattare entrambi i sensori SensoreRuotaDx_i (con i = numero del varco) e SensoreRuotaSx_i, se è una moto farà scattare soltanto il sensore sinistro. Per ogni varco, tranne il telepass e il varco manuale, esiste un box di pagamento. Il box si abilita soltanto quando scattano i sensori di presenza auto o moto. Quando il box è abilitato, tramite un
pulsante Pagato_i si simula il pagamento della somma giusta. A quel punto si deve alzare la sbarra, completamente nel caso di una macchina, parzialmente nel caso di una moto. L innalzamento della sbarra, comandato dall uscita Sbarra_i_Su, dura per 5 secondi nel caso completo e 3 nel caso parziale. Al termine di questo tempo, si suppone che scatti la fotocellula FC_sbarra_i_tot oppure la FC_sbarra_i_parz. Quando la sbarra si è alzata, il veicolo riprende a muoversi. La sbarra torna a scendere (azionando l uscita Sbarra_i_Giu ) solo quando il veicolo ha impegnato e poi disimpegnato la fotocellula Sensore_uscito_i. Il moto di ritorno della sbarra è speculare a quello di alzata, e termina quando scatta la fotocellula FC_sbarra_i_riposo. Per ogni varco dall 1 al 5 esistono due lampade di segnalazione, una rossa e una verde. La lampada rossa è normalmente accesa. Solo durante il tempo in cui la sbarra è alzata e il veicolo non ha ancora disimpegnato il varco si deve spegnere la lampada rossa e accendere la lampada verde. Le due lampade sono comandate rispettivamente dalle uscite lampada_i_red e lampada_i_green. Per il varco riservato al telepass il pulsante Telepass segnala l arrivo di un veicolo. Quando tale veicolo impegna il sensore Sensore_pres_telepass la sbarra, comandata dall uscita Sbarra_tel_su si alza, fino al finecorsa di alzata totale (impiegandoci 2 secondi), senza che ovviamente il veicolo si fermi. Quando il veicolo avrà disimpegnato il Sensore_uscito_5 la sbarra si abbasserà, comandata dall uscita Sbarra_tel_giu, sempre in due secondi. Per il varco manuale esistono due pulsanti Alza_sbarre6 e Abbassa_sbarre6. Premendo e tenendo premuto Alza_sbarre6 le sbarre, comandate dall uscita Sbarra6_su, si alzano, mentre premendo e tenendo premuto Abbassa _sbarre6 le sbarre, comandate dall uscita Sbarra6_giu, si abbassano. Le sbarre del varco 6 hanno gli stessi due finecorsa, per le sbarre, degli altri varchi, e non hanno vincoli temporali, ma solo di posizione. Durante qualunque movimento di queste sbarre, la lampada del varco 6, comandata dall uscita lampada_man, deve lampeggiare con un periodo di 1 secondo. Si visualizzi graficamente il numero di veicoli che sono arrivati ad ogni varco, ed il numero totale di auto e di moto che sono transitate. Si visualizzi sempre lo stato di ogni sensore e fotocellula facendone cambiare il colore. Si simuli un massimo di tre auto e tre moto per ogni varco. Sono a disposizione i seguenti segnali di ingresso e uscita per il controllo del sistema: INPUT Auto_i (*Pulsante per simulare l arrivo di un auto al varco i*) Moto_i (*Pulsante per simulare l arrivo di una moto al varco i*) Telepass (*Pulsante per simulare l arrivo di un veicolo al varco 5*) Alza_sbarre6 (*Pulsante per alzare le sbarre del varco 6*) Abbassa_sbarre6 (*Pulsante per abbassare le sbarre del varco 6*) Start (*Pulsante per comandare la partenza dell impianto *) Stop (*Pulsante per comandare un arresto di emergenza*) Pagato_i (*Pulsante per simulare il pagamento al varco i*) SensoreRuotaDx_i (*Sensore che verifica la presenza della parte destra di un veicolo*) SensoreRuotaSx_i (*Sensore che verifica la presenza della parte sinistra di un veicolo*) Sensore_pres_telepass (*Sensore che verifica la presenza della parte sinistra di un veicolo*) Sensore_uscito_i (*Sensore di presenza veicolo al di là del varco i*) FC_sbarra_i_parz (*fotocellula per raggiunta posizione di alzata parziale*) FC_sbarra_i_tot (*fotocellula per raggiunta posizione di alzata totale*) FC_sbarra_i_riposo (*fotocellula per presenza sbarre in posizione abbassata*)
OUTPUT lampada_i_red (*accende la lampada rossa del varco i*) lampada_i_green (*accende la lampada verde del varco i *) lampada_man (*accende la lampada del varco manuale *) Sbarra_i_Giu (*comanda la discesa delle sbarre al varco i*) Sbarra_i_Su (*comanda la salita delle sbarre al varco i *) Sbarra_tel_su (*comanda la salita delle sbarre al varco del Telepass *) Sbarra_tel_giu (*comanda la discesa delle sbarre al varco del Telepass*) Sbarra6_su (*comanda la salita delle sbarre al varco manuale *) Sbarra6_giu (*comanda la discesa delle sbarre al varco manuale *) Il progetto completo di Codesys deve contenere almeno tre programs: - uno in linguaggio SFC che attiva i segnali di output in relazione alle condizioni rilevate dai sensori - uno in linguaggio LD che governa lo start e lo stop d emergenza dell impianto - uno in linguaggio ST che simula il comportamento dinamico del sistema controllato in relazione allo stato degli output comandati dall SFC e genera l attivazione/disattivazione degli input per il PLC. In sostanza, il programma in SFC rappresenta il comportamento del controllore PLC, i cui segnali di I/O sono collegati in modo virtuale ad una simulazione del sistema fisico programmata in ST. Il programma in SFC e quello in ST si possono frazionare in più programmi diversi. Per testare la correttezza dell esercizio, si costruisca una maschera di visualizzazione animata che rappresenti simbolicamente la movimentazione delle parti meccaniche e gli stati dei segnalatori acustici e visivi.
Testo tesina 2, maggio 2016 La macchinetta del caffè latte acqua caffè Riscaldatore latte caldaia bicchieri cucchiaini zucchero Caffè Cappuccino Display Se l'utente ha introdotto una chiavetta con credito 30 cent può selezionare: se vuole o meno lo zucchero (non è permesso scegliere la quantità di zucchero) la bevanda desiderata soltanto se i serbatoi hanno una quantità sufficiente di prodotto e ci sono bicchieri disponibili
nastro caffè riscaldatore filtro Sensore finecorsa sx Sensore finecorsa dx La macchinetta non accetta altre chiavette o altre selezioni prima che il nastro sia tornato in posizione.
E' obbligatorio prevedere una visualizzazione (numerica o grafica) della quantità dei serbatoi di acqua, zucchero, caffè e latte. Gli ingressi e le uscite a disposizione sono i seguenti: I_sugar Indica se l'utente vuole lo zucchero I_caffè E' premuto per selezionare il caffè I_cappuccino E' premuto per selezionare il cappuccino I_fill_bicch Per rifornire la macchina di bicchieri e cucchiaini I_fill_serb Per riempire i serbatoi di acqua, latte, caffè e zucchero I_user1 Segnala che l'utente 1 ha inserito la chiavetta I_user2 Segnala che l'utente 2 ha inserito la chiavetta I_user3 Segnala che l'utente 3 ha inserito la chiavetta I_user1_off Segnala che l'utente 1 ha disinserito la chiavetta I_user2_off Segnala che l'utente 1 ha disinserito la chiavetta I_user3_off Segnala che l'utente 1 ha disinserito la chiavetta I_liv_ok Segnala che la bevanda è pronta per essere prelevata I_prendi Segnala che la bevanda è stata prelevata O_apri_caffè O_apri_milk O_apri_H2O O_apri_sugar O_chiudi_milk O_chiudi_caffè O_chiudi_H2O O_chiudi_sugar O_bicc O_stecc Fa aprire lo sportellino del serbatoio del caffè Fa aprire lo sportellino del serbatoio del latte Fa aprire lo sportellino del serbatoio dell'acqua Fa aprire lo sportellino del serbatoio dello zucchero Fa chiudere lo sportellino del serbatoio del latte Fa chiudere lo sportellino del serbatoio del caffè Fa chiudere lo sportellino del serbatoio dell'acqua Fa chiudere lo sportellino del serbatoio dello zucchero Fa scendere un bicchiere Fa scendere un cucchiaino Per tutto ciò che non è espressamente indicato in questo testo, lo studente ha facoltà di attuare l'implementazione preferita, utilizzando variabili di supporto a piacimento Il progetto completo di Codesys deve contenere almeno tre programs: - uno in linguaggio SFC che attiva i segnali di output in relazione alle condizioni rilevate dai sensori e/o dagli input del sistema - uno in linguaggio LD che governa il rilascio del bicchiere e del cucchiaino - uno in linguaggio ST che simula il comportamento dinamico del sistema controllato in relazione allo stato degli output comandati dall SFC e genera l attivazione/disattivazione degli input per il PLC. In sostanza, il programma in SFC rappresenta il comportamento del controllore PLC, i cui segnali di I/O sono collegati in modo virtuale ad una simulazione del sistema fisico programmata in ST. Il programma in SFC e quello in ST si possono frazionare in più programmi diversi. Per testare la correttezza dell esercizio, si costruisca una maschera di visualizzazione animata che rappresenti simbolicamente la movimentazione delle parti meccaniche e gli stati dei segnalatori acustici e/o visivi.