Analogwert nur weitergeben, wenn Bedingungen erfüllt sind
Einsatzzweck
Ein Analogwert soll nur weitergegeben werden, wenn die eigenen Bedingungen / die eigene Validierung erfüllt ist.
Wenn Werte die Bedingungen nicht erfüllen, soll der letzte valide Wert erhalten bleiben.
Umsetzung
Das Prinzip ist:
Der jeweils letzte gültige Wert wird in einem Analogspeicher gespeichert (und wird von dessen Ausgang für weitere Logik verwendet).
Wenn ein neuer Analogwert ankommt, der sich geändert hat, erzeugt die Schaltung Änderung eines Wertes erkennen einen Impuls.
In der Validierung - in diesem Beispiel anhand eines Status-Bausteins - wird der neue Wert überprüft. Die Validierung kann auch mittels anderer Logik passieren.
Nur wenn die Validierung OK ist, wird der Impuls an Tr des Analogspeichers durchgegeben, und somit der neue Wert übernommen.
Die Validierung im Statusbaustein:
In den Bedingungen des Statusbausteins wird beim Statuswert der Wert selbst (eingehend am AI1) ausgegeben. Der Impuls selbst wird über den Statustext (als 1) ausgegeben. Diese 1 am Statustext triggert den Analogspeicher, um den neuen Wert zu übernehmen.
In diesem Beispiel wird in der ersten Zeile gleich abgebrochen, wenn gar kein Änderungsimpuls anliegt (somit muss der MS die weiteren Zeilen nicht mehr prüfen).
Danach folgen die Validierungen: Temperatur < 30°, Temperatur > 60°, oder Temperatur 999° (ist von Shelly ein Indikator für einen Fehler).
Nur wenn diese Zeilen nicht zutreffen, wird die letzte Zeile ausgewertet und der Wert sowie als Statustext 1 (= der Impuls) an den Analogspeicher durchgegeben.