FB_EcExtSyncIsSynchronized

FB_EcExtSyncIsSynchronized 1:

Dieser Funktionsbaustein prüft, ob die interne und die externe Uhr synchron laufen (bSynchronized). Hierfür wird geprüft, ob der Abstand der Uhren über 10 Zyklen innerhalb des angegebenen Synchronisationsfensters nSyncWindow liegt. Bei ungültigen Daten (bNotConnected = TRUE) wird die Synchronisation als nicht gegeben gemeldet.

Der Funktionsbaustein ist für die Nachregelung nicht zwingend nötig, sondern kann zu informativen Zwecken verwendet werden.

VAR_INPUT

VAR_INPUT
    nSyncWindow    : UDINT;
    bNotConnected  : BOOL;
    nDcToTcOffset  : LINT;
    nDcToExtOffset : LINT;
    nExtTime       : T_DCTIME64;
    nIntTime       : T_DCTIME64;
END_VAR

nSyncWindow: Zeitfenster [ns], innerhalb dessen die interne und die externe Zeit als synchronisiert gelten

bNotConnected: TRUE, wenn die Daten ungültig sind (entspricht dem WcState der EL6692)

nDcToTcOffset: Offset zwischen der Distributed-Clock-Zeit und der TwinCAT-Zeit [ns] aus den InfoData des EtherCAT-Masters

nDcToExtOffset: Offset zwischen Distributed-Clock-Zeit und externer Zeit [ns] aus den InfoData des EtherCAT-Masters

nExtTime: externer Zeitstempel

nIntTime: interner Zeitstempel

VAR_OUTPUT

VAR_OUTPUT
    bSychronized : BOOL;
    nDcOffset    : T_DCTIME64;
END_VAR

bSynchronized: TRUE, wenn der Betrag des Abstands zwischen interner und externer Zeit über mindestens 10 Zyklen innerhalb des Synchronisationsfensters liegt

nDcOffset: Betrag des aktuellen Abstands zwischen interner und externer Zeit [ns]

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliothek (Kategoriegruppe)

TwinCAT v3.1.0

PC oder CX (x86, x64, ARM)

Tc3_EtherCATExtSync