Appl_Dachfenster

Ansteuerung eines Dachfenstermotors (24V= Motor; z.B. von Velux) über zwei extern Relais (2xUM).

Funktionsübersicht

  • Position (Vorgabe über anzufahrende Fensterstellung; 0..100%)
  • Profile (abgespeicherte Positionen, z.B. für normales Lüften oder Lüften bei leichtem Regen…)
  • Einstellbare maximale Lüftungsdauer; Fenster fährt nach erreichen dieser Zeit automatisch wieder zu.
  • Lüftenkommando, um die momentane Lüftzeit zu verlängern/verkürzen, z.B. durch „nachtriggern“ (=Fensteröffnen-Taste bei offenem Fester drücken).
  • Parametrierbare Pausenzeit bei Richtungswechsel. Damit wird die mechanische Belastung durch schnelles Richtungsumschalten verringert – sowohl im Motor, als auch im Relais.

Hardwarevoraussetzungen

Knotenhardware mit zwei freien Relaisanschlüssen – wovon mindestens ein Relais 2xUM sein muss, das andere kann auch 2xEIN sein.
Der Anschluss des Motors muss so erfolgen:

Design und Implementationsdetails

Die Statemaschine zur Steuerung des Motors und Anfahren der gewünschten Position entspricht weitgehend der Statemaschine von Appl_Rolladen.
Der Unterschied zu Appl_Rolladen besteht hauptsächlich in den unterschiedlichen Parametern, die die beiden Applikationen verwenden (z.B. Lüftungsdauer gibt es nur bei Dachfenster…).

Das Anfahren der gewünschten Sollposition erledigt eine Statemaschine. Dass zehnmal 1% runterfahren nicht einmal 10% runterfahren entspricht und sich im Laufe der Zeit ein Fehler aufsummiert, wird durch automatisches Nachkalibrieren (bei Fahrten in die Begrenzung, also 0% oder 100%) ausgeregelt.

Die Sollposition kann von außen entweder als absolute Position oder als Kommando zum Hoch- oder Runterfahren geliefert werden. Die normale Verwendung ist jedoch, dass der Statemaschine nur mitgeteilt wird, dass der Hoch- oder Runtertaster gedrückt wurde. Dies geschieht entweder über CAN oder falls Notlauf erkannt wurde (Busausfall) auch über die lokal an dem Knoten angeschlossenen Taster, die dann automatisch zu Dachfensterverfahrtastern werden.

Die Rolladenapplikation steuert zwar zwei Relais an, verwendet hierzu aber nicht die Relaisapplikation, der sie z.B. nur die Steuerkommandos gibt, sondern schaltet die Relais selbst.

DoTable Dachfenster (DoType 0x18)

DoSi Beschreibung Typ/
Länge
Ort Min/Max
/Default
Auflösung
/Einheit
Datenart
0x00 Sollposition
u8 RAM
0/100/0
1/% Ctl, Bw, Br
0x01 Istposition
u8
RAM 0/100/0
1/% Ctl, Bw, Br
0x02 Restlüftdauer [s]
u16 RAM 0/18h/0 1/s Ctl, Bw, Br
0x03 Fensterfahrzeit für 1%
u8 EEP 0/255
/300ms
10/ms Cfg, Bw, Br
0x04 Pausenzeit bei
Richtungswechsel
u8 EEP 40/255
/400ms
10/ms Cfg, Bw, Br
0x05 ApplikationAktiv
u8 EEP 0/1/0 Cfg, Bw, Br
0x06 ProfilAktuell u8 RAM 0/15/0 Ctl, Bw, Br
0x07 RelativePosVorgabe u8 RAM Liste Ctl, Bw
0x08 MaxLüftungsdauer u16 EEP 0/18h/0 1/s Cfg, Bw, Br
0x09 Aktuelle Lüftungsdauer u16 RAM 0/18h/0 1/s Ctl, Bw, Br
0x0A Letzte Lüftungsdauer u16 RAM 0/18h/0 1/s Ctl, Bw, Br
0x0B PositionAufZeit [%] [s] virtuell
3Byte
RAM Ctl, Bw, Br
0x0C Lüftungszeitschritt u8 EEP 0/255/15 1/min Cfg, Bw, Br
0x0D Lüftenkommando u8 RAM Liste Ctl, Bw, Br
0x10 Profil0 Position u8 EEP 0/100/- 1/% Cfg, Bw, Br
0x1F Profil15 Position u8 EEP 0/100/- 1/% Cfg, Bw, Br
0x24 Relaisschaltspiele
Versorgungsrelais
u32 EEP
1/- Lcfg, Bw, Br
0x25 Relaisschaltspiele
Richtungsrelais
u32 EEP 1/- Lcfg, Bw, Br

Der DotParameter „RelativePosVorgabe“ kennt folgende Kommandos:
0: keine Bewegung
251: Tue so, als sei der Verfahrtaster_Hoch gedrückt
252: Tue so, als sei der Verfahrtaster_Runter gedrückt
253: Abwärtsbewegung starten
254: Aufwärtsbewegung starten
255: Stopp
Der Parameter ist nicht auslesbar.

Der DotParameter „Lüftenkommando“ kennt folgende Kommandos:
201: Restlüftdauer um „Lüftungszeitschritt“ verlängern
202: Restlüftdauer um „Lüftungszeitschritt“ verringern
Der Parameter ist nicht auslesbar.

BoTable Dachfenster (DoType 0x18)

BoIndex: 0x00
Zykluszeit: 5000ms (bei Änderung sofort)
Sperrzeit (Inhibittime): 250ms
Datenlänge: 8Byte

Byte
Beschreibung
Byte0 DF0: Istposition
Byte1 DF0:Restlüftdauer (in min!)
Byte2 DF0:aktuelle Lüftungsdauer (in min!)
Byte3 DF0:Letzte Lüftungsdauer (in min!)
Byte4 DF1: Istposition
Byte5 DF1:Restlüftdauer (in min!)
Byte6 DF1:aktuelle Lüftungsdauer (in min!)
Byte7 DF1:Letzte Lüftungsdauer (in min!)