Schlappendulli
Level-1
- Beiträge
- 29
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo,
ich bräuchte Hilfe mit folgendem Problem:
Per Wetterstation wird das Tageslicht gemessen. Z.B. bei 2 Lux sollen die Rolläden (nach Gruppendefinition) herunterfahren und z.B. bei 900 Lux wieder hochfahren.
Dazu muss ein Puls von ca 5s auf den KNX-Bus gesendet werden. Der jeweilige Rolladen in der Gruppendefinition (wird im HMI festgelegt) wird dann gefahren.
Folgender Code funktioniert einwandfrei für rauf und runter, aber leider jeweils nur 1x. Beim 2. Rauf- oder Runterfahren geht es nicht mehr.
Lokal definiert:
RTRIG_AB_Fahren,RTRIG_AUF_Fahren: R_TRIG;
Gr_P_AUF,Gr_P_AB: TOF;
AB_gefahren, AUF_gefahren: BOOL;
AB_fahren,AUF_fahren: BOOL;
Anhang anzeigen SPSForum.txt als formatierter Text
Vielleicht kennt jemand eine elegantere Lösung. Mit Pulse_T von Oscat hatte ich es auch schon versucht, hat auch nicht geklappt. Eine globale Definition von R_Trig und TOF ändert ebenfalls nichts.
Schönen Sonntag
ich bräuchte Hilfe mit folgendem Problem:
Per Wetterstation wird das Tageslicht gemessen. Z.B. bei 2 Lux sollen die Rolläden (nach Gruppendefinition) herunterfahren und z.B. bei 900 Lux wieder hochfahren.
Dazu muss ein Puls von ca 5s auf den KNX-Bus gesendet werden. Der jeweilige Rolladen in der Gruppendefinition (wird im HMI festgelegt) wird dann gefahren.
Folgender Code funktioniert einwandfrei für rauf und runter, aber leider jeweils nur 1x. Beim 2. Rauf- oder Runterfahren geht es nicht mehr.
Lokal definiert:
RTRIG_AB_Fahren,RTRIG_AUF_Fahren: R_TRIG;
Gr_P_AUF,Gr_P_AB: TOF;
AB_gefahren, AUF_gefahren: BOOL;
AB_fahren,AUF_fahren: BOOL;
Code:
[/B]
IF Tageslicht=Dunkelheit AND NOT AB_gefahren THEN
IF Gruppe_Auto_AB THEN
AB_fahren:=TRUE;
RTRIG_AB_Fahren(CLK:= AB_fahren);
Gr_P_AB(IN :=RTRIG_AB_Fahren.Q , PT:= T#5s);
GruppeAB_Tageslicht:=Gr_P_AB.Q;
IF NOT Gr_P_AB.Q THEN
AB_gefahren:=TRUE;
END_IF
AB_fahren:=FALSE;
END_IF
ELSIF Tageslicht=Helligkeit AND NOT AUF_gefahren THEN
IF Gruppe_Auto_AUF THEN
AUF_fahren:=TRUE;
RTRIG_AUF_Fahren(CLK:= AUF_fahren);
Gr_P_AUF(IN :=RTRIG_AUF_Fahren.Q , PT:= T#5s);
GruppeAUF_Tageslicht:=Gr_P_AUF.Q;
IF NOT Gr_P_AUF.Q THEN
AUF_gefahren:=TRUE;
END_IF
AUF_fahren:=FALSE;
END_IF
ELSIF Tageslicht>Helligkeit THEN
AB_gefahren:=FALSE;
ELSIF Tageslicht=0 THEN
AUF_gefahren:=FALSE;
END_IF
[B]
Anhang anzeigen SPSForum.txt als formatierter Text
Vielleicht kennt jemand eine elegantere Lösung. Mit Pulse_T von Oscat hatte ich es auch schon versucht, hat auch nicht geklappt. Eine globale Definition von R_Trig und TOF ändert ebenfalls nichts.
Schönen Sonntag
Zuletzt bearbeitet: