Vai al contenuto
PLC Forum


Imposta ora da pannello


Project75

Messaggi consigliati

Buongiorno mi capita spesso che la CPU rimaGa senza alimentazione per lungo tempo al riavvio l'ora e la data non sono più quelli attuali, quindi mi dovrei collegare con tia portal e aggiornarli. Vorrei poTer inserire la data e l'ora da pannello e aggiornarla senza dovermi collegare con tia portal. Come posso fare? Grazie mille 

Link al commento
Condividi su altri siti


Grazie batta volevo un esempio pratico giusto perché non ho aggiornato mai ora e data da pannello ma sempre con tia. Grazie ancora 

Link al commento
Condividi su altri siti

Non è che ci sia molto da dire.
In un DB crei una variabile di tipo DTL, che trasporti anche sul HMI, e dove andrai ad impostare la data e l'ora.

Nel HMI aggiungi un pulsante che comanda una variabile booleana che, nel PLC, andrà ad attivare l'istruzione WR_SYS_T.
A WR_SYS_T passi data e ora impostati da HMI.
All'uscita di WR_SYS_T puoi anche collegare il reset della variabile booleana, in modo da eseguire l'operazione una sola volta alla pressione del tasto del HMI.

 

L'unica cosa a cui dovrai fare attenzione, è che il PLC gestisce due orari: ora di sistema, e ora locale.
L'ora di sistema è riferita al fuso orario 0.
L'ora locale tiene conto sia del fuso orario selezionato, sia dell'eventuale ora legale, se gestita. Impostazioni questa da fare nell'hardware della cpu.

In scrittura, invece, c'è solo l'ora di sistema, quindi, da data/ora impostata da pannello operatore, prima di passarla a WR_SYS_T, dovrai sottrarre le ore del fuso orario e l'eventuale ora legale. Per la sottrazione del tempo, puoi usare l'istruzione T_SUB.

 

Esempio:

immagine.png.0d694cc8770febce83f0bc21049dbdcc.png

 

In testo strutturato:

IF "MyDB".SetDateTime THEN
    "MyDB".SetDateTime := FALSE;
    #tmpDateTime := T_SUB(IN1 := "MyDB".DateTime, IN2 := T#1H);
    #valret := WR_SYS_T(#tmpDateTime);
END_IF;

 

In alternativa, se non ti interessano fuso orario e ora legale, nella configurazione hardware della cpu imposti fuso orario zero e disabiliti l'ora legale.
In questo modo, ora di sistema e ora locale coincidono.

Per quanto riguarda l'ora legale poi, sembra che, in Europa, dal prossimo passaggio all'ora legale, dopo non si tornerà più all'ora solare.

 

Per impostare da pannello data e ora della cpu ci sono anche altri metodi, ma questo è il più semplice.

Modificato: da batta
Link al commento
Condividi su altri siti

Grazie mille Batta per la tua disponibilità. Quindi una volta che sul pannello, nel campo "MyDB.DateTime" imposto data e ora, clicco sul pulsante "MyDB.SetDateTime" e sulla CPU andrò ad impostare (scrivere) l'ora e la data inserita in DateTime, giusto?. Grazie mille ancora.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...