NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Gelöst] Betriebsstundenzähler Reset und Speichern des letzten Wertes

Informationen und Diskussionen über Logik-Engine und Logik-Editor
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: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

Betriebsstundenzähler Reset und Speichern des letzten Wertes

#1

Beitrag von Robert_Mini »

Hallo @S. Kolbinger!

Ich habe mal wieder eine knifflige Frage, die denke ich für viele Anwendungen spannend ist.

Entwickle derzeit eine Erweiterung des Betriebsstundenzählers (Hobbsmeter :lol: ).
Dabei möchte ich einem Aufruf der Logik den letzten Wert des Zählers verarbeiten (Code nach // Betriebsdauer merken) und DANACH den Zähler resetten. Wenn ich den Wert vorher speichere fehlt mir ein Teil der Betriebszeit (Siehe Anhang), nach dem Aufruf der Stoppuhr (spriche wenn ich "// Betriebsdauer merken" unter den Aufruf des Hobbsmeters schiebe) ist der Wert aber bereits 0.

Hier viewtopic.php?f=24&t=1710&p=18788&hilit=Stoppuhr#p18050 gab es bez. Stoppuhr von dir schon mal eine Aussage, die hier vermutlich auch das Problem ist.

Diesmal fehlt es mit aber an einem Workaround...
Ich habe zwar ein wenig ein Reset gesendet über Aus/Eingang im Kopf, das ist aber sehr unsmart. Genauso wie ein 2. Hobbsi, der um einen Aufruf verzögert resettet wird.

EDIT:
Genaugenommen bräuchten alle Zeitbausteine (Stoppuhr, Monoflop, Betriebsstundenzähler) eine Variable $Val_beforeReset, damit man in Custom Logiken sauber resetten und weiterarbeiten kann.
Generell (gilt auch für den Standardbaustein) braucht es aber ohnehin eine Rückkopplung des Reset auf einen Eingang, da sonst Bei laufendem Zähler der Letztstand vor dem Reset nie gesendet wird.

Danke und lg
Robert
Frage_Reset.png

Code: Alles auswählen

{
  "Input": [
        ["Aktiv","True wenn in Betrieb","$I_State","c"], 
		["Zyklisch Senden","Sendeintervalle aktivieren","$I_Interval_Enable","c"],
		["Sendeintervall 1","Sendeintervall im Zustand EIN","$I_Interval_On","c"],
		["Sendeintervall 2","Sendeintervall im Zustand AUS","$I_Interval_Off","c"]
  ],
  "Output": [
		["Betriebsstunden Tag","Betriebsdauer in h seit Tageswechsel","$Betriebsdauer_Tag","ct"],
		["Betriebsstunden Monat","Betriebsdauer in h seit Monatswechsel","$Betriebsdauer_Monat","ct"]
  ],
  "Level": [
		["$I_State","bool",false],
		["$ResetTag","bool",false],	
		["$ResetMonat","bool",false],	
		["$Betriebsdauer_Tag","float",0.0],
		["$Betriebsdauer_Monat","float",0.0],
		["$KonstTrue","bool",true],
		["$KonstFalse","bool",false],
		["$I_Interval_Enable","bool",true],
		["$I_Interval_On","float",300.0],
		["$I_Interval_Off","float",3600.0],
		["$I_Interval","float",3600.0],
		["$StartZeitTag","string","9 19 8 * * *"],
		["$StartZeitMonat","string","10 19 8 1 * *"]
  ],
  "Module": [
		 // Tag Zurücksetzen
		["Cron","$KonstTrue","$ResetTag",0,"$StartZeitTag"],
		["Cron","$KonstTrue","$ResetMonat",0,"$StartZeitMonat"],
		// Betriebsdauer merken
		["Multiplexer",["$Betriebsdauer_Monat","$Betriebsdauer_Tag"],"$Betriebsdauer_Monat","$ResetTag"],
		// Betriebsdauer aktualisieren
		["HobbsMeter","$I_State","$Betriebsdauer_Tag","$ResetTag"],
		
		// ResetTag auf 0 setzen
		["Multiplexer",["$ResetTag","$KonstFalse"],"$ResetTag","$ResetTag"],
		
		//Sendeintervall setzen
		["Multiplexer",["$I_Interval_Off","$I_Interval_On"],"$I_Interval","$I_State"],
		["Clocksignal","$I_Interval_Enable",0,"$I_Interval"]
  ]
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Robert_Mini am So Feb 16, 2020 10:44 pm, insgesamt 3-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

#2

Beitrag von Robert_Mini »

Problem ist gelöst, ich poste das Ergebnis demnächst.

lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Logikengine & Logik-Editor“