oscat.lib > Modulentwicklung / Module Development

CLK_PRG_2

(1/1)

Mudla:
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]

peewit:
hallo

danke für deinen beitrag
man kann das ganze noch ein wenig verkürzen ....


--- Code: ---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;

--- Ende Code ---

Mudla:
Danke für die Verbesserung, man lernt ja nie aus  ;)

Grüße
Mudla

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln