Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden Sie temporale Funktionen in Formelausdrücken
Verwenden Sie temporale Funktionen, um Werte zurückzugeben, die auf Zeitstempeln von Datenpunkten basieren.
Verwenden Sie temporale Funktionen in Metriken
Nur in Metriken können Sie die folgenden Funktionen verwenden, die Werte auf der Grundlage von Zeitstempeln von Datenpunkten zurückgeben.
Bei den Argumenten für temporale Funktionen muss es sich um Eigenschaften aus dem lokalen Objektmodell oder um verschachtelte Ausdrücke handeln. Das bedeutet, dass Sie keine Eigenschaften aus untergeordneten Vermögensmodellen in temporalen Funktionen verwenden können.
Sie können verschachtelte Ausdrücke in zeitlichen Funktionen verwenden. Wenn Sie verschachtelte Ausdrücke verwenden, gelten die folgenden Regeln:
-
Jedes Argument kann nur eine Variable haben.
latest( t*9/5 + 32 )
Wird beispielsweise unterstützt. -
Argumente können keine Aggregationsfunktionen sein.
Wird beispielsweise
first( sum(x) )
nicht unterstützt.
Funktion | Beschreibung |
---|---|
|
Gibt den Wert der angegebenen Variablen mit dem frühesten Zeitstempel über das aktuelle Zeitintervall hinweg zurück. |
|
Gibt den Wert der angegebenen Variablen mit dem spätesten Zeitstempel über das aktuelle Zeitintervall hinweg zurück. |
|
Gibt den letzten Wert der angegebenen Variablen vor dem Beginn des aktuellen Zeitintervalls zurück. Diese Funktion berechnet einen Datenpunkt für jedes Zeitintervall, wenn die Eingabeeigenschaft mindestens einen Datenpunkt im Verlauf hat. Details dazu finden Sie unter time-range-defintion. |
|
Gibt den letzten Wert der angegebenen Variablen mit dem letzten Zeitstempel vor dem Ende des aktuellen Zeitintervalls zurück. Diese Funktion berechnet einen Datenpunkt für jedes Zeitintervall, wenn die Eingabeeigenschaft mindestens einen Datenpunkt im Verlauf hat. Details dazu finden Sie unter time-range-defintion. |
|
Gibt die Zeitspanne in Sekunden zurück, in der die angegebenen Variablen im aktuellen Zeitintervall positiv sind. Sie können die Vergleichsfunktionen verwenden, um eine Transformationseigenschaft zu erstellen, die von der Wenn Sie beispielsweise eine Diese Funktion unterstützt keine Metrikeigenschaften als Eingabevariablen. Diese Funktion berechnet einen Datenpunkt für jedes Zeitintervall, wenn die Eingabeeigenschaft mindestens einen Datenpunkt im Verlauf hat. |
|
Gibt den Durchschnitt der Eingabedaten zurück, gewichtet mit Zeitintervallen zwischen Punkten. Einzelheiten zur Berechnung und zu den Intervallen finden Sie unter Parameter für zeitgewichtete Funktionen.Das optionale Argument
|
|
Gibt die Standardabweichung der Eingabedaten zurück, gewichtet mit Zeitintervallen zwischen Punkten. Einzelheiten zur Berechnung und zu den Intervallen finden Sie unter Parameter für zeitgewichtete Funktionen. Bei der Berechnung wird der Berechnungsalgorithmus Last Observed Carry Forward für Intervalle zwischen Datenpunkten verwendet. Bei diesem Ansatz wird der Datenpunkt als letzter beobachteter Wert bis zum Zeitstempel des nächsten Eingabedatenpunkts berechnet. Die Gewichtung wird als Zeitintervall in Sekunden zwischen Datenpunkten oder Fenstergrenzen berechnet. Das optionale Argument
Die folgenden Formeln werden für Berechnungen verwendet, wobei:
Gleichung für die Standardabweichung der Grundgesamtheit: Gleichung für die Frequenzstandardabweichung: |
Das folgende Diagramm zeigt, wie die zeitlichen Funktionenfirst
,, und last
earliest
latest
, relativ zum aktuellen Zeitintervall AWS IoT SiteWise berechnet werden.
Anmerkung
Der Zeitraum für
first(x)
,last(x)
ist (aktueller Fensterstart, aktuelles Fensterende].Der Zeitraum für
latest(x)
ist [Beginn der Zeit, Ende des aktuellen Fensters].Der Zeitraum für
earliest(x)
ist [Beginn der Zeit, Ende des vorherigen Fensters].
Parameter für zeitgewichtete Funktionen
Bei den für das Aggregatfenster berechneten zeitgewichteten Funktionen wird Folgendes berücksichtigt:
-
Datenpunkte innerhalb des Fensters
-
Zeitintervalle zwischen Datenpunkten
-
Letzter Datenpunkt vor dem Fenster
-
Erster Datenpunkt nach dem Fenster (für einige Algorithmen)
Bedingungen:
-
Schlechter Datenpunkt — Jeder Datenpunkt mit nicht guter Qualität oder schlechtem Zahlenwert. Dies wird bei der Berechnung der Fensterergebnisse nicht berücksichtigt.
-
Fehlerhaftes Intervall — Das Intervall nach einem fehlerhaften Datenpunkt. Das Intervall vor dem ersten bekannten Datenpunkt wird ebenfalls als fehlerhaftes Intervall angesehen.
-
Guter Datenpunkt — Jeder Datenpunkt mit guter Qualität und numerischem Wert.
Anmerkung
-
AWS IoT SiteWise verbraucht nur
GOOD
hochwertige Daten, wenn es Transformationen und Metriken berechnet. Es ignoriert alle Datenpunkte.UNCERTAIN
BAD
-
Das Intervall vor dem ersten bekannten Datenpunkt wird als schlechtes Intervall angesehen. Weitere Informationen finden Sie unter Tutorials zu Formelausdrücken.
Das Intervall nach dem letzten bekannten Datenpunkt dauert unbegrenzt und wirkt sich auf alle folgenden Fenster aus. Wenn ein neuer Datenpunkt eintrifft, berechnet die Funktion das Intervall neu.
Gemäß den obigen Regeln wird das aggregierte Fensterergebnis berechnet und auf Fenstergrenzen beschränkt. Standardmäßig sendet die Funktion das Fensterergebnis nur, wenn das gesamte Fenster ein gutes Intervall aufweist.
Wenn das Intervall für den Fensterwert kleiner als die Fensterlänge ist, sendet die Funktion das Fenster nicht.
Wenn sich die Datenpunkte, die das Fensterergebnis beeinflussen, ändern, berechnet die Funktion das Fenster neu, auch wenn sich die Datenpunkte außerhalb des Fensters befinden.
Wenn die Eingabeeigenschaft mindestens einen Datenpunkt in ihrer Historie hat und eine Berechnung eingeleitet wurde, berechnet die Funktion die zeitgewichteten Aggregatfunktionen für jedes Zeitintervall.
Beispielzustandszeitszenario
Betrachten Sie ein Beispiel mit einer Komponente mit den folgenden Eigenschaften:
-
Idle
— Eine Messung, die oder ist.0
1
Wenn der Wert „1
“ ist, befindet sich die Maschine im Leerlauf. -
Idle Time
— Eine Metrik, die anhand der Formelstatetime(Idle)
die Zeit in Sekunden berechnet, in der sich die Maschine im Leerlauf befindet, pro 1-Minuten-Intervall.
Die Idle
-Eigenschaft verfügt über die folgenden Datenpunkte.
Zeitstempel | 14:00:00 Uhr | 14:00:30 Uhr | 14:01:15 Uhr | 14:02:45 Uhr | 14:04:00 Uhr |
Idle | 0 | 1 | 1 | 0 | 0 |
AWS IoT SiteWise berechnet die Idle Time
Eigenschaft jede Minute aus den Werten vonIdle
. Nach Abschluss dieser Berechnung verfügt die Idle Time
-Eigenschaft über die folgenden Datenpunkte.
Zeitstempel | 14:00:00 Uhr | 14:01:00 Uhr | 14:02:00 Uhr | 14:03:00 Uhr | 14:04:00 Uhr |
Idle Time | N/A | 30 | 60 | 45 | 0 |
AWS IoT SiteWise führt am Ende jeder Minute die folgenden Berechnungen durch. Idle Time
-
Um 14:00 Uhr (für 13:59 Uhr bis 14:00 Uhr)
-
Vor 14:00 Uhr liegen keine Daten für
Idle
vor, daher wird kein Datenpunkt berechnet.
-
-
Um 14:01 Uhr (für 14:00 Uhr bis 14:01 Uhr)
-
Um 14:00:00 Uhr ist die Maschine aktiv (
Idle
ist0
). -
Um 14:00:30 Uhr befindet sich die Maschine im Leerlauf (
Idle
ist1
). -
Idle
ändert sich vor dem Ende des Intervalls um 14:01:00 Uhr nicht mehr,Idle Time
ist also 30 Sekunden.
-
-
Um 14:02 Uhr (für 14:01 bis 14:02 Uhr)
-
Um 14:01:00 Uhr befindet sich die Maschine im Leerlauf (entsprechend des letzten Datenpunkts um 14:00:30 Uhr).
-
Um 14:01:15 Uhr befindet sich die Maschine noch im Leerlauf.
-
Idle
ändert sich vor dem Ende des Intervalls um 14:02:00 Uhr nicht mehr,Idle Time
ist also 60 Sekunden.
-
-
Um 14:03 Uhr (für 14:02 Uhr bis 14:03 Uhr)
-
Um 14:02:00 Uhr befindet sich die Maschine im Leerlauf (entsprechend des letzten Datenpunkts um 14:01:15 Uhr).
-
Um 14:02:45 Uhr ist die Maschine aktiv.
-
Idle
ändert sich vor dem Ende des Intervalls um 14:03:00 Uhr nicht mehr,Idle Time
ist also 45 Sekunden.
-
-
Um 14:04 Uhr (für 14:03 Uhr bis 14:04 Uhr)
-
Um 14:03:00 Uhr ist die Maschine aktiv (entsprechend des letzten Datenpunkts um 14:02:45 Uhr).
-
Idle
ändert sich vor dem Ende des Intervalls um 14:04:00 Uhr nicht mehr,Idle Time
ist also 0 Sekunden.
-
Beispiel TimeWeightedAvg und TimeWeightedStDev Szenario
Die folgenden Tabellen enthalten Beispieleingaben und -ausgaben für diese einminütigen Fenstermetriken:Avg(x), TimeWeightedAvg(x), TimeWeightedAvg(x, "linear"), stDev(x), timeWeightedStDev(x),
timeWeightedStDev(x, 'p')
.
Beispieleingabe für ein einminütiges Aggregatfenster:
Anmerkung
Diese Datenpunkte sind alle GOOD
qualitativ hochwertig.
03:00:00 | 4,0 |
03:01:00 | 2.0 |
03:01:10 | 8.0 |
03:01:50 | 20.0 |
03:02:00 | 14,0 |
03:02:05 | 10.0 |
03:02:10 | 3.0 |
03:02:30 | 20.0 |
03:03:30 | 0.0 |
Ausgabe aggregierter Ergebnisse:
Anmerkung
Keine — Für dieses Fenster wurde kein Ergebnis erzeugt.
Zeit | Avg(x) |
TimeWeightedAvg(x) |
TimeWeightedAvg(X, "linear") |
stDev(X) |
timeWeightedStDev(x) |
timeWeightedStDev(x, 'p') |
---|---|---|---|---|---|---|
3:00:00 | 4 | Keine | None | 0 | Keine | None |
3:01:00 | 2 | 4 | 3 | 0 | 0 | 0 |
3:02:00 | 14 | 9 | 13 | 6 | 5,430610041581775 | 5,385164807134504 |
3:03:00 | 11 | 13 | 12,875 | 8,54400374531753 | 7,724054437220943 | 7,659416862050705 |
3:04:00 | 0 | 10 | 2.5 | 0 | 10,084389681792215 | 10 |
3:05:00 | None | 0 | 0 | None | 0 | 0 |
Verwenden Sie temporale Funktionen in Transformationen
Nur bei Transformationen können Sie die pretrigger()
Funktion verwenden, um den GOOD
Qualitätswert für eine Variable vor der Eigenschaftenaktualisierung abzurufen, die die aktuelle Transformationsberechnung ausgelöst hat.
Stellen Sie sich ein Beispiel vor AWS IoT SiteWise , bei dem ein Hersteller den Status einer Maschine überwacht. Der Hersteller verwendet die folgenden Messungen und Transformationen, um den Prozess darzustellen:
-
Eine Messung
current_state
, die 0 oder 1 sein kann.-
Wenn sich die Maschine im Reinigungszustand befindet,
current_state
entspricht dies 1. -
Wenn sich die Maschine im Fertigungszustand befindet,
current_state
entspricht 0.
-
-
Eine Transformation
cleaning_state_duration
, das entsprichtif(pretrigger(current_state) == 1, timestamp(current_state) - timestamp(pretrigger(current_state)), none)
. Diese Transformation gibt im Unix-Epochenformat in Sekunden zurück, wie lange sich die Maschine im Reinigungszustand befunden hat. Weitere Informationen finden Sie unter Verwenden Sie bedingte Funktionen in Formelausdrücken und zur Funktion timestamp ().
Bleibt das Gerät länger als erwartet im Reinigungszustand, überprüft der Hersteller das Gerät möglicherweise.
Sie können die pretrigger()
Funktion auch in multivariaten Transformationen verwenden. Sie haben beispielsweise zwei Messungen mit dem Namen x
und und y
eine Transformationz
, die entspricht. x + y +
pretrigger(y)
Die folgende Tabelle zeigt die Werte für x
y
, und z
von 9:00 Uhr bis 9:15 Uhr.
Anmerkung
-
In diesem Beispiel wird davon ausgegangen, dass die Werte für die Messungen chronologisch eintreffen. Beispielsweise kommt der Wert
x
für 09:00 Uhr vor dem Wertx
für 09:05 Uhr an. -
Wenn die Datenpunkte für 9:05 Uhr vor den Datenpunkten für 9:00 Uhr ankommen, wird um 9:05 Uhr
z
nicht berechnet. -
Wenn der Wert
x
für 9:05 Uhr vor dem Wert für 09:00 Uhr eintrifft und die Wertex
für chronologischy
eintreffen,z
entspricht22 = 20 + 1 + 1
dies um 9:05 Uhr.
09:00 UHR | 09:05 UHR | 09:10 UHR | 09:15 UHR | |
---|---|---|---|---|
|
10 |
20 |
30 |
|
|
1 |
2 |
3 |
|
|
|
23 = 20 + 2 + 1
|
25 = 20 + 3 + 2
|
36 = 30 + 3 + 3
|