FB_BA_SetTime

Systemzeit setzen

FB_BA_SetTime 1:

Funktionsbeschreibung

Mit dem Funktionsbaustein FB_BA_SetTime kann die lokale NT-Systemzeit und das Datum eines TwinCAT-Systems gesetzt werden (die lokale NT-Systemzeit wird in der Taskleiste eingeblendet). Die Systemzeit wird über die Struktur stSysTi vorgegeben.
Intern wird in dem Funktionsbaustein eine Instanz des Funktionsbausteins NT_SetLocalTime aus der TcUtilities-Bibliothek aufgerufen.

FB_BA_SetTime 2:

Die lokale NT-Systemzeit können Sie auch mit der Hilfe des SNTP-Protokolls mit einer Referenzzeit synchronisieren. Mehr Informationen dazu finden Sie im Beckhoff Information System unter:
Beckhoff Information System > Embedded-PC > Betriebssysteme > CE > SNTP: Simple Network Time Protocol

FB_BA_SetTime 3:

Ein-/Ausgänge

VAR_INPUT

bSet         : BOOL;
sNetId       : T_AmsNetId;
stSysTi      : TIMESTRUCT;
udiTiOut     : UDINT;

bSet: Aktivierung des Funktionsbausteins mit einer steigenden Flanke

sNetId: Hier kann die AmsNetId des TwinCAT-Rechners angegeben werden dessen lokale NT-Systemzeit gesetzt werden soll. Für den lokalen Rechner kann auch ein Leerstring sNetId := ''; angegeben werden.

stS ysTi Struktur mit der neuen lokalen NT-Systemzeit. Ist die Zeit als Struktur nicht vorhanden, so empfiehlt sich die Verwendung des Bausteins FB_BA_CnvtTiSt, welcher die Teilvariablen von Datum und Uhrzeit in einer Struktur zusammen führt.

udiTiOut: Gibt die Timeout-Zeit [s] an, die bei der Ausführung nicht überschritten werden darf.

VAR_OUTPUT

bBusy               : BOOL;
bError              : BOOL;
udiErrorId          : UDINT;
bInvalidParameter   : BOOL;

bBusy: Bei der Aktivierung des Funktionsbausteins über eine steigende Flanke an bSetLocalTime wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.

bError: Sollte ein Fehler bei der Übertragung der NT-Systemzeit erfolgen, dann wird dieser Ausgang gesetzt. bError wird mit der Aktivierung des Funktionsbaustein über die Eingangsvariable bSetLocalTime zurück gesetzt.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn entweder die zu übertragene Systemzeit fehlerhaft ist, siehe unten oder aber ein ADS-Fehler in der Übertragung stattfindet. Beide Fehlerarten schlagen sich in einer eindeutigen Beschreibung der Ausgangsvariablen udiErrId / udiErrArg nieder.

udiErrId / udiErrArg: Enthält die Fehlernummer und das Fehlerargument. Siehe Fehlercodes.

Grenzen der Zeitvorgabe

Die angelegte Zeitstruktur stSysTi wird bausteinintern auf Grenzen geprüft:

Jahr: 1970..2106 - dieser Bereich bezieht sich auf den maximal darstellbaren Jahres-Zeitbereich im TwinCAT-System

Monat: 1..12

Monatstag: 1..28/29/30/31, je nach Monat und Schaltjahr - beides wird ermittelt und berücksichtigt

Stunde: 0..23

Minute: 0..59

Sekunde: 0..59

Millisekunde: 0..999

Voraussetzungen

Entwicklungsumgebung

Zielsystem

erforderliche Bibliothek

erforderliches Supplement

TwinCAT 2.11 R3/x64

PC/CX

TcBA-Bibliothek ab V1.0.0

TS8040 | TwinCAT Building Automation ab V1.0.0