Imposta la fascia di tempo locale sul server NTP
Questa istruzione FP è necessaria solo se di desidera impostare temporaneamente una fascia di tempo locale nel PLC per sostituire la fascia di tempo impostata dal registro di sistema alla voce sTimeZone e viene utilizzata in combinazione con l'ora fornita da FP_NTP_SYNCHRONIZE.
. Questa fascia di tempo locale viene specificata daIngresso
Specifica il fuso orario di tipo GMT (ora media di Greenwich).
Sintassi: +HHMM
/-HHMM
Valori: formato: segno (+/-) e HHMM (HH=ore (00–23), MM=minuti (00–59))
Esempi:
Per Francia, Italia, Spagna, Germania: '+0100'
Per il Giappone: '+0900'
Per le Hawaii: '-1000'
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.
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".
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
sTimeZone: STRING[32]:='+0100';
bIsError: BOOL:=FALSE;
bEnable: BOOL:=FALSE;
END_VAR
Quando la variabile di sistema sys_bIsEthernetInitializing è FALSE e la variabile bEnable passa da FALSE a TRUE, la funzione viene eseguita.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_CONTACT,,sys_bIsEthernetInitializing,6,4,8,6,N);
B(B_CONTACT,,bEnable,14,4,16,6,R);
B(B_F,FP_NTP_SET_TIME_ZONE!,,18,3,31,7,,?DEN?DsTimeZone?AENO?AbError);
B(B_VARIN,,sTimeZone,16,5,18,7,);
B(B_VAROUT,,bIsError,31,5,33,7,);
L(1,0,1,7);
L(1,5,6,5);
L(8,5,14,5);
L(16,5,18,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (NOT (sys_bIsEthernetInitializing) AND DF(bEnable)) then
FP_NTP_SET_TIME_ZONE(sTimeZone := sTimeZone,
bError => bIsError);
end_if;