-Menü

Beiträge anzeigen

Dieser Abschnitt erlaubt es Ihnen, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachten Sie, dass Sie nur Beiträge sehen können, die in Teilen des Forums geschrieben wurden, auf die Sie aktuell Zugriff haben.

Beiträge anzeigen-Menü

Beiträge - charlie85

#1
@ADS_0x1:

Danke für den Hinweis, nach längerem Suchen wäre ich vermutlich auf dem vorgeschlagenen Weg zum Problem gekommen.

@mattsches:

Vielen Dank für den wertvollen Tipp. Problem und Ursache verstanden und über den Trigger gelöst. Soeben umgesetzt und erfolgreich getestet!


Resultat: Folgender FB (BUTTON) funktioniert analog zu CLICK, reagiert aber jeweils nur auf die steigende Flanke.
Q und STATUS sind außen vor, da derzeit nicht in Verwendung.

FUNCTION_BLOCK BUTTON
VAR_INPUT
in : BOOL;
END_VAR
VAR_OUTPUT
single : BOOL;
double : BOOL;
triple : BOOL;
END_VAR
VAR
_triggerSingle : R_TRIG;
_triggerDouble : R_TRIG;
_triggerTriple : R_TRIG;
_click    : CLICK;
END_VAR



_click(IN := in);

_triggerSingle(CLK := _click.single);
_triggerDouble(CLK := _click.double);
_triggerTriple(CLK := _click.triple);

IF _triggerSingle.Q THEN single := TRUE; ELSE single := FALSE; END_IF;
IF _triggerDouble.Q THEN double := TRUE; ELSE double := FALSE; END_IF;
IF _triggerTriple.Q THEN triple := TRUE; ELSE triple := FALSE; END_IF;

(*
Version 0.1
Date 01.02.2018

Extends the oscat CLICK (FB) to be active for one single cyclus
after a rising edge to prevent toggling during button is pressed
*)
#2
Hallo,

ich bin gerade dabei die ersten Schritte der Hausautomation mit einer Beckhoff SPS zu realisieren. Die eingesetzten Taster werden anhand von CLICK ausgewertet auf SINGLE, DOUBLE und TRIPLE, in den meisten Fällen wird dann ein Relais getoggelt. Funktionier soweit prima, aber wenn ein Taster lange gedrückt wird (statt einem oder mehreren kurzen Klicks), toggelt das Relais so schnell, dass es zum "summen" anfängt. Eine ziemlich zuverlässige Methode das angeschlossene Relais und Leuchtmittel ins Jenseits zu befördern.

Was ist eine "saubere" Methode um das zu verhindern? Z.B. das Toggeln eines Relais/erneutes Auslösen des Tasters nach einer Aktion für 1-2 Sekunden zu unterbinden?


IF InButton_10_03.SINGLE THEN
OutLight_10_07 := NOT OutLight_10_07;
END_IF


Vielen Dank für Eure Tipps!