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
| Zustand | Bedeutung | Anzeige | In Summen |
|---|---|---|---|
| Gut | Aktueller Messwert einer funktionsfähigen Quelle | Wert | Enthalten |
| Veraltet | Innerhalb der Frist des Messpunkts kam kein neuer Wert an | Letzter Wert, als veraltet markiert, mit seinem Alter | Intervallsummen: als fehlend behandelt. Zählersummen: genau, sobald der nächste Stand eintrifft |
| Fehlend | Kein Wert für den Zeitraum | Lücke | Als unvollständig mit Abdeckung gekennzeichnet |
| Ungültig | Die Quelle meldet einen Fehler oder der Wert liegt außerhalb seines physikalischen Bereichs | Fehlermarkierung; Rohwert im Datensatz bewahren | Ausgeschlossen |
| Geschätzt | Nach einem dokumentierten Verfahren berechnet | Wert mit Schätzkennzeichnung | Enthalten; 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.
| Protokoll | Veraltet | Fehlend | Ungültig | Geschätzt |
|---|---|---|---|---|
| OPC UA StatusCode | Uncertain_LastUsableValue | Bad_NoCommunication | Bad_SensorFailure, Bad_DeviceFailure | Uncertain_SubstituteValue |
| IEC 60870-5-101/104-Qualitätskennzeichen | NT, not topical | Keine neue Meldung | IV, invalid | SB, substituted |
| BACnet | Nur anhand des Alters | Keine Antwort oder COV-Meldung | FAULT in Status_Flags; Ursache in Reliability | Kein Kennzeichen |
| Modbus | Nur anhand des Alters | Timeout oder Exception 0B | Exception 04 oder ein Nicht-verfügbar-Code | Kein 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:
| Verbraucher | Vorgabe |
|---|---|
| Diagramme | Linie bei fehlendem Intervall unterbrechen. Punkte nie über eine Lücke hinweg verbinden. Veralteten aktuellen Wert mit Alter anzeigen. Schätzungen anders darstellen. |
| Summen und Berichte | Ungültige Werte ausschließen. Schätzungen gekennzeichnet einbeziehen. Abdeckung nennen und eine Spitze aus lückenhaften Daten als „mindestens“ ausweisen. |
| Alarme | Bei 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. |
| Automatisierung | Zustand jedes Eingangs vor einer Aktion prüfen. Bei veraltetem oder ungültigem Eingang einen festgelegten sicheren Ausgangszustand einnehmen. |
| Exporte | Mit 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:
- 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.
- Trennen Sie einen Sensoreingang, etwa einen Temperaturfühler. Kann das Gerät dies erkennen, prüfen Sie Fehlermarkierung und Ausschluss aus Summen.
- 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.
- 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.