Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Nachrichten - charlie85

Seiten: [1]
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
Bestehende Module / Existing Modules / CLICK und "summende Relais"
« am: 22. Januar 2018, 22:47:59 »
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!


Seiten: [1]