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
Utilizza 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 nidificate, 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 | Descrizione |
---|---|
|
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 specificata con l'ultimo timestamp 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 per la 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 ponderata con gli intervalli di tempo tra i punti. Vedi Parametri delle funzioni ponderate nel tempo per i dettagli del calcolo e degli 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 del calcolo e degli 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 timestamp del punto dati di input. Il peso viene calcolato come intervallo di tempo in secondi tra i punti dati o i confini della finestra. L'argomento opzionale
Le seguenti formule vengono utilizzate per il calcolo nei casi in cui:
Equazione per la deviazione standard della popolazione: Equazione per la deviazione standard di frequenza: |
Il diagramma seguente mostra come AWS IoT SiteWise calcola le funzioni temporali,, e first
last
earliest
latest
, rispetto 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 dell'ora, fine della finestra corrente].L'intervallo di tempo per
earliest(x)
è (inizio dell'ora, fine della finestra precedente].
Parametri delle funzioni ponderati nel tempo
Le funzioni ponderate in base al tempo 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à o valore non numerico non buono. Questo non viene considerato nel calcolo dei risultati di una finestra.
-
Intervallo errato: l'intervallo dopo un punto dati errato. Anche l'intervallo precedente al primo punto dati noto è considerato un intervallo errato.
-
Buon punto dati: qualsiasi punto dati con buona qualità e valore numerico.
Nota
-
AWS IoT SiteWise consuma dati di
GOOD
qualità solo quando calcola trasformazioni e metriche. Ignora e fornisce datiUNCERTAIN
.BAD
-
L'intervallo precedente al primo punto dati noto è considerato un intervallo errato. Per ulteriori informazioni, consulta Tutorial sull'espressione di formule.
L'intervallo dopo l'ultimo punto dati noto continua all'infinito e influisce su 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 delle finestre. Per impostazione predefinita, la funzione invia il risultato della finestra solo se l'intera finestra è un intervallo adeguato.
Se l'intervallo di validità 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 di scenario statetime
Si consideri un esempio in cui si dispone di una risorsa con le seguenti proprietà:
-
Idle
— Una misurazione che è o.0
1
Quando il valore è1
, la macchina è inattiva. -
Idle Time
— Una metrica che utilizza la formulastatetime(Idle)
per calcolare la quantità di tempo in secondi in cui la macchina è inattiva, per 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 in base ai 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/D | 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
Idle
prima 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
). -
Idle
non 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.
-
Idle
non 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.
-
Idle
non 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).
-
Idle
non cambia di nuovo prima della fine dell'intervallo alle 2:04:00 PM, quindiIdle Time
è 0 secondi.
-
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 |
Risultati aggregati in uscita:
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,4306 10041581775 | 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.
Consideriamo un esempio in cui un produttore monitora AWS IoT SiteWise lo stato di una macchina. Il produttore utilizza le seguenti misurazioni e trasformazioni per rappresentare il processo:
-
Una misurazione
current_state
, che può essere 0 o 1.-
Se la macchina è in stato di pulizia, è
current_state
uguale a 1. -
Se la macchina è in stato di produzione, è
current_state
uguale a 0.
-
-
Una trasformazione, che
cleaning_state_duration
equivale a.if(pretrigger(current_state) == 1, timestamp(current_state) - timestamp(pretrigger(current_state)), none)
Questa trasformazione restituisce per quanto tempo la macchina è rimasta nello 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.
È possibile utilizzare la pretrigger()
funzione anche in trasformazioni multivariate. Ad esempio, avete due misure denominate x
and e y
una trasformazione uguale a. z
x + y +
pretrigger(y)
La tabella seguente mostra i valori per x
e z
dalle 9:00 alle 9:15. y
Nota
-
Questo esempio presuppone che i valori delle misurazioni arrivino in ordine cronologico. Ad esempio, il valore di
x
per 09:00 AM arriva prima del valore dix
09:05. -
Se i punti dati per le 9:05 arrivano prima dei punti dati per le 9:00,
z
non viene calcolato alle 9:05. -
Se il valore di
x
9:05 AM arriva prima del valore di 09:00 AM e i valori di arrivano inx
ordine cronologico, è uguale alle 9:05.y
z
22 = 20 + 1 + 1
09:00 | 09:05 | 09:10 | 09:15 | |
---|---|---|---|---|
|
10 |
20 |
30 |
|
|
1 |
2 |
3 |
|
|
|
23 = 20 + 2 + 1
|
25 = 20 + 3 + 2
|
36 = 30 + 3 + 3
|