wer schon mal versucht hat, eine Art Stoppuhr in Loxone zu bauen – zum Beispiel um die genaue Ladedauer der Wallbox in Sekunden zu erfassen und in einen Tracker zu schreiben –, kennt vermutlich das Problem mit dem Timing:
Wenn das Ladesignal abfällt, muss der aktuelle Wert im Analogspeicher gesichert werden. Das Problem beim Betriebsstundenzähler ist aber, dass ein Impuls am Eingang Off den Zähler sofort auf 0 zurücksetzt. Schaltet man das Signal einfach stumpf auf beide Bausteine, rennt man in ein Timing-Problem: Ist der Zähler einen Bruchteil schneller auf 0 als der Speicher beim Wegschreiben, sichert man sich eine Null statt der eigentlichen Ladedauer.
Wie man sich hier eine zuverlässige Stoppuhr bastelt, die den Wert vor dem Nullstellen sauber abgreift, sieht man auf dem angehängten Screenshot.
So funktioniert die Logik:
Sobald der Baustein "Ladung..." (ein einfacher Größer-Vergleich) erkennt, dass das Auto lädt, läuft die Stoppuhr über den Eingang En am Betriebsstundenzähler ganz normal im Hintergrund.
Spannend wird es, wenn das Laden beendet wird und das Signal auf FALSE abfällt. Jetzt müssen wir den Wert sichern, bevor der Zähler genullt wird:
Der obere Tastschalter reagiert sofort auf das Ausschalten (fallende Flanke) und gibt ohne Umwege einen direkten Impuls an den Set-Eingang des Analogspeichers. Der Speicher greift sich also in genau dieser Millisekunde den noch aktuellen Wert vom Ausgang To ab und reicht ihn an den Tracker (Ausgang Wallbox) weiter.
Und jetzt kommt der eigentliche Trick für das Zurücksetzen: Das Ausschaltsignal läuft unten noch über einen weiteren Tastschalter und den Baustein "Verzögerter Impuls". Dieser verzögert das Signal künstlich um einen kurzen Moment. Dadurch stellen wir sicher, dass der Analogspeicher den Wert längst sicher im Kasten hat, bevor der verzögerte Impuls am Eingang Off einschlägt und den Zähler für den nächsten Durchgang wieder auf 0 setzt.
Mit diesem Aufbau habt ihr eine universelle Stoppuhr-Logik für alles, was ihr sauber protokollieren wollt, ohne dass durch die Reset-Funktion Werte verloren gehen.
Kommentar