CalculateAverageTime (Berechen Durchschnitt mit Zeitfilter)
Diese Funktion berechnet automatisch den Durchschnittswert eines eingehenden Zahlenwerts über eine bestimmte Zeit. Es kann individuell eingestellt werden, wie oft neue Werte einfließen sollen und in welchem Rhythmus das Ergebnis ausgegeben wird. Die Funktion startet erst, wenn sie durch einen Steuerbefehl aktiviert wird. Zusätzlich werden zur Kontrolle Log-Nachrichten ausgegeben, um bei eventuellen Fehlern oder zur Nachverfolgung Hinweise zu erhalten.
Besonderheit
-
Funktionale Flexibilität:
-
Die Aktualisierungszeit (UpdateTime) und die Ausgabefrequenz (OutputTime) sind individuell einstellbar.
-
Die Methode startet und stoppt durch einen Steuerwert (Activate).
-
Der Durchschnittswert berücksichtigt alle Eingänge seit der letzten Ausgabe.
-
-
Fehlerbehandlung:
-
Fehler beim Starten oder bei der Verarbeitung werden intern aufgezeichnet und über spezielle Ausgänge ausgegeben.
-
Für jede relevante Aktion (Ausführung, Aktualisierung, Ausgabe) gibt es eigene Fehlerprotokolle.
-
-
Grenzen und Validierungen:
-
Die Berechnung erfolgt nur, wenn ein gültiger Aktivierungswert gesetzt wurde.
-
Eine Division durch Null wird vermieden, indem ein Minimalwert als Teiler verwendet wird.
-
MultipleSummator (Mehrfachsummierer)
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.
-
OnDelay (Einschaltverzögerung)
Diese Funktion dient dazu, ein Signal (z. B. ein Schaltbefehl) erst nach einer vorgegebenen Verzögerungszeit auszulösen. Sobald die Aktivierung erfolgt und ein Eingangssignal erkannt wird, beginnt ein Countdown. Nach Ablauf dieser Zeit wird ein Ausgang aktiviert. Die Funktion kann automatisch wieder deaktiviert werden und bietet eine Rückmeldung über den verbleibenden Countdown sowie eine Protokollierung des Ablaufs.
Besonderheit
-
Funktionale Flexibilität:
Die Verzögerungszeit und die Aktualisierungsrate können dynamisch angepasst werden. Dadurch kann das Verhalten flexibel an unterschiedliche Anwendungen angepasst werden. -
Fehlerbehandlung:
Es sind interne Protokollierungen bei der Ausführung und Terminplanung enthalten. Fehler werden automatisch erkannt und als Text ausgegeben. -
Grenzen und Validierungen:
Eine Prüfung auf gültige Zustände erfolgt intern. Eine explizite Begrenzung von Minimal- oder Maximalwerten wird im Code nicht vorgenommen.
SendByDifferenceMaxMin Sendet nach Differenz und Max Min Value)
Diese Funktion überwacht eine eingehende Zahl und prüft, ob sich deren Wert ausreichend stark verändert hat oder bestimmte Grenzwerte erreicht wurden. Nur wenn diese Bedingungen erfüllt sind, wird der neue Wert gespeichert und weitergegeben. Zusätzlich kann eine zeitgesteuerte Überprüfung aktiviert werden, bei der die Ausgabe regelmäßig unabhängig von Veränderungen erfolgt. Optional wird der zuletzt ausgegebene Wert auf einer SD-Karte gespeichert und beim nächsten Start wieder eingelesen.
Besonderheit
-
-
Funktionale Flexibilität:
-
Die Schwelle für Veränderungen (Difference) kann dynamisch angepasst werden.
-
Der Zeitpunkt der Ausgaben kann durch den Zeitfilter verzögert und regelmäßig wiederholt werden.
-
Die Speicherpfade für Daten können frei definiert werden.
-
-
Fehlerbehandlung:
-
Es existieren interne Absicherungen für alle Abläufe.
-
Fehler werden aufgezeichnet und sind über die Protokoll-Ausgänge einsehbar.
-
-
Grenzen und Validierungen:
-
Werte mit exakt definiertem Minimum oder Maximum werden stets ausgegeben.
-
Die speziellen Default-Werte
1000
und-1000
deaktivieren die jeweiligen Grenzprüfungen automatisch.
-
-
SD-Karte:
-
Wird eine SD-Karte erkannt, kann der zuletzt ausgegebene Wert dauerhaft gespeichert und beim Neustart wiederhergestellt werden.
-
Ohne SD-Karte erfolgt keine persistente Speicherung – dies wird im Protokoll kenntlich gemacht.
-
-
TelegramTriggerByTimes (Telegramm nach Zeiten triggern)
Diese Logik ermöglicht es, eine Aktion automatisch zu bestimmten Uhrzeiten auszulösen. Dabei können bis zu 30 verschiedene Zeiten eingestellt werden, an denen ein Signal gesendet wird. Die Funktion überprüft regelmäßig, ob eine dieser Zeiten erreicht wurde, und gibt dann ein entsprechendes Signal aus. Zusätzlich wird protokolliert, wann der Auslösevorgang gestartet und wann er tatsächlich durchgeführt wurde. Dies ist besonders nützlich für zeitgesteuerte Automatisierungsprozesse.
Besonderheit
-
Flexible Anzahl an Auslösezeiten
Die Anzahl der gewünschten Uhrzeiten kann flexibel zwischen 1 und 30 eingestellt werden. Die Funktion passt sich dynamisch an die Anzahl der eingetragenen Uhrzeiten an. -
Tägliches Zurücksetzen der Auslösung
Jede eingestellte Uhrzeit wird pro Tag nur einmal ausgelöst. Nach Mitternacht werden alle Zeitpunkte automatisch zurückgesetzt, sodass sie am nächsten Tag erneut aktiviert werden können. -
Fehlerprotokollierung integriert
Sollte es zu einem Fehler bei der Ausführung oder Terminplanung kommen, wird dieser automatisch im Protokoll vermerkt, sodass eine einfache Analyse möglich ist. - Automatische Protokollierung von Aktivitäten
Die Logik dokumentiert sowohl, wann sie aktiviert/deaktiviert wurde, als auch wann eine Auslösezeit tatsächlich erreicht und ausgeführt wurde. -
Zeitgesteuerte Wiederholungsprüfung alle 30 Sekunden
Intern wird alle 30 Sekunden überprüft, ob eine der eingestellten Uhrzeiten erreicht wurde. Dadurch wird eine präzise Ausführung ermöglicht.
Reviews
There are no reviews yet.