Impostare impostazioni tentativi per il server NTP
Questa istruzione FP imposta le impostazioni dei tentativi per le richieste di sincronizzazione data e ora del server NTP.
Ingresso
Timeout in secondi
Valori: 30–300 secondi
Numero di tentativi
Valori: 0–3
Lunghezza di un intervallo per un tentativo in secondi
Valori: 10–86400 secondi
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.
Le impostazioni tentativi per la richiesta di sincronizzazione data e ora per il server NTP sono impostate secondo nTimeout, nNumberOfRetries e nRetryInterval.
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.
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
bEnable: BOOL:=FALSE;
bError: BOOL:=FALSE;
iTimeout: INT:=60;
iNumberOfRetries: INT:=3;
diRetryInterval: DINT:=600;
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 := 6 ;
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_RETRY_SETTINGS!,,22,0,37,6,,?DEN?DnTimeout?DnNumberOfRetries?DnRetryInterval?AENO?AbError);
B(B_VARIN,,iTimeout,20,2,22,4,);
B(B_VAROUT,,bError,37,2,39,4,);
B(B_VARIN,,iNumberOfRetries,20,3,22,5,);
B(B_VARIN,,diRetryInterval,20,4,22,6,);
L(1,0,1,6);
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_RETRY_SETTINGS(nTimeout := iTimeout,
nNumberOfRetries := iNumberOfRetries,
nRetryInterval := diRetryInterval,
bError => bError);
end_if;