FP_NTP_SET_TIME_ZONE

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 Ethernet > Zeitsynchronisation eingestellt wurde. Diese lokale Zeitzone wird durch sTimeZone angegeben und in Kombination mit der von FP_NTP_SYNCHRONIZE gelieferten Zeit verwendet.

Parameter

Eingang

sTimeZone (STRING)

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:

  1. Für Frankreich, Italien, Spanien, Deutschland: '+0100'

  2. Für Japan: '+0900'

  3. Für Hawaii: '-1000'

Ausgang

bError (BOOL)

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.

Anmerkungen

  • 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.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • 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.

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • 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.

sys_bIsCarry (wird für einen Zyklus auf TRUE gesetzt)

wenn der Befehl während der Initialisierung des Ethernets ausgeführt wird, wird sys_iEthernetConnectionErrorCode auf "11: Ethernet wird initialisiert“ gesetzt.

Beispiel

POE-Kopf

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

KOP-Rumpf

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

ST-Rumpf

if (NOT (sys_bIsEthernetInitializing) AND DF(bEnable)) then
    FP_NTP_SET_TIME_ZONE(sTimeZone := sTimeZone,
    bError => bIsError);
end_if;

Letzte Änderung: 2024-11-13Feedback zu dieser SeitePanasonic Hotline