Hallo alle!
Eine Frage zur Logik und zur "Sauberkeit" der Programmierung:
Eigentlich eine ganz einfache Aufgabenstellung: Helligkeitswerte aus einer Wetterstation sollen geglättet werden, das geht gut mit dem Baustein "Gleitender Durchschnitt". Leider kommt von der Wetterstation hin und wieder tagsüber der Wert 0, was zu einem Fehlverhalten der Jalousien führen würde. (Das ist ein Fehler der Wetterstation, wurde vom Hersteller bestätigt und ist in Arbeit...) Diesen Fehler möchte ich im HS korrigieren.
Ich möchte daher 0-Werte einfach verwerfen. Das habe ich zuerst so probiert, wie in ""Logik1.gif" zu sehen ist. Manchmal funktioniert das, manchmal nicht. Das ist auch logisch für mich, da bei der Sperre das Telegram möglicherweise schon durchgeleitet wurde, noch bevor der Vergleich die Sperre sperren würde!
Also habe ich es mit "Logik2.gif" probiert. Das funktioniert zwar wie erwartet, aber es kommt mir ziemlich unsauber vor! Vor allem: wie klein könnte ich die Verzögerung machen, damit die Zuverlässigkeit bleibt?
wie löst ihr so etwas?
fragt mit Grüssen
GKap
PS, noch eine Zusatzfrage: Der Baustein "Telegrammverzögerung" liefert lt. Hilfe nur einen 1-Bit Wert am Ausgang. Nach meinen Beobachtungen werden aber alle Telegramme, unabhängig vom Datentyp richtig durchgereicht! Ist das ein Fehler in der Doku?
Eine Frage zur Logik und zur "Sauberkeit" der Programmierung:
Eigentlich eine ganz einfache Aufgabenstellung: Helligkeitswerte aus einer Wetterstation sollen geglättet werden, das geht gut mit dem Baustein "Gleitender Durchschnitt". Leider kommt von der Wetterstation hin und wieder tagsüber der Wert 0, was zu einem Fehlverhalten der Jalousien führen würde. (Das ist ein Fehler der Wetterstation, wurde vom Hersteller bestätigt und ist in Arbeit...) Diesen Fehler möchte ich im HS korrigieren.
Ich möchte daher 0-Werte einfach verwerfen. Das habe ich zuerst so probiert, wie in ""Logik1.gif" zu sehen ist. Manchmal funktioniert das, manchmal nicht. Das ist auch logisch für mich, da bei der Sperre das Telegram möglicherweise schon durchgeleitet wurde, noch bevor der Vergleich die Sperre sperren würde!
Also habe ich es mit "Logik2.gif" probiert. Das funktioniert zwar wie erwartet, aber es kommt mir ziemlich unsauber vor! Vor allem: wie klein könnte ich die Verzögerung machen, damit die Zuverlässigkeit bleibt?
wie löst ihr so etwas?
fragt mit Grüssen
GKap
PS, noch eine Zusatzfrage: Der Baustein "Telegrammverzögerung" liefert lt. Hilfe nur einen 1-Bit Wert am Ausgang. Nach meinen Beobachtungen werden aber alle Telegramme, unabhängig vom Datentyp richtig durchgereicht! Ist das ein Fehler in der Doku?
Kommentar