Skip to content

Verbrauch und Snapshots ​

Ca. 8 Min. Lesezeit

Ein Snapshot ist ein einzelner Wert, der aus den Archivdatensätzen (Log) eines Tags für einen Kalenderzeitraum berechnet wird: der heutige Energieverbrauch, die durchschnittliche Leistung von gestern, die höchste Temperatur des letzten Monats und Ähnliches. Snapshots werden beim Öffnen der Seite mit einer einzigen Sammelanfrage vom Server abgerufen und wie ein normales Tag an die Widgets der Seite gebunden. Zusätzlicher Code oder ein spezielles Widget ist nicht nötig.

Es gibt zwei Snapshot-Arten:

ArtPräfixBerechnungGeeignete Daten
Historie__histSumme, Durchschnitt, Minimum, Maximum oder letzter Wert der Archivdatensätze im ZeitraumMomentanwerte: Leistung (kW), Spannung (V), Strom (A), Temperatur
Verbrauch__consZuwachs des Zählerwerts im Zeitraum (Zählerdifferenz)Stetig steigende Zähler: Wirk-/Blindenergie (kWh), Wasser, Gas

Verwenden Sie für einen stetig steigenden Wert wie einen Energiezähler __cons, für einen Momentanwert __hist.

Archivdatensätze erforderlich

Ein Snapshot wird aus den Archivdatensätzen des Tags berechnet. Hat das Tag keine Log-Definition, findet der Server die Quelle des Snapshots nicht, und es kommt kein Wert. Hat das Tag mehrere Log-Definitionen, wird die zuerst angelegte verwendet.

Aufbau des Snapshot-Namens ​

Ein Snapshot-Name besteht aus vier durch Punkte getrennten Teilen:

text
<Art>.<Zeitraum>.<Aggregation>.<Tag>
TeilWerteBeispiel
Art__hist oder __cons__cons
ZeitraumTabelle Zeiträume untenthismonth
Aggregationsum, avg, min, max, lastsum
TagTag-Name (abhängig vom Tag-Präfix der Seite, siehe Tag-Name und Seitenpräfix)EA

Beispiele:

text
__cons.today.sum.EA                Energieverbrauch heute
__cons.yesterday.sum.EA            Energieverbrauch gestern
__cons.month[-1].sum.EA            Energieverbrauch im letzten Monat
__hist.today.avg.AktifGuc          durchschnittliche Wirkleistung heute
__hist.thismonth.max.Sicaklik      höchste Temperatur in diesem Monat
  • Groß- und Kleinschreibung spielt keine Rolle; Month[-1] und month[-1] sind gleich.
  • Fehlt der Aggregationsteil, wird sum verwendet.
  • Die in älteren Seiten mögliche Schreibweise __const wird als __cons akzeptiert; verwenden Sie in neuen Seiten __cons.

Zeiträume ​

ZeitraumBedeutungAktualisierung des Werts
todayHeuteetwa alle 45 Sekunden
yesterdayGesternstündlich
thisweekDiese Wochealle 10 Minuten
lastweekLetzte Wochestündlich
thismonthDieser Monatalle 10 Minuten
lastmonthLetzter Monatstündlich
thisyearDieses Jahralle 30 Minuten
lastyearLetztes Jahrstündlich

Für weiter zurückliegende Zeiträume wird die Schreibweise mit Versatz verwendet: day[N], week[N], month[N] und year[N]. N ist 0 oder eine negative ganze Zahl:

  • day[0] bezeichnet den heutigen Kalendertag, day[-2] den Kalendertag vor zwei Tagen.
  • month[-1] bezeichnet den letzten Monat, month[-3] den Monat vor drei Monaten.
  • Ist N gleich 0, wird der Wert wie ein laufender Zeitraum aktualisiert, ist N negativ, wie ein abgeschlossener Zeitraum.

Die Zeiträume werden nach der Zeitzone des Browsers, in dem die Seite geöffnet ist, am Kalender ausgerichtet; today beginnt zum Beispiel um lokale Mitternacht.

Aggregation ​

WertBedeutung
sumSumme
avgDurchschnitt
minMinimum
maxMaximum
lastLetzter Wert

Bei Verbrauchs-Snapshots (__cons) wird für den Gesamtverbrauch des Zeitraums sum verwendet.

Snapshot-Namensgenerator ​

Statt den Snapshot-Namen von Hand zu schreiben, können Sie den Snapshot-Namensgenerator im Bindungsbereich des Seiteneditors verwenden:

  1. Wählen Sie das Widget aus und öffnen Sie im rechten Bereich die Registerkarte für die Bindungen (siehe Seiteneditor).
  2. Klicken Sie auf die Schaltfläche Snapshot-Namensgenerator.
  3. Wählen Sie mit der Schaltfläche neben dem Feld Tag ein Tag mit Archivdatensätzen. Es muss ein echtes Tag (Kanal.Gerät.Tag) gewählt werden; System-Tags, Ausdrücke und Snapshot-Namen können nicht verwendet werden.
  4. Wählen Sie als Art Historie (__hist) oder Verbrauch (__cons).
  5. Wählen Sie den Zeitraum. Bei Tag (mit Versatz), Woche (mit Versatz), Monat (mit Versatz) oder Jahr (mit Versatz) erscheint das Feld Versatz (0 = aktuell, -1 = vorheriger).
  6. Wählen Sie die Aggregation. Standard ist bei Historie Durchschnitt, bei Verbrauch Summe.
  7. Prüfen Sie den Namen im Feld Vorschau und klicken Sie auf die Schaltfläche Einfügen.

Der Generator erzeugt die absolute Form mit dem vollständigen Namen des gewählten Tags (zum Beispiel MTCP01.Sayac01.__cons.today.sum.EA). Diese Form funktioniert unabhängig vom Tag-Präfix der Seite.

An ein Widget binden ​

Der Snapshot-Name wird in der Wertbindung des Widgets statt eines Tag-Namens eingetragen. Bei Widgets wie Wertanzeige, Messanzeige oder Text wird die Werteigenschaft (processValue) gebunden. Wird die Seite in der Vorschau oder Anzeige geöffnet, wird der Wert automatisch gefüllt.

  • Der Wert bleibt leer, bis die erste Abfrage abgeschlossen ist, und wird danach je nach Zeitraum in der oben angegebenen Häufigkeit aktualisiert.
  • Wird derselbe Snapshot in mehreren Widgets verwendet, wird der Server nur einmal abgefragt.
  • Snapshots können auch in Ausdrücken verwendet werden. Der Snapshot-Name steht dabei in Anführungszeichen:
text
'__cons.month[-1].sum.EA' + '__cons.thismonth.sum.EA'
'MTCP01.Trafo1.__cons.today.sum.EA' + 'MTCP01.Trafo2.__cons.today.sum.EA'

Tag-Name und Seitenpräfix ​

Ist für die Seite ein Tag-Präfix festgelegt (etwa wenn dieselbe Seite für verschiedene Geräte geöffnet wird), wird das Tag im Snapshot-Namen anhand dieses Präfixes aufgelöst. Der Snapshot-Name kann in vier Formen geschrieben werden:

SchreibweiseTag-PräfixGelesenes TagWann
__cons.thismonth.sum.EAMTCP01.Trafo1.MTCP01.Trafo1.EAWenn das Präfix mit einem Punkt endet
.__cons.thismonth.sum.EAMTCP01.Trafo1MTCP01.Trafo1.EAWenn das Präfix ohne Punkt endet; der führende Punkt wird als Trennzeichen eingefügt
__cons.thismonth.sum._EAMTCP01.Trafo1.TMTCP01.Trafo1.T_EAWenn der Tag-Name die Fortsetzung des Präfixes ist; dazwischen wird kein Punkt eingefügt
MTCP02.Trafo2.__cons.month[-1].sum.EAbeliebigMTCP02.Trafo2.EAFür ein bestimmtes Tag (absolute Form); das Präfix wird nicht vorangestellt

Hat die Seite kein Tag-Präfix, wird der Tag-Name in der ersten Form unverändert verwendet.

Die Vorlagenseite Enerji Analizörü (Energieanalysator) des Beispielprojekts verwendet die zweite Form: Wird die Seite mit dem Präfix Internal.Trafo1_EA geöffnet, liest die Bindung .__cons.today.sum.KWH den Verbrauch aus dem Log des Tags Internal.Trafo1_EA.KWH (siehe Das Beispielprojekt ansehen).

@NOP:: nicht verwenden

Schreiben Sie kein @NOP:: vor Snapshot-Namen. Auf Seiten mit Tag-Präfix kommt in diesem Fall nie ein Wert an; im Bindungsbereich wird außerdem eine Warnung angezeigt. Für einen vom Präfix unabhängigen Snapshot verwenden Sie die absolute Form (Kanal.Gerät.__cons...).

Anzeigen für fehlende Daten und unvollständige Zeiträume ​

Verbrauchswerte melden auch, ob die Daten des Zeitraums vollständig sind. Für jeden Zeitraum werden zwei Zustände berechnet:

ZustandSymbolWann
DatenlückeWarnsymbolIm Zeitraum fehlen Archivdatensätze; der Verbrauch kann zu niedrig erscheinen.
Unvollständiger ZeitraumUhrsymbolDer Zeitraum ist noch nicht abgeschlossen (heute, dieser Monat), oder der gewählte Zeitbereich deckt nur einen Teil des Zeitraums ab.

Wenn Sie mit der Maus auf das Symbol zeigen, erscheint eine Erläuterung: Datenlücke in diesem Zeitraum; Verbrauch kann zu niedrig sein, Zeitraum noch nicht abgeschlossen; Wert ist vorläufig und, wenn die Datensätze nicht den ganzen Zeitraum abdecken, Datenabdeckung: … %.

Wie eine Datenlücke ermittelt wird ​

Eine Datenlücke kann nur bei Log-Definitionen mit dem Log-Typ Zyklisch ermittelt werden, also bei Logs, die in festen Abständen (Intervall) speichern. Bei einem solchen Log wird der Zeitraum in folgenden Fällen als Datenlücke markiert:

  • wenn es im Zeitraum keinen Datensatz gibt,
  • wenn am Anfang oder Ende des Zeitraums länger als das Dreifache des Log-Intervalls (mindestens 5 Minuten) kein Datensatz vorliegt,
  • wenn die Anzahl der Datensätze im Zeitraum unter 90 % der nach dem Log-Intervall erwarteten Anzahl liegt.

Bei Log-Typen, die bei Wertänderungen oder über einen Trigger speichern (Bei Änderung, Bei Trigger-Änderung, Zyklisch bei aktivem Trigger usw.), ist es normal, dass bei konstantem Wert keine Datensätze entstehen; bei diesen Logs wird anhand der Anzahl der Datensätze keine Datenlücke markiert.

Unabhängig vom Log-Typ wird bei Logs mit dem Verbrauchswerttyp Kumulativ auch ein Zeitraum ohne Basiswert vor dem Zeitraum als Datenlücke markiert: der erste Zeitraum eines neuen Zählers oder der Zeitraum eines Zählers, der länger als 31 Tage keinen Datensatz geschrieben hat. Die Berechnungsregel finden Sie auf der Seite Verbrauch; Snapshots, Widgets und die Bildschirme Verbrauch und Pivotauswertung verwenden dieselbe Regel.

In KPI-Widgets: Datenabdeckungsanzeige ​

Die folgenden Widgets können, wenn sie an einen __cons-Snapshot gebunden sind, neben dem Wert ein Symbol anzeigen: Wertanzeige, Messanzeige, Lineare Anzeige, Kreisfortschritt, Text und Absatz.

Wann die Symbole angezeigt werden, wählen Sie mit der Einstellung Datenabdeckungsanzeige (coverageIndicator) des Widgets:

OptionWertVerhalten
Nur DatenlückengapStandard. Bei einer Datenlücke im Zeitraum wird das Warnsymbol angezeigt.
Lücken und unvollständige ZeiträumeallZusätzlich zur Datenlücke wird für noch nicht abgeschlossene Zeiträume das Uhrsymbol angezeigt.
AusnoneEs wird kein Symbol angezeigt.
  • Die Einstellung wirkt nur bei Bindungen an __cons-Snapshots; bei __hist-Snapshots und normalen Tags wird kein Symbol angezeigt.
  • Im Editor sind die Symbole nicht sichtbar; sie erscheinen, wenn die Seite in der Vorschau oder Anzeige geöffnet wird.

In Diagrammen und Tabellen ​

Diagramm, Kreisdiagramm, Datentabelle und der Bildschirm Archiv > Pivotauswertung verwenden die Anzeigen bei Verbrauchsdaten automatisch; dafür gibt es keine eigene Einstellung:

  • Hat einer der angezeigten Zeiträume eine Datenlücke, erscheint mit dem Warnsymbol der Hinweis Einige Zeiträume haben Datenlücken; der Verbrauch kann zu niedrig sein.
  • Ist der letzte Zeitraum noch nicht abgeschlossen, erscheint mit dem Uhrsymbol der Hinweis Der letzte Zeitraum ist noch nicht abgeschlossen; seine Werte sind vorläufig.
  • Im Diagramm werden die Punkte von Zeiträumen mit Datenlücke mit orangefarbenem Rand und die Punkte nicht abgeschlossener Zeiträume halbtransparent gezeichnet.

Verbrauchsberichte ​

Außerhalb der Seiten-Widgets können Verbrauchswerte auch auf diesen Bildschirmen ausgewertet werden:

  • Archiv > Verbrauch: Zeigt den Verbrauch der gewählten Tags für einen Zeitbereich als Diagramm und Tabelle.
  • Archiv > Pivotauswertung: Zeigt den Verbrauch nach Zeiträumen und Tags als Pivot-Tabelle; auch hier werden Datenlücken und unvollständige Zeiträume angezeigt.

Die gemeinsame Bedienung der Berichtsbildschirme beschreibt die Seite Berichte.

Häufige Fehler ​

SymptomUrsache und Lösung
Es kommt gar kein WertDas Tag hat keine Log-Definition, oder der Tag-Name wird nicht korrekt mit dem Tag-Präfix der Seite zusammengesetzt. Erzeugen Sie die absolute Form mit dem Snapshot-Namensgenerator.
Auf einer Seite mit Tag-Präfix kommt kein WertDer Snapshot-Name beginnt mit @NOP::. Entfernen Sie @NOP:: oder verwenden Sie die absolute Form.
Der Energiewert ist viel zu großFür einen Zähler wurde __hist verwendet; der Zählerstand selbst wird aufsummiert. Verwenden Sie für Zähler __cons.
Ein Zeitraum mit Versatz wird nicht akzeptiertN wurde positiv geschrieben. Gültig sind nur 0 oder negative Werte (month[-1]).
Der Wert wird spät aktualisiertDie Werte werden je nach Zeitraum aktualisiert, thismonth zum Beispiel etwa alle 10 Minuten. Dieses Verhalten kann nicht geändert werden.

2WinScada 2.10