UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[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: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 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“