Blind_Night

Begonnen von ColdIce, 21. November 2012, 13:58:03

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 5 Gäste betrachten dieses Thema.

ColdIce

Ich spreche hier nochmal ein Thema an was schon öfter diskutiert wurde aber irgendwie keine Lösung für mich herauskam.

Ich verwende:

Blind_Input -> Blind_Security-> Blind_Night -> Blind_Control_S     für mein Rolladen (siehe Anhang).

Bedienung über Taster ( T11/ T22) funktioniert. Wind und Rain funktionieren auch.

Der viel gescholtene Baustein "Blind_Night" macht nicht das was er soll. Er fährt weder hoch bei Sonnenaufgang noch fährt er runter bei Sonnenuntergang.

Was mache ich falsch ?


[gelöscht durch Administrator]

linsenpago

also, ich bin hier auch kein Profi und kämpfe noch mit meiner Programmierung aber die Blind_Night laufen bei mir einwandfrei.

Vom Bild her würde ich keinen Fehler finden.

Bist du dir sicher, dass die Schaltung im Automatikmodus ist, wenn sie zugehen von blind_night geschlossen werden sollen?
Standardmäßig ist ein timeout von einer Stunde eingestellt. D.h. wenn du eine Stunde bevor sie automatisch zugehen sollen, etwas gemacht hast mit deinen Rolläden, dann ist die Schaltung nicht in Automatik und macht deshalb auch nicht zu.
Ich habe bei mir das Timeout auf 5min runtergedreht.

Das Aufgehen bei Sonnenaufgang macht nicht der Blind_night Baustein sondern im Grunde genommen Blind_input.
Blind_Night schaltet sich zum Sonnenaufgang nur ab und die Werte von Blind_input werden übernommen.
Das aber auch nur wenn der blind_input den Master_mode auf "TRUE" hat. Wenn der Master_mode auf TRUE gestellt ist, dann nimmt der Rolladen die Position vom Vortag wieder ein. Das bedeutet auch, wenn der Rolladen vor dem automatischen Schließen zu war, dann bleibt er auch in der früh zu.

Wenn der Master_mode nicht auf true ist, dann fährt blind_night nur runter und auf gar keinen fall wieder hoch.

lg

linsenpago

Was mir noch dazu eingefallen ist:

1. Der blind security sollte auf jeden fall als letzter Baustein vor blind_control sitzen. Da er sonst von vorgeschaltenen Bausteinen ausgehebelt werden kann.

2. Was mir bei meiner Steuerung auch noch aufgefallen ist - Wenn ich das Programm komplett neu auf die Steuerung spiele (also kein Online Change) dann brauch der Baustein immer einen kompletten Durchlauf (also Sonnenuntergang und Sonnenaufgang) bis der dann von alleine vollautomatisch funktioniert.

Ich mache meistens einen Online Change, wenn ich an meiner Programmierung arbeite, aber wenn ich doch mal neu laden muss, dann muss ich halt einen Abend und einen Morgen manuell meine Raffstores bedienen.

Weiß jemand warum das so ist?

thuebi84

Zitat von: linsenpago in 11. Februar 2013, 15:30:54
2. Was mir bei meiner Steuerung auch noch aufgefallen ist - Wenn ich das Programm komplett neu auf die Steuerung spiele (also kein Online Change) dann brauch der Baustein immer einen kompletten Durchlauf (also Sonnenuntergang und Sonnenaufgang) bis der dann von alleine vollautomatisch funktioniert.

Hi,

du bearbeitest dein Baustein SUN_TIME wahrscheinlich nur einmal am Tag, vorzugsweise Nachts? Somit sind die Daten vom SUN_TIME gelöscht und der Baustein muss erst wieder bearbeitet werden. Du könntest mit LE einen Wert vom SUN_TIME mit null vergleichen und damit den Baustein SUN_TIME einmalig anstossen.

Gruß Thomas

thuebi84

Da ich grad selber mit dem BLIND_NIGHT programmiere, ist mir evtl. noch eine Ursache für dein Problem eingefallen. Im Programm muss das synchronisieren der Uhrzeit, sowie dein SUN_TIME Baustein unbedingt vor dem BLIND_NIGHT bearbeitet werden.
Wenn an DTIN die aktuelle Uhrzeit anstehen würde, im gleichen Zyklus die Sonnenzeiten aber noch auf null sind, speichert er sich intern das aktuelle Datum und es funktioniert dann erst am nächsten Tag.

Ich hoffe ich konnte dir helfen ;-)

Gruß Thomas

linsenpago

Hi!

Danke für das Feedback!

Ich berechne in der Tat nicht ständig die Sonnenauf- und untergangszeiten. Aber es läuft alle 240 Minuten einmal durch... Falls zwischendurch mal der Strom weg ist oder ich die Steuerung neu starte...

Das bedeutet, dass bei mir das so abläuft wie du beschrieben hast, dass die aktuelle Zeit anliegt aber die Sonnenzeiten noch null sind.

Aber wie löse ich das, dass der Baustein zuerst die Zeiten berechnet und dann erst über die Blind_Nights fährt?
Oder gibts ne Möglichkeit die Blind_nights nochmal anzustossen, damit sie sich etwas später die Zeiten holen und abspeichern?

LG
Alex

thuebi84

Ganz falscher Ansatz!

Du musst schaun das die Zeiten vorher berechnet werden. Anbei ist ein Screenshot wie ich das momentan gelöst habe.
Das Netzwerk muss vor Blind und nach UTC bearbeitet werden. Das obere LE vergleicht ob der erste Wert kleiner oder gleich der zweite Wert ist, d.h. wenn deine Werte Null sind dann wird der Ausgang vom LE 1. Beim zweiten LE wird der einmalige tägliche durchlauf angestossen, d.h. zwischen 00:00:00 Uhr und 00:01:00 Uhr also eine Sekunde wird der Ausgang vom LE 1. Ich hab das ODER dann noch negiert und mit dem Ausgang überspringe ich dann den Baustein SUN_TIME. In der einen Sekunde wird der Baustein ca. 100x bearbeitet, das reicht ;-) . Wichtig, unbedingt die Weltzeit benutzen und nicht die Lokalzeit, sonst bist du mit deinen Sonnenzeiten immer einen Tag hinterher.

Einfacher, hab ich aber noch nicht probiert:
Im allerletzten Aufruf setzt du einen nicht remanenten Merker auf 1, somit hast du ein Merker für einen Neustart der SPS. Du musst das jetzt nur noch dementsprechend verknüpfen. Beim ersten Durchlauf nach Neustart ist der Merker 0 und beim zweiten bleibt er so lange die SPS läuft auf 1.

Ich hoffe ich konnte dir helfen.

Gruß Thomas

[gelöscht durch Administrator]

linsenpago

Klingt logisch..

Das Problem, daß ich jetzt nur noch habe ist, wie stoße ich mit einem Boolschen Wert die Berechnung des Sun_time Bausteines an?

Noch zur Info:
Ich habe den größten Teil meiner Programmierung in CFC gemacht und nur meine SMS Steuerung in FUP und ST geschrieben.
Also die Jalousien und Sonnenberechnung sind bei mir in CFC.

Derzeit habe ich die Sonnenberechnung per Task auf alle 240 min. beschränkt.

LG
Alex

Fussel0804

Hi!

Ich hab zwar ne Siemens SPS möchte aber meine einfache Art der Berechnung posten.
Ich nehme einen nicht remanenten Merker.
Ist der Merker auf FALSE dann berechne ich die SunTime und setze nach der Berechnung den Merker auf True
Mit dem Tageswechsel um Mitternacht setze ich den Merker auf False und die berechnugn läuft erneut durch. (1x am Tag)

Gruß Stefan

pc1246

Zitat von: Fussel0804 in 11. März 2013, 10:37:17
Hi!

Ich hab zwar ne Siemens SPS möchte aber meine einfache Art der Berechnung posten.

SCHNIPP

Gruß Stefan

Hallo Fussel0804
Ich wollte mich jetzt auch mal an die OSCAT-Bausteine machen! Ich habe auch eine S7! Ich verstehe das mit der Datenstruktur vom Typ CALENDAR nur nicht! In dem Beispiel im Handbuch sieht das eh ein wenig anders aus als der Baustein wirklich aussieht! Gibt es denn irgendwo Beispiele, bzw. kannst Du mir evtl. Dein Projekt mal geben, damit ich eine Idee bekomme!
Danke und Gruss

Christoph