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à.
Trasforma i dati (trasformazioni)
Le trasformazioni sono espressioni matematiche che mappano i punti dati delle proprietà di un asset da un modulo all’altro. Un'espressione di trasformazione è costituita da variabili di proprietà degli asset, valori letterali, operatori e funzioni. I punti dati trasformati mantengono una relazione uno a uno con i punti dati di input. AWS IoT SiteWise calcola un nuovo punto dati trasformato ogni volta che una delle proprietà di input riceve un nuovo punto dati.
Nota
Per gli aggiornamenti delle proprietà con lo stesso timestamp, i valori di output possono essere sovrascritti dagli aggiornamenti di altre proprietà in entrata.
Ad esempio, se l'asset ha un flusso di misurazione della temperatura denominato Temperature_C con unità in Celsius, è possibile convertire ogni punto dati in Fahrenheit con la formula Temperature_F = 9/5 * Temperature_C + 32. Ogni volta che AWS IoT SiteWise riceve un punto dati nel flusso di Temperature_C misurazione, il Temperature_F valore corrispondente viene calcolato in pochi secondi e disponibile come proprietà. Temperature_F
Se la trasformazione contiene più di una variabile, il punto dati che arriva prima avvia immediatamente il calcolo. Si consideri un esempio in cui un produttore di componenti utilizza una trasformazione per monitorare la qualità del prodotto. Utilizzando uno standard diverso in base al tipo di parte, il produttore utilizza le seguenti misure per rappresentare il processo:
-
Part_Number- Una stringa che identifica il tipo di parte. -
Good_Count- Un numero intero che aumenta di uno se la parte soddisfa lo standard. -
Bad_Count- Un numero intero che aumenta di uno se la parte non soddisfa lo standard.
Il produttore crea anche una trasformazioneQuality_Monitor, che equivale a if(eq(Part_Number, "BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1),
"Caution", "Normal").
Questa trasformazione monitora la percentuale di parti difettose prodotte per un tipo di parte specifico. Se il numero di parte è BLT123 e la percentuale di parti difettose supera il 10 percento (0,1), la trasformazione viene ripristinata. "Caution" In caso contrario, viene restituita la trasformazione. "Normal"
Nota
-
Se
Part_Numberriceve un nuovo punto dati prima di altre misurazioni, laQuality_Monitortrasformazione utilizza il nuovoPart_Numbervalore e iBad_Countvalori più recentiGood_Count. Per evitare errori,Good_Countesegui il ripristinoBad_Countprima del successivo ciclo di produzione. -
Usa le metriche se desideri valutare le espressioni solo dopo che tutte le variabili hanno ricevuto nuovi punti dati.
Definisci le trasformazioni (console)
Quando si definisce una trasformazione per un modello di asset nella AWS IoT SiteWise console, si specificano i seguenti parametri:
-
Nome: il nome della proprietà.
-
Unità — (Facoltativo) L'unità scientifica della proprietà, ad esempio mm o Celsius.
-
Tipo di dati: il tipo di dati della trasformazione, che può essere Double o String.
-
ID esterno: (facoltativo) Si tratta di un ID definito dall'utente. Per ulteriori informazioni, consulta Oggetti di riferimento con ID esterni nella Guida per l'utente di AWS IoT SiteWise .
-
Formula: l'espressione di trasformazione. Le espressioni di trasformazione non possono utilizzare funzioni di aggregazione o funzioni temporali. Per aprire la funzionalità di completamento automatico, inizia a digitare o premi il tasto freccia giù. Per ulteriori informazioni, consulta Usa espressioni di formula.
Importante
Le trasformazioni possono immettere proprietà di tipo intero, double, booleano o stringa. I valori booleani vengono convertiti in
0(false) e (true).1Le trasformazioni devono inserire una o più proprietà che non siano attributi e un numero qualsiasi di proprietà degli attributi. AWS IoT SiteWise calcola un nuovo punto dati trasformato ogni volta che la proprietà di input che non è un attributo riceve un nuovo punto dati. I nuovi valori degli attributi non avviano gli aggiornamenti delle trasformazioni. La stessa frequenza di richiesta per le operazioni API relative ai dati delle proprietà degli asset si applica ai risultati del calcolo delle trasformazioni.
Le espressioni di formula possono generare solo valori doppi o stringhe. Le espressioni annidate possono generare altri tipi di dati, ad esempio stringhe, ma la formula nel suo insieme deve restituire un numero o una stringa. È possibile utilizzare la funzione jp per convertire una stringa in un numero. Il valore booleano deve essere 1 (vero) o 0 (falso). Per ulteriori informazioni, consulta Valori indefiniti, infiniti e di overflow.
Per ulteriori informazioni, consulta Crea un modello di asset (console).
Definire le trasformazioni (AWS CLI)
Quando definisci una trasformazione per un modello di asset con l' AWS IoT SiteWise API, specifichi i seguenti parametri:
-
name— Il nome della proprietà. -
unit— (Facoltativo) L'unità scientifica della proprietà, ad esempio mm o Celsius. -
dataType— Il tipo di dati della trasformazione, che deve essereDOUBLEoSTRING. -
externalId— (Facoltativo) Si tratta di un ID definito dall'utente. Per ulteriori informazioni, consulta Oggetti di riferimento con ID esterni nella Guida per l'utente di AWS IoT SiteWise . -
expression— L'espressione di trasformazione. Le espressioni di trasformazione non possono utilizzare funzioni di aggregazione o funzioni temporali. Per ulteriori informazioni, consulta Usa espressioni di formula. -
variables— L'elenco di variabili che definisce le altre proprietà della risorsa da utilizzare nell'espressione. Ogni struttura di variabile contiene un nome semplice da utilizzare nell'espressione e una strutturavalueche specifica la proprietà da collegare alla variabile stessa. La strutturavaluecontiene le seguenti informazioni:-
propertyId— L'ID della proprietà da cui immettere i valori. È possibile utilizzare il nome della proprietà anziché il relativo ID.
Importante
Le trasformazioni possono immettere proprietà di tipo intero, doppio, booleano o stringa. I valori booleani vengono convertiti in
0(false) e (true).1Le trasformazioni devono inserire una o più proprietà che non siano attributi e un numero qualsiasi di proprietà degli attributi. AWS IoT SiteWise calcola un nuovo punto dati trasformato ogni volta che la proprietà di input che non è un attributo riceve un nuovo punto dati. I nuovi valori degli attributi non avviano gli aggiornamenti delle trasformazioni. La stessa frequenza di richiesta per le operazioni API relative ai dati delle proprietà degli asset si applica ai risultati del calcolo delle trasformazioni.
Le espressioni di formula possono generare solo valori doppi o stringhe. Le espressioni annidate possono generare altri tipi di dati, ad esempio stringhe, ma la formula nel suo insieme deve restituire un numero o una stringa. È possibile utilizzare la funzione jp per convertire una stringa in un numero. Il valore booleano deve essere 1 (vero) o 0 (falso). Per ulteriori informazioni, consulta Valori indefiniti, infiniti e di overflow.
-
Esempio definizione di trasformazione
Nell'esempio seguente viene illustrata una proprietà di trasformazione che converte i dati di misurazione della temperatura di un asset da Celsius a Fahrenheit. Questo oggetto è un esempio di un oggetto AssetModelProperty che contiene una trasformazione. Puoi specificare questo oggetto come parte del payload della richiesta CreateAssetModel per creare una proprietà di trasformazione. Per ulteriori informazioni, consulta Crea un modello di asset (AWS CLI).
{..."assetModelProperties": [...{ "name": "Temperature F", "dataType": "DOUBLE", "type": { "transform": { "expression": "9/5 * temp_c + 32", "variables": [ { "name": "temp_c", "value": { "propertyId": "Temperature C" } } ] } }, "unit": "Fahrenheit" } ],...}
Esempio definizione di trasformazione che contiene tre variabili
L'esempio seguente dimostra una proprietà di trasformazione che restituisce un messaggio di avviso ("Caution") se più del 10% delle parti BLT123 non soddisfa lo standard. Altrimenti, restituisce un messaggio informativo (). "Normal"
{..."assetModelProperties": [...{ "name": "Quality_Monitor", "dataType": "STRING", "type": { "transform": { "expression": "if(eq(Part_Number,"BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal")", "variables": [ { "name": "Part_Number", "value": { "propertyId": "Part Number" } }, { "name": "Good_Count", "value": { "propertyId": "Good Count" } }, { "name": "Bad_Count", "value": { "propertyId": "Bad Count" } } ] } } }...}