Impostare la connessione server NTP
Questa istruzione FP imposta un server di destinazione NTP al quale è possibile inviare una richiesta di sincronizzazione data e ora.
Ingresso
Indirizzo IP o nome host (parametro richiesto).
Indirizzo IP
Per un indirizzo IP, specificare la parola chiave IPv4
o IPv6
all'inizio.
Sintassi per IPv4: p.es. 'IPv4=111.122.133.144'
Sintassi per IPv6: p.es. 'IPv6=1111:122:2:1555:0:0:1888'
Nome host
Parola chiave: HOST
Sintassi: p.es. 'HOST=ntp.pidsx.com'
Uscita
Impostare su TRUE quando l'operazione termina in modo anomalo senza esecuzione, p.es. quando sys_bIsEthernetInitializing è TRUE
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
Questa istruzione non è disponibile nei programmi di interrupt.
L'indirizzo del server NTP è impostato nella CPU (ET-LAN integrata) secondo sNTPServer.
I dati già impostati nei registri di sistema ( ) non sono validi e la richiesta di sincronizzazione data e ora NTP viene eseguita nel momento specificato da tale istruzione.
Nei seguenti casi il PLC torna alle impostazioni dei registri di sistema:
L'alimentazione viene scollegata.
Si passa da Modo PROG a Modo RUN.
Si passa a un progetto diverso.
I dati di impostazione non andranno persi anche se l'istruzione FP_IPV4_SET_ADDRESS viene eseguita.
Prima di eseguire l'istruzione, assicurarsi che sys_bIsEthernetInitializing sia FALSE. sys_bIsEthernetInitializing passa a TRUE quando l'istruzione viene eseguita. Se si esegue l'istruzione mentresys_bIsEthernetInitializing è TRUE, si verifica un errore.
Quando questa istruzione è stata eseguita correttamente, le variabili di sistema sys_bIsCarry e sys_iEthernetConnectionErrorCode vengono resettate.
Se l'istruzione non è stata eseguita con successo, verificare il codice del risultato di esecuzione nell'uscita nResult dell'istruzione FP_NTP_SYNCHRONIZE.
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se l'istruzione viene eseguita in un programma di interrupt
se il sistema sincronizza la data e l'ora con il server NTP.
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se l'istruzione viene eseguita in un programma di interrupt
se il sistema sincronizza la data e l'ora con il server NTP.
se l'istruzione viene eseguita durante l'inizializzazione di Ethernet, sys_iEthernetConnectionErrorCode viene impostato su "11: Ethernet viene inizializzato".
All input and output variables used for programming this function have been declared in the POU header.The same POU header is used for all programming languages.
VAR
sNTPServer: STRING[32]:='IPv4=192.168.2.1';
bIsError: BOOL:=FALSE;
bEnable: BOOL:=FALSE;
END_VAR
When the system variable sys_bIsEthernetInitializing is FALSE and the variable bEnable is set to TRUE, the function is carried out.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,sys_bIsEthernetInitializing,6,1,8,3,N);
B(B_CONTACT,,bEnable,14,1,16,3,);
B(B_F,FP_NTP_SET_SERVER!,,22,0,33,4,,?DEN?DsNTPServer?AENO?AbError);
B(B_VARIN,,sNTPServer,20,2,22,4,);
B(B_VAROUT,,bIsError,33,2,35,4,);
L(1,0,1,5);
L(1,2,6,2);
L(8,2,14,2);
L(16,2,22,2);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if NOT (sys_bIsEthernetInitializing) AND (bEnable) then
FP_NTP_SET_SERVER(sNTPServer := sNTPServer,
bError => bIsError);
end_if;