Trasforma i dati (trasformazioni) - AWS IoT SiteWise

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à degli 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 one-to-one relazione 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 AWS IoT SiteWise che riceve un punto dati nel flusso Temperature_C di 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. Consideriamo 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 misurazioni 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 è uguale if(eq(Part_Number, "BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal") a.

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 restituita. "Caution" In caso contrario, la trasformazione viene "Normal" restituita.

Nota
  • Se Part_Number riceve un nuovo punto dati prima di altre misurazioni, la Quality_Monitor trasformazione utilizza il nuovo Part_Number valore e i Bad_Count valori Good_Count e più recenti. Per evitare errori, Good_Count reimpostatelo Bad_Count prima del successivo ciclo di produzione.

  • Utilizzate le metriche se desiderate valutare le espressioni solo dopo che tutte le variabili hanno ricevuto nuovi punti dati.

Definisci le trasformazioni (console)

Quando definite una trasformazione per un modello di asset nella AWS IoT SiteWise console, specificate 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 oggetti esterni IDs 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 funzione di completamento automatico, inizia a digitare o premi il tasto freccia giù. Per ulteriori informazioni, consulta Usa espressioni di formule.

    Importante

    Le trasformazioni possono immettere proprietà di tipo intero, doppio, booleano o stringa. I booleani vengono convertiti in 0 (false) e (true). 1

    Le trasformazioni devono inserire una o più proprietà che non sono 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 API operazioni relative ai dati relativi alle proprietà degli asset si applica ai risultati del calcolo delle trasformazioni.

    Le espressioni delle formule 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 Create un modello di asset (console).

Definisci le trasformazioni ()AWS CLI

Quando definite una trasformazione per un modello di asset con AWS IoT SiteWise API, specificate 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 essere DOUBLE oSTRING.

  • externalId— (Facoltativo) Si tratta di un ID definito dall'utente. Per ulteriori informazioni, consulta Oggetti di riferimento con oggetti esterni IDs 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 formule.

  • 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 struttura value che specifica la proprietà da collegare alla variabile stessa. La struttura value contiene 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 booleani vengono convertiti in 0 (false) e (true). 1

    Le trasformazioni devono inserire una o più proprietà che non sono 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 API operazioni relative ai dati relativi alle proprietà degli asset si applica ai risultati del calcolo delle trasformazioni.

    Le espressioni delle formule 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 AssetModelPropertyche contiene un Transform. È possibile specificare questo oggetto come parte del payload della CreateAssetModelrichiesta 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 percento delle BLT123 parti 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" } } ] } } } ... }