FUNCTION_Block FB200
VAR
Systemzeit_1 : DINT;
Systemzeit_2 : DINT;
[COLOR=#ff0000]HM_Takt_Ende :BOOL;[/COLOR]
END_VAR
VAR_INPUT
Zaehler :INT;
END_VAR
IF "SPS Daten".Takt.Takt_Start THEN;
Systemzeit_1 := TIME_TO_DINT(TIME_TCK()); //Systemzeit_1 einlesen
END_IF;
IF "SPS Daten".Takt.Takt_Ende THEN;
Systemzeit_2 := TIME_TO_DINT(TIME_TCK()); //Systemzeit_2 einlesen
END_IF;
IF (Systemzeit_2 > Systemzeit_1) AND NOT "SPS Daten".Takt.Takt_Start AND "SPS Daten".Takt.Takt_Ende AND [COLOR=#ff0000]NOT HM_Takt_Ende[/COLOR] THEN;
"SPS Daten".Takt.Takt[Zaehler] := Systemzeit_2 - Systemzeit_1;
END_IF;
[COLOR=#ff0000]HM_Takt_Ende [/COLOR][COLOR=#000000]:= "SPS Daten".Takt.Takt_Ende; [/COLOR]
END_FUNCTION_Block