Rolladen im 1-taster-Betrieb

Begonnen von p-wedel, 21. Juli 2015, 02:50:21

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

p-wedel

Hallo, ich bin neu hier und auch allgemein mit Programmieren noch recht jung, ich habe zwar schon einige Sachen zum laufen bekommen doch jetzt stehe ich irgendwie vor einem Fragezeichen... Meine Problematik ist folgende und auch sehr ähnlich wie schon vorhin beschrieben wurde... Ich möchte rolladen im ganzen Haus jeweils immer nur mit einem 1fach Taster fahren (hoch-stop-runter-stop), desweiteren will ich mit meiner Visualisierungen aber bei jedem rolladen die Möglichkeit haben entweder rauf oder runter zu fahren. Wenn ich mit der Visu aber eingegriffen habe soll mein Taster aber nicht da weiter machen wo er aufgehört hat sondern mit dem aktuellen Status der rolladen... Wer möchte mir dabei behilflich sein? Ich wäre sehr dankbar für jede Hilfe...
Gruß P. Wedel

Teraben

Hallo.
Bin genau an dem gleichen Problem dran. Habe auch alles auf 1-Taster Betrieb. Verwende dazu den Baustein Blind_Input. Funktioniert auch prima, nur wenn ich wie du über ne Visu oder ähnliches die Ausgänge für die Rolladen schalte und somit den Blind_Input Baustein umgehe weiß der natürlich nicht mehr ob die letze Bewegung des Rolladen auf oder ab war. Habe bereits versucht die Signale der Visu auf die S1 und S2 Eingänge von Blind_Input Baustein zu legen und in dem Moment wenn diese kommen den Single_Switch Mode von Blind_Input zu deaktivieren, funktioniert aber leider nicht. Der Baustein merkt sich da auch nicht die zu letzt gefahrene Richtung, das wäre ja genau das was wir bräuchten.

jens

Hallo Zusammen,

die Visu Signale an die Eingänge von S1 und S2 zu bringen geht schon in die richtige Richtung. Blind Input merkt sich die letzte Fahrtrichtung bzw. belegt die interne Variable dir für die nächste Fahrt vor.
Allerdings braucht der Baustein Blind_Input eine Modifikation.

Ich habe einen separaten Eingang für Single Taster S0 hinzugefügt,  wie S1 oder S2 entprellt und Zeile 7 bzw 8 des Codes entsprechend modifiziert:

Vor der Änderung:

(* inputs S1 and S2 are debounced and then decoded for multiple clicks *)
s1e(in := S1, pt := DEBOUNCE_TIME);
s2e(in := S2, pt := DEBOUNCE_TIME);
s1d(in := (s1e.Q AND NOT SINGLE_SWITCH) OR (s1e.Q AND SINGLE_SWITCH AND dir), t_long := CLICK_TIME);
s2d(in := (s2e.Q AND NOT SINGLE_SWITCH) OR (s1e.Q AND SINGLE_SWITCH AND NOT dir), t_long := CLICK_TIME);


Nach der Änderung:

(* inputs S0, S1 and S2 are debounced and then decoded for multiple clicks *)
s0e(in := S0, pt := DEBOUNCE_TIME);
s1e(in := S1, pt := DEBOUNCE_TIME);
s2e(in := S2, pt := DEBOUNCE_TIME);
s1d(in := (s1e.Q) OR (s0e.Q AND dir), t_long := CLICK_TIME);
s2d(in := (s2e.Q) OR (s0e.Q AND NOT dir), t_long := CLICK_TIME);

in Zeile 30 und 41 würde ich das dir:= NOT dir; abändern und Hart auf True oder False setzen.
Also Zeile 30 dir:= False; und Zeile 41 dir:= True;.

Müsste aber auch so funktionieren.

Die Setup Variable Single_Switch wird dann nicht mehr benötigt.

Gruß Jens