Frage zu Positionsberechnung von Rollläden

Tobias T.

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gemeinde,

ich bin mit meiner Rolladensteuerung leider noch nicht ganz fertig. Aktuell schlage ich mich mit den Positionen rum.
Klar, man kann nun sagen: "Nimm Oscat, die machen doch alles" --> richtig, nur nicht so, wie ich es möchte. Also habe ich das nach unseren Wünschen gelöst.
Problem machen mir nur die Positionen der Rollläden. Als letzte Idee hatte ich die Oscat-Bausteine nur zur Berechnung der Position genommen, allerdings passiert wes immer wieder, dass die Positionen eben nicht stimmen.
Also möchte ich einen anderen Weg gehen.
Eine rechnerische Aufteilung von Positionen auf eine Verfahrstrecke ist ja keine Herausforderung, jedoch tue ich mich mit dem "setzen" der Position schwer.
Wie oft sollte der Task laufen?
Soll er überhaupt zyklisch laufen (Denn die Oscat FBs machen das ja anscheinend nicht so)?
Kann ich für n beliebige Rollläden die Positionsberechnung (Schleife?) in einem Task machen?

Fragen über Fragen.

Kann mir jemand einen Hinweis geben, wie ich das am besten lösen könnte?

VG
Tobias
 
Hallo Tobias,

wenn ich dich richtig verstehe möchtest du einen FB zur Jalousiesteuerung schreiben und eine Position aus der jeweiligen Laufzeit zurückrechnen, da es sich um einfache Motoren mit Endschaltern ohne Positionserkennung handelt. Ist das soweit richtig?

Ein Vorschlag wäre ein interner Taktmerker mittel Timer, z.B 0.2 Sekunden, läuft die Jalousie wird im diesem Takt in- /dekrementiert und draus eine Position gebildet. dafür muss natürlich die jeweilige Laufzeit kennen. In den Endlagen wird dann nochmals referenziert.

Sorry wenn´s falsch verstanden habe oder alles genannte als trivial gilt :)


Grüße,
Sagas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Sagas,

das hast du richtig verstanden. Die Bausteine exisitieren bereits und laufen auch im System. Da ich aber auch Gruppensteuerungen und Schaltuhren da drin habe, kommt das aktuelle System bei kurzen Verfahrwegen immer wieder aus dem "Tritt".
Ich kenne natürlich die max. Laufzeiten der RL für hoch und runter. WEnn ich deinen Vorschlag richtig verstanden habe, dann würdest du einen Timer mit einer festen Taktzeit, ääähhh....warte. Nee, nicht fest!
Da ich die Laufzeit kenne und eine max. Position von, sagen wir 100 (100%) haben möchte --> Laufzeit durch max. Position = Impulslänge für Timer. Korrekt ???
Müsste ich das nicht in einem Extra Task laufen lassen, da der Haupttask ja ansonsten eine kleinere Laufzeit als die kürzeste Impulslänge haben müsste, oder mach ich hier gerade einene Denkfehler?

VG
Tobias
 
Hallo Tobi,

ohne jetzt konkret alle Kleinigkeiten und Randerscheinungen bedacht zu haben: Ich würde dir zu einer festen Taktzeit raten, die Frage ist ja welche Genaugikeit erwartet/forderst du? Wenn du langsam laufende RL hast, und entsprechend lange Verfahrwege ...30 Sekunden für die komplette Strecke? Bei einem Takt von 0.1 Sekunden wäre das 300 Schritte die du zählst und als virtuelle Position nutzen könntest.

Wie äußert sich dein "aus dem Tritt" kommen denn? Eine Min. und Max. Laufzeit solltest du meiner Meinung nach ohnehin definieren.

Ich weiß leider nichts über dein System das du einsetzt- welche Zykluszeit hast du denn?

Gruß,
Sagas
 
Hi Sagas,

die Genauigkeit ist mir recht egal, es ist wichtig, dass die Endpositionen erreicht werden!
Die RL haben alle eine relativ lange Laufzeit (~25-30s), von daher wäre das kein Problem.

Das System hat pro PL jeweils zwei gegeneinander verriegelte Taster für UP & DOWN (HW & SW-Verriegelt). Ebenso sind Gruppentaster in den Stockwerken.
Wir ein Taster kleiner einer einstellbaren Zeit getastet, so fährt der RL nur die Zeit, die der Taster gedrückt ist (Tastfahrt). Hiermit werden kleine Positionsänderungen erreicht.
Wird der Taster länger als die individuell eingestellte Tastzeit gedrückt, so geht der RL in eine Endlagenfahrt. Diese wird durch die Endlage der RL mechanisch unterbrochen und/oder durch die max. eingestellte Richtungslaufzeit des
jeweiligen RL.
Wird nun eine Endlagenfahrt gemacht und diese kurz unterbrochen, zB. beim Schließen um noch ein paar Lüftungsschlitze offen zu haben, so begibt sich der RL dann ja in die Tastfahrt.
Nun hat man die gewünschte Pos erreicht und legt sich schlafen. Morgens fährt man den RL über eine Endlagenfahrt hoch und siehe da, das Teil fährt nicht 100% hoch, sondern glaubt kurz vor der Endlage das Ende bereits erreicht zu haben.
Hier schlägt weder die mechanische Endlage des RL, noch die absolute Laufzeit zu. An dieser Stelle ist die virt. Pos bereits auf "Endlage" und sperrt das System.
Durcheinander ist das System durch die kurzen Taststöße für die Lüftungsschlitze gekommen.

Und hier glaube ich, dass der Oscat-FB aus dem Tritt kommt, da ich seine eigentliche Funktion nicht nutze. --> also selber machen!

Gruß
Tobias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Tobias,

das mitzählen der Puls pro Bewegung sollte ja unabhänig von der Art der Ansteuerung erfolgt, also ob in Automatik oder Tippbetrieb, hier wird sich eine gewissen Unschärfe wohl kaum vermeiden lassen.
Die max. Laufzeit müsste ein klein wenig größer gewählt werden als sie tatsächlich ist um ein 100% Öffnen und Schließen sicher zustellen, hier kannst du ja auch jedes mal die max. Laufzeit fahren unabhänig von der virtullen Position, da ohnehin die Endlagen anschlagen und du so sicher sein kannst das die RL wieder richtig auf entweder 100% oder 0% referenziert sind.

Bei dem letztzen Projekt mit ähnlichen Anforderungen erfolge eine Anfahren einer Wuschposition (z.B Beschattung + Nachführung) stets über die obere Endlage. Es dauert zwar länger (gefühlt ewig ;)) hat aber den Vorteil das die Positionen stets reproduzierbar sind und alle RL bzw. Jalousien bündig abschließen. Bei den Jalousien kommt noch die einheitliche Lamellenstellung hinzu. Ob hierbei 75,8% wirklich mit dem Messschieber kontrollierbar sind ist eher zuvernächlässigen solang die Hausfront einheitlich aussieht.

Grüße,
Sagas
 
Hi Sagas,

gut, so weit verstanden. Frage zu "die Anfahrt über die obere Endlage": Heißt das, dass immer erst komplett geschlossen wurde und hinterher die gewünschte Pos. angefahren wurde?

Gruß
Tobias
 
bei der endlagenfahrt würde ich grundsätzlich die maximale Fahrzeit in die endlage fahren. egal wo sich der rl virtuell befindet.
wenn du dort bist setzt du die virtuelle lage auf 0/100%.
um ein paar lüftungsschlitze frei zu halten würde ich in endlage zu fahren und dann wieder ein stück auf.
um immer möglichst genau zu fahren müsstest du, zb eingabe in ein hmi fahre 75%, vorher eine referenzfahrt auf endlage machen.
 
Hi Tobi,

ja genau das, in dem Fall allerdings komplett geöffnet und dann nach unten abgesenkt. In Zusammenspiel mit einer Wetterstation für Beschattung, Wind-Schutz usw. Bei normalen RL sollte das evtl. nicht nötig sein da diese sich ja nur um wenige cm "strecken". Aber eine Option ist es immer. Software wird ja nicht ein Stein gemeißelt ;)

Grüße,
Sagas
 
Hallo, Tobias!
Wenn es sich um normale Rollos handelt, solltest Du beachten, dass der Rolladen sich bei gleicher Drehzahl des Motors unterschiedlich schnell bewegt.
Am besten benutzt Du zur Positions Bestimmung die et des Timers.


Gesendet von iPhone mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
hört sich an wie der actuator_3p aus aus Oscat-building.
Den hatte ich auch mal im Einsatz, der berechnet auch die virtuelle Position pro Bewegung.
Innerhalb von ca. 100 Impulsen war der bei mir relativ genau...
Ggf. könnte der Sourcenausschnitt dafür brauchbar sein !?

Viel Erfolg
Shrimps
 
Zurück
Oben