Typ |
Funktionsbaustein |
Verfügbar ab |
V1.0.7.0 |
Der Funktionsbaustein FB_SntpClient stellt SNTP-Clientfunktionen bereit.
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 Funktionsbaustein 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.
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 |
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 |
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 |
Stellt Diagnose- und Statusinformationen in Form numerischer Werte bereit. |
|
q_sResultMsg |
STRING[255] |
Stellt zusätzliche Diagnose- und Statusinformationen in Form von Textmeldungen bereit. |