Hallo,
ich habe beim Baustein CLK_PRG einen manuellen Auslöser hinzugefügt.
Vielleicht ist der ja auch für andere interessant
Grüße
Mudla
[gelöscht durch Administrator]
hallo
danke für deinen beitrag
man kann das ganze noch ein wenig verkürzen ....
FUNCTION_BLOCK CLK_PRG_2
VAR_INPUT
PT : TIME := t#10ms;
Man : BOOL;
END_VAR
VAR_OUTPUT
Q : BOOL;
END_VAR
VAR
init : BOOL;
last : TIME;
tx: TIME;
man_last: BOOL;
END_VAR
(* read system time *)
tx := DWORD_TO_TIME(T_PLC_MS());
(* initialize on startup *)
IF NOT init THEN
init := TRUE;
last := tx - pt;
END_IF;
(* generate output pulse when next_pulse is reached *)
Q := (tx - last >= pt) OR (Man AND NOT man_last);
IF Q THEN last := tx; END_IF;
man_last := Man;
Danke für die Verbesserung, man lernt ja nie aus ;)
Grüße
Mudla