Heizung Ölverbrauch über Betriebszeit?

Hallo Leute!

Ich habe einen Moeller Binäreingang in meine Heizungssteuerung gehängt, der nun Brenner an/aus an IPS meldet.

Da auf dem Ölbrenner ein Verbrauch L /h angegeben ist, wäre es möglich, somit indirekt den Ölverbrauch zu ermitteln? Braucht ein Brenner immer konstant die angegebene Menge Öl? Habt ihr schon Erfahrung damit?
Der Brenner ist nur einstufig!

Wie ermittle ich dafür die Betriebszeit?
Ein Script, dass jede Minute startet, und falls Brenner = an dann den Wert 1 in eine Variable schreibt? Oder gibts dafür eine „sauberere“ Lösung?

Danke!

Chris

Wenn er definitiv nur eine Stufe hat kannst Du den Verbrauch über die Durchflussmenge (Handbuch->Infos zur Düse) x Laufzeit bestimmen. Weiß allerdings nicht wie es mit der Zündung aussieht. Glaube das dauert bei Öl ja auch einen Moment… müsstest also ggf. nen Korrekturwert je Start mit einbeziehen…

Habe selbst nen Pelletkessel, da habe ich parallel zur Förderschnecke ein Relais welches mir eine Variable triggert.

Hallo,

wenn du schon eine Variable in IPS hast die dir den Brennerzustand anzeigt, kannst du damit ja auch dein Skript Triggern.
Wenn dein Brenner nur einstufig ist, kannst du damit schon recht genau deine Ölmenge berechnen.
Hierzu musst du nur wissen welche Düse du in deinem Brenner drin hast und mit wie viel bar das öl da durchgeschossen wird. Anhand den Daten und der Brennerlaufzeit kannst du deine Ölmenge berechnen.
Was dtm@ geschrieben hat muss zudem noch beachtet werden. Wenn du deinen Eingang direkt an der Flammenüberwachung dran hast ist es kein Problem.
Ansonsten musst du halt einen Korrekturwert ermitteln.

Gruß

Danke für die schnellen Tips!

Und mit welchen Script kann ich das Resourcenschonend anstellen?

Jede Minute eines zu starten ist doch nicht brauchbar, oder?

Chris

Du startest es doch mit dem Trigger " Brenner AN " , sonst wird es doch nicht gestartet !

Hallo,

ich habe so eine Lösung shcon seit 2,5 Jahren erfolgreich im Einsatz. Bei Änderung der Variable Brenner ein/aus läuft folgendes Script:

<?


$Brenndauer = 0;

$aktuelle_zeit = (date("H")*100)      +   date("i");

include("db_include.ips.php");
require_once('25903.ips.php');

$Status = "";
if (GetValueBoolean("Brenner_Status") != TRUE)
{
  $Brenner_ein = GetValueInteger("Brenner_ein");
  SetValueInteger("Brenner_ein",0);
  $Brenner_aus = time();
  $Brenndauer =  $Brenner_aus  - $Brenner_ein;
  $Status = "Brenner ausgeschaltet";}
else
{ $Status = "Brenner eingeschaltet";
  $timestamp = time();
  SetValueInteger("Brenner_ein",$timestamp);}



if($Brenndauer < 10000 && $Brenndauer > 1){
$sql = "INSERT INTO heizung_brenner  ( timestamp, dauer) VALUES
           (
			 NOW() ,
			 '".$Brenndauer."'
          )";
          //echo $sql;
$result = mysql_query($sql) or die("Anfrage nicht erfolgreich");
 }

//echo $Status.'<br>';
//echo $Brenndauer;
if($Brenndauer < 15 && $Brenndauer > 1){
  SetValueString('Warnmeldung','Brenner evtl. auf Stoerung!');
  IPS_LogMessage('Heizung', 'Brenner-Stoerung');
  $sql = "INSERT INTO action_log  (ID, TIMESTAMP, ACTION) VALUES
           (
			 ' ',
			 NOW() ,
			 'Brenner-Stoerung'
          )";
	$result = mysql_query($sql) or die("Anfrage nicht erfolgreich");
}
?>

Zur Auswertung habe ich dann folgendes Script das Variablen fürs Frontend füllt:

##################################
#4 Tagesverbrauch
##################################
$sql = "SELECT sum(dauer) AS Brenndauer_sek FROM heizung_brenner where timestamp  >= '".$Datum_Heute." 00:00:00'
														          and   timestamp <= '".$Datum_Heute." 23:59:00'";
$result = mysql_query($sql) or die("Anfrage nicht erfolgreich");
while ($row = mysql_fetch_assoc($result)) {$Brenndauer_sek = $row['Brenndauer_sek'];}


##################################
#4.1 Brenner läuft, Verbrauch bis jetzt mit berechnen
##################################
$Brenner_Status 	  =  GetValueBoolean(34443 /*[produktiv\8Kanal_Status_Melder\Brenner_Status]*/ );
if($Brenner_Status == true){
	$zeit_jetzt 	  = time();
	$start_brenner 	  = GetValueInteger(51571 /*[Heizung\Heizung_Brenner\Brenner_ein]*/ );
	$Brenndauer_sek   = $Brenndauer_sek + ($zeit_jetzt - $start_brenner);
}
//Heizung_Verbrauch_Fakto 1.06
$Oel = $Brenndauer_sek / 3600 * $Heizung_Verbrauch_Faktor;
$Oel = round($Oel, 1);
SetValueFloat(23310 /*[Webfront\Verbrauch\Oel]*/,$Oel);

Monat
$Kosten = $Brenndauer_sek / 3600 * $Heizung_Verbrauch_Faktor * $Heizung_Verbrauch_Kosten ;
$Kosten = round($Kosten , 2);
SetValueFloat(13244 /*[Webfront\Verbrauch\Kosten]*/,$Kosten);


##################################
#5 Rest im Tank
##################################
$sql = "SELECT sum(dauer) AS g_dauer  FROM heizung_brenner where timestamp > '2008-09-29 14:00'";
$result = mysql_query($sql) or die("Anfrage nicht erfolgreich");
while ($row = mysql_fetch_assoc($result)) {$Gesamt_Dauer = $row['g_dauer'];}

$Gesamt_Oel = $Gesamt_Dauer / 3600 * $Heizung_Verbrauch_Faktor;

//2200 + 3006 = 5206
$Gesamt_Rest = 5206 - $Gesamt_Oel ;
$Oel_Stand   = $Gesamt_Rest * 0.0226;
$Oel_Stand = $Oel_Stand." cm";


SetValueFloat(32296 /*[Webfront\Verbrauch\Tank Inhalt]*/,$Gesamt_Rest);

$werte['Brenner_Status']      = $Brenner_Status;
$werte['Oel'] 						=  $Oel." l";
$werte['Kosten']    				=  $Kosten." EUR";
$werte['Gesamt_Rest']   		=  round($Gesamt_Rest, 0)." l";
$werte['Oel_Stand']   			=  round($Oel_Stand, 0)." cm";
$werte['Brenndauer_sek']    	=  $Brenndauer_sek." sec.";
$werte['start_brenner'] 		= $start_brenner;

Vielleicht hilft es dir das ein wenig.

Gruß Hooker