Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Usa le funzioni temporali nelle espressioni delle formule
Utilizzate le funzioni temporali per restituire valori in base ai timestamp dei punti dati.
Usa le funzioni temporali nelle metriche
Solo nelle metriche, puoi utilizzare le seguenti funzioni che restituiscono valori in base ai timestamp dei punti dati.
Gli argomenti delle funzioni temporali devono essere proprietà del modello di asset locale o espressioni annidate. Ciò significa che non è possibile utilizzare le proprietà dei modelli di asset secondari nelle funzioni temporali.
È possibile utilizzare espressioni annidate nelle funzioni temporali. Quando si utilizzano espressioni annidate, si applicano le seguenti regole:
-
Ogni argomento può avere una sola variabile.
Ad esempio,
latest( t*9/5 + 32 )è supportato. -
Gli argomenti non possono essere funzioni di aggregazione.
Ad esempio,
first( sum(x) )non è supportato.
| Funzione | Description |
|---|---|
|
|
Restituisce il valore con il primo timestamp delle variabili date nell'intervallo di tempo specificato. |
|
|
Restituisce il valore con l'ultimo timestamp delle variabili date nell'intervallo di tempo specificato. |
|
|
Restituisce l'ultimo valore della variabile specificata prima dell'inizio dell'intervallo di tempo corrente. Questa funzione calcola un punto dati per ogni intervallo di tempo, se la proprietà di input ha almeno un punto dati nella cronologia. Per informazioni dettagliate, vedi time-range-defintion. |
|
|
Restituisce l'ultimo valore della variabile data con il timestamp più recente prima della fine dell'intervallo di tempo corrente. Questa funzione calcola un punto dati per ogni intervallo di tempo, se la proprietà di input ha almeno un punto dati nella cronologia. Per informazioni dettagliate, vedi time-range-defintion. |
|
|
Restituisce la quantità di tempo in secondi in cui le variabili date sono risultate positive nell'intervallo di tempo specificato. È possibile utilizzare le funzioni di confronto per creare una proprietà di trasformazione da utilizzare dalla Ad esempio, se si dispone di una proprietà La funzione non supporta le proprietà dei parametri come variabili di input. Questa funzione calcola un punto dati per ogni intervallo di tempo, se la proprietà di input ha almeno un punto dati nella cronologia. |
|
|
Restituisce la media dei dati di input ponderati con gli intervalli di tempo tra i punti. Vedi Parametri delle funzioni ponderate nel tempo per i dettagli di calcolo e intervalli.L'argomento opzionale
|
|
|
Restituisce la deviazione standard dei dati di input ponderata con gli intervalli di tempo tra i punti. Vedi Parametri delle funzioni ponderate nel tempo per i dettagli di calcolo e intervalli. Il calcolo utilizza l'algoritmo di calcolo Last Observed Carry Forward per gli intervalli tra i punti dati. In questo approccio, il punto dati viene calcolato come ultimo valore osservato fino al successivo indicatore temporale del punto dati di input. Il peso viene calcolato come intervallo di tempo in secondi tra i punti dati o i confini delle finestre. L'argomento opzionale
Le seguenti formule vengono utilizzate per il calcolo in cui:
Equazione per la deviazione standard della popolazione:
Equazione per la deviazione standard della frequenza:
|
Il diagramma seguente mostra come AWS IoT SiteWise calcola le funzioni temporalifirst,, e last earliestlatest, relative all'intervallo di tempo corrente.
Nota
L'intervallo di tempo per
first(x),last(x)è (inizio finestra corrente, fine finestra corrente].L'intervallo di tempo per
latest(x)è (inizio del tempo, fine della finestra corrente].L'intervallo di tempo per
earliest(x)è (inizio del tempo, fine della finestra precedente].
Time-weighted funzioni, parametri
Time-weighted le funzioni calcolate per la finestra aggregata tengono conto di quanto segue:
-
Punti dati all'interno della finestra
-
Intervalli di tempo tra i punti dati
-
Ultimo punto dati prima della finestra
-
Primo punto dati dopo la finestra (per alcuni algoritmi)
Termini:
-
Punto dati errato: qualsiasi punto dati con qualità non buona o valore non numerico. Questo non viene considerato nel calcolo dei risultati della finestra.
-
Intervallo errato: l'intervallo dopo un punto dati errato. Anche l'intervallo prima del primo punto dati noto è considerato un intervallo errato.
-
Punto dati valido: qualsiasi punto dati di buona qualità e valore numerico.
Nota
-
AWS IoT SiteWise consuma dati di
GOODqualità solo quando calcola trasformazioni e metriche. Ignora i punti datiUNCERTAIN.BAD -
L'intervallo che precede il primo punto dati noto è considerato un intervallo errato. Per ulteriori informazioni, consulta Tutorial sulle espressioni delle formule.
L'intervallo successivo all'ultimo punto dati noto continua all'infinito, interessando tutte le finestre successive. Quando arriva un nuovo punto dati, la funzione ricalcola l'intervallo.
Seguendo le regole precedenti, il risultato aggregato della finestra viene calcolato e limitato ai limiti della finestra. Per impostazione predefinita, la funzione invia il risultato della finestra solo se l'intera finestra è un intervallo valido.
Se l'intervallo valido della finestra è inferiore alla lunghezza della finestra, la funzione non invia la finestra.
Quando i punti dati che influiscono sul risultato della finestra cambiano, la funzione ricalcola la finestra, anche se i punti dati si trovano all'esterno della finestra.
Se la proprietà di input ha almeno un punto dati nella sua cronologia ed è stato avviato un calcolo, la funzione calcola le funzioni aggregate ponderate nel tempo per ogni intervallo di tempo.
Esempio Esempio di scenario statetime
Si consideri un esempio in cui si dispone di una risorsa con le seguenti proprietà:
-
Idle— Una misurazione che è o.01Quando il valore è1, la macchina è inattiva. -
Idle Time— Una metrica che utilizza la formulastatetime(Idle)per calcolare il tempo in secondi in cui la macchina è inattiva, per un intervallo di 1 minuto.
La proprietà Idle ha i seguenti punti dati.
| Time stamp | 2:00:00 PM | 2:00:30 PM | 2:01:15 PM | 2:02:45 PM | 2:04:00 PM |
| Idle | 0 | 1 | 1 | 0 | 0 |
AWS IoT SiteWise calcola la Idle Time proprietà ogni minuto a partire dai valori di. Idle Al termine di questo calcolo, la proprietà Idle Time ha i seguenti punti dati.
| Time stamp | 2:00:00 PM | 2:01:00 PM | 2:02:00 PM | 2:03:00 PM | 2:04:00 PM |
| Idle Time | N/A | 30 | 60 | 45 | 0 |
AWS IoT SiteWise esegue i seguenti calcoli Idle Time alla fine di ogni minuto.
-
Alle 2:00 PM (dall’1:59 PM alle 2:00 PM)
-
Non ci sono dati per
Idleprima delle 2:00 PM, quindi nessun punto dati viene calcolato.
-
-
Alle 2:01 PM (dalle 2:00 PM alle 2:01 PM)
-
Alle 2:00:00 PM, la macchina è attiva (
Idleè0). -
Alle 2:00:30 PM, la macchina è inattiva (
Idleè1). -
Idlenon cambia di nuovo prima della fine dell'intervallo alle 2:01:00 PM, quindiIdle Timeè 30 secondi.
-
-
Alle 2:02 PM (da 2:01 PM alle 2:02 PM)
-
Alle 2:01:00 PM, la macchina è inattiva (con l'ultimo punto dati alle 2:00:30 PM).
-
Alle 2:01:15, la macchina è ancora inattiva.
-
Idlenon cambia di nuovo prima della fine dell'intervallo alle 2:02:00 PM, quindiIdle Timeè 60 secondi.
-
-
Alle 2:03 PM (dalle 2:02 PM fino 2:03 PM)
-
Alle 2:02:00 PM, la macchina è inattiva (per l'ultimo punto dati alle 2:01:15 PM).
-
Alle 2:02:45 PM, la macchina è attiva.
-
Idlenon cambia di nuovo prima della fine dell'intervallo alle 2:03:00 PM, quindiIdle Timeè 45 secondi.
-
-
Alle 2:04 PM (dalle 2:03 PM fino alle 2:04 PM)
-
Alle 2:03:00 PM, la macchina è attiva (per l'ultimo punto dati alle 2:02:45 PM).
-
Idlenon cambia di nuovo prima della fine dell'intervallo alle 2:04:00 PM, quindiIdle Timeè 0 secondi.
-
Esempio Esempio TimeWeightedAvg e TimeWeightedStDev scenario
Le tabelle seguenti forniscono input e output di esempio per queste metriche della finestra di un minuto:. Avg(x), TimeWeightedAvg(x), TimeWeightedAvg(x, "linear"), stDev(x), timeWeightedStDev(x),
timeWeightedStDev(x, 'p')
Esempio di input per una finestra aggregata di un minuto:
Nota
Questi punti dati sono tutti di qualità. GOOD
| 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 |
Risultato aggregato:
Nota
Nessuno: risultato non prodotto per questa finestra.
| Orario | Avg(x) |
TimeWeightedAvg(x) |
TimeWeightedAvg(X, "linear") |
stDev(X) |
timeWeightedStDev(x) |
timeWeightedStDev(x, 'p') |
|---|---|---|---|---|---|---|
| 3:00:00 | 4 | Nessuno | Nessuno | 0 | Nessuno | Nessuno |
| 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 | Nessuno | 0 | 0 | Nessuno | 0 | 0 |
Usa le funzioni temporali nelle trasformazioni
Solo nelle trasformazioni, è possibile utilizzare la pretrigger() funzione per recuperare il valore di GOOD qualità di una variabile prima dell'aggiornamento della proprietà che ha avviato il calcolo della trasformazione corrente.
Si consideri un esempio in cui un produttore utilizza AWS IoT SiteWise per monitorare lo stato di una macchina. Il produttore utilizza le seguenti misure e trasformazioni per rappresentare il processo:
-
Una misurazione
current_state, che può essere 0 o 1.-
Se la macchina è in stato di pulizia, è
current_stateuguale a 1. -
Se la macchina è in stato di produzione, è
current_stateuguale a 0.
-
-
Una trasformazione
cleaning_state_duration, che equivale aif(pretrigger(current_state) == 1, timestamp(current_state) - timestamp(pretrigger(current_state)), none). Questa trasformazione restituisce per quanto tempo la macchina è rimasta in stato di pulizia in secondi, nel formato Unix epoch. Per ulteriori informazioni, vedere Usa le funzioni condizionali nelle espressioni delle formule e la funzione timestamp ().
Se la macchina rimane in stato di pulizia più a lungo del previsto, il produttore potrebbe esaminare la macchina.
È inoltre possibile utilizzare la pretrigger() funzione nelle trasformazioni multivariate. Ad esempio, hai due misure denominate x e e y una trasformazione uguale a. z x + y +
pretrigger(y) La tabella seguente mostra i valori per xy, e z dalle 9:00 alle 9:15.
Nota
-
Questo esempio presuppone che i valori per le misurazioni arrivino cronologicamente. Ad esempio, il valore di
x09:00 AM arriva prima del valore dix09:05. -
Se i punti dati per le 9:05 AM arrivano prima dei punti dati per le 9:00 AM,
znon viene calcolato alle 9:05. -
Se il valore
xper le 9:05 AM arriva prima del valorexper le 09:00 AM e i valori di arrivano cronologicamente, equivale alle 9:05.yz22 = 20 + 1 + 1
| 09:00 | 09:05 DEL MATTINO | 09:10 DEL MATTINO | 09:15 DEL MATTINO | |
|---|---|---|---|---|
|
|
10 |
20 |
30 |
|
|
|
1 |
2 |
3 |
|
|
|
|
23 = 20 + 2 + 1
|
25 = 20 + 3 + 2
|
36 = 30 + 3 + 3
|