KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[NEUHEIT] Zeitlicher Mittelwert mit manuellem Reset

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1263 Mal
Danksagung erhalten: 2213 Mal

Zeitlicher Mittelwert mit manuellem Reset

#1

Beitrag von Robert_Mini »

Hallo zusammen!

Heute eine kleine Erweiterung: Zeitlicher Mittelwert mit Reset-Eingang.
Anmerkung: Ein weiterer Baustein mit automatischem Tages- bzw Monatsmittelwert folgt bald!

Funktion:
Der Baustein berechnet kontinuierlich den Mittelwert aus den Daten am Eingang, zB aktuelle Temperatur die zyklisch auf den Bus gesendet wird.
Mit dem Reset-Eingang wird der Mittelwert auf den aktuellen Eingang zurückgesetzt und der bisherige Mittelwert an einem zusätzlichen Ausgang übertragen.
Hinweis: Persistenz muss aktiviert sein, damit nach einem Reboot o.ä. der Mittelwert korrekt weiter berechnet wird.

Anwendungsbeispiele:
Echter Tagesmittelwert der Temperatur o.ä.

Eingänge:
  • Eingang: Messgröße, die gemittelt werden soll zB ein Temperaturwert.
    Reset: Mit "True" wird der Mittelwert zurückgesetzt und Reset wieder auf "False" geschaltet (im Doktormodus sieht man das "True" daher nie!)
Ausgänge:
  • Mittelwert Aktuell: Laufender Mittelwert, der aus allen empfangenen Werten seit dem letzten Reset gebildet wird.
  • Mittelwert vor Reset: Mittelwert vor dem letzten Reset, wird nur 1x beim Reset gesendet und kann zB zum Abspeichern oder Anzeige in der Visu (zB. Vortag) verwendet werden.
  • Counter (optional über + einblendbar): Anzahl der Messwerte, aus der der aktuelle Mittelwert gebildet wird.
Der Baustein:

Bild

Code: Alles auswählen

/**===========================================================
Zeitlicher Mittelwert mit Reset und Möglichkeit zur 
Speicherung/Senden des letzten Wertes vor dem Reset 
============================================================*/

{
  "Input": [
        ["Eingang","Messgröße","$I_Input","a"],
	["Reset","Manueller Reset","$I_Reset","c"]
  ],
  "Output": [
	["Mittelwert aktuell","aktueller Mittelwert seit Reset","$Avg","ct"],
	["Mittelwert vor Reset","Letzter Mittelwert vor Reset","$Avg_Vortag","t"],
	["Counter","Anzahl Werte","$Counter?","c"]
  ],
  "Level": [
	["$I_Input","float",0.0],
	["$I_Reset","bool",false],
	["$Sum","float",0.0],
	["$Avg","float",0.0],
	["$Avg_Vortag","float",0.0],
	["$Counter","integer",0],
	["$KonstTrue","bool",true],
	["$Konst0","float",0.0],
	["$Konst1","float",1.0],
	["$KonstFalse","bool",false]
  ],
  "Module": [
	// Wert auf Vortag speichern
	["Latch","$Avg","$Avg_Vortag","$I_Reset",0],
	
	// Summe und Counter zurücksetzen
	["Multiplexer",["$Counter","$Konst0"],"$Counter","$I_Reset"],
	["Multiplexer",["$Sum","$Konst0"],"$Sum","$I_Reset"],
	// Reset auf 0 setzen
	["Multiplexer",["$I_Reset","$KonstFalse"],"$I_Reset","$I_Reset"],
		
	// Summe um aktuellen Mittelwert erhöhen + Counter+1
	["Polynomial","$Konst1","$Sum",["$Sum","$I_Input"]],
	["Polynomial","$Konst1","$Counter",["$Counter","$Konst1"]],
	// Mittelwert aktualisieren 
	["Ratio", "$Sum", "$Avg", "$Counter"]
  ]
}

/** Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") 
die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */
Nutzungsrechte:
Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht.

Falls wer einen freiwilligen Beitrag zur Motivation leisten will: Klick

Viel Spaß damit und gerne Rückmeldung, wenn was fehlt oder euch die Sache gefällt.
Robert
Zuletzt geändert von Robert_Mini am Sa Feb 08, 2020 2:49 pm, insgesamt 2-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Zusätzliche Logikbausteine“