# Sonnenstand im BLIND\_SHADE\_S

**URL:** <https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393>\
**Category:** oscat.lib fuer TwinCAT/CoDeSys\
**Created:** [11. Juli 2012 um 18:53 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393 "2012-07-11T18:53:28Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![N3tw124rd](https://avatars.discourse-cdn.com/v4/letter/n/7feea3/32.png) [@N3tw124rd](https://oscat.discourse.group/u/N3tw124rd)\
**Post date:** [11. Juli 2012 um 18:53 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/1 "2012-07-11T18:53:28Z")

</div>

Hallo,

ich möchte den BLIND\_SHADE\_S verwenden um eine Automatische Beschattung zu machen und habe da ein Verständnisproblem.  
Woher kennt BLIND\_SHADE\_S die aktuelle Sonnenposition ?  
Ich finde nix wo ich die Sonnenposition übergeben kann ?!?!?!

Kann mir jemand helfen ?

Gruß  
N3tw124rd

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [11. Juli 2012 um 20:44 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/2 "2012-07-11T20:44:17Z")

</div>

Hi!  
Die Daten werden über die I/O Variable CX (Calendar) übertragen.

---

<div class="post-metadata">

**Author:** ![N3tw124rd](https://avatars.discourse-cdn.com/v4/letter/n/7feea3/32.png) [@N3tw124rd](https://oscat.discourse.group/u/N3tw124rd)\
**Post date:** [15. Juli 2012 um 18:45 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/3 "2012-07-15T18:45:14Z")

</div>

Hi,

danke das passt jetzt 😉  
Wenn ich möchte das der Rolladen nach dem die Sonne aus dem eingestellten Winkel heraus ist hochfahren soll muß ich den MASTER\_MODE auf TRUE setzen (habe ich in einem anderen Thread gelesen).  
Muss dieser MASTER\_MODE manuell gesetzt werden oder fest in der Konfig ?

Danke im vorraus

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [15. Juli 2012 um 20:33 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/4 "2012-07-15T20:33:35Z")

</div>

Am Eingang des Baustein einmalig fest auf True setzen und gut is.

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [18. Juli 2012 um 11:22 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/5 "2012-07-18T11:22:58Z")

</div>

Ich frage mich derzeit, warum es dann den schönen Baustein “sun\_pos” gibt, wenn ich dem blind\_shade die position über die I/O Variable CX übergeben muss.  
In der Doku wird auch ein Blind\_shade ohne der CX variable gezeigt (abgeblidet)

Wie komme ich an den Baustein, wo ich das direkt übergeben kann, da ich die Sonnenstandsberechnung über sun\_pos mache?

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [18. Juli 2012 um 12:56 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/6 "2012-07-18T12:56:27Z")

</div>

Der Baustein SUN\_POS wird in der Funktion Calender\_Calc aufgerufen.  
Natürlich kannst du auch den SUN\_POS zur Übergabe des Sonnenstandes benutzen.  
Für die richtige berechnung des Sun\_pos benötigst du jedoch die richtige Lokalzeit (sommer/winterzeit)  
Dies kannst du per manueller umstellung oder aber per DST machen.

Lange rede kurzer sinn:  
lege nen Datenbaustein vom Format CALENDAR an, trage die Sonnendaten an die richtige stelle ein und es geht.

Gruß Stefan

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [20. Juli 2012 um 09:06 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/7 "2012-07-20T09:06:15Z")

</div>

OK! soweit hab ich das verstanden.

Mein Problem liegt eher daran, die ganzen Strukturen anzulegen, damit das dann alles korrekt ausgerechnet werden kann. Ich würde mir dann auch den Baustein “sun\_time” ersparen, wenn ich mal die Calendar Struktur mit calendar\_calc zum laufen bringen würde.

Alle Antworten die über die Suche ausgespuckt werden befinden sich leider eine Stufe über meinem derzeitigen Wissensstand.  
Ich versuche eh soviel wie möglich selbst zu schaffen, aber irgendwie komm ich auf keinen grünen Zweig. Ich bitte um Verständniss.

Wenn ich mal meinen derzeitigen Konfigstand erläutern darf:

Ich habe im Codesys I/O Pro unter dem Reiter “Ressourcen”/Globale Variablen/Globale Variablen folgendes Array hoffentlich richtig angelegt:

VAR\_GLOBAL  
HOLIDAY\_AT : ARRAY[0..29] OF HOLIDAY\_DATA :=  
(name := ‘Neujahr’, day := 1, month := 1, use := 1),  
(name := ‘Heilig Drei Könige’, day := 6, month := 1, use := 1),  
(name := ‘Karfreitag’, day := -2, month := 0, use := 1),  
(name := ‘Ostersonntag’, day := 0, month := 0, use := 1),  
(name := ‘Ostermontag’, day := 1, month := 0, use := 1),  
(name := ‘Christi Himmelfahrt’, day := 39, month := 0, use := 1),  
(name := ‘Pfingstsonntag’, day := 49, month := 0, use := 1),  
(name := ‘Pfingstmontag’, day := 50, month := 0, use := 1),  
(name := ‘Fronleichnam’, day := 60, month := 0, use := 1),  
(name := ‘’, day := 8, month := 8, use := 0),  
(name := ‘Maria Himmelfahrt’, day := 15, month := 8, use := 1),  
(name := ‘’, day := 3, month := 10, use := 0),  
(name := ‘’, day := 31, month := 10, use := 0),  
(name := ‘Allerheiligen’, day := 1, month := 11, use := 1),  
(name := ‘Maria Empfängnis’, day := 8, month := 12, use := 1),  
(name := ‘1. Weihnachtstag’, day := 25, month := 12, use := 1),  
(name := ‘2. Weihnachtstag’, day := 26, month := 12, use := 1);  
END\_VAR

Ich hoffe ich habe das mal richtig gemacht… ??? Für mich persönlich ist das in der Doku einfach zu wenig beschrieben…

Jetzt bin ich gerade dabei die Struktur Calendar anzulegen bzw. zu finden. Daran scheitert es im moment… 😢

Oder gibt es vielleicht irgendwo ein Beispiel das ich einfach nachbauen kann oder eine Schritt für Schritt Anleitung? Vielleicht wäre jemand so nett soetwas zu erstellen, dann würden eventuelle Zukünftige fragen damit beantwortet? :🙂

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [4. September 2012 um 11:44 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/8 "2012-09-04T11:44:20Z")

</div>

Gibts denn wirklich niemanden der mir hier weiterhelfen könnte?

---

<div class="post-metadata">

**Author:** ![peewit](https://avatars.discourse-cdn.com/v4/letter/p/ecc23a/32.png) [@peewit](https://oscat.discourse.group/u/peewit)\
**Post date:** [4. September 2012 um 17:39 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/9 "2012-09-04T17:39:45Z")

</div>

lege diese datenstruktur in deinem baustein genau so an , und übergebe den sun calendar\_calc baustein diese datenstruktur

HOLIDAY\_AT : ARRAY[0..29] OF HOLIDAY\_DATA :=  
(name := ‘Neujahr’, day := 1, month := 1, use := 1),  
(name := ‘Heilig Drei Könige’, day := 6, month := 1, use := 1),  
(name := ‘Karfreitag’, day := -2, month := 0, use := 1),  
(name := ‘Ostersonntag’, day := 0, month := 0, use := 1),  
(name := ‘Ostermontag’, day := 1, month := 0, use := 1),  
(name := ‘Christi Himmelfahrt’, day := 39, month := 0, use := 1),  
(name := ‘Pfingstsonntag’, day := 49, month := 0, use := 1),  
(name := ‘Pfingstmontag’, day := 50, month := 0, use := 1),  
(name := ‘Fronleichnam’, day := 60, month := 0, use := 1),  
(name := ‘’, day := 8, month := 8, use := 0),  
(name := ‘Maria Himmelfahrt’, day := 15, month := 8, use := 1),  
(name := ‘’, day := 3, month := 10, use := 0),  
(name := ‘’, day := 31, month := 10, use := 0),  
(name := ‘Allerheiligen’, day := 1, month := 11, use := 1),  
(name := ‘Maria Empfängnis’, day := 8, month := 12, use := 1),  
(name := ‘1. Weihnachtstag’, day := 25, month := 12, use := 1),  
(name := ‘2. Weihnachtstag’, day := 26, month := 12, use := 1);

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [22. November 2012 um 17:29 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/10 "2012-11-22T17:29:58Z")

</div>

Hi!

Ich habe an meiner Steuerung weitergearbeitet und bereits vieles angepasst und einiges zum laufen gebracht…

Aber dieser Blind Shade ist mir immer noch nicht ganz klar… dafür fehlt mir einfach das nötige know how so wies aussieht..  
Aber vielleicht kann mir da doch jemand weiterhelfen…

Ich habe hier mein Projekt angehängt wo man sehen kann, was ich bis jetzt gemacht habe.

Im Programm “jalousie\_tests” habe ich den blind\_shade zum testen eingebaut.

Berechnet wird das ganze im Programm “schattenberechnung”  
Sonnenberechnung dient zum berechnen von sonnenaufgang/untergang für die Blind Night bausteine und das funktioniert ja sehr gut!

Was mache ich falsch, bzw. was fehlt mir hier noch, damit die Blind\_shade funktion läuft…

Jetzt im Winter ist das noch nicht so wichtig, da wir aber ein Passivhaus haben müssen wir dann im Sommer sehr auf die Beschattung achten und bis da hin solle das schon laufen… 😉

Ich danke euch schon mal vorab für eure hilfe!

LG  
Alex

[gelöscht durch Administrator]

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [7. Dezember 2012 um 12:27 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/11 "2012-12-07T12:27:31Z")

</div>

Kann mir denn wirklich niemand helfen? 😢

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [8. Dezember 2012 um 16:33 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/12 "2012-12-08T16:33:32Z")

</div>

Hi, ich will versuchen dir zu helfen.

Kannst du mir nen Screenshot vom Shade modul schicken, in dem ich sämtliche Setup-parameter von dir sehe.  
ich habe leider nur ne Siemens SPS, somit kann ich mit deinem Programm nix anfangen.

Gruß Stefan

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [27. Dezember 2012 um 18:39 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/13 "2012-12-27T18:39:51Z")

</div>

Hi!

Ich komm einfach nicht drauf, was ich falsch mache…  
Danke, daß du mir deine Hilfe anbietest.

Die Werte kann ich dir noch nicht liefern, da das Projekt nicht korrekt ist und es dadurch nicht laufen lassen kann…  
Ich hab mal 2 Screenshots angehängt, in denen man die Fehlermeldungen lesen kann und wie die Bausteine usw. eingetragen sind. Ich hoffe das hilft dir mal um das Problem zu verstehen.

Danke im Voraus!  
LG  
Alex

[gelöscht durch Administrator]

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [8. Januar 2013 um 10:03 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/14 "2013-01-08T10:03:05Z")

</div>

Fussel? kannst du dazu was sagen?

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [9. Januar 2013 um 05:28 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/15 "2013-01-09T05:28:17Z")

</div>

Hi!

Zu den Fehlermeldungen kann ich dir leider nix sagen, da ich selbst nur Siemens programmiere.

---

<div class="post-metadata">

**Author:** ![peewit](https://avatars.discourse-cdn.com/v4/letter/p/ecc23a/32.png) [@peewit](https://oscat.discourse.group/u/peewit)\
**Post date:** [9. Januar 2013 um 06:49 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/16 "2013-01-09T06:49:25Z")

</div>

das programm schattenberechnung hat einen in/out parameter namens xcal  
nun kannst du nicht einen anderen baustein als in/out referenz einen parameter eines programmes als referenz übergeben

beim aufruf des programmes schattenberechnung hast du ja eine xcal datenstruktur dem programm übergeben, und genau diese variable (xcal datenstruktur) musst du auch deinem blind-shade baustein übergeben

nachdem die bausteine anscheinend völlig verschiedene baustein instanzen sind, wirst du deine xcal-datenstruktur einfach global definieren müssen, und dann können beide darauf zugreifen

bei codesys ist es oft möglich direkt über die baustein.instanz auf die internen variablen zuzugreifen, das ist aber schlechter programmierstil, bzw. auch eine sache die die vorgesehene kapselung der daten unterläuft, und eigentlich ganz schlimm ist.

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [11. Januar 2013 um 05:38 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/17 "2013-01-11T05:38:11Z")

</div>

Ich habe jetzt im Programm Schattenberechnung die XCAL Variable von IN/Out auf Global umgewandelt.

Beim Blind\_Shade habe ich die Globale Varible nun übergeben…  
Jetzt bekomme ich beim Übersetzen keinen Fehler mehr zurückgeliefert.

Einspielen und testen muss ich es allerdings noch.

Ich werde mich wieder melden! 🙂

Bis dahin sage ich mal vielen Dank für die Unterstützung!

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [22. Januar 2013 um 10:02 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/18 "2013-01-22T10:02:01Z")

</div>

sooo… ich habe jetzt endlich den Baustein und alles drum und dran zum laufen gebracht.

Ich bedanke mich für die Unterstützung von einem Member von hier t.arni!

Ohne seiner Hilfe hätte ich ihn nicht zum laufen gebracht.

Es gibt aber noch eine Sache die wir auch gemeinsam nicht lösen konnten.

Und zwar berechnet der Calendar\_Calc Baustein Sonnenaufgang und Sonnenuntergang nicht korrekt.

Ich brechne für die Blind\_night Bausteine Sonnenauf- und Untergang mit dem Baustein Sun\_time. Dieser Baustein liefert andere Zeiten als Calendar\_calc.

Kann jemand sagen warum?

Im moment force ich die Werte von meinem Sun\_time in die XCAL Datenstruktur und damit funktioniert die Beschattung richtig. Aber das ist ja auch nicht die Lösung. Ausserdem frage ich mich ob dann auch der Sonnenstand falsch berechnet wird. Das kann ich derzeit noch nicht überprüfen, da schon seit Tagen keine Sonne scheint bei uns… 😉

Hat jemand eine Idee?

Im Screeshot sieht man in der Liste oben die Zeit die von Calendar\_calc berechnet wird und weiter unten die Zeiten die ich aus dem sun\_time baustein einfach in XCAL reinschreibe.

edit: einen Fehler habe ich selbst gefunden und aus dem Beitrag entfernt.

[gelöscht durch Administrator]

---

<div class="post-metadata">

**Author:** ![peewit](https://avatars.discourse-cdn.com/v4/letter/p/ecc23a/32.png) [@peewit](https://oscat.discourse.group/u/peewit)\
**Post date:** [24. Januar 2013 um 15:48 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/19 "2013-01-24T15:48:03Z")

</div>

hallo

der sun baustein berechnet den sonnen auf/untergang nur nach weltzeit

beim xcal baustein wird dann noch automatisch die lokalzeit berücksichtig (geo-offset 1 Stunde + Somerzeit ja/nein)

man sieht auch das beim sun-baustein das datum 2013-1-21 ist, und beim xcal ein datum vom 2013-1-22 steht  
aber was du da genau programmiert hast , kann ich so nicht bewerten

---

<div class="post-metadata">

**Author:** ![linsenpago](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/linsenpago/32/9_2.png) [@linsenpago](https://oscat.discourse.group/u/linsenpago)\
**Post date:** [24. Januar 2013 um 15:57 UTC](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393/20 "2013-01-24T15:57:11Z")

</div>

Ja, du hast recht… Da steht der 21.01. Das ist mir gar nicht aufgefallen.

Aber auch wenn da ein Tag Unterschied ist bei der Berechnung dürfte ja nicht so eine differenz beim Ergebniss rauskommen oder?

Ich werde aber meine Programmierung nochmals checken.

[Nächste Seite](https://oscat.discourse.group/t/sonnenstand-im-blind-shade-s/1393.md?page=2)
