Hallo allerseits!
Ein Problem mit den Fensterkontaktschaltern lässt mir keine Ruh:
Funktionsweise:
Oben wird der Reedkontakt geschlossen, sobald der Fensterflügel sich im Fensterrahmen befindet. (Unterscheidung von geschlossen zu gekippt/geöffnet)
Unten wird der Reedkontakt geschlossen, sobald das Fenster auf Kipp gestellt wird. (Unterscheidung von gekippt zu geschlossen/geöffnet)
Ein Fenster hat bis auf die Bäder immer zwei Fensterflügel.
Soweit, so gut. Wird eins der beiden Fensterflügel nun auf Kipp gestellt, öffnen sich eins der beiden Kontakte im oberen Rahmen. Das gleiche gilt entsprechend auch für ganz geöffnete Fensterflügel. Ob der andere Fensterflügel dabei geschlossen bleibt ist uninteressant, demnach kann man die Kontakte einfach hintereinander schalten. Hier wird jetzt also erfolgreich festgestellt, ob das Fenster generell [geöffnet/gekippt] oder komplett [geschlossen] ist.
Schwieriger wird es jedoch mit dem unteren Kontakt. Dieser stellt nun fest, dass sich der linke Fensterflügel in der Stellung "Gekippt" befindet. Hier wird nun der Schalter geschlossen, im zweiten Fensterflügel ist der Fensterflügel zu, also der Reedkontakt ist offen und leitet nichts weiter.
Um dies zum umgehen kann man nun also die Reedkontakte einfach Parallel schalten. Sobald eins der Fenster nun auf Kipp geht, wird die Schaltung "gebrückt".
Ok, Fenster meldet "gekippt" - nur ist es jetzt aber so, dass ich das rechte Fenster grade geöffnet habe. Egal was der untere Kontakt nun von diesem Fensterflügel melden würde, der linke Fensterflügel meldet "gekippt" durch parallelschaltung. Grade jetzt ist jedoch das offene Fenster das eigentlich wichtige.
Jetzt die Frage: Wie löst man das ganze ohne eine eigene Logik davor schalten zu müssen? Ich habe pro Fenster nur zwei binäre Eingänge und damit drei Zustände: Geschlossen, Gekippt, Geöffnet.
Die Kontakte stehen so leider, da lässt sich nun nichts mehr dran ändern
Hier im Anhang das ganze noch in tabellarischer Form...
Viele Grüße,
Programmierer
Ein Problem mit den Fensterkontaktschaltern lässt mir keine Ruh:
Funktionsweise:
Oben wird der Reedkontakt geschlossen, sobald der Fensterflügel sich im Fensterrahmen befindet. (Unterscheidung von geschlossen zu gekippt/geöffnet)
Unten wird der Reedkontakt geschlossen, sobald das Fenster auf Kipp gestellt wird. (Unterscheidung von gekippt zu geschlossen/geöffnet)
Ein Fenster hat bis auf die Bäder immer zwei Fensterflügel.
Soweit, so gut. Wird eins der beiden Fensterflügel nun auf Kipp gestellt, öffnen sich eins der beiden Kontakte im oberen Rahmen. Das gleiche gilt entsprechend auch für ganz geöffnete Fensterflügel. Ob der andere Fensterflügel dabei geschlossen bleibt ist uninteressant, demnach kann man die Kontakte einfach hintereinander schalten. Hier wird jetzt also erfolgreich festgestellt, ob das Fenster generell [geöffnet/gekippt] oder komplett [geschlossen] ist.
Schwieriger wird es jedoch mit dem unteren Kontakt. Dieser stellt nun fest, dass sich der linke Fensterflügel in der Stellung "Gekippt" befindet. Hier wird nun der Schalter geschlossen, im zweiten Fensterflügel ist der Fensterflügel zu, also der Reedkontakt ist offen und leitet nichts weiter.
Um dies zum umgehen kann man nun also die Reedkontakte einfach Parallel schalten. Sobald eins der Fenster nun auf Kipp geht, wird die Schaltung "gebrückt".
Ok, Fenster meldet "gekippt" - nur ist es jetzt aber so, dass ich das rechte Fenster grade geöffnet habe. Egal was der untere Kontakt nun von diesem Fensterflügel melden würde, der linke Fensterflügel meldet "gekippt" durch parallelschaltung. Grade jetzt ist jedoch das offene Fenster das eigentlich wichtige.
Jetzt die Frage: Wie löst man das ganze ohne eine eigene Logik davor schalten zu müssen? Ich habe pro Fenster nur zwei binäre Eingänge und damit drei Zustände: Geschlossen, Gekippt, Geöffnet.
Die Kontakte stehen so leider, da lässt sich nun nichts mehr dran ändern
Hier im Anhang das ganze noch in tabellarischer Form...
Viele Grüße,
Programmierer
Kommentar