Hallo Zusammen,
ich habe etwas mit den Workflows herumgespielt - und wollte gerne den Hardwareschutz der Wärmepumpe als Workflow umsetzen.
Anforderung:
Die Pool-Wärmepumpe verfügt über keine eigene Zirkulationspumpe - sie darf daher nur eingeschaltet sein wenn der Pool-Filter eingeschaltet ist. Im Idealfall wird der Filter vorab eingeschaltet - nach einer gewissen Mindest-Laufzeit wird die Wärmepumpe nachgeschaltet. Beim Abschalten genau anders herum - erst die Wärmepumpe aus und nach nem gewissen Nachlauf der Filter aus.
Umsetzung:
Ich wollte ein mehrstufiges Konzept umsetzen:
- Basis-Absicherung: Sowohl WP als auch Filter hängen an der gleichen Phase - dadurch ist selbst im Falle eines SW-Bugs oder Kommunikationsproblems sichergestellt das auf keinem Fall die WP läuft wenn der Filter aus ist. Allerdings verfügt die WP über einen separat schaltbaren Zwischenstecker (default=AUS) welcher nach Zuschalten der Phase über IP-Symcon separat geschaltet werden kann - und hier kommen dann die Workflows mit ins Spiel.
Wo stehe ich gerade?
Und wo ist das Problem?
Die Einschaltsperre wird sauber umgesetzt - hier ist allerdings aufgefallen, dass das „Invertieren-Modul“ für Boolsche Werte nicht funktioniert. Bug oder Feature? Also Krücke: eigene Mapping-Tabelle. Funktioniert, ist aber nicht so schön.
Im nächsten Schritt muss erkannt werden das STATE=TRUE - und das für mindestens so viele Sekunden wie in der Variable „Vorlauf Filter in Sekunden“ spezifiziert. Da es leider keinen entsprechenden Baustein gibt (Wunschliste? Verzögertes Einschalten & Verzögertes Ausschalten) wollte ich das per „Einmaliger Timer“ umsetzen - allerdings scheint das ebenfalls nicht zu funktionieren:
- Egal ob Neustart/Aktiv oder Start als Eingang verwendet wird - Auslösung bleibt immer auf TRUE. Daher wird nicht erkannt ob der Timer seit dem Einschalten mindestens einmal durchlaufen ist - oder ob nicht
- Wenn Neustart/Aktiv oder Start = FALSE wird der Timer auch nicht abgebrochen - er läuft weiter und kann nicht mehr gestoppt werden
Irgend welche Vorschläge wie das einfach umzusetzen ist? Klar mit PHP, aber gerade für sowas hätte ich gehofft mit ein paar wenigen einfachen Bausteinen das gut umsetzen zu können… Bin da wohl aus meiner SPS-Vergangenheit etwas „vorgeschädigt“
Viele Grüße,
Markus