Hallo zusammen,
in meinem Baustein LBS 19001383 verwende ich remanente Variablen, doch bei einem Neustart werden sie dennoch überschrieben. Habt Ihr eine Idee, woran das liegen könnte:
in meinem Baustein LBS 19001383 verwende ich remanente Variablen, doch bei einem Neustart werden sie dennoch überschrieben. Habt Ihr eine Idee, woran das liegen könnte:
PHP-Code:
###[DEF]###
[name =Verbrauch v0.3]
[e#1 =Leistung ]
[e#2 =Trigger ]
[a#1 =Verbrauch ]
[v#1 remanent= ] Letztes Ereignis (Zeit)
[v#2 remanent= ] Pmom
[v#3 remanent= ] Verbrauch
###[/DEF]###
###[LBS]###
<?
function LB_LBSID($id)
{
if ($E=logic_getInputs($id))
{
$t2=getMicrotime();
$t1=logic_getVar($id,1);
$p=logic_getVar($id,2);
$sum=logic_getVar($id,3);
if ($E[1]['refresh']==1)
{
$a = ($t2-$t1)*$p/(60*60); // Verbrauch berechnen
$sum = $sum + $a; // Akkumulieren
logic_setVar($id,1,$t2); // Neuer Zeitstempel
logic_setVar($id,2,$E[1]['value']); // Neue Momentanleistung
logic_setVar($id,3,$sum); // Neue Summe
}
else if ($E[2]['refresh']==1)
{
$a = ($t2-$t1)*$p/(60*60); // Verbrauch berechnen
$sum = $sum + $a; // Akkumulieren
logic_setOutput($id,1,$sum); // Verbrauch ausgeben
logic_setVar($id,3,0); // Verbrauch auf 0 setzen
}
logic_setVar($id,1,$t2); // Neuer Zeitstempel
}
}
?>
###[/LBS]###
Kommentar