Automatischer Türschließer

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Re: Automatischer Türschließer

Beitrag von leknilk0815 » 24.01.2010, 13:06

Servus,
ich habe mir, um die Türe zur Speisekammer automatisch zu schließen, ein Problem aufgehalst, mit dem ich nicht ganz zurande komme, nachdem ich das Ganze noch um einen FS20OE Bewegungsmelder ergänzt habe. Die Steuerung funktioniert momentan irgendwie, irgendwie aber auch manchmal nicht...

Beteiligte Module sind:

**! HMS100TF = SpeisekammerTuere
**! HMS100TF = SpeisekammerTuereAlarm (gleicher Sensor, dient zur Korrektur bei Funkausfällen)
**! FS20SM4 = SKTIntervall
**! FS20SM4 = SKTstrom
**! FS20OE = FS20OESpeisekammer, Variable = Speisekammerbewegung

Funktionieren soll es so:
Wenn die Türe geöffnet wird, löst der HMS nach einer Warteschleife den FS20SM4(K1) "SKTIntervall"
aus, welcher den Türschließer einschaltet. Das ist die Grundfunktion, die benötigt wird, wenn der Kater
die Türe öffnet.
Da aber auch wir die Türe öffnen, wird einem so immer, wenn man länger als die Warteschleife in der Speisekammer
ist, die Tür zugeknallt. Um das zu vermeiden, kommt der FS20OE ins Spiel.
Wenn jemand reingeht, löst er den FS20OE "FS20OESpeisekammer" aus. Diesen habe ich mit einer Variablen "Speisekammerbewegung" versehen, welche beim ersten Auslösen (Betreten) auf "1" gesetzt wird, beim zweiten Auslösen (Verlassen) wieder auf "0" zurückgesetzt wird. Der Türschließer darf also nicht einschalten, solange diese Variable auf "1" ist, muss aber trotzdem,
wenn die Variable auf "0" zurückgesetzt wurde den Türschließer in Gang setzen.
Weitere Bedingung ist, daß die Variable, auch wenn kein zweiter "Durchgang" erfolgt, nach einer gewissen Zeit (10 Minuten) wieder auf "0" zurückgesetzt wird, da ja auch mal ein Funkausfall passieren kann oder jemand nicht "durchgeht", sondern den OE-Sensor nur einmal auslöst.
Dann ist noch eine Sicherheitsschaltung nötig, die den Strom über den zweiten FS20SM4(K2) "SKTstrom" unterbricht, wenn
aus irgendeinem Grund die Tür nach drei Versuchen nicht geschlossen werden kann, damit der Türschließer nicht stundenlang versucht, die (evt. blockierte) Tür zu schließen ("SKTstrom = ein" bedeutet, Relais angezogen - Strom für Türschließer abgeschaltet). Diese Sicherung sollte nach ca. 30 Minuten wieder zurückgesetzt werden.
Und - zu guter letzt, sollte, falls ein Signal des HMS untergeht, dessen nächstes Signal berücksichtigt werden und, dem Zustand entsprechend, reagiert werden.
Dafür habe ich den HMS100TF ein zweites Mal angelegt ("SpeisekammerTuereAlarm") und mit dem Makro:

wenn SpeisekammerTuereAlarm = "geschlossen" dann
verlassen
endewenn

SpeisekammerTuereAlarm:= "geschlossen" ....

versehen, damit eine Zustandsänderung gegeben ist.

Da das Ganze ziemlich unübersichtlich geworden ist, die Frage: ist es möglich, (möglichst) alles in einem gemeinsamen Makro
abzufackeln?
Daran bin ich ziemlich kläglich gescheitert, obwohl die einzelnen Makros im Zusammenspiel (bis auf ein paar Ausnahmen) fast zufriedenstellend, aber halt nicht perfekt, funktionieren.
Die verwendeten Makros hab ich angehängt.

Vielen Dank vorab für jede Hilfe!
Dateianhänge
SpeisekammerTuereAlarm.txt
(1.4 KiB) 81-mal heruntergeladen
SpeisekammerTuere.txt
(1.36 KiB) 76-mal heruntergeladen
FS20OESpeisekammer.txt
(1.5 KiB) 79-mal heruntergeladen
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Automatischer Türschließer

Beitrag von buempi » 24.01.2010, 17:21

Hallo Toni

Damit du nicht zwei Makros für den HMS-Sensor erstellen musst, aber trotzdem richtig reagiert wird, wenn zwischendurch mal ein Signal ausfällt, musst du - wie das Thomas vorgeschlagen hat - eine eigene Typdefinition anlegen mit folgenden Zuständen:

- offen
- geschlossen
- auf
- zu

Je nachdem, wie der Jumper beim HMS gesetzt ist, musst du die Reihenfolge der ersten beiden Zustände vertauschen.

Alles in ein einziges Makro zu packen ist nicht möglich. Man kann das Makro im FS20OE aber deutlich verkürzen:

Code: Alles auswählen

wenn Speisekammerbewegung = 1 dann
   Speisekammerbewegung := 0
sonst
   Speisekammerbewegung := 1
   warte("00:05:00")
   Speisekammerbewegung := 0
endewenn

FS20OESpeisekammer ausschalten
SpeisekammerTuereAlarm kannst du löschen und SpeisekammerTuere wie folgt ändern:

Code: Alles auswählen

wenn SpeisekammerTuere = "offen" dann
   SpeisekammerTuere := "auf"
sonst
   SpeisekammerTuere := "zu"
endewenn

wenn SpeisekammerTuere = "zu" dann
   FS20OESpeisekammer.Speisekammerbewegung := 0
   FS20OESpeisekammer ausschalten
   ** Strom wird ausgeschaltet:
   SKTstrom einschalten
   warte("00:00:01")
   Sendewert(SKTstrom)
   warte("00:00:01")
   Sendewert(SKTstrom)
   verlassen
endewenn

Warteschleife:

warte("00:00:03")

wenn FS20OESpeisekammer.Speisekammebewegung = 0 dann
   ** Strom wird eingeschaltet
   SKTstrom ausschalten
   Wave-Datei abspielen ("D:\install\FHZ1xxxPC Contronics\Projekte\sounds\Tuer.wav")
   warte("00:00:01")
   Sendewert(SKTstrom)
   warte("00:00:01")
   Sendewert(SKTstrom)
   warte("00:00:01")
   SKTIntervall einschalten für "00:00:02"
   warte("00:00:50")
   SKTIntervall einschalten für "00:00:02"
   warte("00:00:50")
   SKTIntervall einschalten für "00:00:02"
   warte("00:00:50")
   SKTstrom einschalten
   warte("00:00:01")
   Sendewert(SKTstrom)
   warte("00:00:01")
   Sendewert(SKTstrom)
sonst
   gehezu Warteschleife
endewenn
Ich hoffe, dass ich alles bedacht habe. Das wird sich ja in der Praxis dann zeigen...

Viele Grüsse
Bümpi

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Automatischer Türschließer

Beitrag von buempi » 24.01.2010, 19:21

Hallo Toni

Ich habe doch was übersehen! Die HMS senden ja jeden Zustandswechsel 3x! Mit der eigenen Typ-Definition wird so das Makro auch 3x gestartet.

Verursacht es eine Störung bei deinem Scheibenwischer-Motor, wenn vor Ablauf der 50 Sekunden ein zweites Mal eingeschaltet wird? - Auch die WAV-Datei könnte so mehrmals zu hören sein...

Wenn es sonst richtig läuft, kann man beides verhindern - falls gewünscht.

Viele Grüsse
Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Re: Automatischer Türschließer

Beitrag von leknilk0815 » 24.01.2010, 19:34

Servus Bümpi,
danke wie immer für die schnelle Hilfe!
Ich hab die Makros mal eingespielt und die Änderungen durchgeführt,
allerdings muss ich da noch feilen, da sind noch ein paar Bugs drin.
Hauptfehler ist, SKTstrom wird gleich zu Anfang eingeschaltet, wenn die Tür zu ist.
Damit wäre das Relais im Ruhezustand permanent angezogen, was natürlich ungünstig ist.
Dann bleibt die Tür, wenn der FS20OESpeisekammer ausgelöst wird, offen, es kommt kein Befehl,
die Tür zu schließen.
Die Grundfunktion, die Tür wieder zu schließen, funktioniert, allerdings wird die Tür schon nach ca. 10s wieder geschlossen,
was natürlich zu kurz ist.
Ich muss erst mal die Reaktionen genau herausfinden und dann die Makros entsprechend ändern.
Aber der Ansatz dürfte in die richtige Richtung gehen, hinter die "Fehlleistungen" komme ich (hoffentlich) noch.
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Automatischer Türschließer

Beitrag von buempi » 24.01.2010, 19:52

Hallo Toni
leknilk0815 hat geschrieben:Hauptfehler ist, SKTstrom wird gleich zu Anfang eingeschaltet, wenn die Tür zu ist. Damit wäre das Relais im Ruhezustand permanent angezogen, was natürlich ungünstig ist.
Stimmt! Das kann man ja ganz einfach weglassen. Bei geschlossener Türe liegt bestimmt keine Blockierung vor...
leknilk0815 hat geschrieben:Dann bleibt die Tür, wenn der FS20OESpeisekammer ausgelöst wird, offen, es kommt kein Befehl, die Tür zu schließen
... müsste schon; entweder beim zweiten Auslösen des Sensors oder spätestens nach 5 Minuten
leknilk0815 hat geschrieben:allerdings wird die Tür schon nach ca. 10s wieder geschlossen
... aber doch nur, wenn der FS20OE nicht ausgelöst hat; also der Kater die Türe geöffnet hat. Ist das nicht gut so?

Viele Grüsse
Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Re: Automatischer Türschließer

Beitrag von leknilk0815 » 24.01.2010, 20:13

So, ich hab jetzt das SKTstrom- Ausschalten entfernt, es läuft besser.
Aber das Auslösen des FS20OESpeisekammer bringt keinerlei Reaktion, die Tür wird geschlossen als ob niemand durchgegangen wäre.

Hier mal das Makro, wie es derzeit aussieht:

Code: Alles auswählen

wenn SpeisekammerTuere = "offen" dann
   SpeisekammerTuere := "auf"
sonst
   SpeisekammerTuere := "zu"
endewenn

wenn SpeisekammerTuere = "zu" dann
   FS20OESpeisekammer.Speisekammerbewegung := 0
   FS20OESpeisekammer ausschalten

   verlassen
endewenn

Warteschleife:

warte("00:00:03")

wenn FS20OESpeisekammer.Speisekammerbewegung = 0 dann
   ** Strom wird eingeschaltet
   SKTstrom ausschalten
   Wave-Datei abspielen ("D:\install\FHZ1xxxPC Contronics\Projekte\sounds\Tuer.wav")
   warte("00:00:01")
   Sendewert(SKTstrom)
   warte("00:00:01")
   Sendewert(SKTstrom)
   warte("00:00:01")
   SKTIntervall einschalten für "00:00:02"
   warte("00:00:50")
   SKTIntervall einschalten für "00:00:02"
   warte("00:00:50")
   SKTIntervall einschalten für "00:00:02"
   warte("00:00:50")
   SKTstrom einschalten
   warte("00:00:01")
   Sendewert(SKTstrom)
   warte("00:00:01")
   Sendewert(SKTstrom)
sonst
   gehezu Warteschleife
endewenn
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Re: Automatischer Türschließer

Beitrag von leknilk0815 » 24.01.2010, 20:31

Kann es sein, daß sich der FS20OE selber zurücksetzt bzw. die Variable?
Der Sensor sendet bei Auslösung erst ein "Ein" und bei verlassen des Bereichs ein "Aus".
Wenn man also durchgeht, erst Ein und dann Aus...
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Automatischer Türschließer

Beitrag von buempi » 25.01.2010, 08:00

Hallo Toni

Ich kenne den FS20OE nicht und bin deshalb davon ausgegangen, dass er wie ein PIRI arbeitet. Das ist aber nicht der Fall. Habe mir jetzt die Betriebsanleitung angeschaut: Er sendet EIN und AUS - jedenfalls in der Werkseinstellung! Man könnte das abändern, aber besser ist es, wenn wir das Makro entsprechend anpassen:

Code: Alles auswählen

wenn FS20OESpeisekammer eingeschaltet dann

   wenn Speisekammerbewegung = 1 dann
      Speisekammerbewegung := 0
   sonst
      Speisekammerbewegung := 1
   endewenn

sonst

   wenn Speisekammerbewegung = 1 dann
      warte("00:05:00")
      Speisekammerbewegung := 0
   endewenn

endewenn
Du musst noch testen, wie es zuverlässiger läuft: Jumper 1 gesteckt (AUS kommt erst nach 3 Sekunden) oder Jumper 1 offen (AUS kommt sofort).

Viele Grüsse
Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Re: Automatischer Türschließer

Beitrag von leknilk0815 » 25.01.2010, 08:45

Servus,
sorry, daß ich das nicht gleich geschrieben hatte...
Abstellen kann man den Aus- Befehl aber nicht, zumindest habe ich nichts dergleichen gefunden.
Nur "sofort" oder "3s" ist einstellbar.
Ich werds heut abend testen, melde mich dann.
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Automatischer Türschließer

Beitrag von buempi » 25.01.2010, 09:25

Hallo Toni
leknilk0815 hat geschrieben:Abstellen kann man den Aus- Befehl aber nicht
Habe nochmals in die Bedienungsanleitung geschaut. Diesen Abschnitt auf Seite 15 habe ich entsprechend interpretiert:
Drücken Sie Taste 2 (4) für ca. 5 Sek.,
bis die Status-LED blinkt.
Geben Sie den gewünschten Schalbefehl
über die Tasten 1 bis 4 nach der
folgenden Tabelle ein:
Taste Ges. Schaltbefehle
1 Einschaltbefehl
2 Ausschaltbefehl
3 Ein- & Ausschaltbefehl
4 Kein Schaltbefehl
Nach Eingabe der vierten Ziffer verlischt
die Status-LED.
Was da mit der "vierten Ziffer" gemeint ist, ist mir allerdings schleierhaft!

Jetzt ist mir aber auf der gleichen Seite noch etwas aufgefallen, was ich vorher übersehen hatte:
Zur Sicherheit werden die Ein- und Ausschaltbefehle
grundsätzlich zweimal übertragen
Eine tolle Sache! Haben die endlich was dazugelernt?

Das beudeutet nun aber, dass das Makro immer noch nicht laufen dürfte. Wenn dem so ist, versuch folgendes:

Code: Alles auswählen

** Variable AlterZustand, Typ Zeichen
wenn FS20OESpeisekammer <> AlterZustand dann
   AlterZustand := FS20OESpeisekammer
   ** auf zweites Signal warten
   warte("00:00:01")
endewenn

wenn FS20OESpeisekammer eingeschaltet dann

   wenn Speisekammerbewegung = 1 dann
      Speisekammerbewegung := 0
   sonst
      Speisekammerbewegung := 1
   endewenn

sonst

   wenn Speisekammerbewegung = 1
      warte("00:05:00")
      Speisekammerbewegung := 0
   endewenn

endewenn
Viele Grüsse
Bümpi

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“