Indice

Compito PLC: Semaforo pedonale

Specifiche

Si vuole gestire un semaforo pedonale per l'attraversamento di una strada. Sono presenti:

Partendo da semaforo verde per le auto e ALT per i pedoni il funzionamento è questo:

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:

Extra:

Visualizzazione HMI

Per costruire l'oggetto semaforo_auto per un'interfaccia HMI si può procedere in questo modo:

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

Tabella con voti e annotazioni 17/18

Soluzione

SFC semaforo pedonale

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:

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:

File per HMI: