FB_EcDcTimeCtrl64

FB_EcDcTimeCtrl64 1:

Mit diesem Funktionsbaustein können die einzelnen Komponenten wie Jahr, Monat, Tag usw. einer 64-Bit-„Distributed Clock System Time“-Variable vom Typ T_DCTIME64 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- Eingangsvariabel wird zurzeit nicht benutzt.

Der Funktionsbaustein besitzt folgende Aktionen:

FB_EcDcTimeCtrl64 2: Eingänge

VAR_IN_OUT
    put : WORD;
END_VAR

Name

Typ

Beschreibung

put

WORD

Eingangsparameter (zurzeit nicht benutzt)

FB_EcDcTimeCtrl64 3: Ein-/Ausgänge

VAR_IN_OUT
    in : T_DCTIME64;
END_VAR

Name

Typ

Beschreibung

in

T_DCTIME64

Die zu konvertierende „Distributed Clock System Time”-Variable

FB_EcDcTimeCtrl64 4: Ausgänge

VAR_IN_OUT
    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_DCTIME64;
    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_GetCurDcTickTime64();
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