Startzeit an die Jahreszeiten anpassen

Ratoncito

Level-1
Beiträge
163
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

den Zeitpunkt für das Senken und Heben der Rolladen in meinem Haus möchte ich ein wenig an die Jahreszeiten anpassen. Die Änderung der Helligkeit ist dabei an den Scheitelpunkten (21.Dezember bzw. 21.Juni) am Geringsten. An den Tagen der Tag- und Nachtgleiche (20.März bzw. 22.September) am Größten.

Die Kurve ähnelt stark einer Sinuskurve.

Für das Senken ist der Startpunkt am 21.Dezember um 19:45 Uhr und soll der ansteigenden Flanke einer Sinuskurve bis zum Scheitelpunkt am 21.Juni um 22:00 Uhr folgen. Von dort wieder zurück auf den Startwert.

Gibt es hier Programmiergenies die das hinkriegen? Und wenn möglich noch so, dass auch ich das nachvollziehen kann?

Noch eine Bemerkung.
Die Anwendungshinweise zum WagoAppScheduler und WagoAppBuilding habe ich mir schon angeschaut. Da mir aber die Grundlagen fehlen ist mir die Umsetzung zumindest im Moment zuviel.

Vielen Dank im Voraus.
 
Sonnenaufgang und Sonnenuntergang gibt es in der WagoAppTime.
Siehst du im Screenshot zu den Zeiten in deinem letzten Thread.
Ich nutze für meine Rollladen eigentlich nur Sonnenuntergang.

In der Oscat-Bibliothek gibt es auch Bausteine zum Einfallswinkel.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist wahrscheinlich nicht ganz so genau, aber du könntest ab dem 21.12 auf den Startpunkt 19:45, jeden Tag ca. 45s (44,4) aufaddieren. Ab dem 21.06. wieder abziehen.
Das ist halt nur erechnet. Sonnenauf und Untergang aus der WAGOAppTime ist dort sicher genauer.
 
Hallo,

@Blockmove

Auch die WagoAppTime habe mich mir angeschaut.

Sonnenuntergang im Dezember etwa schon um 16:30 Uhr, und Aufgang im Sommer so gegen 5:00 Uhr.

Das passt nicht zu meinen Wünschen, ich möchte die Zeiten an den Scheitelpunkten lieber selbst vorgeben.

Danke für den Hinweis.


@ccore

Dann ist die Änderung leider linear, man erhält ein Dreieck und keinen sinusförmigen Verlauf.

Auch Dir Danke
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Sonnenuntergang im Dezember etwa schon um 16:30 Uhr, und Aufgang im Sommer so gegen 5:00 Uhr.

Das passt nicht zu meinen Wünschen, ich möchte die Zeiten an den Scheitelpunkten lieber selbst vorgeben.

Wie sieht denn im Groben die Kurve gemäß deiner Wünsche aus ?
Ich hatte mit im Groben an den Zeiten orientiert - nur z.B. im Sommer die Jalousien nicht vor 7 Uhr Morgens auffahren lassen - egal wann SA war.
Gleiches galt für das Zufahren - da habe ich die meißten bei SU oder spätestens um 21 Uhr zufahren lassen.

Gruß
Larry
 
Hallo,

@Larry

Die Kurve ähnelt stark einer Sinuskurve.

Für das Senken ist der Startpunkt am 21.Dezember um 19:45 Uhr und soll der ansteigenden Flanke einer Sinuskurve bis zum Scheitelpunkt am 21.Juni um 22:00 Uhr folgen. Von dort wieder zurück auf den Startwert.

Mathematisch habe ich mich damit ehrlich gesagt noch nicht beschäftigt. Mal ganz ohne Anspruch auf Richtigkeit:
Jahr = 365 Tage
Kreis = 360°
Gesamtzahl der Minuten von Scheitel zu Scheitel = 135
Wenn man die 5° vernachlässigt entspricht das bei der Berechnung jeden Tag +1° bei dem Wert für sin.
Die Ungenauigkeit der 5 Tage könnte man durch einen Reset an den Scheitelpunkten aufheben.

Große Frage:
Kann man in e!Cockpit mit der Winkelfunktion rechnen?
Die Localtime in e!Cockpit berücksichtigt den Wechsel von Sommer- zur Winterzeit?
 
Zuletzt bearbeitet:
Hallo Wolfgang,

Der Baustein "FbCalculateSunriseSunset" aus der WagoAppBuilding berechnet Sonnenauf- und untergang. Hier könntest du mit "ADD" und "SUB" die Zeiten noch ein wenig auf deine Bedürfnisse anpassen.

Ansonsten ist das Beispielprogramm1 im Anwendungshinweis zur WagoApp Building die Premiumlösung.

Grüße aus Minden
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

@Larry



Mathematisch habe ich mich damit ehrlich gesagt noch nicht beschäftigt. Mal ganz ohne Anspruch auf Richtigkeit:
Jahr = 365 Tage
Kreis = 360°
Gesamtzahl der Minuten von Scheitel zu Scheitel = 135
Wenn man die 5° vernachlässigt entspricht das bei der Berechnung jeden Tag +1° bei dem Wert für sin.
Die Ungenauigkeit der 5 Tage könnte man durch einen Reset an den Scheitelpunkten aufheben.

Große Frage:
Kann man in e!Cockpit mit der Winkelfunktion rechnen?
Die Localtime in e!Cockpit berücksichtigt den Wechsel von Sommer- zur Winterzeit?

Winkelfunktionen kann e!Cockpit.
Du kannst dir UTC-Zeit als auch Lokalzeit ausgeben lassen
Wichtig dabei ist nur, dass du in der Weboberfläche der Steuerung die passende Zeitzone einträgst.

Wenn du deine Formel hast, dann kannst du sie recht einfach in FUP in einem Execute-Baustein eintragen.

Gruß
Blockmove
 
@Wolfgang:
Wenn du die Sommer-Winterzeit-Umstellung wegläßt dann ist die Kurve, aufgrund der Schrägstellung der Erdachse, eine Sinuskurve.
Aber du hast meine Frage nicht beantwortet.
Die Wago-SPS sollte auf jeden Fall auch Winkelfunktionen können - denk nur dran : hier wird nicht mit Grad gerechnet sondern im Bogenmaß ...
 
Upps, habe gerade nur mal eben Kaffeepause gemacht und schon 3 Antworten. Vielen Dank!

@Wago-Support

Ja, die Bausteine sind recht vielseitig.

Nur, vor knapp 14 Tagen wusste ich nicht wie Codesys riecht, wie e!Cockpit schmeckt und heute baue ich EINEN.

Einfach gesagt, mir ist alles neu und ich bin mit vielem schlicht überfordert. Ich drehe mich im Kreis ohne genau zu wissen in welche Richtung ich laufen muss.
An den Beispielen in den WagoApps habe ich mich auch schon versucht. Leider fehlen mir die Grundlagen. Für ein Beispiel fehlte mir eine Bibliothek - ich habe lange gebraucht, bis ich diese gefunden habe. Danach kam ich ein kleines Stück weiter, dann fehlte wohl wieder etwas. Da habe ich aufgegeben, zumindest für den Anfang.

Meine alte SPS ist ausgefallen, es fehlen einige Funktionen. Das macht den Alltag nicht unbedingt leichter. Daher habe ich mich erst auf die wesentlichen Dinge gestürzt und möchte in den nächsten Tagen die neue Steuerung einsetzen. Die nebensächlichen Dinge wie Rolladen automatisch AUF und AB kommt später.


@Blockmove

Lokalzeit habe ich gefunden, dann gehe ich davon aus, dass dort auch die Umstellung von Sommer- auf Winterzeit automatisch geht.


@Larry

Danke für den Tip zum Bogenmaß.
Während dem Kaffee habe ich meine Gedanken zum Verlauf der Kurve durchgerecht - scheint zu stimmen.

Welche Frage habe ich nicht beantwortet?

Meinst Du damit den Verlauf der Kurve und Zeitumstellung?

Ja, die Sinuskurve passt. Mir geht es nur darum, dass die Kurve in etwa zur Jahreszeit und meinen Gewohnheiten passt. Die Rolladen im Wohnbereich mache ich sowieso von Hand runter wenn es uns danach ist, und im Rest des Hauses geht es automatisch. Und wenn keiner zuhause ist 1 Stunde früher. Es wäre nicht angebracht, wenn im Sommer die Rolladen schon um 19 Uhr runtergehen, oder im Winter erst um 22 Uhr.

Allen noch mal vielen Dank für die Hilfe.

Wenn jemand Zeit hat - ein kleines Beispiel wie man mit der Zeit und der Berechnung in FUP umgeht wäre super.
Ich breche mir bei den Datenformaten sicherlich wieder die Ohren.
Startzeit für die Kurve 20 Uhr, Endzeit 22 Uhr. Zwei Zwischenpunkte (30° - 60° - 90°) reichen.

Es hat keine Eile :-)
 
@Wolfgang:
Mrine Frage war im Beitrag #6 - ich denke mal, dass du so wie ich nicht grundsätzlich ganz früh morgens (also mitten in der Nacht) im Sommer die Jalousien hoch haben willst sondern ggf. erst zum (oder nach dem) Aufstehen. Genauso ist es (oder so ähnlich) mit dem Runter.
 
Hallo,

@Larry

sorry, den Sonnenaufgang habe ich übersehen, da es mir zuerst mal nur um den Abend ging. Aber 6 Uhr Rolladen AUF - ich hätte kein Problem damit. Heute stehe ich oft schon zu Zeiten auf, zu denen ich in meiner Sturm- und Drangzeit nach Hause kam. :-)

Die Details hätten zu Beginn sicherlich für Verwirrung gesorgt, daher hatte ich sie nicht erwähnt.
Die Rolläden im Schlafzimmer fahren nur dann AUF, wenn keiner zuhause ist. Und wenn keiner zuhause ist, bleiben die Rölläden noch 1 Stunde länger unten. Und auch an Sonn- und Feiertagen bleiben sie länger unten. Das hat sich so im Laufe der Zeit mal ergeben.

Wie bequem das alles ist merkt man so richtig jetzt, wo die alte SPS das nicht mehr automatisch erledigt.

Wie schon oben geschrieben würde mir ein kleines Beispiel in dem ich sehen kann wie man das richtig macht reichen.


@Blockmove

Formel? Habe ich keine, ich habe es ja auch noch nicht so gemacht :-)
Im Prinzip würde ich es so beschreiben:
Startzeit am 21.12. um 20:00 Uhr bis zum 21.06. um 22:00 Uhr, sind 120 Minuten Differenz
Die ganze Kurve in 4 Abschnitte (360°) unterteilt sind 60 Minuten pro 90°
Am nächsten Tag: 20:00 Uhr + (60 Minuten - sin89° * 60 Minuten)
nächster Tag: 20:00 Uhr + (60 Minuten - sin88° * 60 Minuten)
und dann so weiter bis zum 21.06. und dann das ganze zurück, also alles wieder abziehen bis zum 21.12.

Ich hoffe mal dass es richtig ist. 2 Stunden ist einfacher für das Beispiel, kann man später ja anpassen.

Noch einen schönen Abend
 
Zuletzt bearbeitet:
Formel? Habe ich keine, ich habe es ja auch noch nicht so gemacht :-)
Im Prinzip würde ich es so beschreiben:
Startzeit am 21.12. um 20:00 Uhr bis zum 21.06. um 22:00 Uhr, sind 120 Minuten Differenz
Die ganze Kurve in 4 Abschnitte (360°) unterteilt sind 60 Minuten pro 90°
Am nächsten Tag: 20:00 Uhr + (60 Minuten - sin89° * 60 Minuten)
nächster Tag: 20:00 Uhr + (60 Minuten - sin88° * 60 Minuten)
und dann so weiter bis zum 21.06. und dann das ganze zurück, also alles wieder abziehen bis zum 21.12.

Naja ... du musst hier eine Relation Winkel zu Tag bilden. Dafür musst du wissen, wieviele Tage seit dem 21.12. vergangen sind (wenn du im ersten Halbjahr bis) bzw. wieviele seit dem 21.06. vergangen sind (wenn du im zweiten Halbjahr bist).
Diese 182 Tage entsprechen dann deinem Winkelbereich.
Deine 2 Stunden sind dann die maximale Auslenkung der Amplitude.
Ist ein bisschen Rechnerei - das ließe sich aber z.B. in Excel schon mal schön in der Tabelle simulieren bevor du dann damit an die SPS gehst.

Ganz grundsätzlich solltest du dich hier m.E. von FUP entfernen und eher auf ST setzen. Das wird dann Vieles vereinfachen ... (auch wenn es zusätzliches, aber nicht problematisches, Lernen bedeutet)

Gruß
Larry
 
Naja ... du musst hier eine Relation Winkel zu Tag bilden. Dafür musst du wissen, wieviele Tage seit dem 21.12. vergangen sind (wenn du im ersten Halbjahr bis) bzw. wieviele seit dem 21.06. vergangen sind (wenn du im zweiten Halbjahr bist).
Diese 182 Tage entsprechen dann deinem Winkelbereich.
Du verwirrst mich ein wenig, Larry.
Ich würde davon ausgehen, dass die Periode (2 x Pi) der Länge des Jahres entspricht (ca. 365,25 Tage) und zum FrühlingsBeginn startet und endet (NullDurchgang bei ansteigender SinusKurve).
Ferner, dass die mittlere TagesLänge (ebenfalls zum FrühlingsAnfang ermittelt ... oder alternativ zum HerbstAnfang) mit dieser SinusSchwingung moduliert wird.
Wenn man nun für das "WinterHalbjahr" (negative Werte der SinusKurve) und das "SommerHalbjahr" (positive Werte der SinusKurve) eine unterschiedliche Behandlung haben möchte und der Übergang zwischen beiden "sanft" erfolgen soll, kann man doch negative Werte anders skalieren als positive Werte und - so man das überhaupt will - diese auch noch auf feste Minimal- oder MaximalWerte begrenzen.
So weit, so einfach ... wenn nicht noch die Umstellerei zwischen Winter- und SommerZeit dazwischenhauen würde ... aber auch das lässt sich beherrschen.

Gruss, Heinileini
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Heinrich:
Es ist eigentlich egal, ob du den Frühlingsanfang als 0° annimmst oder den Winteranfang als 270° - entscheidend ist, dass du bezogen auf den jeweiligen Referenzpunkt die Anzahl der vergangenen Tage ermitteln musst damit du die Relation auf die 360° bilden kannst - man kann natürlich auch sagen 365 Tage ist ja nah an 360° - also sind Tage gleich Grad - ich weiß jetzt aber nicht, ob das dann vielleicht doch ungenau wird.
Ansonsten weiß ich gerade nicht was dich verwirrt ...

Gruß
Larry
 
Zuletzt bearbeitet:
Hallo,

vielen Dank für die vielen Gedanken die Ihr Euch macht. Aber bevor es zu kompliziert wird möchte ich Euch ein wenig bremsen. Es geht nur um den Zeitpunkt zu dem Rolladen AUF oder AB fahren, da hält es nicht so genau.

Jahreslänge: 365 und im Schaltjahr 366 Tage
Winter: 21.12. = Scheitelpunkt
Frühling: 22.03. = 0-Durchgang 91 (Schaltjahr 92) Tage seit Winter
Sommer: 21.06. = Scheitelpunkt 91 Tage seit Frühling
Herbst: 21.09. = 0-Durchgang 91 Tage seit Sommer
Winter: 21.12. = Scheitelpunkt 92 Tage seit Herbst

Um es zu vereinfachen kann man pro Tag 1° annehmen, dann fehlen an einem Jahr 5 bzw 6 Tage, pro Halbjahr 2,5 bzw. 3 Tage.
Da sich an den Scheitelpunkten die geringste Differenz ergibt könnte man dort die Zeit für 2 bzw 3 Tage gleich lassen.

Startet man am 21.12. um 20Uhr so berechnet sich der nächste Tag: 20:00 Uhr + (60 Minuten - sin89° * 60 Minuten)
nächster Tag: 20:00 Uhr + (60 Minuten - sin88° * 60 Minuten) usw.

Hierbei habe ich angenommen das die Scheitel bei 20 und 22 Uhr liegen.

Nun muss man statt Grad noch das Bogenmaß einsetzen 1° = Pi / 180

Wenn man es komfortabel machen möchte gibt man die zwei Uhrzeiten für Start und Ziel als Variable ein und berechnet Differenz in Minuten und setzt diesen Wert statt der "60" in obigem Beispiel ein.
Und statt je Tag mit einem Grad zu rechnen kann man auch 90 / 92 einsetzen.

Wenn man für die Zeit die Localtime nimmt wäre auch die Zeitumstellung berücksichtigt! Mir geht es in der Hauptsache nicht darum die Rolladen zu einer bestimmten Helligkeit AUF und AB zu fahren, sondern passend zu meinem Tagesablauf.

Für die Programmierung wird wohl, wie schon von Euch angemerkt, strukturierter Text die richtige Wahl sein.
Habe ich noch nicht angeschaut, aber mit VBA und Access und ähnlichen habe ich mich schon mal beschäftigt. Dann werde ich, mit Eurer Hilfe, auch das schaffen.

Je mehr man sich darüber Gedanken macht, umso mehr fällt mir ein... Ich bin überrascht, was heute alles möglich ist.

Für Eure Bemühungen im Voraus schon mal vielen Dank.
 
Zurück
Oben