Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Moderator: Co-Administratoren
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Hier die Abbildund der Klemmleiste vom Steuergerät (Siemens).
in einer Steckeraufname.
Die Stecker sind geklemmt, man muß daher die 2.Leitung anlöten. Achtung:
Die Stecker sind im Steckergehäuse verriegelt.
Man bekommt durch diese Lösung eine saubere und sichere (!) Lösung.
Ich möchte nochmals betonen, beim Öffnen der Steuereinheit sehr sorgfältig
zu sein, es ist schwierig.
Ich habe seinerzeit eine 5 adr. Leitung durch durch den Boden gezogén, 2 Adern
waren noch frei. Das Relais konnte ich daher in einer kleinen Wandverteilung
unterbringen.
Man beachte den 2.Stecker von unten. Es ist nun der einzige mit 2 Leitungenin einer Steckeraufname.
Die Stecker sind geklemmt, man muß daher die 2.Leitung anlöten. Achtung:
Die Stecker sind im Steckergehäuse verriegelt.
Man bekommt durch diese Lösung eine saubere und sichere (!) Lösung.
Ich möchte nochmals betonen, beim Öffnen der Steuereinheit sehr sorgfältig
zu sein, es ist schwierig.
Ich habe seinerzeit eine 5 adr. Leitung durch durch den Boden gezogén, 2 Adern
waren noch frei. Das Relais konnte ich daher in einer kleinen Wandverteilung
unterbringen.
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Hallo JPS,
mir fehlt die Ausschaltzeit des Brenners.Wo steht diese oder fehlt da gar eine Zeile? Es muß doch ebenso aussehen wie die Einschaltzeit.
Gruß Heinz
mir fehlt die Ausschaltzeit des Brenners.Wo steht diese oder fehlt da gar eine Zeile? Es muß doch ebenso aussehen wie die Einschaltzeit.
Gruß Heinz
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
OK, ich habe die Zeile im script gefunden. Aber warum hat die Auswertung nicht die Auszeit
und damit werden alle Berechnungen nicht ausgeführt. Wo könnte ich ansetzen?
Im Voraus schon 'mal vielen Dank.
und damit werden alle Berechnungen nicht ausgeführt. Wo könnte ich ansetzen?
Im Voraus schon 'mal vielen Dank.
- JPS
- Beiträge: 1093
- Registriert: 07.08.2010, 22:51
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 8 Mal
- Danksagung erhalten: 20 Mal
- Kontaktdaten:
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Mitblitz hat geschrieben:warum hat die Auswertung nicht die Auszeit und damit werden alle Berechnungen nicht ausgeführt. Wo könnte ich ansetzen?
Code: Alles auswählen
var AusZeit= dom.GetObject("Brenner letzte Ausschaltzeit");
Code: Alles auswählen
AusZeit.State(system.Date("%F %T"));
Wenn das bei dir nicht geht, solltest du zunächst mal genau prüfen, ob der Name der Systemvariablen "Brenner letzte Ausschaltzeit" (falls du den Namen übernommen hast) und deren Typ "Zeichenkette" richtig sind.
Funktioniert es beim Einschaltscript?
Wie rufst du das Script auf?
Wird die AusZeit gespeichert, wenn du nur dieses Script ausführst?...
Code: Alles auswählen
var AusZeit= dom.GetObject("Brenner letzte Ausschaltzeit");
AusZeit.State(system.Date("%F %T"));
Verwendung meiner Hinweise und Skripte auf eigenes Risiko | Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Die Einschaltzeit wird erfaßt.
Wenn ich das Ausschaltscript (unterhalb des PRG "Brenner Auswertung aus") lösche und dafür nur die 2 Scriptzeilen
für die Ausschaltzeit einsetze, bekomme ich die Ausschaltzeit in die Variable. Wenn ich jedoch das vorherige Script wieder
einfüge, geht es nicht mehr. Hat das Script im Projekt einen Fehler ? Eins muß ich noch erwähnen, die (4) Reset-Scripts habe ich noch nicht eingesetzt. Können diese einen Einfluß haben ?
Grüße
Wenn ich das Ausschaltscript (unterhalb des PRG "Brenner Auswertung aus") lösche und dafür nur die 2 Scriptzeilen
für die Ausschaltzeit einsetze, bekomme ich die Ausschaltzeit in die Variable. Wenn ich jedoch das vorherige Script wieder
einfüge, geht es nicht mehr. Hat das Script im Projekt einen Fehler ? Eins muß ich noch erwähnen, die (4) Reset-Scripts habe ich noch nicht eingesetzt. Können diese einen Einfluß haben ?
Grüße
- JPS
- Beiträge: 1093
- Registriert: 07.08.2010, 22:51
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 8 Mal
- Danksagung erhalten: 20 Mal
- Kontaktdaten:
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Nein, die Reset-Skripte können damit nichts zu tun haben.
Zeigt die Fehlerprüfung irgendwelche Besonderheiten?
1. Prüfe nochmal alle Systemvariablen, ob sie so heißen, wie um Skript angegeben.
2. Führe in "Skript testen" mal nur folgendes aus (lasse die "Hallo Welt" Zeile ganz unten zur Kontrolle drin):
Wenn das durchläuft, ist in diesem Programmteil schon mal kein Syntaxfehler.
3. Danach ergänze mal Zeile um Zeile des Skripts und lasse es mal durchlaufen, um festzustellen, ab welchem Programmteil das Skript nicht mehr läuft.
Das ist schon mal gut. Jetzt gilt es herauszufinden, wo sich bei dir ein Fehler im Script eingeschlichen hat.blitz hat geschrieben:Wenn ich das Ausschaltscript (unterhalb des PRG "Brenner Auswertung aus") lösche und dafür nur die 2 Scriptzeilen
für die Ausschaltzeit einsetze, bekomme ich die Ausschaltzeit in die Variable.
Zeigt die Fehlerprüfung irgendwelche Besonderheiten?
1. Prüfe nochmal alle Systemvariablen, ob sie so heißen, wie um Skript angegeben.
2. Führe in "Skript testen" mal nur folgendes aus (lasse die "Hallo Welt" Zeile ganz unten zur Kontrolle drin):
Code: Alles auswählen
var AusZeit= dom.GetObject("Brenner letzte Ausschaltzeit");
var EinZeit= dom.GetObject("Brenner letzte Einschaltzeit");
var TankGes= dom.GetObject("Brenner Tankinhalt bei letzter Fuellung").Value();
var KumTankAkt= dom.GetObject("Brenner Tankinhalt aktuell");
var KumZeitF= dom.GetObject("Brenner Betriebsstunden seit letzter Fuellung");
var KumVerbrauchF= dom.GetObject("Brenner Verbrauch seit letzter Fuellung");
var KumZeitJ= dom.GetObject("Brenner Betriebsstunden laufendes Kalenderjahr");
var KumVerbrauchJ= dom.GetObject("Brenner Verbrauch laufendes Kalenderjahr");
var KumZeitM= dom.GetObject("Brenner Betriebsstunden laufender Monat");
var KumVerbrauchM= dom.GetObject("Brenner Verbrauch laufender Monat");
var KumZeitW= dom.GetObject("Brenner Betriebsstunden laufende Woche");
var KumVerbrauchW= dom.GetObject("Brenner Verbrauch laufende Woche");
var KumZeitT= dom.GetObject("Brenner Betriebsstunden heute");
var KumVerbrauchT= dom.GetObject("Brenner Verbrauch heute");
3. Danach ergänze mal Zeile um Zeile des Skripts und lasse es mal durchlaufen, um festzustellen, ab welchem Programmteil das Skript nicht mehr läuft.
Verwendung meiner Hinweise und Skripte auf eigenes Risiko | Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Es ist immer noch so, ich bekomme keine Ausschaltzeit (Status und Bedienung >Systemvariable).
Brenner Status und Einschaltzeit reagieren.
Ich habe die ersten 4 Programme mit dem entsprechenden Script bisher eingegeben. Das Script für die "Brenner Auswertung aus" mehrfach kopiert und getestet...keine Fehler. Auch in den Systemvariablen kann ich keinen Fehler finden. Aber alle folgende Programmteile habe ich noch nicht eingegeben.
Ich hoffe, ich liege richtig,.... für mein Problem nicht relevant
Wenn ich jedoch im Script des Progamms " Brenner Auswertung aus", nur die beiden Zeilen für die Ausschaltzeit eingebe, bekomme ich diese auch.
Ich habe im Augenblick keine Ideen! Ich würde mich freuen, wenn jemand eine zündende Idee hätte.
Eine Erfassung der Brennerlaufzeit mit dem Ölverbrauch wäre schon ein erster Schritt.
Grüße
Brenner Status und Einschaltzeit reagieren.
Ich habe die ersten 4 Programme mit dem entsprechenden Script bisher eingegeben. Das Script für die "Brenner Auswertung aus" mehrfach kopiert und getestet...keine Fehler. Auch in den Systemvariablen kann ich keinen Fehler finden. Aber alle folgende Programmteile habe ich noch nicht eingegeben.
Ich hoffe, ich liege richtig,.... für mein Problem nicht relevant
Wenn ich jedoch im Script des Progamms " Brenner Auswertung aus", nur die beiden Zeilen für die Ausschaltzeit eingebe, bekomme ich diese auch.
Ich habe im Augenblick keine Ideen! Ich würde mich freuen, wenn jemand eine zündende Idee hätte.
Eine Erfassung der Brennerlaufzeit mit dem Ölverbrauch wäre schon ein erster Schritt.
Grüße
- JPS
- Beiträge: 1093
- Registriert: 07.08.2010, 22:51
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 8 Mal
- Danksagung erhalten: 20 Mal
- Kontaktdaten:
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Wenn du das gemacht hast...
In diesem Fall mach mal einen Neustart der CCU (manchmal laufen Programme nach umfangreichem Testen nicht mehr).
Falls es nach dem Neustart immer noch nicht funktioniert, versuch mal dieses Skript, habe ich gerade aus meiner CCU kopiert und läuft definitiv...
Wenn es nicht funktioniert, probier mal das (das gleiche Skript ohne Kommentare):
Wenn's immer noch nicht geht, versuch mal das (dieses Skript berechnet nichts, außer der Ausschaltzeit und dem Verbrauch heute)...
und das ganze Script fehlerfrei durchläuft, sprich "Hallo Welt" am Ende ausgegeben wird und alle Systemvariablen richtig sind, muss es eigentlich laufen.JPS hat geschrieben: 2. Führe in "Skript testen" mal nur folgendes aus (lasse die "Hallo Welt" Zeile ganz unten zur Kontrolle drin):
3. Danach ergänze mal Zeile um Zeile des Skripts und lasse es mal durchlaufen, um festzustellen, ab welchem Programmteil das Skript nicht mehr läuft.
In diesem Fall mach mal einen Neustart der CCU (manchmal laufen Programme nach umfangreichem Testen nicht mehr).
Falls es nach dem Neustart immer noch nicht funktioniert, versuch mal dieses Skript, habe ich gerade aus meiner CCU kopiert und läuft definitiv...
Code: Alles auswählen
var AusZeit= dom.GetObject("Brenner letzte Ausschaltzeit");
var EinZeit= dom.GetObject("Brenner letzte Einschaltzeit");
var TankGes= dom.GetObject("Brenner Tankinhalt bei letzter Fuellung").Value();
var KumTankAkt= dom.GetObject("Brenner Tankinhalt aktuell");
var KumZeitF= dom.GetObject("Brenner Betriebsstunden seit letzter Fuellung");
var KumVerbrauchF= dom.GetObject("Brenner Verbrauch seit letzter Fuellung");
var KumZeitJ= dom.GetObject("Brenner Betriebsstunden laufendes Kalenderjahr");
var KumVerbrauchJ= dom.GetObject("Brenner Verbrauch laufendes Kalenderjahr");
var KumZeitM= dom.GetObject("Brenner Betriebsstunden laufender Monat");
var KumVerbrauchM= dom.GetObject("Brenner Verbrauch laufender Monat");
var KumZeitW= dom.GetObject("Brenner Betriebsstunden laufende Woche");
var KumVerbrauchW= dom.GetObject("Brenner Verbrauch laufende Woche");
var KumZeitT= dom.GetObject("Brenner Betriebsstunden heute");
var KumVerbrauchT= dom.GetObject("Brenner Verbrauch heute");
! Speichern der Ausschaltzeit
AusZeit.State(system.Date("%F %T"));
! Den Einschaltzeit String aus der Systemvariablen in ein Zeitobjekt umwandeln
time t = EinZeit.Variable().ToTime();
! Die aktuelle (Ausschalt)Zeit String erzeugen und in ein Zeitobjekt umwandeln
time t1 = system.Date("%F %T").ToTime();
! Das Zeitobjekt Einschaltzeit in Sekunden seit 1.1.1970 umwandeln
var x = t.ToInteger();
! Das Zeitobjekt aktuelle Zeit in Sekunden seit 1.1.1970 umwandeln
var x1 = t1.ToInteger();
!Die Differenz ist die Einschaltdauer in Stunden umgerechnet
var x0 = 0.01*(x1-x)/36;
! Die Einschaltdauer seit der letzten Füllung kumulieren = Betriebsstunden seit der letzten Füllung
var gelaufenF = x0 + KumZeitF.Variable();
! Die Betriebsstunden seit der letzten Füllung in die Systemvariable einstellen
KumZeitF.State (gelaufenF);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h seit der letzten Füllung
var verbrauchtF = gelaufenF * 1.87 * 1.197;
! Verbrauch seit der letzten Füllung in die Systemvariable einstellen
KumVerbrauchF.State (verbrauchtF);
! Berechnung Tankinhalts in Litern
var tankinhalt = TankGes - verbrauchtF;
! Tankinhalt in die Systemvariable einstellen
KumTankAkt.State (tankinhalt);
! Die Einschaltdauer im laufenden Kalenderjahr kumulieren = Betriebsstunden
var gelaufenJ = x0 + KumZeitJ.Variable();
! Die Betriebsstunden im laufenden Kalenderjahr in die Systemvariable einstellen
KumZeitJ.State (gelaufenJ);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h im laufenden Kalenderjahr
var verbrauchtJ = gelaufenJ * 1.87 * 1.197;
! Verbrauch im laufenden Kalenderjahr in die Systemvariable einstellen
KumVerbrauchJ.State (verbrauchtJ);
! Die Einschaltdauer im laufenden Kalendermonat kumulieren = Betriebsstunden
var gelaufenM = x0 + KumZeitM.Variable();
! Die Betriebsstunden im laufenden Kalendermonat in die Systemvariable einstellen
KumZeitM.State (gelaufenM);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h im laufenden Kalendermonat
var verbrauchtM = gelaufenM * 1.87 * 1.197;
! Verbrauch im laufenden Kalendermonat in die Systemvariable einstellen
KumVerbrauchM.State (verbrauchtM);
! Die Einschaltdauer in der laufenden Kalenderwoche kumulieren = Betriebsstunden
var gelaufenW = x0 + KumZeitW.Variable();
! Die Betriebsstunden in der laufenden Kalenderwoche in die Systemvariable einstellen
KumZeitW.State (gelaufenW);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h in der laufenden Kalenderwoche
var verbrauchtW = gelaufenW * 1.87 * 1.197;
! Verbrauch in der laufenden Kalenderwoche in die Systemvariable einstellen
KumVerbrauchW.State (verbrauchtW);
! Die Einschaltdauer heute kumulieren = Betriebsstunden
var gelaufenT = x0 + KumZeitT.Variable();
! Die Betriebsstunden heute in die Systemvariable einstellen
KumZeitT.State (gelaufenT);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h heute
var verbrauchtT = gelaufenT * 1.87 * 1.197;
! Verbrauch heute in die Systemvariable einstellen
KumVerbrauchT.State (verbrauchtT);
Code: Alles auswählen
var AusZeit= dom.GetObject("Brenner letzte Ausschaltzeit");
var EinZeit= dom.GetObject("Brenner letzte Einschaltzeit");
var TankGes= dom.GetObject("Brenner Tankinhalt bei letzter Fuellung").Value();
var KumTankAkt= dom.GetObject("Brenner Tankinhalt aktuell");
var KumZeitF= dom.GetObject("Brenner Betriebsstunden seit letzter Fuellung");
var KumVerbrauchF= dom.GetObject("Brenner Verbrauch seit letzter Fuellung");
var KumZeitJ= dom.GetObject("Brenner Betriebsstunden laufendes Kalenderjahr");
var KumVerbrauchJ= dom.GetObject("Brenner Verbrauch laufendes Kalenderjahr");
var KumZeitM= dom.GetObject("Brenner Betriebsstunden laufender Monat");
var KumVerbrauchM= dom.GetObject("Brenner Verbrauch laufender Monat");
var KumZeitW= dom.GetObject("Brenner Betriebsstunden laufende Woche");
var KumVerbrauchW= dom.GetObject("Brenner Verbrauch laufende Woche");
var KumZeitT= dom.GetObject("Brenner Betriebsstunden heute");
var KumVerbrauchT= dom.GetObject("Brenner Verbrauch heute");
AusZeit.State(system.Date("%F %T"));
time t = EinZeit.Variable().ToTime();
time t1 = system.Date("%F %T").ToTime();
var x = t.ToInteger();
var x1 = t1.ToInteger();
var x0 = 0.01*(x1-x)/36;
var gelaufenF = x0 + KumZeitF.Variable();
KumZeitF.State (gelaufenF);
var verbrauchtF = gelaufenF * 1.87 * 1.197;
KumVerbrauchF.State (verbrauchtF);
var tankinhalt = TankGes - verbrauchtF;
KumTankAkt.State (tankinhalt);
var gelaufenJ = x0 + KumZeitJ.Variable();
KumZeitJ.State (gelaufenJ);
var verbrauchtJ = gelaufenJ * 1.87 * 1.197;
KumVerbrauchJ.State (verbrauchtJ);
var gelaufenM = x0 + KumZeitM.Variable();
KumZeitM.State (gelaufenM);
var verbrauchtM = gelaufenM * 1.87 * 1.197;
KumVerbrauchM.State (verbrauchtM);
var gelaufenW = x0 + KumZeitW.Variable();
KumZeitW.State (gelaufenW);
var verbrauchtW = gelaufenW * 1.87 * 1.197;
KumVerbrauchW.State (verbrauchtW);
var gelaufenT = x0 + KumZeitT.Variable();
KumZeitT.State (gelaufenT);
var verbrauchtT = gelaufenT * 1.87 * 1.197;
KumVerbrauchT.State (verbrauchtT);
Code: Alles auswählen
var AusZeit= dom.GetObject("Brenner letzte Ausschaltzeit");
var EinZeit= dom.GetObject("Brenner letzte Einschaltzeit");
var KumZeitT= dom.GetObject("Brenner Betriebsstunden heute");
var KumVerbrauchT= dom.GetObject("Brenner Verbrauch heute");
AusZeit.State(system.Date("%F %T"));
time t = EinZeit.Variable().ToTime();
time t1 = system.Date("%F %T").ToTime();
var x = t.ToInteger();
var x1 = t1.ToInteger();
var x0 = 0.01*(x1-x)/36;
var gelaufenT = x0 + KumZeitT.Variable();
KumZeitT.State (gelaufenT);
var verbrauchtT = gelaufenT * 1.87 * 1.197;
KumVerbrauchT.State (verbrauchtT);
Verwendung meiner Hinweise und Skripte auf eigenes Risiko | Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
Hallo JPS,
vielen Dank für Deine umfangreiche Arbeit und Deine Mühe mich auf den richtigen Weg zu bringen.
Es ist mir leider nicht gelungen dieses 1:1 zu übernehmen. Jedoch das letzte script (Brennerlaufzeit und
Ölverbrauch) hat mich schon erst einmal zufrieden gestellt; Dank dafür.
Eine Bitte noch: 1.Ich möchte die Ölmenge von "Hand" in die Variable "Tankinhalt aktuell" einstellen können
und 2. von dieser Ölmenge soll dann der der Ölverbrauch stetig abgezogen werden
Das wäre schon ein enormer Komfort!
vielen Dank für Deine umfangreiche Arbeit und Deine Mühe mich auf den richtigen Weg zu bringen.
Es ist mir leider nicht gelungen dieses 1:1 zu übernehmen. Jedoch das letzte script (Brennerlaufzeit und
Ölverbrauch) hat mich schon erst einmal zufrieden gestellt; Dank dafür.
Eine Bitte noch: 1.Ich möchte die Ölmenge von "Hand" in die Variable "Tankinhalt aktuell" einstellen können
und 2. von dieser Ölmenge soll dann der der Ölverbrauch stetig abgezogen werden
Das wäre schon ein enormer Komfort!
- JPS
- Beiträge: 1093
- Registriert: 07.08.2010, 22:51
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 8 Mal
- Danksagung erhalten: 20 Mal
- Kontaktdaten:
Re: Verbrauchs- und Betriebsstundenzähler für Ölheizungen
okay, ich verstehe dich so, dass das dritte Programm bei dir läuft, dann stimmt anscheinend wirklich was mit den Systemvariablen nicht, anders kann ich mir das aus der Ferne jetzt auch nicht erklären. Du solltest zur Fehlereingrenzung mal - wie oben bereits erwähnt - das Programm zeilenweise erweitern und dabei jeweils testen, ob es durchläuft bzw. an welcher Stelle es nicht mehr läuft.
Probier bitte vorher nochmal, ob das Skript mit dieser Änderung vielleicht funktioniert...
Ansonsten sollte das folgende Skript - wie von dir gewünscht - vom aktuellen Tankinhalt die im Brennzyklus verbrauchte Menge abziehen. Dieses Skript konnte ich hier aber nicht testen, da es mir meinen eigenen Zähler durcheinander hauen würde...
Manuell kannst du den aktuellen Tankinhalt am besten über WebMatic http://homematic-forum.de/forum/viewtop ... 369#p84071 setzen...
Wert in das Feld links eintragen und rechts auf "Setzen" klicken.
Probier bitte vorher nochmal, ob das Skript mit dieser Änderung vielleicht funktioniert...
Code: Alles auswählen
var AusZeit= dom.GetObject("Brenner letzte Ausschaltzeit");
var EinZeit= dom.GetObject("Brenner letzte Einschaltzeit");
var TankGes= dom.GetObject("Brenner Tankinhalt bei letzter Fuellung");
var KumTankAkt= dom.GetObject("Brenner Tankinhalt aktuell");
var KumZeitF= dom.GetObject("Brenner Betriebsstunden seit letzter Fuellung");
var KumVerbrauchF= dom.GetObject("Brenner Verbrauch seit letzter Fuellung");
var KumZeitJ= dom.GetObject("Brenner Betriebsstunden laufendes Kalenderjahr");
var KumVerbrauchJ= dom.GetObject("Brenner Verbrauch laufendes Kalenderjahr");
var KumZeitM= dom.GetObject("Brenner Betriebsstunden laufender Monat");
var KumVerbrauchM= dom.GetObject("Brenner Verbrauch laufender Monat");
var KumZeitW= dom.GetObject("Brenner Betriebsstunden laufende Woche");
var KumVerbrauchW= dom.GetObject("Brenner Verbrauch laufende Woche");
var KumZeitT= dom.GetObject("Brenner Betriebsstunden heute");
var KumVerbrauchT= dom.GetObject("Brenner Verbrauch heute");
! Speichern der Ausschaltzeit
AusZeit.State(system.Date("%F %T"));
! Den Einschaltzeit String aus der Systemvariablen in ein Zeitobjekt umwandeln
time t = EinZeit.Variable().ToTime();
! Die aktuelle (Ausschalt)Zeit String erzeugen und in ein Zeitobjekt umwandeln
time t1 = system.Date("%F %T").ToTime();
! Das Zeitobjekt Einschaltzeit in Sekunden seit 1.1.1970 umwandeln
var x = t.ToInteger();
! Das Zeitobjekt aktuelle Zeit in Sekunden seit 1.1.1970 umwandeln
var x1 = t1.ToInteger();
!Die Differenz ist die Einschaltdauer in Stunden umgerechnet
var x0 = 0.01*(x1-x)/36;
! Die Einschaltdauer seit der letzten Füllung kumulieren = Betriebsstunden seit der letzten Füllung
var gelaufenF = x0 + KumZeitF.Variable();
! Die Betriebsstunden seit der letzten Füllung in die Systemvariable einstellen
KumZeitF.State (gelaufenF);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h seit der letzten Füllung
var verbrauchtF = gelaufenF * 1.87 * 1.197;
! Verbrauch seit der letzten Füllung in die Systemvariable einstellen
KumVerbrauchF.State (verbrauchtF);
! Berechnung Tankinhalts in Litern
var tankinhalt = TankGes - verbrauchtF;
! Tankinhalt in die Systemvariable einstellen
KumTankAkt.State (tankinhalt);
! Die Einschaltdauer im laufenden Kalenderjahr kumulieren = Betriebsstunden
var gelaufenJ = x0 + KumZeitJ.Variable();
! Die Betriebsstunden im laufenden Kalenderjahr in die Systemvariable einstellen
KumZeitJ.State (gelaufenJ);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h im laufenden Kalenderjahr
var verbrauchtJ = gelaufenJ * 1.87 * 1.197;
! Verbrauch im laufenden Kalenderjahr in die Systemvariable einstellen
KumVerbrauchJ.State (verbrauchtJ);
! Die Einschaltdauer im laufenden Kalendermonat kumulieren = Betriebsstunden
var gelaufenM = x0 + KumZeitM.Variable();
! Die Betriebsstunden im laufenden Kalendermonat in die Systemvariable einstellen
KumZeitM.State (gelaufenM);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h im laufenden Kalendermonat
var verbrauchtM = gelaufenM * 1.87 * 1.197;
! Verbrauch im laufenden Kalendermonat in die Systemvariable einstellen
KumVerbrauchM.State (verbrauchtM);
! Die Einschaltdauer in der laufenden Kalenderwoche kumulieren = Betriebsstunden
var gelaufenW = x0 + KumZeitW.Variable();
! Die Betriebsstunden in der laufenden Kalenderwoche in die Systemvariable einstellen
KumZeitW.State (gelaufenW);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h in der laufenden Kalenderwoche
var verbrauchtW = gelaufenW * 1.87 * 1.197;
! Verbrauch in der laufenden Kalenderwoche in die Systemvariable einstellen
KumVerbrauchW.State (verbrauchtW);
! Die Einschaltdauer heute kumulieren = Betriebsstunden
var gelaufenT = x0 + KumZeitT.Variable();
! Die Betriebsstunden heute in die Systemvariable einstellen
KumZeitT.State (gelaufenT);
! Berechnung von Verbrauch in Liter mit 1,87 kg/h heute
var verbrauchtT = gelaufenT * 1.87 * 1.197;
! Verbrauch heute in die Systemvariable einstellen
KumVerbrauchT.State (verbrauchtT);
Code: Alles auswählen
var AusZeit= dom.GetObject("Brenner letzte Ausschaltzeit");
var EinZeit= dom.GetObject("Brenner letzte Einschaltzeit");
var KumTankAkt= dom.GetObject("Brenner Tankinhalt aktuell");
var KumZeitT= dom.GetObject("Brenner Betriebsstunden heute");
var KumVerbrauchT= dom.GetObject("Brenner Verbrauch heute");
AusZeit.State(system.Date("%F %T"));
time t = EinZeit.Variable().ToTime();
time t1 = system.Date("%F %T").ToTime();
var x = t.ToInteger();
var x1 = t1.ToInteger();
var x0 = 0.01*(x1-x)/36;
! Berechnung von Verbrauch in Liter mit 1,87 kg/h im letzten Brenner-Einschaltzyklus
var verbrauchtZ = x0 * 1.87 * 1.197;
! Berechnung des Tankinhalts in Litern
var tankinhalt = KumTankAkt.Variable() - verbrauchtZ;
! Tankinhalt in die Systemvariable einstellen
KumTankAkt.State (tankinhalt);
var gelaufenT = x0 + KumZeitT.Variable();
KumZeitT.State (gelaufenT);
var verbrauchtT = gelaufenT * 1.87 * 1.197;
KumVerbrauchT.State (verbrauchtT);
Wert in das Feld links eintragen und rechts auf "Setzen" klicken.
Verwendung meiner Hinweise und Skripte auf eigenes Risiko | Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung