View a markdown version of this page

Daten transformieren (Transformationen) - 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 (Transformationen)

Transformationen sind mathematische Ausdrücke, die die Datenpunkte von Komponenteneigenschaften aus einer Form in einer anderen Form abbilden. Ein Transformationsausdruck besteht aus Variablen, Literalen, Operatoren und Funktionen von Anlageneigenschaften. Die transformierten Datenpunkte stehen in einer Eins-zu-Eins-Beziehung zu den Eingabedatenpunkten. AWS IoT SiteWise berechnet jedes Mal einen neuen transformierten Datenpunkt, wenn eine der Eingabeeigenschaften einen neuen Datenpunkt erhält.

Anmerkung

Bei Eigenschaftsaktualisierungen 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 Messdatenstrom 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 Messungen, 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 auch eine TransformationQuality_Monitor, die gleich ist. if(eq(Part_Number, "BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal")

Diese Transformation überwacht den Prozentsatz der fehlerhaften Teile, die für einen bestimmten Bauteiltyp hergestellt wurden. Wenn die Artikelnummer BLT123 lautet und der Prozentsatz defekter Teile 10 Prozent (0,1) übersteigt, wird die Transformation zurückgegeben. "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.

Definieren Sie Transformationen (Konsole)

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

  • Name — Der Name der Eigenschaft.

  • 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 temporalen Funktionen verwenden. Um die Funktion zur automatischen 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 String eingeben. Boolesche Werte werden in 0 (falsch) und (wahr) konvertiert. 1

    Transformationen müssen eine oder mehrere Eigenschaften eingeben, die keine Attribute sind, und eine beliebige Anzahl von Attributeigenschaften. AWS IoT SiteWise berechnet jedes Mal einen neuen transformierten Datenpunkt, wenn die Eingabeeigenschaft, die kein Attribut ist, einen neuen Datenpunkt erhält. Neue Attributwerte starten keine Transformationsaktualisierungen. Die gleiche Anforderungsrate für API-Operationen mit Anlagendaten gilt für Transformationsberechnungsergebnisse.

    Formelausdrücke können nur Doppel- oder Zeichenfolgenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenketten, aber die Formel als Ganzes muss zu einer Zahl oder Zeichenfolge ausgewertet werden. Sie können die Funktion jp verwenden, um eine Zeichenfolge in eine Zahl zu konvertieren. 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 mit der AWS IoT SiteWise API eine Transformation für ein Anlagenmodell definieren, 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 temporalen 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 String eingeben. Boolesche Werte werden in 0 (falsch) und (wahr) konvertiert. 1

    Transformationen müssen eine oder mehrere Eigenschaften eingeben, die keine Attribute sind, und eine beliebige Anzahl von Attributeigenschaften. AWS IoT SiteWise berechnet jedes Mal einen neuen transformierten Datenpunkt, wenn die Eingabeeigenschaft, die kein Attribut ist, einen neuen Datenpunkt erhält. Neue Attributwerte starten keine Transformationsaktualisierungen. Die gleiche Anforderungsrate für API-Operationen mit Anlagendaten gilt für Transformationsberechnungsergebnisse.

    Formelausdrücke können nur Doppel- oder Zeichenfolgenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenketten, aber die Formel als Ganzes muss zu einer Zahl oder Zeichenfolge ausgewertet werden. Sie können die Funktion jp verwenden, um eine Zeichenfolge in eine Zahl zu konvertieren. 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 Objekt AssetModelProperty, das eine Transformation enthält. Sie können dieses Objekt als Teil der CreateAssetModel-Anforderungs-Nutzlast angeben, um eine Transformationseigenschaft zu erstellen. Weitere Informationen finden Sie unter Erstellen Sie ein Anlagenmodell (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" } } ] } } } ... }