FP_NTP_SET_RETRY_SETTINGS

Synchronisationszeiteinstellungen für NTP-Server einstellen

Dieser FP-Befehl stellt die Wiederholungseinstellungen für NTP-Serverzeitsynchronisationsaufträge ein.

Parameter

Eingang

nTimeout (WORD, INT, UINT)

Zeitüberschreitung in Sekunden

Werte: 30–300 Sekunden

nNumberOfRetries (WORD, INT, UINT)

Anzahl der Wiederholungen

Werte: 0–3

nRetryInterval (DWORD, DINT, UDINT, DATE, TOD, DT)

Länge eines Intervalls für eine Wiederholung in Sekunden

Werte: 10–86400 Sekunden

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.

  • Die Wiederholungseinstellungen des Zeitsynchronisierungsauftrags für den NTP-Server werden entsprechend nTimeout, nNumberOfRetries und nRetryInterval eingestellt.

  • Die bereits in den Systemregistern eingestellten Daten (Ethernet > Zeitsynchronisation) sind ungültig, und der Auftrag zur NTP-Zeitsynchronisation wird zu dem Zeitpunkt ausgeführt, der durch diesen Befehl angegeben ist.

  • 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
		bEnable: BOOL:=FALSE;
		bError: BOOL:=FALSE;
		iTimeout: INT:=60;
		iNumberOfRetries: INT:=3;
		diRetryInterval: DINT:=600;
			END_VAR

KOP-Rumpf

Wenn die Systemvariable sys_bIsEthernetInitializing auf FALSE ist und die Variable bEnable 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 := 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

ST-Rumpf

if NOT (sys_bIsEthernetInitializing) AND (bEnable) then
    FP_NTP_SET_RETRY_SETTINGS(nTimeout := iTimeout,
    nNumberOfRetries := iNumberOfRetries,
    nRetryInterval := diRetryInterval,
    bError => bError);
end_if;

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