Hallo,
ich durchwühle seit Stunden das Forum und stehe nach wie vor auf dem Schlauch: Ich möchte mit dem MDT AMI-1216.02 das Laufen von Geräten (Geschirrspüler, WaMa, TV) an jeweils eigenen Kanälen sicher bestimmen. Klingt einfach, haben hunderte Nutzer bei sich sicherlich schon lange im Einsatz. Mittlerweile habe ich verschiedene Ansätze probiert, aber stoße immer wieder an Probleme.
Zusammenfassung:
Ich möchte eine GA haben, die nur dann auf "1" steht, wenn der Aktor-Kanal an ist und das Gerät auch wirklich läuft.
TL;DR:
Lösung 1, vorgeschlagen von hjk zwar schon 2016, aber immerhin zur Version .02 des Aktors:
Mit den richtigen Werten für meine Geräte hat auch wunderbar geklappt, alledings nur solange, bis ein GroupValueRead-Befehl an die GA geschickt wird: Bei der o.g. Konfiguration hat man zwei KOs mit standardmäßig gesetztem L-Flag auf einer GA. Gemäß der Konfiguration kann das KO für die Lastüberschreitung nur eine "1" und das KO für die Lastunterschreitung nur eine "0" annehmen. Beim GroupValueRead gewinnt dabei oft das KO, was seinen Wert nicht als letztes gesendet hat:
Screenshot 2022-02-16 221928.jpg
Hier ist das Stromwert-Diagramm dazu, aus dem hervorgeht, dass die "1" um 18:08:07 nicht stimmen konnte:
Screenshot 2022-02-16 221933.jpg
Um das Problem zu umgehen, müsste ich beiden KOs das L-Flag entziehen, habe dann aber kein KO mehr in der GA, was auf einen GroupValueRead reagieren kann. Das kann doch aber nicht die Lösung sein?
Lösung 2 habe ich mir aus einem anderen Beitrag zusammen gebaut. Ich arbeite nur mit der Lastunterschreitung und der Hysterese:
Screenshot 2022-02-16 223356.jpg
Dadurch ist das KO der Lastunterschreitung das einzige mit L-Flag, was meinen inneren Monk schon mal befriedigt. Ist der Aktorkanal an und ich starte das Gerät, dann zeigt mir die GA zuverlässig den laufenden Zustand an, auch ein GroupValueRead liefert so immer den richtigen Status. Ich schalte den Kanal ein - der Kanalstatus wechselt auf "1", der Zustand ist "0". Ich starte das Gerät, der Zustand wechselt bei überschreiten der Schwelle + Hysterese auf "1". Ich schalte das Gerät aus, der Zustand wechselt nach unterschreiten der Schwelle und Ablauf der Verzögerungszeit auf "0". Soweit, so richtig. Nun das große ABER: Ich schalte den Aktorkanal aus, die Lastunterschreitung sendet jedoch eine "1" auf die Zustands-GA, also den Wert für "Verhalten nach Unterschreiten", also eigentlich das Überschreiten.
Der Status vom Kanal ist "0", der Zustand "1". Quasi Quatsch. Ich habe nun mit einer Logik (auf dem SCN-GLED) mit UND-Verknüpfung experimentiert. Als Eingänge den Kanal-Status und die Lastunterschreitung (invertiert). Ausgang ist die GA für den Zustand:
Screenshot 2022-02-16 225605.jpg
Das funktioniert für das Auschalten des Kanals nun auch wunschgemäß. Zustand bleibt "0", da der Kanal-Status auch "0" ist, selbst wenn die Lastunterschreitung in den "falschen" Wert wechselt. Beim Einschalten des Kanals ist der Zustand allerdings kurzzeitig falsch, da die Lastunterschreitung noch den falschen Wert hat und der Kanal-Status auf "1" wechselt:
Screenshot 2022-02-16 230133.jpg
Das triggert nun natürlich alle mit der Zustands-GA verknüpften z.B. "Slave"-Steckdosen kurz.
Wie bekomme ich eine saubere Zustands-GA hin, die wirklich nur auf "1" steht, wenn der Kanal an ist und auch das Gerät wirklich läuft?
ich durchwühle seit Stunden das Forum und stehe nach wie vor auf dem Schlauch: Ich möchte mit dem MDT AMI-1216.02 das Laufen von Geräten (Geschirrspüler, WaMa, TV) an jeweils eigenen Kanälen sicher bestimmen. Klingt einfach, haben hunderte Nutzer bei sich sicherlich schon lange im Einsatz. Mittlerweile habe ich verschiedene Ansätze probiert, aber stoße immer wieder an Probleme.
Zusammenfassung:
Ich möchte eine GA haben, die nur dann auf "1" steht, wenn der Aktor-Kanal an ist und das Gerät auch wirklich läuft.
TL;DR:
Lösung 1, vorgeschlagen von hjk zwar schon 2016, aber immerhin zur Version .02 des Aktors:
Zitat von hjk
Beitrag anzeigen
Screenshot 2022-02-16 221928.jpg
Hier ist das Stromwert-Diagramm dazu, aus dem hervorgeht, dass die "1" um 18:08:07 nicht stimmen konnte:
Screenshot 2022-02-16 221933.jpg
Um das Problem zu umgehen, müsste ich beiden KOs das L-Flag entziehen, habe dann aber kein KO mehr in der GA, was auf einen GroupValueRead reagieren kann. Das kann doch aber nicht die Lösung sein?
Lösung 2 habe ich mir aus einem anderen Beitrag zusammen gebaut. Ich arbeite nur mit der Lastunterschreitung und der Hysterese:
Screenshot 2022-02-16 223356.jpg
Dadurch ist das KO der Lastunterschreitung das einzige mit L-Flag, was meinen inneren Monk schon mal befriedigt. Ist der Aktorkanal an und ich starte das Gerät, dann zeigt mir die GA zuverlässig den laufenden Zustand an, auch ein GroupValueRead liefert so immer den richtigen Status. Ich schalte den Kanal ein - der Kanalstatus wechselt auf "1", der Zustand ist "0". Ich starte das Gerät, der Zustand wechselt bei überschreiten der Schwelle + Hysterese auf "1". Ich schalte das Gerät aus, der Zustand wechselt nach unterschreiten der Schwelle und Ablauf der Verzögerungszeit auf "0". Soweit, so richtig. Nun das große ABER: Ich schalte den Aktorkanal aus, die Lastunterschreitung sendet jedoch eine "1" auf die Zustands-GA, also den Wert für "Verhalten nach Unterschreiten", also eigentlich das Überschreiten.
Der Status vom Kanal ist "0", der Zustand "1". Quasi Quatsch. Ich habe nun mit einer Logik (auf dem SCN-GLED) mit UND-Verknüpfung experimentiert. Als Eingänge den Kanal-Status und die Lastunterschreitung (invertiert). Ausgang ist die GA für den Zustand:
Screenshot 2022-02-16 225605.jpg
Das funktioniert für das Auschalten des Kanals nun auch wunschgemäß. Zustand bleibt "0", da der Kanal-Status auch "0" ist, selbst wenn die Lastunterschreitung in den "falschen" Wert wechselt. Beim Einschalten des Kanals ist der Zustand allerdings kurzzeitig falsch, da die Lastunterschreitung noch den falschen Wert hat und der Kanal-Status auf "1" wechselt:
Screenshot 2022-02-16 230133.jpg
Das triggert nun natürlich alle mit der Zustands-GA verknüpften z.B. "Slave"-Steckdosen kurz.
Wie bekomme ich eine saubere Zustands-GA hin, die wirklich nur auf "1" steht, wenn der Kanal an ist und auch das Gerät wirklich läuft?
Kommentar