

MultipleSummator (Mehrfachsummierer)
Dieser Baustein gehört zum Paket „Calculate/Time (Berechnung/Zeit).“
Paket-Preis: 22,50€
Kurzbeschreibung
Diese Funktion addiert mehrere Werte und erstellt daraus eine Summe. Ein besonderer Vorteil besteht darin, dass die Berechnung bereits startet, auch wenn noch nicht alle Eingänge Werte liefern konnten. Das erlaubt eine besonders dynamische Nutzung, beispielsweise bei Sensoren mit unterschiedlicher Antwortzeit. Die Summe wird bei Änderungen automatisch neu berechnet, entweder direkt oder in einem frei einstellbaren Zeitintervall. Boolesche Werte können ebenfalls mit einbezogen werden und werden intern als 0 oder 1 gewertet. Das Ergebnis wird über einen eigenen Ausgang bereitgestellt. Alle Berechnungsprozesse werden in einem Log erfasst, um eine Nachvollziehbarkeit zu gewährleisten
Besonderheit
Berechnung auch bei unvollständigen Eingaben:
Die Summe wird auch dann berechnet, wenn noch nicht alle Eingänge Werte geliefert haben. Dies ist besonders nützlich beim Einsatz in Systemen mit verzögert eintreffenden Signalen.Funktionale Flexibilität:
Anzahl der Eingangswerte kann flexibel zwischen 2 und 20 eingestellt werden.
Automatische oder manuelle Berechnung möglich.
Unterschiedliche Werteformate (z. B. ganze Zahlen, Fließkommazahlen, boolesche Werte) werden unterstützt.
Fehlerbehandlung:
Probleme (z. B. falscher Datentyp) werden automatisch erkannt und protokolliert.
Umfassendes Logging bei jeder Berechnung – sowohl manuell als auch zeitgesteuert.
Grenzen und Validierungen:
Nur bestimmte Typen sind zulässig.
Eingabewerte werden nur verarbeitet, wenn sie gültig sind.
Die Verarbeitung stoppt bei ungültigen Eingaben automatisch.
Die Funktion ist dafür gedacht, eine flexible und intelligente Summenbildung aus mehreren Werten zu ermöglichen. Besonders hervorzuheben ist, dass nicht alle Eingänge aktiv sein müssen, damit eine Berechnung stattfindet. Das System erkennt automatisch, welche Werte verfügbar sind, und führt die Summenbildung mit den vorliegenden Daten durch. Sobald alle Werte vollständig sind, wird das Ergebnis vollständig aktualisiert.
Dabei lässt sich über einen Schalter bestimmen, ob die Berechnung manuell (z. B. bei einer Änderung) oder automatisch (z. B. alle 10 Sekunden) erfolgen soll. Bei der automatischen Berechnung kann die Zeitspanne flexibel gewählt werden. Die Anzahl der Eingabewerte ist ebenfalls flexibel zwischen 2 und 20 einstellbar.
Unterstützt werden verschiedene Werteformate, darunter ganze Zahlen, Fließkommazahlen und boolesche Werte. Falls der angegebene Typ nicht passt, wird die Berechnung abgebrochen und ein entsprechender Fehler im Protokoll ausgegeben.
Ein weiteres Highlight: Die Ausgabe der Summe erfolgt nur, wenn sich der berechnete Wert tatsächlich verändert hat. Dadurch wird die Systembelastung reduziert und unnötige Datenübertragungen vermieden. Die Funktion ist daher besonders geeignet für Anwendungen, bei denen hohe Effizienz und intelligente Verarbeitung gefragt sind.
Zudem steht ein umfassendes Logging zur Verfügung, welches Informationen über Initialisierung, Fehlerzustände und Ausführungen bereitstellt – sowohl bei manuell als auch automatisch ausgelöster Berechnung. Dadurch eignet sich diese Funktion ideal zur Integration in komplexe Automatisierungssysteme.
- Activate (bool):
Aktiviert oder deaktiviert den Baustein. - ActivateTimeFiler (bool):
Schaltet die zeitgesteuerte Berechnung ein. Wird nur ausgeführt, wenn auch „Activate“ auf true gesetzt ist. - NumberOfInputs (int): Gibt die gewünschte Anzahl an Eingabewerten an. (Min: 2 | Max: 20)
- Inputs (list<any>):
Die Werte, die aufsummiert werden sollen.
Wichtig: Die Summe wird auch berechnet, wenn noch nicht alle Werte gesetzt sind.
Zulässige Typen:
– bool (intern gewertet als 0 oder 1)
– short, ushort, int, uint, long, ulong, float, double Time (timespan):
Gibt das Intervall für die automatische Wiederholung an (z. B. alle 10 Sekunden).- Type (string):
Gibt an, in welchem Format die Eingabewerte interpretiert werden sollen.
Zulässige Werte:"bool"
,"short"
,"int"
,"float"
,"double"
usw.
- Sum (any):
Enthält die berechnete Summe der Eingänge – auch dann, wenn nur ein Teil der Eingänge aktuell Werte enthält. - LogExecute (string):
Protokolliert die Berechnung bei manueller Ausführung. Gibt Fehler oder Initialisierungsstatus aus. - LogSchedule (string):
Protokolliert die automatische Berechnung im Zeitintervall. Gibt ebenfalls Fehler oder Hinweise aus.
Beispiel 1 – Energieverbrauch aus mehreren Geräten:
Die Berechnung erfolgt nur dann, wenn sich ein Eingang ändert oder „Activate“ aktiv gesetzt wird.
Auch hier gilt: Fehlende Eingabewerte verhindern die Berechnung nicht, aber sie muss extern ausgelöst werden.
- Eingabe:
Activate
:true
- ActivateTimeFiler:
false
- NumberOfInputs:
4
- Inputs:
150, 200, leer, 90
Time
: –Type
: int
- Ausgabe:
Sum
: 440n - Accu"


Beispiel 2 – Energieverbrauch aus mehreren Geräten – mit Zeitfilter:
In einem Smart-Home-System werden mehrere Geräte überwacht. Die jeweiligen Verbrauchswerte (in Watt) werden alle 10 Sekunden automatisch aufsummiert. Dabei kann es sein, dass einige Geräte ihren aktuellen Wert noch nicht geliefert haben – die Berechnung erfolgt trotzdem mit den verfügbaren Daten. Sobald fehlende Werte eintreffen, wird die Summe automatisch aktualisiert.
Diese Variante hebt sich vom manuell ausgelösten Modus dadurch ab, dass kein Trigger von außen nötig ist – die Berechnung läuft kontinuierlich im Hintergrund.
- Eingabe:
Activate
:true
- ActivateTimeFiler:
true
- NumberOfInputs: 5
- Inputs:
150, 200, leer, 90, 60
Time
: 10sType
: int
- Ausgabe:
Sum
: 500 Die Summe wurde aus den aktuell verfügbaren Werten berechnet, obwohl Gerät 3 noch keinen Wert gesendet hat. Sobald dieser nachgereicht wird, passt sich die Summe automatisch an.


Ja! Genau das ist ein großer Vorteil dieser Funktion. Die Berechnung startet bereits mit den verfügbaren Werten. Fehlende Eingänge werden bei Eintreffen automatisch berücksichtigt.
true wird als 1, false als 0 gewertet. So lassen sich z. B. aktive Sensoren zählen.
Die Berechnung wird abgebrochen und eine Meldung erscheint im Protokoll. Mindestanzahl: 2 Eingänge, Typ muss korrekt gewählt sein.
- Version 3.0.10
- First Release
Baustein-Support
Wenn Sie X1-Logik-Baustein-Support benötigen, senden Sie uns bitte zusätzlich den Log (LogExecute und LogSchedule, welcher als Ausgang des Bausteins ausgegeben wird) und eine detaillierte Beschreibung des Problems zu!