FB_BA_ExternalSysTime

Das Template liest in regelmäßigen Zeitabständen die NT-Systemzeit eines externen TwinCAT System aus.
Wenn das Auslesen erfolgreich war, dann wird die externe Systemzeit auf die lokale NT-Systemzeit des TwinCAT Systems und die lokale BACnet-Systemzeit des TwinCAT Systems geschrieben.
In regelmäßigen Zeitabständen werden die beiden lokalen Systemzeiten ausgelesen und in der SPS auf lokale und globale Variablen abgebildet.
Blockschaltbild

Syntax
FUNCTION_BLOCK FB_BA_ExternalSysTime
VAR_INPUT CONSTANT PERSISTET
sExternalAmsNetId : T_AmsNetId := '';
{attribute 'parameterUnit':= 's'}
GetExtSysTime_nTiAuto : UDINT := 600;
{attribute 'parameterUnit':= 's'}
GetLocalSysTime_nTiAuto : UDINT := 60;
END_VAR
VAR_INPUT CONSTANT
GetExtSysTime : FB_BA_GetTime;
SetSysTimeLocal : FB_BA_SetTime;
SetBACnetAdapterTime : FB_BACnet_SetAdapterTime;
GetLocalSysTime : FB_BA_GetTime;
GetBACnetAdapterTime : FB_BACnet_GetAdapterTime;
END_VAR
VAR
GetExtSysTime_bSync : BOOL;
GetExtSysTime_rtrigSync : R_TRIG;
GetBACnetAdapterTime_wYear : WORD;
GetBACnetAdapterTime_wMonth : WORD;
GetBACnetAdapterTime_wDayOfWeek : WORD;
GetBACnetAdapterTime_wDay : WORD;
GetBACnetAdapterTime_wHour : WORD;
GetBACnetAdapterTime_wMinute : WORD;
GetBACnetAdapterTime_wSecond : WORD;
GetBACnetAdapterTime_wMilliseconds : WORD;
END_VAR
Eingänge CONSTANT PERSISTENT
Name | Typ | Beschreibung |
---|---|---|
sExternalAmsNetId | T_AmsNetId | Hier wird die AmsNetId des TwinCAT-Rechners angegeben dessen NT-Systemzeit ausgelesen werden soll. |
GetBACnetAdapterTime_nTiAuto | UDINT | Anhand dieser Zeitangabe wird die lokale BACnet-Systemzeit des TwinCAT Systems regelmäßig ermittelt. |
GetLocalSysTime_nTiAuto | UDINT | Anhand dieser Zeitangabe wird die lokale NT-Systemzeit des TwinCAT Systems regelmäßig ermittelt. |
Eingänge CONSTANT
Name | Typ | Beschreibung |
---|---|---|
GetExtSysTime | Der Funktionsbaustein GetExtSysTime ermittelt die externe NT-Systemzeit eines TwinCAT Systems. | |
SetSysTimeLocal | Die lokal, ermittelte BACnet-Systemzeit (GetBACnetAdapterTime) wird mit dem Funktionsbaustein SetSysTimeLocal auf die lokale NT-Systemzeit des TwinCAT-Systems geschrieben. | |
SetBACnetAdapterTime | FB_BACnet_SetAdapterTime | Der Funktionsbaustein SetBACnetAdapterTime kann sowohl die lokale BACnet-Systemzeit eines TwinCAT-Systems (SetBACnetAdapterTime.bTrigSyncLocal) wie auch durch Auslösen eines Broadcast-Befehls (SetBACnetAdapterTime.bTrigSyncBroadcast) sämtliche BACnet-Systemzeiten eines Netzes setzen. Wichtige Parameter sind unten erlätert. |
GetLocalSysTime | Der Funktionsbaustein GetLocalSysTime ermittelt die lokale NT-Systemzeit des TwinCAT-Systems. Die ermittelte Zeit wird an die globale Variablenlisten SysTime übertragen. | |
GetBACnetAdapterTime | FB_BACnet_GetAdapterTime | Der Funktionsbaustein "GetBACnetAdapterTime" ermittelt die lokale BACnet-Systemzeit. Wichtige Parameter sind unten erläutert. |
VAR
Name | Typ | Beschreibung |
---|---|---|
GetExtSysTime_bSync | BOOL | Die Variable löst das Schreiben der externen Systemzeit auf die lokale NT-Systemzeit des TwinCAT Systems und die lokale BACnet-Systemzeit des TwinCAT Systems aus. |
GetExtSysTime_rtrigSync | R_TRIG | Der Funktionsbaustein erzeugt nach dem erfolgreichen Auslesen der externen Systemzeit GetExtSysTime eine steigende Flanke und gibt diese an GetExtSysTime_bSync weiter. |
GetBACnetAdapterTime_wYear | WORD | Jahresangabe der BACnet-Systemzeit. |
GetBACnetAdapterTime_wMonth | WORD | Monatsangabe der BACnet-Systemzeit. |
GetBACnetAdapterTime_wDayOfWeek | WORD | Angabe des Wochentages der BACnet-Systemzeit. |
GetBACnetAdapterTime_wDay | WORD | Angabe des Tages im Monat der BACnet-Systemzeit. |
GetBACnetAdapterTime_wHour | WORD | Stundenangabe der BACnet-Systemzeit. |
GetBACnetAdapterTime_wMinute | WORD | Minutenangabe der BACnet-Systemzeit. |
GetBACnetAdapterTime_wSecond | WORD | Sekundenangabe der BACnet-Systemzeit. |
GetBACnetAdapterTime_wMilliseconds | WORD | Millisekundenangabe der BACnet-Systemzeit. |
Parameter of SetBACnetAdapterTime
Diese Parameter dienen zur Konfiguration der Zeitsynchronisation.
Name | Typ | Beschreibung |
---|---|---|
SetBACnetAdapterTime.bTrigSyncLocal | BOOL | Bei einer steigenden Flanke an diesem Eingang wird der Inhalt der Struktur SetBACnetAdapterTime.stDateTime auf die lokale BACnet-Systemzeit des TwinCAT-Systems geschrieben. |
SetBACnetAdapterTime.bTrigSyncBroadcast | BOOL | Bei einer steigenden Flanke an diesem Eingang wird der Inhalt der Struktur SetBACnetAdapterTime.stDateTime auf sämtliche BACnet-Systemzeiten eines Netzes wie auch die lokale BACnet-Systemzeit des TwinCAT-Systems geschrieben. |
SetBACnetAdapterTime.stDateTime | Zeitangabe, die auf die lokale BACnet-Systemzeit geschrieben wird. | |
SetBACnetAdapterTime.fbAdapter | fbAdapter | Der Funktionsbaustein fbAdapter repräsentiert ein BACnet Device. Dieses ist vorinitialisiert auf das lokale BACnet Device des TwinCAT Systems unter Geräte. |
SetBACnetAdapterTime.bSuccess | BOOL | Die Systemzeit wurde erfolgreich aus dem Zielsystem gelesen. Die Variable ist für einen Zyklus TRUE. |
SetBACnetAdapterTime.bError | BOOL | Fehler beim Auslesen der BACnet-Systemzeit. |
Parameter of GetBACnetAdapterTime
Diese Parameter dienen zur Konfiguration der Zeitsynchronisation.
Name | Typ | Beschreibung |
---|---|---|
GetBACnetAdapterTime.bTrig | BOOL | Bei einer steigenden Flanke an diesem Eingang wird die lokale BACnet-Systemzeit eines TwinCAT-Systems ermittelt. |
GetBACnetAdapterTime.nTiAuto | UDINT | Anhand dieser Zeitangabe aus dem Parameter Menü wird die lokale BACnet-Systemzeit eines TwinCAT-Systems regelmäßig automatisch ermittelt. Die Zeitangabe muss größer gleich 500ms sein. Der Default Wert beträgt 1800s. |
GetBACnetAdapterTime.fbAdapter | fbAdapter | Der Funktionsbaustein fbAdapter repräsentiert ein BACnet Device. Dieses ist vorinitialisiert auf das lokale BACnet Device des TwinCAT Systems unter Geräte. |
GetBACnetAdapterTime.bSuccess | BOOL | Die Systemzeit wurde erfolgreich aus dem Zielsystem gelesen. Die Variable ist für einen Zyklus TRUE. |
GetBACnetAdapterTime.stDateTime | Aktuelle BACnet-Systemzeit eines TwinCAT-Systems. | |
GetBACnetAdapterTime.stTimeStruct | Aktuelle BACnet-Systemzeit eines TwinCAT-Systems. | |
GetBACnetAdapterTime.bError | BOOL | Fehler beim Auslesen der BACnet-Systemzeit. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche Function |
---|---|
TwinCAT ab v3.1.4024.35 | TF8040 | TwinCAT Building Automation ab V5.0.0.0 |