Hallo miteinander,
der Baustein LBS19000705 - Abweichungsdetektor v1.1 kann dazu verwendet werden, sprunghafte Abweichungen bei zyklischen Werten zu erkennen.
Beispiel (m)eines konkreten Anwendungsfalles:
Überwachung der Spül-Zyklen der Entkalkungsanlage
Nachdem es wiederholt passiert ist, dass ich versäumt habe, das Salz der Entkalkungsanlage nachzufüllen, mir die Anlage aber nicht selbst sagen kann, wann es dafür Zeit ist, musste eine andere Lösung her. Irgendwo im Netz oder auch hier im Forum fand ich die Idee, starke Temperaturschwankungen am Spül-Abfluss der Entkalkungsanlage zu überwachen und damit die Anzahl der Spülvorgänge zu zählen. Nach X Spülvorgängen ist der Salzvorrat dann so langsam aufgebraucht, so dass eine entsprechende Alarmierung erfolgen kann.
Also habe ich einen 1Wire-Anlegetemperaturfühler montiert und schreibe dessen Werte bei Änderung auf den Bus. Im Normalfall bleibt die Temperatur immer in etwa gleich bzw. ändert sich nur sehr langsam. Läuft nun nachts aber ein Spülvorgang, sieht das bspw. wie folgt aus:
2017-04-18-RRD_small.png
Die rote Kurve zeigt die Temperatur des Spül-Abfluss der Entkalkungsanlage mit einem Spülvorgang nachts um ca. 02:15 Uhr.
Um nun bei einem solchen Vorgang zu reagieren (Benachrichtigung, Zählen, Zeitpunkt auf Visu, ...), kommt der Abweichungsdetektor-LBS ins Spiel:
2017-04-24_Abweichungsdetektor.png
Via iKO 23 wird der Baustein Viertelstündlich getriggert. Die GA 3/4/124 an E3 liefert die aktuelle Temperatur. Diese wird via A3 und remanentem KO an E4 wieder in den LBS eingespeist und steht somit beim nächsten Lauf des LBS zur Verfügung. Selbiges dann noch zweimal mit A4 an E5 und A5 an E6. Der Baustein errechnet nun beim Trigger via E1 den Durchschnitt aus E4, E5 und E6 und vergleicht diesen unter Verwendung der prozentualen Abweichung von E7 mit dem Prüfwert an E3. Weicht E3 nun nach oben ab, wird A1 auf 1 gesetzt. Weicht E3 nach unten ab, wird A1 auf -1 gesetzt. Ist E3 im gültigen Bereich, wird A1 auf 0 gesetzt.
Im Beispiel oben schreibt der Wertauslöser 2367 das aktuelle Datum in ein remantes iKO, um auf der Visu das Datum der letzten Spülung zu zeigen. Der Wertauslöser 2363 schreibt den Text CLEANED in ein Archiv. Damit habe ich dort die Anzahl der Spülvorgänge nebst Datum. Der dritte Wertauslöser 2360 schliesslich schreibt einen Text auf ein iKO, welcher dann via Telegram verschickt wird.
Die Ausgangsboxen hinter den SBCs an A3, A4 und A5 befüllen die remanenten KOs, welche via E3, E5 und E6 wie bereits geschrieben wieder in den Abweichungsdetektor einfliessen.
Aktuell bin ich noch am testen, welchen %-Wert ich einstelle, um das Angleichen der Temperatur nach dem Spülvorgang nicht als Abweichung zu detektieren.
Viel Spass mit dem Baustein und immer her mit dem Feedback.
der Baustein LBS19000705 - Abweichungsdetektor v1.1 kann dazu verwendet werden, sprunghafte Abweichungen bei zyklischen Werten zu erkennen.
Beispiel (m)eines konkreten Anwendungsfalles:
Überwachung der Spül-Zyklen der Entkalkungsanlage
Nachdem es wiederholt passiert ist, dass ich versäumt habe, das Salz der Entkalkungsanlage nachzufüllen, mir die Anlage aber nicht selbst sagen kann, wann es dafür Zeit ist, musste eine andere Lösung her. Irgendwo im Netz oder auch hier im Forum fand ich die Idee, starke Temperaturschwankungen am Spül-Abfluss der Entkalkungsanlage zu überwachen und damit die Anzahl der Spülvorgänge zu zählen. Nach X Spülvorgängen ist der Salzvorrat dann so langsam aufgebraucht, so dass eine entsprechende Alarmierung erfolgen kann.
Also habe ich einen 1Wire-Anlegetemperaturfühler montiert und schreibe dessen Werte bei Änderung auf den Bus. Im Normalfall bleibt die Temperatur immer in etwa gleich bzw. ändert sich nur sehr langsam. Läuft nun nachts aber ein Spülvorgang, sieht das bspw. wie folgt aus:
2017-04-18-RRD_small.png
Die rote Kurve zeigt die Temperatur des Spül-Abfluss der Entkalkungsanlage mit einem Spülvorgang nachts um ca. 02:15 Uhr.
Um nun bei einem solchen Vorgang zu reagieren (Benachrichtigung, Zählen, Zeitpunkt auf Visu, ...), kommt der Abweichungsdetektor-LBS ins Spiel:
2017-04-24_Abweichungsdetektor.png
Via iKO 23 wird der Baustein Viertelstündlich getriggert. Die GA 3/4/124 an E3 liefert die aktuelle Temperatur. Diese wird via A3 und remanentem KO an E4 wieder in den LBS eingespeist und steht somit beim nächsten Lauf des LBS zur Verfügung. Selbiges dann noch zweimal mit A4 an E5 und A5 an E6. Der Baustein errechnet nun beim Trigger via E1 den Durchschnitt aus E4, E5 und E6 und vergleicht diesen unter Verwendung der prozentualen Abweichung von E7 mit dem Prüfwert an E3. Weicht E3 nun nach oben ab, wird A1 auf 1 gesetzt. Weicht E3 nach unten ab, wird A1 auf -1 gesetzt. Ist E3 im gültigen Bereich, wird A1 auf 0 gesetzt.
Im Beispiel oben schreibt der Wertauslöser 2367 das aktuelle Datum in ein remantes iKO, um auf der Visu das Datum der letzten Spülung zu zeigen. Der Wertauslöser 2363 schreibt den Text CLEANED in ein Archiv. Damit habe ich dort die Anzahl der Spülvorgänge nebst Datum. Der dritte Wertauslöser 2360 schliesslich schreibt einen Text auf ein iKO, welcher dann via Telegram verschickt wird.
Die Ausgangsboxen hinter den SBCs an A3, A4 und A5 befüllen die remanenten KOs, welche via E3, E5 und E6 wie bereits geschrieben wieder in den Abweichungsdetektor einfliessen.
Aktuell bin ich noch am testen, welchen %-Wert ich einstelle, um das Angleichen der Temperatur nach dem Spülvorgang nicht als Abweichung zu detektieren.
Viel Spass mit dem Baustein und immer her mit dem Feedback.
Kommentar