Orologio e data con PLC S7-1200
I PLC S7-1200 dispongono di un orologio interno che memorizza ora, data, giorno della settimana, fuso orario, ecc. L'orologio può essere impostato in due modi:
- dalle proprietà della CPU nella sezione Interfaccia PROFINET alla voce Sincronizzazione dell'ora indicando un server NTP
- dal PC collegato al PLC selezionando Online e diagnostica dal menu Online
La prima soluzione richiede che il PLC sia connesso a internet o a una rete LAN dove è presente un server NTP. E' una soluzione più complessa ma che garantisce che l'orologio interno sia sempre impostato correttamente. La seconda soluzione è più semplice:
- da Online e diagnostica si seleziona Imposta ora da Funzioni
- vengono visualizzate l'ora sul PLC e sul PC
- cliccando il pulsante Applica si sincronizza l'ora del PLC con quella del PC
Usare data e ora nei programmi per PLC
Le informazioni legate a data e ora non possono essere memorizzate direttamente in una variabile ma richiedono la creazione di una struttura dati di tipo DTL all'interno di un blocco dati. Nel programma occorre allora:
- creare un blocco dati (Inserisci nuovo blocco | Blocco dati)
- inserire nel blocco dati un elemento indicando un nome (ad esempio “orlogio”) e il tipo di dati DTL
Nel programma occorre prima di tutto leggere l'orologio; per farlo si inserisce il blocco RD_LOC_T
, disponibile tra le Istruzioni avanzate alla voce Data e ora. Nel blocco vanno indicate:
- nel campo
OUT
la variabile di tipo DTL che contiene la struttura dati dell'orologio - nel campo
RET_VAL
una variabile di tipoint
(ad esempio un merker MW4) dove scrivere un codice numerico che segnali eventuali errori nella lettura dell'orologio
A questo punto saranno accessibili tutte le variabili contenute all'interno della struttura dati DTL. Un elenco di queste variabili e il relativo tipo di dati è disponibile espandendo l'elemento DTL nel blocco dati. Per verificare la correttezza delle informazioni su data e orario basta osservare la tabella quando la CPU è online.
Esercizio di prova
Scrivere un programma che setti un uscita a un determinato orario e la resetti un minuto dopo.