IPSView Workflow: Sicherheitssteuerung Pool-Wärmepumpe

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“ :wink:

Viele Grüße,
Markus

Nach Ablauf sieht es dann wie folgt aus:

„Keine Auslösung“ bleibt auf TRUE - allerdings nicht mehr „aktiv“,
Auslösung bleibt ebenfalls auf TRUE - allerdings rot / aktiv.

Gruß,
Markus

Nach einigem Probieren bin ich weitergekommen - der folgende recht übersichtliche Ablauf scheint erstmal zu funktionieren:

Änderungen:

  • Statt „invertiert“ Modul „Nicht“ verwendet → klappt für Boolean
  • Einführen eines Sub-Workflow für ein verzögertes Einschalten (SPS-Welt T.ON)

Mit dem nächsten Update wird vom Inverter Modul auch Boolean unterstützt :wink: