die neuen module xblind werden nun über ein strukt vom typ blind verbunden und mittels ausführungsreihenfolge wird die priorität der module festgelegt.
wichtig ist dabei das als letztes modul xblind_ctrl2 ausgeführt wird und direkt davor xblind_input shade und night müssen in der reihenfolge von input ausgeführt werden.
neue funktionen in input sind ein beidseitiger langer tastendruck der den manual timeout vorzeitig beendet und ein doppelter druck länger als 5 sekunden springt in den kalibrier modus der es erlaubt mittels tasendrücken die laufzeiten zu ermitteln (manuelle kalibration).
ctrl2 hat nun 2 eingänge force_up und force_dn die eine aufschaltung von winbd und alarm direkt auf den baustein erlauben. werden mehrere force_up oder down benötogt kann dort einfach ein oder gatter vorgeschaltet werden.
ctrl arbeitet nun selbständig bei allen zykluszeiten und muss nicht mehr an die zykluszeit angepasst werden.
blind night hat nun weitere funktionalitäten und kann auch die jalousie morgens selbständig hochfahren.
sorry die dokumentation fehlt leider noch, die bausteine haben auch noch nicht den finalen stand
VorsichT !!! die building 1.10 benötigt die 3.31 beta hier aus dem forum !!!
wann wird es denn die neuen BLIND_ Funktionen für alle anderen Plattformen geben?
Wenn ich das richtig sehe, dann ist die Bibliothek nur für Codesys geeignet, oder?
IF CX.LDATE <> last_set THEN (* event is only generated once per day *)
tmp := DINT_TO_TOD(TOD_TO_DINT(CX.SUN_SET) + SET_OFFSET * 60000);
IF (CX.LTOD > TSB AND cx.LTOD > tmp) OR CX.LTOD > TSE THEN
last_set := CX.LDATE;
timer(IN := TRUE, PT := TIMEOUT);
status := 101;
END_IF;
ELSIF CX.LDATE <> last_rise THEN (* event is only generated once per day *)
tmp := DINT_TO_TOD(TOD_TO_DINT(CX.SUN_RISE) + RISE_OFFSET * 60000);
IF (CX.LTOD > TRB AND CX.LTOD > tmp) OR CX.LTOD > TRE THEN
last_rise := CX.LDATE;
timer(IN := TRUE, PT := TIMEOUT);
STATUS := 102;
END_IF;
ELSE
timer.IN := FALSE;
END_IF;
Das würde bedeuten, ein neuer Tag beginnt und bei der If schleife würde dann CX.LDATE <> last_set so lange TRUE sein bis die Sonne untergegangen ist. Dann würde der elsif Zweig berücksichtigt dort ist aber die Sonnenaufgangsbedingung.
Fazit ich glaube die if und elsif sollten vertauscht werden.
Was bringt eigentlicht die Zuweisung timer.IN := FALSE; im else Zweig ???
Bei Aufruf des Timerbausteins wird sowieso dann immer IN:= TRUE mitgegeben.
Bin ich mit meiner Behauptung auf den Holzweg und ich habe gerade einen Knopf im Kopf?
ich bin noch immer beim Testen der Bausteine mir fehlt leider etwas Zeit.
Wie ist denn der aktuelle Stand hierzu?
Hat sich nach dem Beitrag von GA-Home noch etwas geändert?
Wird die Beta 3.31 noch benötigt oder kann auch die 3.32 verwendet werden?
wie kann ich die Building 110 .lib Datei im PCWorx denn einbinden? Ich habe es versucht und mir ist keine Möglichkeit eingefallen…
Oder gibt es mittlerweile schon ein PCWorx Projekt dazu?
mich würden die xblind Bausteine interssieren.
Gibt es hierzu schon einen akutellern Stand und evtl auch eine knappe Beschreibung. Ich brauch keinen ausgefeilten Text, ein Klartext zu den Parametern würde mir schon genügen.
Ich habe nämlich mit dem BLIND_NIGHT auch das Problem, dass der Baustein die Rollos nicht mehr hochfährt weil im Baustein das gar nicht programmiert ist.
Wenn ich es richtig verstanden habe bekommen wir bald einige neue Versionen der BLIND Bausteine?!?
Sehe ich genauso… die Jalousie wird nie hochfahren wenn die IF Schleife so rum steht.
Des Weiteren finde ich es nicht schlüssig den SUNRISE OFFSET zu addieren.
Ich möchte doch gerne 5Minuten vor Sonnenaufgang den Rollo öffnen und den Sonnenaufgang zu sehen und nicht, dass der Rollo erst 5min nach Sonnenaufgang hochfährt.
Bein Sonnenuntergang ist es richtig, dass ich den Untergang sehen will und 5Min später der Rollo runterfährt.
Jetzt ist der Beitrag fast ein Jahr alt.
Entweder liege ich auch daneben oder es halt noch keiner den Baustein in Betrieb.
Ich kämpfe ich mich grad druch INPUT,DEFAULT,NIGHT und CTRL2 und berichte später noch einmal ob läuft.
Ich habe den aktuellen BLIND_NIGHT geändert, dass er morgens auch hoch fährt!
Ich poste hier den Code. Damit kann man sich dann einfach einen eigenen FB machen um die OSACT-Lib nicht zu ändern!
Ich übernehme keine Garantie oder Gewährleistung, dass der Baustein funktioniert… das hier ist ausdrücklich nur eine Hilfestellung oder Anregung! Jeder muss natürlich selbst testen ob alles passt!
Ich habe diesen Baustein hier zu Hause an meinem Rollladen getestet:
IF NOT (up AND dn) AND (night OR day) THEN
(* manual operation at night/day will cancel operation for one night/day *)
night := FALSE;
day := FALSE;
ELSIF (DT_TO_TOD(dtin) > sunset + sunset_offset) AND (last_night < DT_TO_DATE(dtin)) AND NOT night AND e_night THEN
(* enable night *)
day := FALSE;
night := TRUE;
last_night := DT_TO_DATE(dtin);
ELSIF (DT_TO_TOD(dtin) > sunrise + sunrise_offset) AND (last_day < DT_TO_DATE(dtin)) AND NOT day AND e_day AND (last_night < DT_TO_DATE(dtin)) THEN
(* enable day *)
night := FALSE;
day := TRUE;
last_day := DT_TO_DATE(dtin);
END_IF;
(* night/day motion only in auto mode *)
IF UP AND DN AND night AND NOT day THEN
status := 141;
po := night_position;
ao := night_angle;
ELSIF UP AND DN AND day AND NOT night THEN
status := 142;
po := day_position;
ao := day_angle;
ELSE
QU := UP;
QD := DN;
po := pi;
ao := ai;
status := s_in;
END_IF;
Im Großen und Ganzen ist der Baustein gleich. Er wurde nur ergänzt bzw. erweitert.
Neu sind die Variablen day, day_position und day_angle.
Hoffe das hilft einigen weiter.
Wer Fehler sieht bitte melden!
Danke
EDIT: Gestern Abend ging der Rollo runter und heute Morgen wieder hoch