Funktionsbausteine

 

FB_SntpClient

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.7.0

G-SE-0059317.1.gif-high.gif

 

 

Aufgabe

Der Funktionsbaustein FB_SntpClient stellt SNTP-Clientfunktionen bereit.

Funktionsbeschreibung

Der Funktionsbaustein FB_SntpClient fungiert als Benutzerschnittstelle für die SNTP-Kommunikation.

Der Funktionsbaustein muss aktiviert und funktionsbereit für die Ausführung eines Requests sein. Beim Start der Ausführung eines Requests werden die Informationen von den Eingängen zur Generierung eines SNTP-Telegramms mit dem Zeit-Request verwendet. Das Telegramm wird an über UDP an einen einzelnen Server gesendet.

Der Funktionsbaustein wartet auf eine Antwort des Servers, verarbeitet diese und stellt die empfangenen Informationen am Ausgang q_stTimeResponse bereit. Solange der Funktions­baustein einen Request ausführt, steht der Ausgang q_xBusy auf TRUE und q_etResult verweist auf den Status des Vorgangs. Der Ausgang q_xDone signalisiert eine erfolgreiche Ausführung und q_xError gibt an, ob der Funktionsbaustein bei der Ausführung einen Fehler erkannt hat, wobei q_etResult und q_sResultMsg weitere Informationen zu Art und Ursache des angetroffenen Fehlers enthalten. Bei Erkennung eines Fehlers muss der Funktionsbaustein durch Deaktivierung und anschließende Reaktivierung zurückgesetzt werden.

Je nach Eingang i_xSyncRtc werden die berechneten Werte verwendet, um die RTC der Steuerung auf den vom Server empfangenen Wert einzustellen (einschließlich der über den Eingang i_diTimeZone definierten Zeitverschiebung). Für die UTC-Synchronisierung kann eine maximale Genauigkeit von 1 s erzielt werden.

HINWEIS: Die Sommerzeit wird vom Funktionsbaustein nicht berücksichtigt. Diesbezüglich müssen Sie entsprechende Maßnahmen in Ihrer Anwendung ergreifen. Siehe auch das Dokument RTC Control / Timezone / Daylight Saving Time Example Guide .

Der Eingang i_uiMaxRtcOffset kann zur Plausibilitätsprüfung für die Überprüfung der Ergebnisse vom Server vor der RTC-Einstellung der Steuerung verwendet werden.

HINWEIS: Bei der Einstellung der RTC der Steuerung werden entsprechende Einträge in der steuerungsspezifischen Logdatei generiert. Verwenden Sie diese Funktion wegen der automatischen Anpassungen nicht häufiger als einmal am Tag.

G-SE-0053317.1.gif-high.gif

 

 

Schnittstelle

Eingang

Datentyp

Beschreibung

i_xEnable

BOOL

Aktivierung und Initialisierung des Funktionsbausteins.

i_xExecute

BOOL

Der über den Eingang iq_stTimeRequest angegebene Request wird bei einer steigenden Flanke dieses Eingangs ausgeführt.

i_xSyncRtc

BOOL

Wenn dieser Eingang auf TRUE gesetzt ist, wird die RTC der Steuerung nach Empfang einer Antwort vom (S)NTP-Zeitserver automatisch eingestellt.

Standardwert: FALSE

HINWEIS: Bei der Einstellung der RTC der Steuerung werden entsprechende Einträge in der steuerungsspezifischen Logdatei generiert. Verwenden Sie diese Funktion wegen der automatischen Anpassungen nicht häufiger als einmal am Tag.

i_diTimeZone

DINT

Offset (Verschiebung) in Minuten, die dem vom (S)NTP-Zeitserver in Sekunden empfangenen Zeitstempel hinzugefügt wird.

Standardwert: 0

Wertebereich: -86400 bis +86400 (24 Std. x 60 Min. x 60 Sek.)

i_uiMaxRtcOffset

UINT

Maximal zulässige Differenz zwischen dem aktuellen und dem neuen RTC-Wert, wenn i_xSyncRtc  = TRUE.

Kann als Plausibilitätsprüfung verwendet werden, um eine unbeabsichtigte Einstellung der RTC zu verhindern. Beispiel: Wenn die RTC einmal mit einem Zeitserver synchronisiert wird, fallen alle folgenden Synchronisierungen (Zeitverschiebungen) in den Bereich ±30 s.

Standardwert: 0 (Funktion ist inaktiv)

Höchstwert: 7200 s. (2 Stunden)

i_stTimeRequest

ST_TimeRequest

Struktur mit den erforderlichen benutzerspezifischen Eingangsdaten in Bezug auf den (S)NTP-Zeitserver.

Ausgang

Datentyp

Beschreibung

q_xActive

BOOL

Wenn der Funktionsbaustein aktiv ist, wird dieser Ausgang auf TRUE gesetzt.

q_xReady

BOOL

Steht auf TRUE, wenn der Funktionsbaustein bereit für den Empfang einer Benutzereingabe ist.

q_xBusy

BOOL

Wenn dieser Ausgang auf TRUE gesetzt wird, bedeutet das, dass der Funktionsbaustein ausgeführt wird.

q_xDone

BOOL

Wenn der Ausgang auf TRUE gesetzt ist, hat der Funktionsbaustein den angeforderten Befehl erfolgreich abgeschlossen. Zusätzliche Daten können aus iq_stTimeRequest abgerufen werden.

q_stTimeResponse

ST_TimeResponse

Struktur mit dem synchronisierten Zeitstempel (einschließlich der Zeitverschiebung i_diTimeZone), der Zeitverschiebung zwischen der lokalen RTC-Zeit der Steuerung und dem (S)NTP-Server, und der Umlaufverzögerung.

q_Error

BOOL

Wenn dieser Ausgang auf TRUE gesetzt wird, wurde ein Fehler identifiziert. Für weitere Informationen, siehe q_etResult und q_etResultMsg,

q_etResult

ET_Result

Stellt Diagnose- und Statusinformationen in Form numerischer Werte bereit.

q_sResultMsg

STRING[255]

Stellt zusätzliche Diagnose- und Statusinformationen in Form von Textmeldungen bereit.