Zeiten bei den Bausteinen

Begonnen von b.b., 25. September 2011, 22:00:41

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

b.b.

bei einigen Bausteinen sind relativ hohe debounce Zeiten vorgegeben. Hat das irgendeinen Sinn dass die so hoch sind?

Wenn ich zum Beispiel "click" mit "Dimm_I" hintereinanderschalte, spricht bei einem "normalen" Tastendruck der Ausgang Q von Dimm_I gar nicht an.

Ist das ein Problem, wenn ich diese Debounce Zeiten alle auf 10ms runterdrehe?
Grüße,
Martin

Fussel0804

Hi!

Die Debounce-Time (Entprellzeit) brauchst du nur bei Physikalischen Tastern.
Denn du vor den Dimm_I einen Click schaltest, kannst du die Debounce-Time im DImm_I auf null setzen.
Denn der Click-Ausgang kann ja gar nicht Prellen, da er nur einen Zyklus oder eine bestimmte Zeit auf True ist.

Gruß Stefan

b.b.

Das wäre ja soweit klar.

jetzt habe ich aber folgende Situation:
Bei einem Lichttaster, der über "CLICK" noch andere Funktionen ausführen kann habe ich beim Ausgang Single anstelle des Light_FB der Beckhoff Lib den "SWITCH_I" angeschlossen.
Jetzt genügt aber ein kurzer Druck auf den Taster nicht mehr, sondern ich muss ihn ein paar ms halten.
Welche Zeit muss ich da jetzt ändern, damit der Switch_I auf die eine positive Flanke des CLICK reagiert?

DAnke!

Fussel0804

Hi!

Der Baustein, der einen "physikatischen Schalter" angeschlossen hat, muss entprellt werden.
jeder folgende Baustein, der aus der SPS versorgt wird benötigt das nicht.

Sprich:
CLICK:       Debounce-Time: xxx ms
SWITCH_I: Debounce-Time: 0 ms

Gruß Stefan

b.b.

nachdem das bei mir immer noch nicht geht habe ich mir mal den Switch_i angesehen und hier liegt meiner Vermutung nach das Problem:

Der Click Baustein setzt mir, wenn ich nur kurz drücke, den Ausgang Q für einen Zyklus auf High.
Der Switch_I Baustein jedoch muss für die Auswertung zweimal durchlaufen werden. Einmal zur Flankendedektion und einmal damit er feststellt, dass die debounce Zeit, weil 0, durchlaufen wurde.
Da ist aber der Eingang schon wieder null.....

Anyone?

Fussel0804

Ok.
Wie lange ist deine Zykluszeit?

Schalte einfach zwischen die beiden Bausteine TMIN.
Damit kannst du den Ausgangsimpuls des CLICK auf eine Mindestzeit verlängern.

Gruß Stefan

b.b.

Naja, das hat bedingt mit der zykluszeit zu tun, da ja beim click schon mal 10ms gewartet wird. (debounce)
Und dann muss der eingang noch so lange anstehen, bis der Switch_i zweimal durchlaufen ist. Also 10ms + 2 x Zyklus
Da werd ich mir den Switch Baustein mal genauer ansehn....man kann ja sicher den durchlauf auf einen Zyklus reduzieren, wenn der debounce Timer null ist. Schöner ists auch als mit einem Timer

b.b.

wenn bitte jemand so freundlich und mir des erklären kann:

wenn ich den Q vom CLICK oder den Taster direkt an den Switch_I hänge, dann schaltet der Switch_I schon beim kürzesten Tastendruck, so wie's sein soll.

Wenn ich jedoch den in vom Switch_I an den single hänge, dann muss ich länger draufdrücken, damit der Ausgang von Switch_I schaltet.
Wenn ich aber parallel zum Ausgang vom Click irgendeine Variable setze, dann wird die auch mit dem kurzen Druck gesetzt, der Ausgang vom Switch_I aber nicht.

Ich kann das Problem nicht finden, der Switch_I müsste, soweit ich das verstehe, auch wenn der Eingang nur einen Zyklus anstehen würde, den Ausgang einschalten. Oder übersehe ich da was?????

Die debounce time vom Switch_I ist natürlich auf t#0ms gestellt.

Fussel0804

Hi!

So, habe nun mal den Switch_I getestet.

Wenn ich an in einen Taster hänge folgt der Q dem Eingang.
Nun habe ich zwischen Taster und Switch_I eine positive Flanke gabsatelt und der SWITCH_I reagiert nicht mehr.
d.h. dem SWITCH_I reicht eine Flanke von nur einem zyklus NICHT aus.

Beim CLICK entspricht der Ausgang Q den Eingangsimpuls und somit definitiv mehr als ein Zyklus.

Gruß Stefan

b.b.

genau das wundert mich aber, da der switch_i ja mit einem zyklus auskommen sollte....
die letzt anweisung edge := in zieht den eingang für einen zweiten zyklus auf eins und sollte im zweiten durchgang den Q := NOT Q anstossen....