FB_HVACSetLocalTime

FB_HVACSetLocalTime 1:

Mit dem Funktionsbaustein FB_HVACSetLocalTime kann die lokale NT-Systemzeit und das Datum eines TwinCAT-Systems gesetzt werden (die lokale NT-Systemzeit wird in der Taskleiste eingeblendet). Die Systemzeit kann entweder über die einzelnen Variablen uiYear, uiMonth, uiDay, uiHour, uiMinute und uiSecond oder der Struktur stSystemtime vorgegeben werden, siehe bEnableStruct.
Intern wird in dem Funktionsbaustein eine Instanz des Funktionsbausteins NT_SetLocalTime aus der Tc2_Utilities-Bibliothek aufgerufen.

FB_HVACSetLocalTime 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 > Industrie-PC > Betriebssysteme > CE > SNTP: Simple Network Time Protocol

FB_HVACSetLocalTime 3:

VAR_INPUT

sNetId          : T_AmsNetId;
bSetLocalTime   : BOOL;
uiYear          : UINT;
uiMonth         : UINT;
uiDay           : UINT;
uiHour          : UINT;
uiMinute        : UINT;
uiSecond        : UINT;
bEnableStruct   : BOOL;
stSystemtime    : TIMESTRUCT;
tTimeout        : TIME;

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.

bSetLocalTime: Aktivierung des Funktionsbausteins mit einer steigenden Flanke.

uiYear: Das Jahr: 1970 ~ 2106; die Variable ist aktiv, wenn bEnableStruct = FALSE ist. Bei falscher Angabe wird bInvalidParameter = TRUE und die neue lokale NT-Systemzeit wurde nicht gesetzt.

uiMonth: Der Monat: 1 ~ 12 (Januar = 1, Februar = 2 usw.); die Variable ist aktiv, wenn bEnableStruct = FALSE ist. Bei falscher Angabe wird bInvalidParameter = TRUE und die neue lokale NT-Systemzeit wurde nicht gesetzt.

uiDay: Tag des Monats: 1 ~ 31; Februar mit 28 oder 29 Tagen sowie die Monate mit 30 oder 31 Tagen werden überprüft. Die Variable ist aktiv, wenn bEnableStruct = FALSE ist. Bei falscher Angabe wird bInvalidParameter = TRUE und die neue lokale NT-Systemzeit wurde nicht gesetzt.

uiHour: Stunde: 0 ~ 23; die Variable ist aktiv, wenn bEnableStruct = FALSE ist. Bei falscher Angabe wird bInvalidParameter = TRUE und die neue lokale NT-Systemzeit wurde nicht gesetzt.

uiMinute: Minute: 0 ~ 59; die Variable ist aktiv, wenn bEnableStruct = FALSE ist. Bei falscher Angabe wird bInvalidParameter = TRUE und die neue lokale NT-Systemzeit wurde nicht gesetzt.

uiSecond: Sekunde: 0 ~ 59; die Variable ist aktiv, wenn bEnableStruct = FALSE ist. Bei falscher Angabe wird bInvalidParameter = TRUE und die neue lokale NT-Systemzeit wurde nicht gesetzt.

bEnableStruct: Wenn bEnableStruct = TRUE ist, so wird die neue lokale NT-Systemzeit über die Eingangsvariable stSystemtime gesetzt. Ist bEnableStruct = FALSE, so wird die neue lokale NT-Systemzeit über die Eingangsvariablen uiYear, uiMonth, uiDay, uiHour, uiMinute und uiSecond gesetzt.

stSystemtime: Struktur mit der neuen lokalen NT-Systemzeit. Die Struktur ist aktiv, wenn bEnableStruct = TRUE ist. Für die Struktur gelten dieselben Bereiche (Range) wie für die Eingangsvariablen uiYear, uiMonth, uiDay, uiHour, uiMinute und uiSecond. Bei falscher Angabe wird bInvalidParameter = TRUE und die neue lokale NT-Systemzeit wurde nicht gesetzt.

tTimeout: Gibt die Timeout-Zeit 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 Funktionsbausteins über die Eingangsvariable bSetLocalTime zurückgesetzt.

udiErrorId: Liefert bei einem gesetzten bError die ADS-Errorcode (siehe ADS Return Codes)

bInvalidParameter: bInvalidParameter ist TRUE, wenn die Bereiche (Range) der Variablen für die Uhrzeit und des Datums nicht eingehalten wurden: uiYear, uiMonth, uiDay, uiHour, uiMinute und uiSecond. Für die Zeitstruktur stSystemtime gelten dieselben Bereiche (Range) wie für die Eingangsvariablen. Ist bInvalidParameter = TRUE, so wurde die neue lokale NT-Systemzeit nicht gesetzt. bInvalidParameter wird mit der Aktivierung des Funktionsbausteins über die Eingangsvariable bSetLocalTime zurückgesetzt.

Voraussetzungen

Entwicklungsumgebung

erforderliche Bibliothek

Erforderliche Function

TwinCAT 3.1 ab Build 4022.16

Tc2_HVAC V3.3.1.0

TF8000 | TC3 HVAC V1.0.0.0