Anfängerfrage Rollladen

Begonnen von Nate, 30. März 2016, 23:08:56

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Nate

Hallo erstmal,

bin neu hier und bin aktuell dabei meine Haussteuerung 750-880 inbetrieb zu nehmen.
Hab zwar jahrelange Erfahrung mit dem Programmieren, aber leider nur im Hause A-B (die war aber zu teuer für eine Haussteuerung, darum nun Wago mit Codesys).

Als erstes mal ein großes Lob für eure .libs.  :D

Nun zu meiner Frage (bitte aber nicht gleich steinigen, ich suche schon seit 2 Tagen nach der Lösung).
Ich habe im gesamten Haus elektrische Rollläden wo ich über Taster (Eingänge in die SPS) hoch und runter fahren lassen möchte.
Nach den SPS Ausgängen hängen Relais (keine Stromstoß).
Funktion soll so sein, das beim einmaligen tasten (nach unten) der Rollladen nach unten fährt (eine gewisse Zeit (was der Rollladen benötigt um vollständig unten zu sein). Wenn nun der Rollladen runterfährt und ich nun hoch oder runter taste soll der Rollladen stehen bleiben. Wenn man nun den runter Taster länger wie x Sekunden gedrückt hält, fährt er sozusagen in Manual Modus so lange, bis ich loslasse (beim hochfahren genau das selbe).

Ihr werdet euch wahrscheinlich kaputt lachen über mein Anliegen. Ich hab mir schon die Blind Bausteine angeschaut, steig aber nicht so wirklich durch. Mit dem Blind_Actuator kann ich wenigstens nun meine Rollläden hoch und runterfahren (mit Sicherung gegenseitig und zwischen Pause).

Könnt ihr mir das evtl. Bildlich darstellen?

Taster Hoch => DI1
Taster Runter => DI2
Relais Hoch => DO1
Relais Runter => DO2
Zeit um Komplett von oben nach unten zu fahren => 23Sekunden
Zeit um Komplett von unten nach oben zu fahren => 25Sekunden
(bei der Zeit ist das eher unkritisch, da meine Rollladenmotoren Endablageschalter besitzen)

Sry... ich kapiers iwi nicht...

Danke schon mal im Voraus.

Nate

So,
ich bin schon selbst nun ein bisschen näher gekommen durch Hilfe eines Kollegen.

Man muss für die Ansteuerung einen neuen Funktionsblock Schreiben (Name: Rollladen) in CFC. Das sieht dann bei mir so aus:



Danach im Funktionsblock (FUP) Rolladen_UG den neuen Baustein eingefügt:



Nun die ganze Sache getestet. Ergebnis ist, dass wenn ich nach oben drücke die Position zwar mit der Angegebenen Zeit (0-255) passt (Im Baustein Rollladen geschaut), trotzdem aber komischerweise der Ausgang DO2 sehr lange anbleibt (geschätzte 30Sekunden).

Wenn ich nun aber eine 1 am Eingang Auto Rollladen eingebe (zum testen) und dann wieder nach oben oder unten drücke, hat nun die angegebene Zeit (23 und 25 Sekunden) Einfluss auf den Ausgang, ABER ich kann den Rollladen dann bei nochmaligen drücken nicht mehr stoppen.

Hat jemand ne Lösung für mich? Was mache ich falsch?

Danke schon mal im Voraus.



Nate

Weiter im Text:

"Da die
Laufzeit der Motoren variieren kann wird bei erreichen einer Endposition
(oben oder unten) der entsprechende Motor zusätzlich um die Zeit T_EXT
angesteuert um sicherzustellen das die Endposition sicher erreicht wird,
was für eine fortlaufende Kalibrierung der Anlage sorgt."

Diese Zeit kann man anpassen im Bausteinprogramm Rollladen per doppelklich auf Blind_Control_S.
Hier kann ich Werte eingeben. Welches Format müssen diese haben?

T_EXT    10
oder
T_EXT    t#10s

:-)

So langsam aber sicher wirds....

mattsches

Schätze, Du hast es selbst herausgefunden (z. B. in der Doku nachgelesen?). Dennoch zur Vervollständigung: Der Datentyp von T_EXT ist TIME, also musst Du t#10s übergeben.

Nate

Hallo zusammen,
sry.. das ich nerve, bekomme es aber nicht hin....

Problem ist, das ich die Pause zwischen Hoch und runterfahren nicht hin bekomme, sowie die maximale Laufzeit pro Rollladen.
In meinem PLC PRG sieht es so aus:



Die Einstellungen für Blind Input und Blind Control S sind im Anhang,
Sowie der Rollladen FB und z.B. wie ich es verwendet habe im UG die Rollladensteuerung an sich.

Bei meinen Somy Motoren ist es ganz wichtig eine Pause zwischen hoch und runter fahren zu bekommen, da sie sonst (wie schon 2 mal passier) den Endanschlag verlieren.
Die Pause möchte ich gerne auf 2 Sekunden einstellen.

Wo habe ich den Fehler, das die Maximale hochfahr/runterfahr Zeit und die Pause dazwischen nicht funktionieren pro Rollladen (z.B. im UG).
Die 10 Sekunden habe ich testweise eingestellt, funktioniert aber nicht.
Genauso in den Einstellungen von Blind Control S mit den 2 Sekunden Wartezeit für die Drehrichtungsänderung.

Ich hoffe ihr könnt mir helfen, habe schon sehr viel gelesen, bekomme es aber einfach nicht hin.  :'(

Danke euch schon mal.

Grüße

[gelöscht durch Administrator]

Omalik

es steht alles in der Doku ...

BLIND_ACTUATOR ist ein Jalousie / Rollladen Aktor mit Simulation.....

Mit der Zeit T_LOCKOUT wird die minimale Pause zwischen einem Richtungswechsel festgelegt.

Ist per Default auf 100 ms gesetzt. Das kannst du deine 2 Sekunden eintragen.




Gruss

Nate

Am anfang hatte ich den Blind_Actuator im Einsatz.
Da man aber durch kurzes Tastendrücken den Rollladen ganz hoch bzw. ganz runter fahren lassen soll, ist dieser leider nicht geeignet.
Darum der Blind_Control_S

Dieser hat auch das T_Lockout, dieser wurde ja auch festgelegt, funktioniert aber nicht (siehe Bilder).......

Grüße

mattsches

Was genau funktioniert denn nicht? Du hast zwar Screenshots gepostet, sagst aber nichts darüber, wie das Verhalten des Rolladens damit nun ist (vs. dem, was Du haben willst).

Also:

1. Was machst Du (Taste lang drücken, kurz drücken, ...)?
2. Was passiert dann?
3. Was hast Du mit den 10 Sekunden im Sinn? In Deinem Eingangspost steht was von 23 bzw. 25 Sekunden für Schließen und Öffnen.

Ich habe mir den BLIND_CONTROL_S gerade offline angeschaut. Soweit ich das erkenne, kommt T_LOCKOUT darin beim Handbetrieb tatsächlich nicht zum Tragen. Soll heißen, der Richtungswechsel wird hier nicht verriegelt. Probiere es mal mit dem BLIND_CONTROL - der nutzt intern den BLIND_ACTUATOR. Damit sollte die Verriegelung tun.

BLIND_CONTROL_S ist wohl die ältere Variante und wurde beim Erstellen des BLIND_CONTROL wohl nicht überarbeitet. Reine Vermutung meinerseits.

Gruß,
mattsches

P. S. Wer's nicht glaubt, Auszug aus BLIND_CONTROL_S:

(* check inputs and start state machine *)
IF UP  AND NOT DN THEN
(*  manual UP *)
rmp.IN := 255;
STATUS := 121;
ELSIF DN AND NOT UP THEN
(* manual DN *)
rmp.IN := 0;
STATUS := 122;
ELSIF NOT (UP OR DN) THEN
(* manual standby mode *)
rmp.IN := PI;
STATUS := S_IN;
END_IF;



121: (* manual up *)
MU := TRUE;
MD := FALSE;
IF POS >= (BYTE#255 - EXT_TRIG) THEN
(* extend cycle if top is reached *)
POS := 255;
last := tx;
STATUS := 129; (* extend *)
END_IF;

122: (* manual down *)
MD := TRUE;
MU := FALSE;
IF POS <= EXT_TRIG THEN
(* extend cycle if bottom is reached *)
POS := 0;
last := tx;
STATUS := 129; (* extend *)
END_IF;

Nate

Hallo,

ich möchte folgendes realisieren:

Rollladen mit Hoch Taster (kurzer Tastendruck) Automatisch eine definierte Zeit hoch fahren
Rollladen mit Runter Taster (kurzer Tastendruck) Automatisch eine definierte Zeit runter fahren
Länger auf einem Taster bleiben, fährt der Motor in die jeweilige Richtung bis man wieder los lässt.

Wichtig ist, das die Umschaltung zwischen hoch und runter z.B. 1Sekunde beträgt (oder 2Sekunden), dies gillt für alle
Rollladen. Egal ob ich nur kurz auf einen taster drücke, oder länger drauf bleibe, diese Richtungsumker Zeit muss eingehalten werden.

Die definierte Zeit für das Automatische fahren, ist variabel einzustellen für jeden einzelnen Rollladen.
Bezwecken möchte ich, das ich irgendwann mal mit einer Visualisierung oder evtl. Aussenfühler z.B. auf die hälfte runter fahre (wenn er oben ist), automatisch. Durch die Definierte Zeit läuft ja der Zähler. Und durch den Zähler hat man wiederrum weitere funktionen um automatisch hoch oder runterfahren zu lassen auf eine andere bestimmte Zähler Position.

Dafür ist ja der BLIND_CONTROL_S genau der richtige Baustein.

Habe nun mein Programm umgeschrieben auf den BLIND_CONTROL (wo ja die definierte Zeit leider nicht hat).
Hier funktioniert die eingestellte Zeit für den Richtungswechsel super, egal ob "Auto" oder "Manuell".

Nate

Was ich noch vergessen habe,
bei einem Neustart der Software gibt es einen kurzen impuls an den Ausgängen.

Hab mir die Anleitungen einigemale durchgelesen, komme aber nicht darauf, wie ich das abschalten kann.
Normalerweise ist das die Sicherheitsschaltung, wo nach einem Stromausfall alle Rollladenmotoren nach oben fahren lässt.
Dies möchte ich aber komplett unterbinden (auch nicht hoch und danach runter).

Ist in der vorherigen Programmierung schon mal vorgekommen, nachts um 3Uhr Stromausfall.
Danach sind auf einmal alle Rollläden hochgefahren (auch im Schalfzimmer) und das ganze Haus war wach.
War leider nicht so gut :-)

Grüße

almot89

Ich habe für den fall eines Stromausfalls, eine kleine USV dran..... Diese hält 2h bei Stromausfall.... bis jetzt hat es immer gereicht