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
Hi!
Die Daten werden über die I/O Variable CX (Calendar) übertragen.
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
Am Eingang des Baustein einmalig fest auf True setzen und gut is.
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?
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
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? ::)
Gibts denn wirklich niemanden der mir hier weiterhelfen könnte?
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);
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]
Kann mir denn wirklich niemand helfen? :'(
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
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]
Fussel? kannst du dazu was sagen?
Hi!
Zu den Fehlermeldungen kann ich dir leider nix sagen, da ich selbst nur Siemens programmiere.
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.
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!
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]
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
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.
Hier mal ein Zwischenbericht zum Thema blind_shade in meinem Projekt:
Mittlerweile läuft die Berechnung - aber nur mit Umwege.
Warum im Sun-Baustein von Calendar_calc immer der Vortag drinnen steht, konnte ich nicht herausfinden. Es gibt keine Variable die diesen Tag hineinforced.
Genauso wenig warum die berechneten Sonnenauf- und Sonnenuntergangszeiten nicht stimmen (um 2 Stunden falsch).
Ich schreibe die Werte nun einfach in die XCAL Datenstruktur und gut ist. (ich habe zuvor schon die Funktion blind_night eingebaut und die Sonnenaufgangs- und Untergangszeiten extra berechnet).
Die Testläufe bei den 2-3 Tagen mit Sonnenschein haben sehr gut funktioniert. Ich musste nur bei den Werten für den Lamellenabstand ein bisschen schummeln, da die Lamellen nicht weit genug geschlossen wurden. Ich habe hier den Wert einfach um ein paar Millimeter erhöht und jetzt werden sie weit genug geschlossen, dass keine direkte Sonneneinstrahlung mehr ins Haus kommt. Bei den Offsetwinkeln muss ich auch noch ein wenig feintunen, damit die Beschattungfunktion sich zum richtigen Zeitpunkt deaktiviert - sie bleibt im Moment noch zu lange aktiv.
Jetzt muss ich nur noch den Sonnensensor bestellen und integrieren und damit steht der Automatischen Beschattung nichts mehr im Wege!