FB_EcDcTimeCtrl

FB_EcDcTimeCtrl 1:

FB_EcDcTimeCtrl 2:

Veraltete Funktion

Diese Funktion ist veraltet. Verwenden Sie stattdessen den Funktionsbaustein FB_EcDcTimeCtrl64.

Mit diesem Funktionsbaustein können die einzelnen Komponenten wie Jahr, Monat, Tag usw. einer 64-Bit-„Distributed Clock System Time“-Variablen vom Typ T_DCTIME gelesen werden. Der Funktionsbaustein besitzt mehrere A_GetXYZ-Aktionen. Nach dem Aufruf der gewünschten Aktion steht der Wert der XYZ-Komponente in der get-Ausgangsvariablen zur Verfügung. Die put-Eingangsvariable wird zurzeit nicht benutzt.

Der Funktionsbaustein besitzt zurzeit folgende Aktionen:

FB_EcDcTimeCtrl 3: Eingänge

VAR_INPUT
    put : WORD;
END_VAR

Name

Typ

Beschreibung

put

WORD

Eingangsparameter (zurzeit nicht benutzt)

FB_EcDcTimeCtrl 4: Ein/-Ausgänge

VAR_IN_OUT
    in : T_DCTIME;
END_VAR

Name

Typ

Beschreibung

in

T_DCTIME

TwinCAT „Distributed Clock System Time”-Variable

FB_EcDcTimeCtrl 5: Ausgänge

VAR_OUTPUT
    bError : BOOL;
    get    : WORD;
END_VAR

Name

Typ

Beschreibung

bError

BOOL

Dieser Ausgang wird gesetzt, wenn ein Fehler beim Aktionsaufruf aufgetreten ist.

get

WORD

Ausgangsparameter ( Jahr, Monat, Tag usw.)

Beispiel für eine Implementierung in ST:

PROGRAM P_TEST
VAR
    dcStruct   : DCTIMESTRUCT;
    dcTime     : T_DCTIME;
    fbCtrl     : FB_EcDcTimeCtrl;

    wYear      : WORD;
    wMonth     : WORD;
    wDay       : WORD;
    wDayOfWeek : WORD;
    wHour      : WORD;
    wMinute    : WORD;
    wSecond    : WORD;
    wMilli     : WORD;
    wMicro     : WORD;
    wNano      : WORD;
END_VAR

dcTime := F_GetCurDcTickTime();

fbCtrl.A_GetYear( in := dcTime, get => wYear );
fbCtrl.A_GetMonth( in := dcTime, get => wMonth );
fbCtrl.A_GetDay( in := dcTime, get => wDay );
fbCtrl.A_GetDayOfWeek( in := dcTime, get => wDayOfWeek );
fbCtrl.A_GetHour( in := dcTime, get => wHour );
fbCtrl.A_GetMinute( in := dcTime, get => wMinute );
fbCtrl.A_GetSecond( in := dcTime, get => wSecond );
fbCtrl.A_GetMilli( in := dcTime, get => wMilli );
fbCtrl.A_GetMicro( in := dcTime, get => wMicro );
fbCtrl.A_GetNano( in := dcTime, get => wNano );

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS- Bibliotheken

TwinCAT v3.1.0

PC oder CX (x86, x64, Arm®)

Tc2_EtherCAT