blob: 5bead4256b8e453779814a095df8b18082456cf9 (
plain) (
tree)
|
|
(* @NESTEDCOMMENTS := 'Yes' *)
(* @PATH := '\/TEMP' *)
(* @OBJECTFLAGS := '0, 8' *)
(* @SYMFILEFLAGS := '2048' *)
FUNCTION_BLOCK FB_DI
VAR_INPUT
E_INPUT AT%I* : BOOL;
UEboDisable : BOOL;
UEboResetFlankenZaehler: BOOL;
UEtEntprellZeit: TIME := t#50ms;
UEboProtokolle : BOOL;
UEsName: STRING := 'unbenannt';
END_VAR
VAR_OUTPUT
UAboInputPosFlanke: BOOL;
UAboInputEntprellt: BOOL;
UAboInput: BOOL;
UAboInputNegFlanke: BOOL;
END_VAR
VAR
pfInput: R_TRIG;
dwPosFlanken: DWORD;
tonInput: TON;
nfInput: F_TRIG;
dwNegFlanken: DWORD;
sTemp: STRING;
END_VAR
(* @END_DECLARATION := '0' *)
(* Digital Input FB *)
pfInput(clk:=E_INPUT AND NOT UEboDisable);
nfInput(clk:=E_INPUT AND NOT UEboDisable);
IF pfInput.Q THEN
dwPosFlanken := dwPosFlanken + 1;
(* IF UEboProtokolle THEN
fProtokoll(1, CONCAT('pfInput: ', UEsName), 0);
END_IF*)
END_IF
IF nfInput.Q THEN
dwNegFlanken := dwNegFlanken + 1;
(* IF UEboProtokolle THEN
fProtokoll(1, CONCAT('nfInput: ', UEsName), 0);
END_IF*)
END_IF
IF UEboResetFlankenZaehler THEN
UEboResetFlankenZaehler := FALSE;
dwPosFlanken := 0;
dwNegFlanken := 0;
END_IF
(************************************)
tonInput(in:=E_INPUT AND NOT UEboDisable, pt:=UEtEntprellZeit);
(************************************)
UAboInput := E_INPUT AND NOT UEboDisable;
UAboInputPosFlanke := pfInput.Q;
UAboInputNegFlanke := nfInput.Q;
UAboInputEntprellt := tonInput.Q;
END_FUNCTION_BLOCK
|
in each repos: see "about"-tab (if existing) for more details / README.
dark theme is a modded version of: https://gist.github.com/Yoplitein/f4b671a2ec70c9e743fa