summaryrefslogtreecommitdiff
path: root/exp/FB_DI.EXP
diff options
context:
space:
mode:
Diffstat (limited to 'exp/FB_DI.EXP')
-rw-r--r--exp/FB_DI.EXP68
1 files changed, 68 insertions, 0 deletions
diff --git a/exp/FB_DI.EXP b/exp/FB_DI.EXP
new file mode 100644
index 0000000..5bead42
--- /dev/null
+++ b/exp/FB_DI.EXP
@@ -0,0 +1,68 @@
+
+(* @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.
mailto contact at omeckman dot net
all timestamps in UTC (German winter time: UTC+01:00, summer time: UTC+02:00)
dark theme is a modded version of: https://gist.github.com/Yoplitein/f4b671a2ec70c9e743fa