Sincronizzazione dell'ora con un server temporale (NTP).

Il blocco (Figura 1) è progettato per sincronizzare l'orologio in tempo reale con server temporali precisi (NTP) in Internet. Questo blocco è disponibile solo per i controller basati su ESP8266, ESP32.

                                                                                                  Figura 1 

Impostazioni di blocco (Figura 2):

                                                                                                  Figura 2 

"NTP Server" – Impostare l'indirizzo del server NTP. È possibile specificare sia costanti che input. In questo caso all'input "Server" del blocco deve essere inviato l'indirizzo del server sotto forma di stringa. L'indirizzo del server come costante può essere selezionato anche dalla lista di quelli standard, per fare ciò cliccare il pulsante "Standard servers " e si aprirà una lista dalla quale selezionare l'indirizzo del server. Cerca di evitare di utilizzare inutilmente un server di livello 1. Il server di livello 2 è altrettanto accurato.

"The period of query to first response": il periodo delle richieste prima della prima sincronizzazione con il server. L'impostazione predefinita è 30 secondi. È possibile specificare sia una costante che come input. Quando si specifica un input, il tempo tra le richieste deve essere fornito all'input "AT" in millisecondi.

"Period requests after the first reply": il periodo delle richieste dopo la prima sincronizzazione con il server. L'impostazione predefinita è 30 minuti. È possibile specificare sia una costante che come input. Quando si specifica un input, il tempo tra le richieste deve essere inviato all'input "BT" in millisecondi.

"Time zone" – differenza oraria dall'UTC. È possibile specificare sia una costante che come input. Quando si specifica un input, il valore deve essere fornito all'input "TimeZone" in ore.

Output: "Year", "Month", "Day", "Hour", "Minute", "Second", "Unix Time*" - quando queste caselle di controllo sono installate, il blocco genera un'uscita corrispondente.

All'output "CR", ad ogni sincronizzazione avvenuta con successo con il server, appare un impulso della durata di un ciclo di esecuzione del programma.

Nell'esempio utilizzeremo il server NTP "pool.ntp.org", facilmente accessibile da qualsiasi parte del mondo.

*Il Unix Time è un valore numerico intero che esprime il numero di secondi trascorsi da una data arbitraria, cioè la mezzanotte (UTC) del 1 gennaio 1970, momento che prende il nome di epoch. Il grosso vantaggio di questo tipo di rappresentazione del tempo è di essere facilmente gestibile in quanto è indipendente dai fusi orari e consente di fare calcoli e raffronti tra date attraverso comuni operatori matematici (come, ad esempio, uguaglianza, minore o maggiore).

Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia