Indice
Compito PLC: Semaforo pedonale
Specifiche
Si vuole gestire un semaforo pedonale per l'attraversamento di una strada. Sono presenti:
- un semaforo per le auto (luci rossa, gialla e verde)
- un semaforo per i pedoni con insegna luminosa “ALT” (rossa) e “AVANTI” (verde)
- due pulsanti ai lati della strada per la chiamata pedoni
Partendo da semaforo verde per le auto e ALT per i pedoni il funzionamento è questo:
- la pressione di uno dei due pulsanti prenota l'attraversamento pedonale
- dopo 10 secondi si spegne il verde e si accende il giallo
- trascorsi 5 secondi si spegne il giallo e si accende il rosso, per i pedoni si accende AVANTI e si spegne ALT
- trascorsi 10 secondi si spegne il rosso e si accende il verde, per i pedoni si spegne AVANTI e si accende ALT
Diagramma temporale
Tabella variabili
nome | indirizzo | commento |
---|---|---|
SB1 | %I0.0 | chiamata pedonale lato strada 1 |
SB2 | %I0.1 | chiamata pedonale lato strada 2 |
HR | %Q0.0 | luce rossa semaforo auto |
HG | %Q0.1 | luce gialla semaforo auto |
HV | %Q0.2 | luce verde semaforo auto |
HALT | %Q0.3 | luce ALT semaforo pedoni |
HAVANTI | %Q0.4 | luce AVANTI semaforo pedoni |
Tutto il resto (merker, temporizzatori, ecc.) altro a piacere.
Cosa fare
Lo studente deve:
- disegnare il diagramma SFC dell'automatismo
- scrivere e collaudare un programma in ladder che realizzi le specifiche
Extra:
- fare lampeggiare l'insegna AVANTI nel semaforo dei pedoni negli ultimi 5 secondi
- inserire una fase in cui il semaforo delle auto è rosso e quello dei pedoni è ALT della durata di 3 secondi prima di accendere AVANTI
- disegnare il diagramma SFC dell'automatismo con l'applicazione web draw.io ed esportare il risultato in formato .PNG (immagine)
- visualizzare su pannello HMI i due semafori e aggiungere un terzo pulsante sul pannello per prenotare l'attraversamento pedonale
Visualizzazione HMI
Per costruire l'oggetto semaforo_auto per un'interfaccia HMI si può procedere in questo modo:
- disegnare un rettangolo che sarà la sagoma del semaforo
- disegnare tre cerchi (rosso, giallo e verde scuri)
- disegnare tre cerchi (rosso, giallo e verde chiari)
- selezionare uno alla volta i sei cerchi scuri e dalla scheda Animazioni dinamizzare la visibilità in modo che il cerchio sia visibile solo se una variabile del PLC vale 0 (scegliere un campo di valori da 0 a 0)
- fare lo stesso per i cerchi chiari abbinando la visibilità alle rispettive variabili del PLC (stavolta scegliere un campo da 1 a 1)
- sovrapporre i cerchi dello stesso colore e posizionarli nel rettangolo, che deve essere sullo sfondo (usare l'opzione Ordine)
- selezionare rettangolo e cerchi, raggrupparli e dargli il nome semaforo_auto
- creare una nuova biblioteca e salvare l'oggetto semaforo nella biblioteca trascinandolo
Per il semaforo pedonale si può procedre allo stesso modo. Per oggetti più complicati su possono usare i campi I/O grafici a abbinargli delle grafiche (immagini) create precedentemente.
Vedi la pagina sulle HMI per i dettagli.
SFC
Tabella con voti e annotazioni 17/18
Soluzione
Variante con un solo timer
E' possibile soddisfare le specifiche usando un solo timer al posto dei tre della soluzione proposta (timer chiamata, timer giallo e timer rosso). Per farlo occorre utilizzare la variabile ET
(Elapsed Time) del blocco dati del timer, che memorizza il tempo trascorso da quando il timer è stato avviato. La variabile è selezionabile dai menu a tendina dopo aver cliccando sul blocco dati DB del timer e contiene un valore, continuamente aggiornato, nel tipo di dati Time
del PLC. La parte di programma che gestisce il passaggio da uno stato all'altro deve essere modificata, sostituendo il contatto NA comandato dall'uscita Q
del timer (che passa a 1 trascorso il tempo impostato con PV
) con l'operatore di confronto >=
disponibile tra le istruzioni.
Qualche osservazione:
- l'operatore di confronto usa due operandi che devono avere lo stesso tipo di dati (
Time
, nel nostro caso) - i tempi da confrontare con la variabile
ET
devono essere 10, 15 e 25 secondi (per i tre timer erano 10, 5 e 10 secondi) - bisogna usare l'operatore maggiore o uguale (
>=
) e non uguale (==
) perché il PLC, il cui tempo di ciclo può arrivare a decine di millisecondi, potrebbe “saltare” l'istante in cui i due valori sono uguali (ad esempio passare da 9s e 800ms a 10s e 100ms) - l'unico timer presente deve continuare a funzionare passando dallo stato P1 a P2 e P3 quindi i tre merker di passo vanno messi in parallelo in ingresso al timer
Una possibile soluzione è riportata di seguito.
Funzione che gestisce la sequenza dei passi:
Funzione che gestisce le uscite (incompleta, alcune lampade e timer globale):
HMI per semaforo
Procedura:
- aggiungere un dispositivo: HMI|KPT700 Basic|versione PROFINET
- nella procedura guidata collegarlo al PLC e configurare a piacere il resto
- modificare l'indirizzo IP dell'HMI (proprietà|indirizzi ethernet|protocollo IP) e scegliere 192.168.0.3
- aggiungere un pulsante poi dalle sue proprietà, nella scheda Eventi, selezionare Premi poi a destra scegliere l'azione ImpostaBitConTastoAttivato e nel campo Variabile, coi pulsanti a destra selezionare la variabile PTOUCH dalla tabella delle variabili del PLC (il questo modo premendo il pulsante sull'HMI si attiva una variabile del PLC che attiva la chiamata pedone)
- disegnare un rettangolo (da oggetti semplici)
- trascinare nel rettangolo in Campo I/O grafico (da Elementi)
- in in Generale nelle proprietà del campo I/O:
- nella sezione Processo selezionare una variabile del PLC che attiva una lampada del semaforo (ad esempio HR)
- nella sezione Modo selezionare Due stati
- nella sezione Contenuto per i campi On e Off, con la freccia in basso, caricare due nuove grafiche scegliendole da file immagine in una cartella del PC
- ridimensionare il campo I/O con le maniglie o da Rappresentazione, aggiustare sfondo (riempimento trasparente) e bordo (compatto con larghezza 0) da Conformazione
- per le altre due lampade del semaforo procedere allo stesso modo (volendo anche con copia-incolla e aggiustando)
- alla fine raggruppare il rettangolo e i tre campi I/O per creare l'oggetto semaforo (menu Modifica|Raggruppa)
- per il semaforo pedonale procedere come per il semaforo auto
File per HMI: