Project75 Inserito: 13 marzo 2020 Segnala Inserito: 13 marzo 2020 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
batta Inserita: 13 marzo 2020 Segnala Inserita: 13 marzo 2020 Cerca nelle funzioni di data/ora, e vedrai che la soluzione la trovi.
Project75 Inserita: 13 marzo 2020 Autore Segnala Inserita: 13 marzo 2020 Grazie batta volevo un esempio pratico giusto perché non ho aggiornato mai ora e data da pannello ma sempre con tia. Grazie ancora
batta Inserita: 13 marzo 2020 Segnala Inserita: 13 marzo 2020 (modificato) 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: 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: 13 marzo 2020 da batta
Project75 Inserita: 13 marzo 2020 Autore Segnala Inserita: 13 marzo 2020 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.
leleviola Inserita: 13 marzo 2020 Segnala Inserita: 13 marzo 2020 complimenti batta per la precisione! complimenti batta per la precisione!
Project75 Inserita: 15 marzo 2020 Autore Segnala Inserita: 15 marzo 2020 Grazie mille Batta per la tua descrizione dettagliata e per la tempestiva disponibilità.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora