Protokolle und Daten

Veraltete, fehlende und ungültige Telemetrie

Veraltete, fehlende, ungültige und geschätzte Energie- und IoT-Werte unterscheiden, korrekt anzeigen und in Summen, Diagrammen und Alarmen behandeln.

Ein Dashboard, das jeden Messwert als gewöhnliche Zahl anzeigt, kann einen ausgefallenen Zähler wie eine konstante Last aussehen lassen. Ein Wert kann auf verschiedene Weise unbrauchbar sein. Unterscheiden Sie veraltet, fehlend, ungültig und geschätzt.

Dieser Leitfaden gehört zur Reihe über Datenqualität und Zustellung.

Fünf Zustände

ZustandBedeutungAnzeigeIn Summen
GutAktueller Messwert einer funktionsfähigen QuelleWertEnthalten
VeraltetInnerhalb der Frist des Messpunkts kam kein neuer Wert anLetzter Wert, als veraltet markiert, mit seinem AlterIntervallsummen: als fehlend behandelt. Zählersummen: genau, sobald der nächste Stand eintrifft
FehlendKein Wert für den ZeitraumLückeAls unvollständig mit Abdeckung gekennzeichnet
UngültigDie Quelle meldet einen Fehler oder der Wert liegt außerhalb seines physikalischen BereichsFehlermarkierung; Rohwert im Datensatz bewahrenAusgeschlossen
GeschätztNach einem dokumentierten Verfahren berechnetWert mit SchätzkennzeichnungEnthalten; Summe als geschätzt gekennzeichnet

Einige Protokolle übermitteln den Zustand mit jedem Wert. Bilden Sie ihn beim Erfassen ab und führen Sie ihn zusammen mit dem Wert bis zum endgültigen Datensatz fort.

ProtokollVeraltetFehlendUngültigGeschätzt
OPC UA StatusCodeUncertain_LastUsableValueBad_NoCommunicationBad_SensorFailure, Bad_DeviceFailureUncertain_SubstituteValue
IEC 60870-5-101/104-QualitätskennzeichenNT, not topicalKeine neue MeldungIV, invalidSB, substituted
BACnetNur anhand des AltersKeine Antwort oder COV-MeldungFAULT in Status_Flags; Ursache in ReliabilityKein Kennzeichen
ModbusNur anhand des AltersTimeout oder Exception 0BException 04 oder ein Nicht-verfügbar-CodeKein Kennzeichen

OPC UA definiert diese Codes in Teil 8, Tabellen 61 und 62. Uncertain_LastUsableValue bedeutet, dass die Aktualisierung des Werts aufgehört hat. Uncertain_SubstituteValue kennzeichnet einen manuell überschriebenen Wert. Der Leitfaden zur IEC-60870-Qualität erläutert die fünf IEC-Kennzeichen.

BACnet Status_Flags hat vier Bits: IN_ALARM, FAULT, OVERRIDDEN und OUT_OF_SERVICE. FAULT wird gesetzt, wenn die Eigenschaft Reliability einen anderen Wert als NO_FAULT_DETECTED enthält. Lesen Sie auch Reliability, weil sie die Ursache angibt, etwa NO_SENSOR, OVER_RANGE, UNDER_RANGE, OPEN_LOOP, SHORTED_LOOP oder COMMUNICATION_FAILURE. Bei gesetztem OUT_OF_SERVICE folgt Present_Value nicht mehr dem physischen Eingang. Schließen Sie ihn aus Summen aus.

Modbus kennt keine Qualitätsangabe je Wert. Die Datenerfassung leitet den Zustand aus drei Signalen ab: Timeout, Exception-Antwort und geräteeigenen Nicht-verfügbar-Codes. Exception 04 (Server Device Failure) bedeutet, dass das Gerät während der Verarbeitung scheiterte. Exception 0B (Gateway Target Device Failed to Respond) bedeutet, dass das serielle Gerät hinter einem Gateway nicht antwortete. Der Leitfaden zur Modbus-Fehlersuche führt die weiteren Exception-Codes auf.

Veraltet

Ein veralteter Wert ist schwer zu erkennen, weil er wie ein guter Messwert aussieht. Er kann aus einem Gateway-Cache, einem Register mit dem letzten Wert oder einem Dashboard stammen, das den letzten empfangenen Wert beibehält. Ein Modbus-Gateway kann weiter den zuletzt gelesenen Wert zurückgeben, nachdem der Zähler dahinter nicht mehr antwortet.

Markieren Sie einen Messpunkt als veraltet, wenn innerhalb einer festgelegten Frist kein neuer Wert eintrifft. Wählen Sie die Frist mit zwei oder drei Meldeintervallen. In einem Funknetz ist eine verlorene Nachricht normal; zwei oder drei hintereinander weisen auf einen Fehler hin. Bei drei Intervallen wird ein alle fünf Minuten meldender Messpunkt nach 15 Minuten veraltet. Die Frist muss auch länger als die gesamte Wiederholungsfolge der Datenerfassung sein, sonst wird ein langsames Gerät bei jeder Wiederholung kurzzeitig als veraltet markiert.

Beurteilen Sie die Aktualität anhand der letzten von der Quelle empfangenen Messung, nicht anhand der letzten Wertänderung. Eine konstante Temperatur bleibt aktuell, solange neue Messungen eintreffen.

Eine Quelle, die nur bei Änderungen meldet, hat kein festes Intervall; eine ruhige und eine ausgefallene Quelle sehen dann gleich aus. Stützen Sie die Frist stattdessen auf ein zugesichertes Heartbeat-Signal. Ein Zigbee-Gerät mit konfigurierter Attributmeldung sendet mindestens einmal je maximalem Meldeintervall einen Bericht, auch wenn sich der Wert nicht geändert hat. Setzen Sie die Frist auf zwei oder drei dieser Intervalle. Ein BACnet-COV-Abonnement läuft aus, wenn der Client es nicht erneuert; danach kommen keine Meldungen. Hat eine Quelle keinen Heartbeat, lesen Sie sie zusätzlich in einem festen Intervall ab. Der BACnet-COV-Leitfaden erläutert die Prüfungen.

„Veraltet“ ist ein Zustand des aktuellen Werts. Für die Historie gibt es ihn nicht: Ein Intervall ohne Messwert bei seinem Abschluss ist fehlend.

Fehlend

Zeigen Sie eine Lücke als Lücke:

  • Im Diagramm wird die Linie unterbrochen oder der Zeitraum markiert.
  • In einer Tabelle steht kein Wert, auch nicht 0.
  • Eine Tages- oder Monatssumme nennt ihre Abdeckung, etwa 44 von 48 halben Stunden.

Bei einem fortlaufenden Energiezähler geht durch eine Kommunikationslücke keine Energie verloren. Der nächste Zählerstand nach der Lücke enthält auch die währenddessen verbrauchte Energie. Nur ihre Verteilung auf die fehlenden Intervalle ist unbekannt. Bei einer Lücke in momentaner Leistung ist das anders: Diese Werte lassen sich nicht zurückholen.

Ob sich eine Kennzahl aus unvollständigen Daten berechnen lässt, hängt von der Kennzahl ab. Eine Tagessumme aus Zählerständen an beiden Tagesgrenzen ist bei beliebiger Intervallabdeckung genau. Die höchste Intervallleistung aus lückenhaften Daten ist nur eine Untergrenze, weil die Spitze in einem fehlenden Intervall gelegen haben kann; melden Sie „mindestens“. Mittelwerte und Grundlast können verzerrt sein, wenn sich Lücken häufen. Ein Ausfall über Nacht entfernt gerade die Intervalle, die eine Grundlastberechnung braucht. Legen Sie für jede Kennzahl eine Mindestabdeckung fest und kennzeichnen oder unterdrücken Sie sie darunter. Der Leitfaden zu kW und kWh erklärt Zählerstände und Intervalle.

Ungültig

Ein Wert ist ungültig, wenn die Quelle einen Fehler meldet oder der Wert außerhalb des physikalisch möglichen Bereichs liegt. Beispiele sind relative Luftfeuchte über 100 % oder ein Leistungsfaktor über 1.

Viele Modbus-Geräte geben einen festen Code zurück, wenn sie einen Wert nicht liefern können. Das SunSpec-Informationsmodell verwendet 0x8000 für int16, 0xFFFF für uint16 und 0xFFFFFFFF für uint32 als „nicht implementiert“, für einen acc32-Akkumulator dagegen 0 als „nicht akkumuliert“. Ohne vorherige Prüfung wird aus einem uint16-Spannungsregister mit Skalierung 0,1 V und dem Rohwert 0xFFFF (65.535) scheinbar 6.553,5 V. Prüfen Sie das Rohregister vor der Skalierung auf solche Codes. Auf einem SunSpec-Gerät ist ein Energieakkumulator mit genau 0 ein Code, kein Reset. Der Leitfaden zu Modbus-Registertabellen nennt verbreitete Nicht-verfügbar-Codes.

Die größten ungültigen Werte entstehen bei Energiezählern aus drei Ursachen.

Überlauf: Ein Zähler springt nach seinem Höchstwert auf null. Ein 16-Bit-Register in ganzen kWh läuft bei 65.535 kWh über; eine konstante 50-kW-Last erreicht das nach etwa 55 Tagen. Korrigieren Sie einen Überlauf, indem Sie den Registerbereich zur Differenz addieren, aber nur, wenn das Ergebnis für die verstrichene Zeit plausibel ist.

Reset oder Austausch: Ein neuer Zähler beginnt nahe null. Die Differenz ist stark negativ. Eine hier angewandte Überlaufkorrektur erzeugt einen falschen Verbrauch in der Größenordnung des gesamten Registerbereichs. Erfassen Sie einen Zählerwechsel als Endstand des alten und Anfangsstand des neuen Zählers.

Geteilte Lesevorgänge: Ein 32-Bit-Zähler, dessen zwei Register in getrennten Anforderungen gelesen werden, kann Wörter aus zwei Zeitpunkten kombinieren. Der Stand springt um 65.536 Zählschritte und wieder zurück. Lesen Sie beide Register in einer Anforderung.

Verwerfen Sie Intervall-Differenzen, die negativ oder höher als die physikalisch lieferbare Energie des Stromkreises sind. Ein dreiphasiger 100-A-Stromkreis bei 400 V liefert höchstens etwa 69 kVA und kann in 30 Minuten nicht mehr als etwa 35 kWh verbrauchen.

Schließen Sie ungültige Werte aus Summen und Berechnungen aus, zeigen Sie eine Fehlermarkierung und bewahren Sie den Rohwert für die Fehlersuche auf.

Geschätzt

Eine Rechnung oder ein regulatorischer Bericht kann eine vollständige Zeitreihe brauchen. Wenn Sie Lücken füllen:

  • Nutzen Sie ein dokumentiertes Verfahren. Verteilen Sie bei einem Zähler die bekannte Gesamtdifferenz auf fehlende Intervalle, gleichmäßig oder proportional zu einem Profil eines ähnlichen Tages. Die Intervalle müssen weiterhin zur Zählerdifferenz aufsummieren.
  • Füllen Sie Energie nicht aus interpolierter Leistung. Einer interpolierten kW-Kurve liegt keine zu erhaltende Gesamtsumme zugrunde; die daraus integrierten kWh stimmen möglicherweise nicht mit dem Zähler überein.
  • Markieren Sie jeden geschätzten Wert im Speicher und auf dem Bildschirm als geschätzt.
  • Überschreiben Sie niemals einen Messwert mit einer Schätzung. Halten Sie Schätzungen getrennt, damit sie ersetzt werden können.

Echte Messungen können nach einer gefüllten Lücke eintreffen: ein Store-and-Forward-Rückstand nach einem Ausfall oder später ausgelesene Lastprofildaten des Zählers. Ersetzen Sie die Schätzungen durch die Messungen. Berechnen Sie alle Summen, die sie verwendet haben, erneut und dokumentieren Sie die Revision des Berichts. Der Leitfaden zu Zeitstempeln erklärt die Einordnung verspäteter Werte nach Quellzeit.

Wirkung der Zustände auf nachgelagerte Systeme

Legen Sie das Verhalten für jeden Verbraucher vorab fest und schreiben Sie es in die Spezifikation. Diese Vorgaben passen für viele Energiemonitoring-Projekte:

VerbraucherVorgabe
DiagrammeLinie bei fehlendem Intervall unterbrechen. Punkte nie über eine Lücke hinweg verbinden. Veralteten aktuellen Wert mit Alter anzeigen. Schätzungen anders darstellen.
Summen und BerichteUngültige Werte ausschließen. Schätzungen gekennzeichnet einbeziehen. Abdeckung nennen und eine Spitze aus lückenhaften Daten als „mindestens“ ausweisen.
AlarmeBei veraltetem Messpunkt einen eigenen Kommunikationsalarm auslösen. Grenzwertalarme für diesen Punkt unterdrücken, solange er veraltet oder ungültig ist, damit ein Fehler nur einen Alarm erzeugt. Alarm erst nach zwei guten Messwerten aufheben.
AutomatisierungZustand jedes Eingangs vor einer Aktion prüfen. Bei veraltetem oder ungültigem Eingang einen festgelegten sicheren Ausgangszustand einnehmen.
ExporteMit jedem Wert ein Qualitätsfeld senden, etwa in der MQTT-Nutzlast oder einer CSV-Spalte. Fehlenden Wert als leer oder null ausgeben, niemals als 0.

Eine Regel, die eine Kältemaschine bei niedriger Kaltwassertemperatur ausschaltet, darf auf einen veralteten niedrigen Messwert nicht reagieren. Sonst hält sie die Kältemaschine ausgeschaltet, während das Gebäude wärmer wird. Der sichere Ausgang ist hier die Freigabe der Kältemaschine an ihre eigene Steuerung. Der Leitfaden zu Verriegelungen und Ausfällen zeigt, wie sichere Ausgangszustände gewählt werden.

Jeden Zustand prüfen

Erzeugen Sie bei der Inbetriebnahme jeden Zustand gezielt und prüfen Sie die Anzeige in allen nachgelagerten Systemen:

  1. Trennen Sie die Kommunikationsverbindung eines Geräts. Prüfen Sie, ob seine Messpunkte innerhalb der Frist veralten, ein Kommunikationsalarm entsteht und die Historie verlorene Intervalle als fehlend statt null zeigt.
  2. Trennen Sie einen Sensoreingang, etwa einen Temperaturfühler. Kann das Gerät dies erkennen, prüfen Sie Fehlermarkierung und Ausschluss aus Summen.
  3. Stellen Sie beides wieder her. Prüfen Sie, ob Veraltet-Markierung und Alarm aufgehoben werden und ob der erste Zählerstand nach der Wiederherstellung die Lücke schließt, ohne eine Leistungsspitze in einem einzigen Intervall zu erzeugen.
  4. Liegt ein Modbus-Gateway zwischen Datenerfassung und Zähler, trennen Sie den Zähler vom Gateway. Prüfen Sie, ob das Gateway Exception 0B sendet, in einen Timeout läuft oder weiter den letzten Wert zurückgibt.

Die Inbetriebnahme-Checkliste enthält diese Prüfungen.

Datenzustände in Edge

Edge erfasst zu jedem Messwert einen Zeitstempel und zu jedem Modbus- und OPC-UA-Gerät einen Gesundheitszustand. Ein Modbus-Gerät gilt nach zwei verpassten erwarteten Abfragen als offline, frühestens jedoch nach fünf Minuten. Der schnellste aktivierte Sensor des Geräts bestimmt das erwartete Intervall; ein stündlich meldender Zähler geht daher nicht schon nach fünf Minuten offline. Ein OPC-UA-Gerät geht nach fünf Minuten ohne Kommunikation offline.

Für jeden Modbus- und OPC-UA-Sensor berechnet Edge außerdem den Anteil der innerhalb eines gleitenden 15-Minuten-Fensters eingegangenen erwarteten Messwerte. Bei Intervallen über 15 Minuten meldet es stattdessen eine Anzahl. Diese Kennzahl misst die Zustellung gegenüber dem konfigurierten Intervall. Sie ist weder der OPC-UA-StatusCode noch ein Beleg für die physikalische Gültigkeit eines Werts.

Gap Fill für Modbus- und OPC-UA-Geräte ist standardmäßig ausgeschaltet. Wird es eingeschaltet, füllt Edge Lücken bis zu einer konfigurierten Höchstdauer, standardmäßig 15 s, mit Nullen, dem letzten Wert oder interpolierten Werten und kennzeichnet jeden erzeugten Punkt als synthetisch. Eine nachgelagerte Datenbank kann diese Kennzeichnung verlieren. Lassen Sie Gap Fill daher für Daten aus, die in Abrechnung, Alarmen oder Steuerung verwendet werden. Ein CSV-Export der Data-Seite lässt fehlende Werte leer statt null. Prüfen Sie an jeder Plattform, die Daten von Edge empfängt, mit den obigen Tests, ob sie dieselben Regeln anwendet.

Häufige Fragen

Was sind veraltete Daten?

Ein Wert, der nicht mehr aktuell ist, aber weiter als aktuell erscheint. Das geschieht, wenn eine Quelle nicht mehr meldet und Gateway oder Dashboard den letzten Wert halten. Markieren Sie den Messpunkt nach einer festgelegten Frist ohne neuen Wert, zum Beispiel nach zwei oder drei Meldeintervallen.

Wie sollten fehlende Sensordaten angezeigt werden?

Als Lücke. Ein Diagramm unterbricht die Linie oder markiert den Zeitraum, eine Tabelle zeigt keinen Wert, und eine Summe nennt ihre Abdeckung. Eine Null würde behaupten, der Verbrauch sei ausgeblieben.

Sollten fehlende Energiedaten ergänzt werden?

Nur nach einem dokumentierten Verfahren und als geschätzt gekennzeichnet. Zählte der Zähler während einer Kommunikationslücke weiter, liefert der nächste Stand die Energie der Lücke genau; nur ihre Verteilung auf die fehlenden Intervalle wird geschätzt. Fiel die Messung selbst aus, ging die Energieinformation verloren und die Summe ist unvollständig.