EKM stromlos, Counter auf Null

Hallo,

ich musste vor einigen Tagen mal eine Sicherung ausschalten, so daß der EKM kurz stromlos wurde.

Laut Doku sollte das jedoch kein Problem darstellen:

Wird der Zähler z.B. durch eine Spannungsunterbrechung gelöscht, so ist dies nicht relevant, da IP-Symcon dies automatisch erkennt bei der Generierung der Grafiken berücksichtigt.
Die Variablen „Counter“ wurden jedoch auf 0 gestellt, so daß mein Zählerstand nicht mehr stimmt. Oder wie ist das zu verstehen?
Was ist denn überhaupt mit Grafikgenerierung gemeint?:confused:

Danke!

Andreas

Damit ist gemeint, dass deine Graphen der Variablen Counter und Current davon nicht beeinflusst werden, wenn der Strom weg ist. Die Graphen sehen also ganz normal aus, so als wäre nix gewesen.

Gruß,
Christoph

Ah ok.
Da habe ich keinen Graph direkt drauf.

Um einen korrekten Zählerwert auch nach einem Stromausfall zu erhalten, muß man also selbst was programmieren (mit weiteren Variablen)?

Ja. Du könntest auch eine DB-Abfrage via AC_getAggregatedValues() starten. Liefert das gleiche Ergebnis wie ein IPS-Chart

Korrekt - da musst Du selbst etwas zusammenbauen.

ich habe dafür zwei Variablen pro Kanal:

  1. ein Startwert x, damit passe ich die Zähler auf gleiche Werte an
    (counter + x = Wert Stromversorger y)
  2. y errechneter Wert Stromversorger, bei EKM-Ausfall diesen Wert manuell als neuen Startwert eintragen
    (bei längerem Ausfall ein paar (hundert)Zähler zuaddieren bis Stromzählerwerte wieder gleich sind)
    Triggern von y auf counterereignis ekm
    und bei 4 Eingängen das Ganze natürlich vierfach :smiley:

Ich habe eine zweite Variable Counter und schreibe die Countervariable von der Instanz sofort in meine Variable. Auf Aktualisierung der Instanzvariable Counter berechne ich den Unterschied und addiere nur den errechneten Unterschied. Wenn dieser negativ ist - also es war Stromausfall - dann kommt nur bei dieser Aktualisierung der komplette Zählerstand auf meine Countervariable. Danach dann wieder nur der errechnete Unterschied. So muss ich manuell nix machen… Hat bisher immer gut funktioniert.

Gruß,
Christoph

Ich habe eine zweite Variable Counter und schreibe die Countervariable von der Instanz sofort in meine Variable. Auf Aktualisierung der Instanzvariable Counter berechne ich den Unterschied und addiere nur den errechneten Unterschied. Wenn dieser negativ ist - also es war Stromausfall - dann kommt nur bei dieser Aktualisierung der komplette Zählerstand auf meine Countervariable. Danach dann wieder nur der errechnete Unterschied. So muss ich manuell nix machen… Hat bisher immer gut funktioniert.

So ähnlich habe ich es auch programmmiert. Danke für die Hinweise.

Hallo!

Ich brauche in dem Bereich auch einmal eure Hilfe. Drehe mich hier gerade im Kreis und finde den Faden nicht mehr :-/

Also ich möchte auch eine Konstante Variable „Counter“ haben die immer den gesamten Zähler beinhaltet, auch nach einem Stromausfall.

Dazu habe ich mir eine neue Variable erstellt und übertrage den aktuellen Counter mit folgendem Skript:

<?
$counter = GetValueInteger (26377 /*[Messen-Überwachen-Melden\Energiezähler\Strom\EKM-868 (S0-1)\TestVAR]*/ );
$cgesamt = GetValueInteger (49443 /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter Gesamt]*/ );

if ($counter >= $cgesamt)
{
	SetValueInteger(49443 /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter Gesamt]*/, $counter);
}
	else
	{
	   SetValueInteger(49443 /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter Gesamt]*/, ($cgesamt + $counter));
	}
?>

Somit überprüfe ich quasi ob der aktuelle counter größer ist, falls ja, schreibe ich den in meine gesamt Variable.
Falls nicht (also nach Stromausfall) rechne ich meinen gesamt Zähler plus dem aktuellen Zähler.

Das Problem an der Stelle ist nur, wenn der Zähler nun weiterläuft wird ja immer der komplette Zähler dem Gesamtzähler hinzugefügt, aber es darf ja quasi nur die Differenz zum letzten Wert hinzugefügt werden.

Und da stehe ich mir gerade mal selber auf der Leitung.
Ist sicher nur eine Kleinigkeit, vielleciht hab ihr den passenden Denkansatz für mich…

Danke!

Okido, ich denke ich habe die Lösung.
Keine Ahnung ob das jetzt total Umständlich ist, jedenfalls funktioniert es :wink:
Habe mir noch eine weitere Hilfsvariable (counter ALT) zur Berechnung erstellt.

Das Skript dazu sieht nun folgendermaßen aus:

<?
$counter = GetValueInteger (26377 /*[Messen-Überwachen-Melden\Energiezähler\Strom\EKM-868 (S0-1)\TestVAR]*/ );
$cgesamt = GetValueInteger (49443 /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter Gesamt]*/ );
$calt = GetValueInteger (19895  /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter ALT]*/);
$differenz = ($counter - $calt);

if ($counter > $cgesamt)
{
	SetValueInteger(49443 /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter Gesamt]*/, $counter);
	SetValueInteger(19895  /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter ALT]*/, $counter);
}
	elseif ($differenz >= 0)
	{
	   SetValueInteger(49443 /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter Gesamt]*/, ($cgesamt + $differenz));
	   SetValueInteger(19895  /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter ALT]*/, $counter);
	}
		else
		{
		SetValueInteger(49443 /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter Gesamt]*/, ($cgesamt + $counter));
	   SetValueInteger(19895  /*[Messen-Überwachen-Melden\Energiezähler\Strom\Counter ALT]*/, $counter);
		}
?>

Habe mal alle Fälle durchgetestet, scheint zu gehen (dafür ist die TestVAR im EKM)

Hallo ChristianL,
habe gerade Strom-, Gas- und Wasserzähler an den EKM angeschlossen, Skript von wango übernommen, läuft:):).

Die gedanken über Stromausfall habe ich mir auch gemacht und bin auf Deinen Beitrag gestoßen.

Wenn möglich versuche ich die Skripte die ich aus dem Forum nutze auch zu verstehen. Wobei die Suche in der Doku nicht immer so einfach ist, obwohl hier sehr oft zur Antort kommt, schau in die Doku.

Doch jetzt meine eigentliche Frage zu Deinem Skript.
Wie wird die TestVAR gefüllt, von wo kommen die Werte:confused::confused::confused:
Auf welche Variable bezieht sich das Ereignis??? Ist leider nicht mehr zu erkennen.

Danke

kds8

:o Ich glaube ich habs geschnallt:o

TestVAR wird manuell gefüllt. Ist halt ne TestVAR.:rolleyes::rolleyes::rolleyes:

Werde es mal versuchen, musste gestern den EKM ausmachen, jetzt stimmt der Stand nicht mehr.

Aber ich bin ja noch in der „Findungsphase“ ;):wink:

kds8

Sorry, gerade erst gesehen… Ja richtig erkannt die TestVAR war nur zum testen :wink:

Wenn noch was ist melden, wobei ich mich da nach der langen Zeit auch erst mal wieder rein denken muss. Bis heute läuft die Geschichte aber sehr zufriedenstellend!