# LOGO Tasterfunktion für Rollosteuerung



## UliProg (2 November 2016)

Ich plane, eine Steuerung auf Basis LOGO für die Hausautomatisierung aufzubauen. Es sollen Funktionen wie Rollo-, Heizung- und Lichtsteuerungen realisiert werden.
Bisher habe ich allerdings die Hardware noch nicht gekauft, sondern bin noch am Planen.

Nun ist es so, dass ich gern jedes Rollo mit jeweils zwei Tastern steuern möchte, wobei jeder Taster drei Funktionen haben sollte.
Einmal Tasten - Das Rollo setzt sich in Bewegung und läuft ca. 30 sec.
Ein weiterer Tastendruck stoppt den Rollolauf.
Wird der Taster länger als vielleicht eine halbe Sekunde gedrückt läuft das Rollo so lange, bis der Taster losgelassen wird.

Nun zu meiner Frage: 
Ist dieses mit der LOGO Steuerung realsierbar?
Gibt es ev. schon diese Funktion?

Ich habe im Forum gestöbert, bin allerdings nicht fündig geworden!?


----------



## Larry Laffer (3 November 2016)

Klar kannst du das mit einer Logo realisieren - du solltest aber berücksichtigen, dass es bei einer Logo einen Maximalausbau gibt, den du vermutlich sehr schnell erreichst mit dem, was du da genannt hast.
Also solltest du vielleicht doch über eine "richtige" SPS an dieser Stelle nachdenken.
Dazu könntest du z.B. auch die Forumssuche bemühen, die dir zum Thema "Hausautomatisierung" so einiges ausspucken wird ...

Gruß
Larry


----------



## Ragamuffin85 (6 Januar 2017)

Hallo zusammen,

die Beschreibung schaut genau nach dem aus, was ich auch vor habe. 
Ich war so frei und habe mich auch bereits an den ersten Umsetzungen versucht.
Allerdings bin ich hier auf ein Problem gestoßen, welches ich mir mit meinem Leienwissen nicht erklären kann - hoffe allerdings, dass ich hier Expertenrat bekommen kann .

Kurz zum Abholen...
Ich habe mir einen Funktionsplan(FBD) erstellt, in welchem ich all meine Rollladen ansteuere...
Die Logik der Ansteuerung selbst habe ich in ein UDP-Diagramm/Benutzerfunktion (UDF) gepackt.

Wenn ich die UDF in der Simulation teste, macht sie auch genau das, was ich von ihr erwarte
Taster1 drücken (<0,5s) Rollladen fährt 60Sekunden lang nach oben ("Automatik")
Taster1 drücken (>=0,5s) Rollladen fährt nach oben bis Taster los gelassen wird
Taster2 drücken (<0,5s) Rollladen fährt 60Sekunden lang nach unten ("Automatik")
Taster2 drücken (>=0,5s) Rollladen fährt nach unten bis Taster los gelassen wird

Ist der "Automatik"-Modus aktiv, kann die Fahrt mit einem betätigen von Taster1 ODER Taster2 angehalten werden.

Wenn ich allerdings den großen Funktionsplan, welcher die beschriebene UDF mehrfach enthält mittels Simulation Teste, zeigt sich ein anderes Verhalten.
1-2 Rollladen entsprechen dem erwarteten Verhalten, alle anderen Rollladen weisen seltsame Abweichungen auf.
Diese Abweichung betreffen den "Automatik"-Modus.
Sobald der Automatikmodus mittels Tastendruck gestoppt werden soll, wechselt sich die Fahrtrichtung des Motors.

 Anbei findet ihr Screenshots meiner Komponenten
1. UDF


2. FBD



Wäre Super, wenn mir einer von euch vielleicht den ein oder anderen Tipp geben könnte .
Besten Dank!

Viele Grüße
Patrick


----------



## Blockmove (6 Januar 2017)

Ich habe es mit einem Zähler, einer Zeit und Vergleichern realisiert.
Jeder tastendruck erhöht den Zähler.
Zählerstand 1 = Motor ab
Zählerstand 2 = Motor Stopp
Zählerstand 3 = Motor auf
Zählerstand 4 = Reset Zähler

Jeder Tastendruck zählt hoch.
Motor Ab Oder Auf starten einen Timer.
Der Timer zählt auch hoch.

Kann dir gerade keinen Screnshot schicken, da ich die Software im Büro hab.

Gruß
Blockmove


----------



## Ragamuffin85 (6 Januar 2017)

Hallo Blockmove,

erst einmal vielen Dank für die unglaublich schnelle Antwort!

Wenn ich dich richtig verstehe, setzt du die komplette Steuerung über einen Taster um?!
Ich würde gerne meinen 2-Taster Ansatz weiter verfolgen. 
Die Möglichkeit, Counter zu verwenden werde ich mir mal genauer Anschauen (Bin mit Logo und SPS nur sehr bedingt vertraut).

Nach meinem Verständnis funktioniert mein bisheriger Ansatz.
Was ich nicht verstehe ist, wieso sich die Simulationen innerhalb der UDF und des FBD unterscheiden - Die verwendete Logik ist doch bei beiden die gleiche?!

Bei Bedarf kann ich euch auch gerne mal die gepackten Komponenten zur Verfügung stellen.

Viele Grüße
Patrick


----------



## hucki (6 Januar 2017)

Hallo Patrik,

es ist immer etwas schwierig, die Fehlersuche auf Bildchen zu vollführen.
Würde es Dir etwas ausmachen, das Programm selber hochzuladen?


----------



## Ragamuffin85 (6 Januar 2017)

Hallo hucki,

sicher doch . 
Angehängt findest du meine "Experimente" ;-).

Besten Dank für die Unterstützung!

Viele Grüße
Patrick


----------



## hucki (7 Januar 2017)

Hab' Dir mal analog zu Deinem auf Basis von Blockmoves Vorschlag mit dem Zähler einen neuen UDF zusammen gebaut.

Dieser hat auch nur 2 Timer (1x Laufzeit und 1x Umschaltzeit), die jeweils für beide Richtungen wirken und auch vom Hauptprogramm aus einstellbar sind:






Im nächsten Schritt würde ich noch die aktuelle Laufzeit für eine mögliche Visualisierung heraus führen.

Außerdem sollte man für die Uhr noch separate Zentraleingänge schaffen, die die normalen übersteuern.
Momentan sind die Uhreingänge bei Deinem Hauptprogramm nur gleichberechtigt. Wenn der Rollladen bei Uhreingang gerade läuft, bewirkt die Uhr so nur eien Rollladenstop und nicht dass, was eigentlich gewollt ist.


PS: Ich hab' grad gesehen, dass ich eine Sperrzeit für die Gegenrichtung völlig vergessen habe.


----------



## Ragamuffin85 (7 Januar 2017)

Hallo hucki,

vielen Dank für die schnelle Hilfe!

Auf den ersten Blick, scheint das ganze genau das zu machen, was ich mir erhofft hatte (Abgesehen von der Sperrzeit ;-)).

Ich nehme mir das ganze mal für heute Abend als Hausaufgabe mit und werde versuchen zu verstehen, was du im Detail gemacht hast.
Sobald ich meine, alles kapiert zu haben, werde ich versuchen das von dir erwähnte Feature der Laufzeit einzubinden (Dürfte auch der Visualisierung in FHEM recht dienlich sein).

Für mich gilt das Problem vorerst als gelöst - sobald ich allerdings vorzeigbare Änderungen erringen konnte, würde ich euch gerne daran teilhaben lassen.

Nochmals besten Dank und viele Grüße
Patrick


----------



## hucki (8 Januar 2017)

Das "Fehlverhalten" in Deinem UDF wird sehr wahrscheinlich von den Rekursionen über die Ausgänge des UDFs verursacht.

Rekursionen dürfen ja nur über Merker oder Ausgänge erfolgen (das bewirkt einen Versatz von einem Zyklus). Ausgänge von UDFs sind aber keine echten Ausgänge sondern nur Übergabepunkte an die Hauptschaltung.
Wenn man alle Bausteine und Verbindungen aus dem UDF kopiert und anstelle des UDFs direkt in die Hauptschalt einfügt, sind dort auch keine Ausgänge vorhanden und diese Rekusrion somit gar nicht möglich.
Und nichts anderes macht die reale LOGO! beim Übertragen. Die UDFs im Hauptprogramm werden durch die internen Bausteine und Verknüpfungen ersetzt. 

Das solche Rekursionen im UDF-Editor überhaupt möglich sind, ist m.M.n. ein Bug der Logo!Soft.


Die Verwendung von Merkern im UDF sollte man m.M.n. jedoch möglichst auch vermeiden.
Wenn die UDF-Bausteine in die Hauptschaltung einkopiert werden, können nur freie Bausteine verwendet werden. Spätestens beim 2. UDF wählt die LOGO!Soft somit selbständig andere noch freie Merker, als im UDF-Editor verwendet, aus. Das können auch die Sondermerker (Erster Zyklus, Farbe Displays usw.) sein. Das kann man nur verhindern, indem die Sondermerker vor dem Einfügen solcher UDFs bereits im Hauptprogramm vorhanden sind.
Merker im UDF bedeuten also ggf. etwas mehr Aufwand im Hauptprogramm.





Ich hab' mein obiges UDF mal noch um die Sperrzeit erweitert:





und dann das UDF zusätzlich noch um Zentraleingänge für die Astrouhr erweitert, die die normalen Eingänge übersteuern:





Wenn man letzteres Programm in Einzelzyklen simuliert, wird man feststellen, dass das Übersteuern nicht zu 100% funktioniert:
Wenn das Zentralsignal genau eine Hundertstel Sekunde vor Ablauf der Laufzeit B003 kommt, dann löst dieser Timer immer noch aus und gibt ein Reset-Signal auch auf den Zentralzähler.
Das könnte man mit einigem Aufwand sicher auch noch beheben. M.M.n. stehen aber Aufwand, Nutzen und Wahrscheinlichkeit in keinem vernünftigen Verhältnis, so dass ich da jetzt keine weiteren Mühen investiert habe.


----------



## Ragamuffin85 (8 Januar 2017)

Hallo hucki,

ich habe mich mal dran gemacht und versucht zu verstehen, was du in deinen Versionen "angestellt" hast.
Mit etwas überlegen bin ich der Meinung, zumindest die Version ohne Zentrale-Steuerung verstanden zu haben.

Der Ansatz gefällt mir sehr gut und bringt mich vom Verständnis her deutlich näher in die Gefilde in denen ich mich auskenne.
Wenn ich es recht verstanden habe, wandelst du die beiden Digitaleingänge mittels Inkrement/Dekremt in eine Art "Analogen-Enumerator" um den Betriebszustand zu definieren (Mit den Analogen Blöcken - welche Wohl deutlich mächtiger sind als ich dachte -  scheint dies recht "einfach" möglich zu sein ;-) ).
Der Rest wird dann mit den Schwellwertschaltern erledigt, welche - so verstehe ich es - einer art Switch-Case/If-Kaskadierung entsprechen.

Ich vermute ich muss erst noch etwas in die Art und Weise, wie man im Umfeld der SPS/LOGO denkt, einfinden - An sich keine Rocket-Science aber man muss sich eben mal ausgiebig mit dem ganzen beschäftigen .

Als nächsten Schritt habe ich mir vorgenommen, den Stand der Rollladen/Raffstores als Ausgang der UDF in Abhängigkeit des Parameters LZ (Laufzeit) verfügbar zu machen. Ich denke, wenn ich das gepackt hab, bin ich in meiner Verständnisfindung einen erheblichen Schritt weiter.

Abschließend nochmals vielen Dank für deine Unterstützung (um nicht zu sagen, das Umsetzung der Lösung ;-)) und die damit verbundenen Aufwände!

Viele Grüße
Patrick


----------



## hucki (8 Januar 2017)

Der Vorteil von Blockmoves Vorschlag mit Zähler und Schwellwertschalter - der Zählwert für Auf- bzw. Abfahren kann auf keinen Fall zu gleichen Zeit vorliegen.
Dann noch die richtige Hardware-Verdrahtung:



(älteres Bild mit 2 Motoren parallel gesteuert)

und man hat 100% Soft- und Hardwareschutz für die Rollladenmotoren.


----------



## Ragamuffin85 (8 Januar 2017)

Exakt! Genau das war auch das Ziel.

Wenn man überlegt, was beim Schalten teilweise für Ströme anliegen, will man den Aufbau möglichst sicher machen.

Die Relais habe ich ähnlich wie in deiner Darstellung umgesetzt. Nur mit dem Unterschied, dass ich K2 vor K1 gesetzt habe (K2-14 => K1-11 ==> K1-12 Auf / K1-14 Ab).
So habe ich ein Relais, mit welchem ich die Fahrtrichtung(K1) bestimmen kann und ein Relais, welches ON/OFF (K2) bestimmt.

Effektiv dürften beide Versionen aber Hardwareseitig ebenbürtig sicher sein ;-).


----------



## hucki (9 Januar 2017)

Ragamuffin85 schrieb:


> Die Relais habe ich ähnlich wie in deiner Darstellung umgesetzt. Nur mit dem Unterschied, dass ich K2 vor K1 gesetzt habe (K2-14 => K1-11 ==> K1-12 Auf / K1-14 Ab).
> So habe ich ein Relais, mit welchem ich die Fahrtrichtung(K1) bestimmen kann und ein Relais, welches ON/OFF (K2) bestimmt.
> 
> Effektiv dürften beide Versionen aber Hardwareseitig ebenbürtig sicher sein ;-).


Dann passt doch aber die Ansteuerung durch die LOGO nicht.
K2 müsste bei beiden Fahrtrichtungen angesteuert werden, K1 nur beim Abwärtsfahren.
Das war doch in Deiner LOGO-Schaltung so auch nicht vorgesehen, oder?

Mit der Verdrahtung nach meinem Bildchen hast Du ein Relais für Aufwärts, eins für Abwärts. Ist halt das allgemein übliche.


----------



## weißnix_ (9 Januar 2017)

Ragamuffin85 schrieb:


> ... Nur mit dem Unterschied, dass ich K2 vor K1 gesetzt habe (K2-14 => K1-11 ==> K1-12 Auf / K1-14 Ab).
> So habe ich ein Relais, mit welchem ich die Fahrtrichtung(K1) bestimmen kann und ein Relais, welches ON/OFF (K2) bestimmt.
> 
> Effektiv dürften beide Versionen aber Hardwareseitig ebenbürtig sicher sein ;-).



Diese Variante bevorzuge ich für Mischer- und Rolloansteuerungen. So kann es nie für beide Fahrtrichtungen gleichzeitig ein Signal auf den Antrieb geben. Und man spart sich elektrische Verriegelungen.


----------



## hucki (12 Januar 2017)

weißnix_ schrieb:


> So kann es nie für beide Fahrtrichtungen gleichzeitig ein Signal auf den Antrieb geben.


Was mich persönlich stören würde:
Wenn K1 (warum auch immer) nicht wie vorgesehen anzieht, wird in die falsche Richtung gefahren. 
Bei der anderen Schaltung passiert in diesem Fall einfach - nichts.
Fehlerhafte Fahrt kann also nur bei Relaiskleben auftreten (bei beiden Varianten), nicht aber bei Relaisausfall.


----------



## weißnix_ (13 Januar 2017)

Korrekt.
Ich ziele dabei auf "Amateurautomatisierer" (sry).
Manch ein Fahrantrieb ragiert empfindlich auf gleichzeitiges anstehen beider Fahrbefehle. Das ist dann "Regen oder Traufe". Jeder mag selbst entscheiden, was das größere Übel ist. Ich ziehe die falsche Fahrtrichtung dem durchgeschmorten Antrieb vor.


----------



## hucki (13 Januar 2017)

weißnix_ schrieb:


> Manch ein Fahrantrieb ragiert empfindlich auf gleichzeitiges anstehen beider Fahrbefehle. Das ist dann "Regen oder Traufe". Jeder mag selbst entscheiden, was das größere Übel ist. Ich ziehe die falsche Fahrtrichtung dem durchgeschmorten Antrieb vor.


Das kann bei der anderen Schaltung auch nicht passieren, da die erste Richtung die 2. abschaltet.


----------



## weißnix_ (13 Januar 2017)

Alles ist gut bei Relais mit Mehrfachkontakten. kommen wir wieder zum Hobyt  .
da sind dann Miniturrelais mit 1 Wechsler verbaut.

Ich schrieb ja: Ich halte es für sicher auch ohne elektrische Verriegelung.


----------



## hucki (13 Januar 2017)

weißnix_ schrieb:


> Alles ist gut bei Relais mit Mehrfachkontakten. kommen wir wieder zum Hobyt  .
> da sind dann Miniturrelais mit 1 Wechsler verbaut.
> 
> Ich schrieb ja: Ich halte es für sicher auch ohne elektrische Verriegelung.


Hast du Dir mein obiges Bild mal angesehen?
Das sind "Hobby"-Relais mit nur einem Wechsler! Auch da keinerlei gegenseitige Verriegelung.

Relais 2 bekommt einfach keine Spannung mehr, wenn Relais 1 anzieht. Genau wie bei der anderen Schaltung, wenn das AN/AUS-Relais aus ist.



PS: Das Bild enthält zusätzlich noch die Parallelansteuerung eines 2. Antriebs. Deshalb sind dort 4 Relais.


----------



## hucki (14 Januar 2017)

Der User nietzold hatte da noch ein paar weitere spezielle Wünsche zu.
Varianten von der hiesigen Schaltung mit den gewünschten Erweiterungen sind ab Post#5 zu finden.

Vlt. sind diese für den TE oder andere Suchende, die hier landen, von Interesse.


----------

