Strumenti Utente

Strumenti Sito


semaforo

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

Il funzionamento può essere rappresentato graficamente con il seguente diagramma temporale:

Diagramma temporale del semaforo pedonale

Tabella variabili

nome indirizzo commento
SB1%I0.0chiamata pedonale lato strada 1
SB2%I0.1chiamata pedonale lato strada 2
HR%Q0.0luce rossa semaforo auto
HG%Q0.1luce gialla semaforo auto
HV%Q0.2luce verde semaforo auto
HALT%Q0.3luce ALT semaforo pedoni
HAVANTI%Q0.4luce 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

diagramma SFC

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):

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information
semaforo.txt · Ultima modifica: 2019/11/03 17:57 da admin