Grundlegende Konfiguration

Bei der Standardbereitstellung der Manufacturing Data Engine (MDE) werden standardmäßig keine Konfigurationseinstellungen angewendet, die zum Erfassen von Daten erforderlich sind.

In diesem Leitfaden wird die grundlegende Einrichtung von MDE beschrieben. Zum Beispiel, um zu testen, ob das System durchgängig funktioniert. Mit dieser Anleitung können Sie Nachrichtenklassen, ‑typen und ‑parser für alle drei Archetypen erstellen.

Wenn Sie Manufacturing Connect Edge (MCe) zum Erfassen von Daten verwenden möchten, stellen Sie stattdessen das Standardkonfigurationspaket bereit.

Sie können entweder die MDE API oder die Weboberfläche verwenden, um diese Konfiguration abzuschließen.

Nachrichtenklassen

In diesem Abschnitt finden Sie Beispiele für die in MDE verfügbaren Nachrichtenklassen.

Nachrichtenklasse für numeric

Hier sehen Sie ein Beispiel für eine basic-numeric-Nachrichtenklasse:

REST

POST /configuration/v1/message-classes

{
   "name": "basic-numeric",
   "priority": 2000,
   "expression": "#root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != null"
}

Weboberfläche

Name der Nachrichtenklasse: basic-numeric

  1. Klicken Sie in der MDE-Weboberfläche auf Message Classes (Nachrichtenklassen).
  2. Klicken Sie auf Neue Message-Klasse hinzufügen.
  3. Geben Sie basic-numeric als Message Class name (Name der Nachrichtenklasse) ein.
  4. Kopieren Sie den folgenden Ausdruck und fügen Sie ihn in das Feld Ausdruck ein:

       #root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != null
    
  5. Ändern Sie die Priorität in 2000.

  6. Klicken Sie auf Erstellen.

    Numerische MC-Aufgabe (Basic)

Nachrichtenklasse für discrete

Hier sehen Sie ein Beispiel für eine basic-discrete-Nachrichtenklasse:

REST

POST /configuration/v1/message-classes

   {
      "name": "basic-discrete",
      "priority": 1975,
      "expression": "#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null && #root.event['tagName'] != null"
   }

Weboberfläche

Name der Nachrichtenklasse: basic-discrete

  1. Klicken Sie in der MDE-Weboberfläche auf Message Classes (Nachrichtenklassen).
  2. Klicken Sie auf Neue Message-Klasse hinzufügen.
  3. Geben Sie basic-discrete als Message Class name (Name der Nachrichtenklasse) ein.
  4. Kopieren Sie den folgenden Ausdruck und fügen Sie ihn in das Feld Ausdruck ein:

       #root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null  && #root.event['tagName'] != null
    
  5. Ändern Sie die Priorität in 1975.

  6. Klicken Sie auf Erstellen.

    Basic-diskretes MC

Nachrichtenklasse für continuous

Hier sehen Sie ein Beispiel für eine basic-continuous-Nachrichtenklasse:

REST

POST /configuration/v1/message-classes

   {
      "name": "basic-continuous",
      "priority": 1950,
      "expression": "#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != null"
   }

Weboberfläche

Name der Nachrichtenklasse: basic-continuous

  1. Klicken Sie in der MDE-Weboberfläche auf Message Classes (Nachrichtenklassen).
  2. Klicken Sie auf Neue Message-Klasse hinzufügen.
  3. Geben Sie basic-continuous als Message Class name (Name der Nachrichtenklasse) ein.
  4. Kopieren Sie den folgenden Ausdruck und fügen Sie ihn in das Feld Ausdruck ein:

    #root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != null
    
  5. Ändern Sie die Priorität in 1950.

  6. Klicken Sie auf Erstellen.

    Basic-continuous MC

Typen

In diesem Abschnitt finden Sie eine Übersicht über die in MDE verfügbaren Typen.

Typ für numeric

Hier sehen Sie ein Beispiel für einen basic-numeric-Typ:

REST

POST /configuration/v1/types

{
   "archetype": "NUMERIC_DATA_SERIES",
   "name": "basic-numeric"
}

Weboberfläche

Name: basic-numeric

  1. Klicken Sie in der MDE-Weboberfläche auf Types (Typen).
  2. Klicken Sie auf Neuen Typ hinzufügen.
  3. Geben Sie basic-numeric als Type name (Typname) ein.
  4. Wählen Sie im Drop-down-Menü für Archetype (Archetyp) die Option NUMERIC_DATA_SERIES aus:

    Numerischer Basistyp

  5. Öffnen Sie den Bereich Speichereinstellungen.

  6. Aktivieren oder deaktivieren Sie die Option An BigQuery senden.

  7. Klicken Sie auf Erstellen.

Typ für discrete

Hier sehen Sie ein Beispiel für einen basic-discrete-Typ:

REST

POST /configuration/v1/types

{
   "archetype": "DISCRETE_DATA_SERIES",
   "name": "basic-discrete"
}

Weboberfläche

Name: basic-discrete

  1. Klicken Sie in der MDE-Weboberfläche auf Types (Typen).
  2. Klicken Sie auf Neuen Typ hinzufügen.
  3. Geben Sie basic-discrete als Type name (Typname) ein.
  4. Wählen Sie im Drop-down-Menü für Archetyp die Option DISCRETE_DATA_SERIES aus:

    Typ „Basic-discrete“

  5. Öffnen Sie den Bereich Speichereinstellungen.

  6. Aktivieren oder deaktivieren Sie die Option An BigQuery senden.

  7. Klicken Sie auf Erstellen.

Typ für continuous

Hier sehen Sie ein Beispiel für einen basic-continuous-Typ:

REST

POST /configuration/v1/types

{
   "archetype": "CONTINUOUS_DATA_SERIES",
   "name": "basic-continuous"
}

Weboberfläche

Name: basic-continuous

  1. Klicken Sie in der MDE-Weboberfläche auf Types (Typen).
  2. Klicken Sie auf Neuen Typ hinzufügen.
  3. Geben Sie basic-continuous als Type name (Typname) ein.
  4. Wählen Sie im Drop-down-Menü für Archetyp die Option CONTINUOUS_DATA_SERIES aus:

    Basic-continuous-Typ

  5. Öffnen Sie den Bereich Speichereinstellungen.

  6. Aktivieren oder deaktivieren Sie die Option An BigQuery senden.

  7. Klicken Sie auf Erstellen.

Parser

In diesem Abschnitt finden Sie eine Übersicht über die verschiedenen Parser, die in MDE verfügbar sind. Achten Sie darauf, dass die Typen vollständig bereitgestellt und active sind, bevor Sie die Parser erstellen. Dieser Vorgang kann bis zu drei Minuten dauern.

Parser für numeric

Das folgende Beispiel zeigt einen basic-numeric-Parser:

REST

POST /configuration/v1/parsers

{
   "name": "basic-numeric-to-basic-numeric",
   "messageClassName": "basic-numeric",
   "typeReference": {
         "name": "basic-numeric",
         "version": 1
   },
   "script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"timestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n    eventTimestamp: input.timestamp;\n}\n\ndef MapData(input) {\n    numeric: input.value;\n}"
}

Weboberfläche

Name: basic-numeric-to-basic-numeric

  1. Klicken Sie in der MDE-Weboberfläche auf Parser.
  2. Klicken Sie auf Neuen Parser hinzufügen.
  3. Geben Sie basic-numeric-to-basic-numeric als Parser name (Parsername) ein.
  4. Wählen Sie im Drop-down-Menü für Name der Nachrichtenklasse die Option basic-numeric aus.
  5. Kopieren Sie den folgenden Whistle-Code und fügen Sie ihn in das Feld Parser ein:

     package mde
    
     [{
     tagName: $root.tagName;
     timestamps: MapTimestamp($root);
     data: MapData($root);
     embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "timestamp" and $.field != "messageId")];
     }]
    
     def MapTimestamp(input) {
        eventTimestamp: input.timestamp;
     }
    
     def MapData(input) {
        numeric: input.value;
     }
    
  6. Wählen Sie im Drop-down-Menü für Typ die Option basic-numeric | version: 1 aus.

  7. Klicken Sie auf Erstellen.

    Einfacher numerischer Parser

Parser für discrete

Das folgende Beispiel zeigt einen basic-discrete-Parser:

REST

POST /configuration/v1/parsers

{
   "name": "basic-discrete-to-basic-discrete",
   "messageClassName": "basic-discrete",
   "typeReference": {
         "name": "basic-discrete",
         "version": 1
   },
   "script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"timestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n    eventTimestamp: input.timestamp;\n}\n\ndef MapData(input) {\n    complex: input.value;\n}\n"
}

Weboberfläche

Name: basic-discrete-to-basic-discrete

  1. Klicken Sie in der MDE-Weboberfläche auf Parser.
  2. Klicken Sie auf Neuen Parser hinzufügen.
  3. Geben Sie basic-numeric-to-basic-discrete als Parser name (Parsername) ein.
  4. Wählen Sie im Drop-down-Menü für Name der Nachrichtenklasse die Option basic-discrete aus.
  5. Kopieren Sie den folgenden Whistle-Code und fügen Sie ihn in das Feld Parser ein:

     package mde
    
     [{
     tagName: $root.tagName;
     timestamps: MapTimestamp($root);
     data: MapData($root);
     embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "timestamp" and $.field != "messageId")];
     }]
    
     def MapTimestamp(input) {
        eventTimestamp: input.timestamp;
     }
    
     def MapData(input) {
        complex: input.value;
     }
    
  6. Wählen Sie im Drop-down-Menü für Typ die Option basic-discrete | version: 1 aus.

  7. Klicken Sie auf Erstellen.

    Basic-discrete-Parser

Parser für continuous

Das folgende Beispiel zeigt einen basic-continuous-Parser:

REST

POST /configuration/v1/parsers

{
   "name": "basic-continuous-to-basic-continuous",
   "messageClassName": "basic-continuous",
   "typeReference": {
         "name": "basic-continuous",
         "version": 1
   },
   "script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nduration: $root.duration;\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"startTimestamp\" and $.field != \"endTimestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n    continuousTimestamp: {\n        eventTimestampStart: input.startTimestamp;\n        eventTimestampEnd: input.endTimestamp;\n    };\n}\n\ndef MapData(input) {\n    complex: input.value;\n}\n"
}

Weboberfläche

Name: basic-continuous-to-basic-continuous

  1. Klicken Sie in der MDE-Weboberfläche auf Parser.
  2. Klicken Sie auf Neuen Parser hinzufügen.
  3. Geben Sie basic-numeric-to-basic-continuous als Parser name (Parsername) ein.
  4. Wählen Sie im Drop-down-Menü für Name der Nachrichtenklasse die Option basic-continuous aus.
  5. Kopieren Sie den folgenden Whistle-Code und fügen Sie ihn in das Feld Parser ein:

     package mde
    
     [{
     tagName: $root.tagName;
     timestamps: MapTimestamp($root);
     data: MapData($root);
     duration: $root.duration;
     embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "startTimestamp" and $.field != "endTimestamp" and $.field != "messageId")];
     }]
    
     def MapTimestamp(input) {
        continuousTimestamp: {
           eventTimestampStart: input.startTimestamp;
           eventTimestampEnd: input.endTimestamp;
        };
     }
    
     def MapData(input) {
        complex: input.value;
     }
    
  6. Wählen Sie im Drop-down-Menü für Typ die Option basic-continuous | version: 1 aus.

  7. Klicken Sie auf Erstellen.

    Basic-Continuous-Parser