Betriebsstunden - Erfassung

Hallo Ralf,

TRUE/FALSE:
Am Skript liegt es mit Sicherheit nicht. Du solltest evtl. noch einmal die Erzeugung des „Brenner“-Signals überprüfen.

Verbrauch und Tankinhalt:
Ich würde den verbleibenden Tankinhalt so berechnen:

verbleibender Tankinhalt = Tankvolumen - bisheriger Verbrauch

also etwa so:

$tankinhalt = $tankvolumen - $verbrauch;

$tankvolumen ist eine Konstante, die den maximalen Tankinhalt darstellt.

Auf diese Weise sparst Du Dir die ständige Addition von sehr kleinen Float-Werten. Nach längerer Zeit könnten sich sonst Rundungsfehler so aufsummieren, dass es zu Abweichungen kommen kann.

Gruß
HJH

Hallo HJH!
Vielen Dank für die Mühe.
Ich habe das obige Script laufen. Fast perfekt.:slight_smile:
In der Anzeige im Designer wird von Anfang an immer gleich 1 Std.angezeigt.
Das sieht dann Beispielsweise so aus: 01:00:22.
Hast du dafür eine erklärung?
Wenn ich „von Hand“ die Brenner_Laufzeit auf 0 setze, kommt biem Start des Scripts sofort wieder: 01:00:01 usw.

Mit einer kleinen Änderung habe ich noch ein Script gemacht das mir im Designer auch nur die jeweilige Brennerlaufzeit anzeigt.
Also habe ich die Gesamtlaufzeit und auch nur die jeweilige Einschaltzeit
else // Brenner hat wieder ausgeschaltet
IPS_SetScriptTimer($IPS_SELF, 0); // ScriptTimer wieder löschen
$ende=0; // setzt die Variable wieder auf 0
SetValueInteger(„Brenner_Laufzeit_kurz“, $ende); // Hält die jeweilige Brenndauer bis zum nächst. Start
break;
Noch ein kleiner Wunsch:
Ich brauche die Zeit des nächsten Brennerstarts.(durch die Wiedereinschaltsperre kann nur nach Ablauf von 10 Min. ein neuer Brennerstart erfolgen.
Beispiel:
Brenner lief 05:30 Minuten, dann soll die Zeit bis zum nächsten Start als Countdown im Designer ablaufen.
:smiley: Einfach zu rechnen: 10 Min- 5Min. Countdown soll von 04:30 auf 00:00 herunterzählen.
Ich kriegs leider nicht hin.:o
Vielen Dank im Voraus
Egon

Hallo Egon,

Du hast Recht. Ursache hierfür ist die Tatsache, dass die Funktion date(…) die lokale Zeitzone berücksichtigt.

Man sollte stattdessen besser die Funktion gmdate(…) verwenden. Diese bezieht sich immer auf Greenwich Mean Time (GMT). Damit tritt dann keine Abweichung auf.

Wiedereinschaltsperre:
Bist Du sicher, dass die Sperre sich auf den EINschaltzeitpunkt bezieht und nicht auf den AUSschaltzeitpunkt?
Ich glaube eher, dass der Brenner 10min lang AUSgeschaltet sein muss, bevor er erneut startet. Nach Deiner Rechnung würde er nach einer Laufzeit von 00:09:59 bereits nach 1 Sekunde wieder neu starten.

Gruß
HJH

Das denke ich aber auch! Zum Einen sollen wohl ganz kurze Brennertaktungen vermieden werden, zum Anderen könnte es vielleicht zu ungewollten Fehlzündungen kommen, wenn der Brennraum etc. heiß ist.

Man sollte stattdessen besser die Funktion gmdate(…) verwenden. Diese bezieht sich immer auf Greenwich Mean Time (GMT). Damit tritt dann keine Abweichung auf.
genau DAS hab ich noch gebraucht!!

Zu meinem script:

TRUE/FALSE:
Am Skript liegt es mit Sicherheit nicht. Du solltest evtl. noch einmal die Erzeugung des „Brenner“-Signals überprüfen.

Bei mir läuft’s noch im Testbetrieb und der Brennerlauf wird durch einen Button (sim.) gestartet. Die Variable zeigt mir auch True an, wenn der Brenner (sim.) läuft. Egal - ich weiß ja jetzt, wie man’s invertiert!

Ich würde den verbleibenden Tankinhalt so berechnen:

verbleibender Tankinhalt = Tankvolumen - bisheriger Verbrauch

Ok-An Rundungsfehler hab ich nicht gedacht! :rolleyes:Danke für den Tipp.
Ich habs auch schon mit $inhalt-$verbrauch probiert, jedoch mit dem bereits addierten Verbrauch, der jede Sekunde subtrahiert wurde. Is natürlich nix!

Bei

$tankinhalt = $tankvolumen - $verbrauch;

muss ich eben irgendwo eine Startmenge festlegen, da Volumen =3000l, Inhalt (Restmenge)= 1200l… Für die Startmenge brauche ich noch ein „Input“ (so hieß das mal beim Basic:)) damit ich nach dem Tanken die aktuelle Menge eingeben (setzen) kann. Naja, werd’s schon hinkriegen.

Danke großer Meister.

Ach ja, und wenn das Öl alle ist, heiße ich mit Holz weiter…

HAT JEMAND EINE HOLZVERBRAUCHSBERECHNUNG PARAT ?? :D:D

Uuppsss?!

Man sollte stattdessen besser die Funktion gmdate(…) verwenden. Diese bezieht sich immer auf Greenwich Mean Time (GMT). Damit tritt dann keine Abweichung auf.

Ääh… FAST keine Abweichung… bei mir sind’s mit gmdate(…) jetzt 12:00:00 Stunden Startzeit:confused:
Dann lieber nur eine Stunde:o
Oder hab ich was falsch gemacht??

Hallo Ralf!
Bei mir gehts jetzt mit gmdate Einwandfrei.:slight_smile:
Viel Spass beim weitertesten.

Meine Brennersperrzeit ist Tatsächlich so wie oben beschrieben.
Immer 10 Minuten, ausser der Brenner lief länger als die 10 Min…
Auch in diesem Fall erfolgt ein sofortiger Neustart-falls Istwert 4 Grad kleiner als Sollwert ist.
Gruß
Egon.

klar, bestimmt geht das bei jedem verdammten Rechner auf diesem Planeten - nur BEI MIR NICHT:mad:

Meine Brennersperrzeit ist Tatsächlich so wie oben beschrieben.
Immer 10 Minuten, ausser der Brenner lief länger als die 10 Min…
Auch in diesem Fall erfolgt ein sofortiger Neustart-falls Istwert 4 Grad kleiner als Sollwert ist.
Gruß
Egon.

Naja…eigentlich kann er nach dem Abschalten nicht neu starten, sonst wäre er ja ausgegangen, ohne seinen Sollwert zu erreichen…

Liebe leut : Wenn ihr mal im inneren ihren öl-offen reinschauen wurdest, gibt es ein ding die so zimmlich wichtig ist.
Verbrennung geht nur wenn luft und öl gemisch ubereinstimmt… (Wieso denkste das ein kaminofen so viel larm macht - luft gebläse). Die DUSE bestimmt das anzahl öl die reingespritzt wird und wird in Gallon/minute ausgedruckt. (Zufalligerweise mein nachname)
Wenn ihr eueres skript unter controlle bekommt - und das ist ein fakt - wenn ich sehe mit wieviel eifer daran gebastellt wird - - (wow eine zeile mit 2 denk striche - oder wie heissen diese dinger auf Deutsch-) könntet ihr - die tolleranz auf die duse in einspruch genommen - eueren verbrauch in liter öl berechnen.
Wie ist dass als denk anstoss :smiley:

Ihr braucht nur zu wissen was fuer eine duse montiert ist. 4 schrauben los, die duse raus und auf den rand steht die magische zahl.

Bitte

korrigiere geringfügig: …bestimmt geht das bei jedem verdammten Rechner auf diesem Planeten, der gmdate(„H:i:s“… da stehen hat, statt gmdate(„h:i:s“…:slight_smile:

Hallo GGGGGssss!

Oder ist da ein G oder s zuviel drin?:smiley:
Ich habe Gasbrenner!:stuck_out_tongue:
Gasverbrauch erfasse ich über die Gasuhr-mit Reedkontakt
Schönen Abend noch
Egon

da Volumen =3000l, Inhalt (Restmenge)= 1200l

$tankinhalt = $tankvolumen - $verbrauch;

Wer spricht hier von gass?

Sorry:

„Gas im tank zufällig?“ -> ok sorry - brauchst du eigentlich keine zähler : uber das gewicht bekommt man es auch mit (etwas schwierieger vonwegen die temperatur)
Ehrlich : dachte nicht das gastanks einhalt haben konnten… hab’s nicht mitbekommen./.

Für alle, die diesen Thread noch verfolgen…
Ich habe da ein Irrtum meinerseits entdeckt:
Der Brennerdurchsatz wird üblicherweise nicht in l/h angegeben, sondern Kg/h!!
Ich muß also meine Betriebsstunden mit 2,366 multiplizieren um den Literverbrauch zu erhalten. (so macht das mein Zähler)

Nur daß nicht einer den gleichen Fehler macht…:o

Gruß

Ralf

Hallo HJH,

ich habe die von dir in angebotenen Anzeigen der Betriebsdauer verwendet, nur bekomme ich immer eine Anzeige von einer Stunde und eine Minute auch wenn die Laufzeit nur ein paar Sekunden war. Also als Beispiel bei einer Laufzeit von 30 Sekunden: „01:01:30“
Der Integerwert für die Laufzeit ist jeweils richtig. Es sieht für mich so aus also die Umwandlung der Anzeige probleme macht

Wenn ich eine Laufzeit über den Tag mache läuft die Anzeige wunderbar, aber eben immer um eine Stunde (+1Minute) zuviel an.

Hast Du hierzu einen Tipp? :confused:
Gern kann ich mein Script einstellen.

Grüße

andrge

Ich wollte die Stunden mit 4 Dezimalstellen und habs so gemacht:

SetValueString(„MS_Laufzeit_Std_Dez“, sprintf("%04.4f", ($laufzeit/3600))); //Laufzeit Std.Dez

Du mußt das Ergebnis nur umformatieren. Mehr nicht.

Hallo!
Das hat HJH weiter oben schon mal beantwortet:
gmdate ist die Lösung des Problems:D

Schönen Tag
Egon

Hallo Egon,

danke für den Tipp. Hab ich weiter oben übersehen.

…und es funktioniert!!

Grüße
Andreas