Aktionen

Musterlösung Verteilte Summe mit Fehlerkorrektur

Aus BusWiki

Anforderung

Eine Aktion (z.B. Relais der FBH-Pumpe ein-/ausschalten) soll in Abhängigkeit von Zuständen (Ausgängen, Relais, Binärsensoren, Summen; z.B. Raumtemperatur unter/über Schwellwert), die über verschiedene Module verteilt sind, ausgeführt werden. Wenigstens ein "positiver" Zustand soll zum Ausführen der Aktion reichen.


Lösung

(Die Lösung entspricht zu weiten Teilen dem "Fensterkontakte"-Beispiel aus der Techn. Dokumentation zu Logikfunktion von Issendorff, geht jedoch darüber hinaus.)

Für die Programmierbeispiele werden die Zustände der Relais, die die Ventile der Heizkreise der einzelnen Räume steuern, ausgewertet. Wenn im ganzen Haus wenigstens ein Ventil offen ist, wird die Heizkreispumpe per Relais freigegeben. Das endgültige Einschalten der Pumpe ist Aufgabe der Heizungssteuerung, die nicht mit LCN gekoppelt ist.

Zustände lokal sammeln

Die auszuwertenden Zustände werden als erstes auf LEDs eines "LED-Sammler-Moduls" - oder wenn es mehr als 12 Zustände sind, auf die LEDs weiterer "LED-Sammler-Module" - gelegt. Damit zeigen diese LEDs genau die auszuwertenden (evtl. schon verteilten) Zustände in einem Modul an. Pro "LED-Sammler-Modul" wird eine Summe angelegt, die genau die in diesem Modul abgelegten LEDs enthält.

  Modul: 10 Heizung OG
    LEDs:
      LED 01:
          Quelle: Segment 0, Modul 10, Relais 1
          Aus: LED aus
          An: LED an
      LED 02:
          Quelle: Segment 0, Modul 10, Relais 2
          Aus: LED aus
          An: LED an
      LED 03:
          Quelle: Segment 0, Modul 12, Relais 5
          Aus: LED aus
          An: LED an
      LED 04:
          Quelle: Segment 0, Modul 13, Relais 8
          Aus: LED aus
          An: LED an
    Logik-Funktionen (Summen):
      Summe 1 (Taste C1): • kombiniert lokale LEDs
        LED 1-4  Überprüft auf Status: EIN

Sind die Zustände über mehrere Module verteilt, so wird bei den ersten "LED-Sammler-Modulen" die zur Summe zugehörige C-Taste mit einem "Leerkommando" auf Kurz, Lang und Los programmiert, so dass keine unschönen "Unprogrammierte Taste gedrückt"-Fehlermeldungen durch den Bus geistern.

  Modul: 10 Heizung OG
    Taste C1 • Dummy für Summe
      (1) -> Segment 0, Modul 10 "Heizung OG"  (Statuskommandos Summe 1;)
        Kurz: Leerkommando
        Lang: Leerkommando
        Los:  Leerkommando

Verteilte Summen sammeln und kombinieren

Beim letzten "LED-Sammler-Modul" werden zusätzlich zu den dort auf die LEDs duplizierten Zuständen auch noch die Summen der anderen "LED-Sammler-Module" auf LEDs dupliziert. "Quelle dimmt" bedeutet dabei eine Summe ist teilerfüllt, was bei unserer Vorgabe von wenigstens einem positiven Zustand für das LED "an" bedeutet.

  Modul: 12 Heizung EG
    LEDs:
      LED 01:
          Quelle: Segment 0, Modul 12, Relais 1
          Aus: LED aus
          An: LED an
      LED 02:
          Quelle: Segment 0, Modul 12, Relais 2
          Aus: LED aus
          An: LED an
      LED 03:
          Quelle: Segment 0, Modul 6, Relais 1
          Aus: LED aus
          An: LED an
      LED 04:
          Quelle: Segment 0, Modul 6, Relais 2
          Aus: LED aus
          An: LED an
      LED 09:
          Quelle: Segment 0, Modul 10, LEDs-Summe 1
          Aus: LED aus
          An: LED an
          Dimmt: LED an

Die Summe des letzten "LED-Sammler-Moduls" wird dann über die Zustands-LEDs und die Summen-LEDs gebildet.

  Modul: 12 Heizung EG
    Logik-Funktionen (Summen):
      Summe 1 (Taste C1): • kombiniert lokale LEDs und Summe 1 von Modul 10
        LED 1-4  9  Überprüft auf Status: EIN

Aktion auslösen

Die C-Taste dieser Summe löst auf Lang/Los die Aktion aus.

  Modul: 12 Heizung EG
    Taste C1 • FBH-Pumpe schalten
      (1) -> Segment 0, Modul 12 "Heizung EG"  (Statuskommandos Summe 1;)
        Kurz: Relais: - - - -  - - - 1
        Lang: Relais: - - - -  - - - 1
        Los: Relais: - - - -  - - - 0

Fehlerkorrektur

Da die LEDs intern über die Statusmeldungen der Zustände gesetzt werden und solch eine Statusmeldung schon mal verloren gehen kann, sollte ein periodischer Zeitgeber zur Fehlerkorrektur die Zustände wiederholen lassen und auch die Summen der "LED-Sammler-Module" per "Statusmeldungen"-Kommando wiederholen lassen.

Hier nur die Wiederholung der Summen und damit auch das Sicherstellen, dass durch die Summe in Modul 10 auch das LED 9 in Modul 12 korrekt gesetzt wird.

  Modul: 12 Heizung EG
    Periodischer Zeitgeber: • Fehlerkorrektur 
      Sendet Tabelle A, Taste 1 alle 120.0 s
    Taste A1 • Aktualisieren Summen für FBH-Pumpe
      (1) -> Segment 0, Modul 10 "Heizung OG"   • Status OG-Relais abfragen
        Kurz: Abfrage Zustand Summen: 1---
        Lang: Unprogrammiert
        Los:  Unprogrammiert
      (2) -> Segment 0, Modul 12 "Heizung EG"   • Status EG-Relais abfragen
        Kurz: Abfrage Zustand Summen: 1---
        Lang: Unprogrammiert
        Los:  Unprogrammiert

Bewertung

Trotz der "Perfektion" von LCN gehen "manchmal" Meldungen verloren. Daher sollte diese Lösung nicht ohne die beschriebene Fehlerkorrektur betrieben werden. Das Erkennen eines falsch gesetzten LEDs und die manuelle Korrektur dessen besitzt nämlich absolut keinen WAF!

Alternative Einsatzgebiete

Die Steuerung über LEDs und Summen lässt sich in allen Szenarien einsetzen, in denen in Abhängigkeit der Status von mehreren Ausgängen, Relais, Binärkontakten oder Summen eine Aktion ausgelöst werden soll.