Daten transformieren (transformiert) - AWS IoT SiteWise

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.

Daten transformieren (transformiert)

Transformationen sind mathematische Ausdrücke, die die Datenpunkte von Asset-Eigenschaften einem Formular einem anderen zuordnen. Ein Transformationsausdruck besteht aus Variablen, Literalen, Operatoren und Funktionen für Asset-Eigenschaften. Die transformierten Datenpunkte stehen in einer one-to-one Beziehung zu den Eingabedatenpunkten. AWS IoT SiteWise berechnet jedes Mal, wenn eine der Eingabeeigenschaften einen neuen Datenpunkt erhält, einen neuen transformierten Datenpunkt.

Anmerkung

Bei Eigenschaftenaktualisierungen mit demselben Zeitstempel können Ausgabewerte durch Aktualisierungen anderer eingehender Eigenschaften überschrieben werden.

Wenn Ihre Komponente beispielsweise über einen Temperaturmessungs-Stream namens Temperature_C mit Einheiten in Celsius verfügt, können Sie jeden Datenpunkt mit der Formel Temperature_F = 9/5 * Temperature_C + 32 in Fahrenheit konvertieren. Jedes Mal, wenn ein Datenpunkt im Temperature_C Messstream AWS IoT SiteWise empfangen wird, wird der entsprechende Temperature_F Wert innerhalb weniger Sekunden berechnet und ist als Eigenschaft verfügbar. Temperature_F

Wenn Ihre Transformation mehr als eine Variable enthält, leitet der Datenpunkt, der früher eintrifft, die Berechnung sofort ein. Stellen Sie sich ein Beispiel vor, bei dem ein Teilehersteller eine Transformation verwendet, um die Produktqualität zu überwachen. Der Hersteller verwendet je nach Bauteiltyp eine andere Norm und verwendet die folgenden Maße, um den Prozess darzustellen:

  • Part_Number‐ Eine Zeichenfolge, die den Teiletyp identifiziert.

  • Good_Count‐ Eine Ganzzahl, die um eins erhöht wird, wenn das Teil der Norm entspricht.

  • Bad_Count‐ Eine Ganzzahl, die um eins erhöht wird, wenn das Teil nicht der Norm entspricht.

Der Hersteller erstellt außerdem eine Transformation,Quality_Monitor, die entspricht. if(eq(Part_Number, "BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal")

Diese Transformation überwacht den Prozentsatz fehlerhafter Teile, die für einen bestimmten Teiletyp hergestellt wurden. Wenn die Bauteilnummer den Wert 10 Prozent (0,1) übersteigt BLT123 und der Prozentsatz der fehlerhaften Teile 10 Prozent (0,1) übersteigt, kehrt die Transformation zurück"Caution". Andernfalls kehrt die Transformation zurück"Normal".

Anmerkung
  • Wenn vor anderen Messungen ein neuer Datenpunkt Part_Number empfangen wird, verwendet die Quality_Monitor Transformation den neuen Part_Number Wert und die neuesten Good_Count Bad_Count UND-Werte. Um Fehler zu vermeiden, setzen Good_Count Sie das Bad_Count Gerät vor dem nächsten Fertigungslauf zurück.

  • Verwenden Sie Metriken, wenn Sie Ausdrücke erst auswerten möchten, nachdem alle Variablen neue Datenpunkte erhalten haben.

Transformationen definieren (Konsole)

Wenn Sie in der AWS IoT SiteWise Konsole eine Transformation für ein Asset-Modell definieren, geben Sie die folgenden Parameter an:

  • Name — Der Name der Immobilie.

  • Einheit — (Optional) Die wissenschaftliche Einheit für die Eigenschaft, z. B. mm oder Celsius.

  • Datentyp — Der Datentyp der Transformation, der Double oder String sein kann.

  • Externe ID — (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter Referenzobjekte mit externen IDs im AWS IoT SiteWise -Benutzerhandbuch.

  • Formel — Der Transformationsausdruck. Transformationsausdrücke können keine Aggregationsfunktionen oder Temporalfunktionen verwenden. Um die Funktion zur auto Vervollständigung zu öffnen, beginnen Sie mit der Eingabe oder drücken Sie die NACH-UNTEN-TASTE. Weitere Informationen finden Sie unter Verwenden Sie Formelausdrücke.

    Wichtig

    Transformationen können Eigenschaften vom Typ Integer, Double, Boolean oder Zeichenfolge eingeben. Boolesche Werte werden in 0 (falsch) und (wahr) konvertiert. 1

    Transformationen müssen eine oder mehrere Eigenschaften, die keine Attribute sind, und eine beliebige Anzahl von Attributeigenschaften eingeben. AWS IoT SiteWise berechnet jedes Mal einen neuen transformierten Datenpunkt, wenn die Eingabeeigenschaft, bei der es sich nicht um ein Attribut handelt, einen neuen Datenpunkt erhält. Neue Attributwerte starten keine Transformationsaktualisierungen. Die gleiche Anforderungsrate für API Operationen mit Objektdaten gilt für Ergebnisse der Transformationsberechnung.

    Formelausdrücke können nur Doppelwerte oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die Funktion jp verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter Undefinierte, unendliche und Überlaufwerte.

Weitere Informationen finden Sie unter Erstellen Sie ein Asset-Modell (Konsole).

Definieren Sie Transformationen ()AWS CLI

Wenn Sie eine Transformation für ein Asset-Modell mit dem definieren AWS IoT SiteWise API, geben Sie die folgenden Parameter an:

  • name— Der Name der Immobilie.

  • unit— (Optional) Die wissenschaftliche Einheit für die Eigenschaft, z. B. mm oder Celsius.

  • dataType— Der Datentyp der Transformation, der DOUBLE oder sein mussSTRING.

  • externalId— (Optional) Dies ist eine benutzerdefinierte ID. Weitere Informationen finden Sie unter Referenzobjekte mit externen IDs im AWS IoT SiteWise -Benutzerhandbuch.

  • expression— Der Transformationsausdruck. Transformationsausdrücke können keine Aggregationsfunktionen oder temporale Funktionen verwenden. Weitere Informationen finden Sie unter Verwenden Sie Formelausdrücke.

  • variables— Die Liste der Variablen, die die anderen Eigenschaften Ihres Assets definiert, die im Ausdruck verwendet werden sollen. Jede Variablenstruktur enthält einen einfachen Namen, der in dem Ausdruck verwendet werden soll, sowie eine value-Struktur zur Identifizierung der mit dieser Variablen zu verknüpfenden Eigenschaft. Die value-Struktur enthält folgende Informationen:

    • propertyId— Die ID der Eigenschaft, aus der Werte eingegeben werden sollen. Sie können den Namen der Eigenschaft anstelle der ID verwenden.

    Wichtig

    Transformationen können Eigenschaften vom Typ Integer, Double, Boolean oder Zeichenfolge eingeben. Boolesche Werte werden in 0 (falsch) und (wahr) konvertiert. 1

    Transformationen müssen eine oder mehrere Eigenschaften, die keine Attribute sind, und eine beliebige Anzahl von Attributeigenschaften eingeben. AWS IoT SiteWise berechnet jedes Mal einen neuen transformierten Datenpunkt, wenn die Eingabeeigenschaft, bei der es sich nicht um ein Attribut handelt, einen neuen Datenpunkt erhält. Neue Attributwerte starten keine Transformationsaktualisierungen. Die gleiche Anforderungsrate für API Operationen mit Objektdaten gilt für Ergebnisse der Transformationsberechnung.

    Formelausdrücke können nur Doppelwerte oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die Funktion jp verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter Undefinierte, unendliche und Überlaufwerte.

Beispiel Definition transformieren

Das folgende Beispiel zeigt eine Transformationseigenschaft, die die Temperaturmessdaten einer Komponente von Celsius in Fahrenheit konvertiert. Dieses Objekt ist ein Beispiel für ein AssetModelProperty, das eine Transformation enthält. Sie können dieses Objekt als Teil der CreateAssetModelAnforderungsnutzlast angeben, um eine Transformationseigenschaft zu erstellen. Weitere Informationen finden Sie unter Erstellen Sie ein Asset-Modell (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" } ], ... }
Beispiel Transformationsdefinition, die drei Variablen enthält

Das folgende Beispiel zeigt eine Transformationseigenschaft, die eine Warnmeldung ("Caution") zurückgibt, wenn mehr als 10 Prozent der BLT123 Teile nicht der Norm entsprechen. Andernfalls wird eine Informationsmeldung ("Normal") zurückgegeben.

{ ... "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" } } ] } } } ... }