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
- Klicken Sie in der MDE-Weboberfläche auf Message Classes (Nachrichtenklassen).
- Klicken Sie auf Neue Message-Klasse hinzufügen.
- Geben Sie
basic-numericals Message Class name (Name der Nachrichtenklasse) ein. 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Ändern Sie die Priorität in
2000.Klicken Sie auf Erstellen.

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
- Klicken Sie in der MDE-Weboberfläche auf Message Classes (Nachrichtenklassen).
- Klicken Sie auf Neue Message-Klasse hinzufügen.
- Geben Sie
basic-discreteals Message Class name (Name der Nachrichtenklasse) ein. 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Ändern Sie die Priorität in
1975.Klicken Sie auf Erstellen.

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
- Klicken Sie in der MDE-Weboberfläche auf Message Classes (Nachrichtenklassen).
- Klicken Sie auf Neue Message-Klasse hinzufügen.
- Geben Sie
basic-continuousals Message Class name (Name der Nachrichtenklasse) ein. 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Ändern Sie die Priorität in
1950.Klicken Sie auf Erstellen.

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
- Klicken Sie in der MDE-Weboberfläche auf Types (Typen).
- Klicken Sie auf Neuen Typ hinzufügen.
- Geben Sie
basic-numericals Type name (Typname) ein. Wählen Sie im Drop-down-Menü für Archetype (Archetyp) die Option
NUMERIC_DATA_SERIESaus:
Öffnen Sie den Bereich Speichereinstellungen.
Aktivieren oder deaktivieren Sie die Option An BigQuery senden.
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
- Klicken Sie in der MDE-Weboberfläche auf Types (Typen).
- Klicken Sie auf Neuen Typ hinzufügen.
- Geben Sie
basic-discreteals Type name (Typname) ein. Wählen Sie im Drop-down-Menü für Archetyp die Option
DISCRETE_DATA_SERIESaus:
Öffnen Sie den Bereich Speichereinstellungen.
Aktivieren oder deaktivieren Sie die Option An BigQuery senden.
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
- Klicken Sie in der MDE-Weboberfläche auf Types (Typen).
- Klicken Sie auf Neuen Typ hinzufügen.
- Geben Sie
basic-continuousals Type name (Typname) ein. Wählen Sie im Drop-down-Menü für Archetyp die Option
CONTINUOUS_DATA_SERIESaus:
Öffnen Sie den Bereich Speichereinstellungen.
Aktivieren oder deaktivieren Sie die Option An BigQuery senden.
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
- Klicken Sie in der MDE-Weboberfläche auf Parser.
- Klicken Sie auf Neuen Parser hinzufügen.
- Geben Sie
basic-numeric-to-basic-numericals Parser name (Parsername) ein. - Wählen Sie im Drop-down-Menü für Name der Nachrichtenklasse die Option
basic-numericaus. 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; }Wählen Sie im Drop-down-Menü für Typ die Option
basic-numeric | version: 1aus.Klicken Sie auf Erstellen.

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
- Klicken Sie in der MDE-Weboberfläche auf Parser.
- Klicken Sie auf Neuen Parser hinzufügen.
- Geben Sie
basic-numeric-to-basic-discreteals Parser name (Parsername) ein. - Wählen Sie im Drop-down-Menü für Name der Nachrichtenklasse die Option
basic-discreteaus. 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; }Wählen Sie im Drop-down-Menü für Typ die Option
basic-discrete | version: 1aus.Klicken Sie auf Erstellen.

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
- Klicken Sie in der MDE-Weboberfläche auf Parser.
- Klicken Sie auf Neuen Parser hinzufügen.
- Geben Sie
basic-numeric-to-basic-continuousals Parser name (Parsername) ein. - Wählen Sie im Drop-down-Menü für Name der Nachrichtenklasse die Option
basic-continuousaus. 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; }Wählen Sie im Drop-down-Menü für Typ die Option
basic-continuous | version: 1aus.Klicken Sie auf Erstellen.
