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:
FUNCTION_BLOCK FB_BLIND_NIGHT
VAR_INPUT
UP, DN : BOOL;
S_IN : BYTE;
PI, AI : BYTE;
E_NIGHT : BOOL := TRUE;
E_DAY : BOOL := TRUE;
DTIN : DT;
SUNRISE, SUNSET : TOD;
END_VAR
VAR_INPUT CONSTANT
SUNRISE_OFFSET : TIME;
SUNSET_OFFSET : TIME;
NIGHT_POSITION : BYTE;
NIGHT_ANGLE : BYTE;
DAY_POSITION : BYTE;
DAY_ANGLE : BYTE;
END_VAR
VAR_OUTPUT
QU, QD : BOOL;
STATUS : BYTE;
PO, AO : BYTE;
END_VAR
VAR
night : BOOL;
day : BOOL;
last_night, last_day : DATE;
END_VAR
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
