Lokale Zeitzone des NTP-Servers einstellen
Dieser FP-Befehl ist nur notwendig, wenn Sie in der SPS vorübergehend eine lokale Zeitzone einstellen wollen, die die Zeitzone ersetzt, die durch das Systemregister unter sTimeZone angegeben und in Kombination mit der von FP_NTP_SYNCHRONIZE gelieferten Zeit verwendet.
eingestellt wurde. Diese lokale Zeitzone wird durchEingang
Gibt die Zeitzone basierend auf GMT (Greenwich Mean Time) an.
Syntax: +HHMM
/-HHMM
Werte: format: sign (+/-) and HHMM (HH=Stunden (00–23), MM=Minuten (00–59))
Beispiele:
Für Frankreich, Italien, Spanien, Deutschland: '+0100'
Für Japan: '+0900'
Für Hawaii: '-1000'
Ausgang
Wird auf TRUE gesetzt, wenn der Vorgang abnormal endet und der Befehl nicht ausgeführt wird, z.B. wenn sys_bIsEthernetInitializing TRUE ist
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
Dieser Befehl ist in Interrupt-Programmen nicht verfügbar.
In den folgenden Fällen kehrt die SPS zu den Einstellungen aus den Systemregistern zurück:
Der Strom wird ausgeschaltet.
Sie schalten vom PROG-Modus in den RUN-Modus um.
Sie wechseln zu einem anderen Projekt.
Die Einstellungsdaten gehen nicht verloren, selbst wenn der Befehl FP_IPV4_SET_ADDRESS ausgeführt wird.
Bevor Sie den Befehl ausführen, stellen Sie sicher, dass sys_bIsEthernetInitializing FALSE ist. sys_bIsEthernetInitializing wird auf TRUE gesetzt, wenn der Befehl ausgeführt wird. Wenn Sie den Befehl ausführen, während sys_bIsEthernetInitializing TRUE ist, tritt ein Fehler auf.
Wenn dieser Befehl erfolgreich ausgeführt wurde, werden die Systemvariablen sys_bIsCarry und sys_iEthernetConnectionErrorCode zurückgesetzt.
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn das System gerade dabei ist, die Zeit mit dem NTP-Server zu synchronisieren.
wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn das System gerade dabei ist, die Zeit mit dem NTP-Server zu synchronisieren.
wenn der Befehl während der Initialisierung des Ethernets ausgeführt wird, wird sys_iEthernetConnectionErrorCode auf "11: Ethernet wird initialisiert“ gesetzt.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden.Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR
sTimeZone: STRING[32]:='+0100';
bIsError: BOOL:=FALSE;
bEnable: BOOL:=FALSE;
END_VAR
Wenn die Systemvariable sys_bIsEthernetInitializing auf FALSE gesetzt ist und die Variable bEnable von FALSE auf TRUE gesetzt wird, wird die Funktion ausgeführt.
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;