Im Register Ziel finden Sie die Konfiguration für die gesendeten Nachrichten und Daten.

Optionale Analyse

Hier können Sie eine Analysevorschrift (PDO-Datei) angeben, um darin definierte Ausdrücke zu verwenden. Tragen Sie Pfad und Dateinamen in dieses Feld ein oder wählen Sie die Datei mithilfe des Browser-Buttons aus. Folgende Funktionen stehen zur Verfügung:

  • Klicken Sie auf den ibaAnalyzer-Button, um zu prüfen, ob ibaAnalyzer die PDO-Datei öffnen kann.

  •  erstellt eine Kopie der Analysevorschrift mit dem Namen "*_(ibaDatCoordinator).pdo", wobei "*" der Name der Originalanalyse ist, und startet ibaAnalyzer mit der angegebenen Datei. Diese Datei können Sie lokal bearbeiten.

  •  lädt die geänderte Analysevorschrift hoch, wenn Änderungen an der lokalen Kopie vorgenommen wurden.

Beispiel DAT-Datei

Sie können eine DAT-Datei öffnen, um die darin enthaltenen Daten zum Testen der Ausdrücke zu verwenden, indem Sie auf <?> klicken. Diese Datei hat keinen Einfluss auf die Ausführung des Tasks und wird nur zum Testen verwendet. Die ausgewerteten Werte erscheinen für jedes Signal in der Wertetabelle in der Spalte Testwert.

Topic

Hier wählen Sie das Kafka-Topic aus, an das die Nachrichten gesendet werden. Die Topic-Liste wird gefüllt, wenn Sie im Register Verbindung auf <Verbindung testen> klicken.

Schlüssel

Nachrichten werden als Schlüssel-Wert-Paare an den Kafka-Broker gesendet. Den Schlüssel für die Nachrichten können Sie mit Hilfe von Platzhaltern konfigurieren, die z. B. zur Identifizierung von Signalen oder der ibaDatCoordinator-Instanz auf dem Broker verwendet werden können.

Signalreferenz

Die Signalreferenz wird als Signalidentifikator innerhalb der Nachrichten verwendet. Es stehen verschiedene Platzhalter zur Verfügung, die gewählt werden können, um verschiedene Signale anhand der Werte eindeutig zu identifizieren.

Metadaten

Sie können auswählen, welche Signal-Metadaten Sie an die an den Kafka-Broker gesendeten Nachrichten anhängen möchten. Bei Verwendung von "AVRO (pro Signal)" sind die Metadaten immer enthalten.

Zeitstempel

"Startzeit" und "Endzeit" beziehen sich auf die verarbeitete Datei und werden aus ihren Metadaten entnommen.

Wenn "Zeitstempel" als Metadatum ausgewählt ist, kann der Zeitstempel aus der verarbeiteten DAT-Datei berechnet werden. Neben den üblichen Optionen "Startzeit" und "Endzeit" kann der Zeitstempel auch anhand eines Ausdrucks ausgewertet werden. Wenn Sie einen Ausdruck auswählen, wird dessen Durchschnittswert zur Startzeit in Sekunden addiert.

Das Zeitstempelformat in JSON-Nachrichten ist "YYYY.MM.DDThh:mm:ss:ffffffZ". Dabei trennt das "T" Datum und Uhrzeit, der Sekundenbruchteil hat immer 6 Ziffern, auch wenn sie alle Nullen sind, und das "Z" gibt die Zeit als UTC-Zeit an.

Dateien können einen UTC-Zeitversatz haben. Wählen Sie aus drei Möglichkeiten, wie Sie damit umgehen:

  • Ignorieren: Die Ortszeit wird als UTC-Zeit gemeldet.

  • Zeitstempel in UTC-Zeit umwandeln: Der UTC-Offset wird berücksichtigt und der Zeitstempel wird in UTC-Zeit umgewandelt.

  • Anhängen an den Zeitstempelstring (nur JSON-Formate): Bei den JSON-Formaten kann der UTC-Offset anstelle des Buchstabens "Z" an die Zeitstempelzeichenfolge angehängt werden. Beispiel: “2022.08.20T12:30:00:000000+02:00”

Datenformat

JSON (pro Signal). Für jeden berechneten Wert wird eine Nachricht gesendet. Jede Nachricht hat die folgende Struktur:

{

    “Signal”: “My beauty signal”,

    “Value”: 1.23,

    [optional metadata fields]

}

JSON (gruppiert). Alle berechneten Werte werden in einer einzigen Nachricht mit folgendem Aufbau gesendet:

{

    “My signal 1”: 1.23,

    [optional metadata fields of signal 1]

    “My signal 2”: 4.56,

    [optional metadata fields of signal 2]

}

AVRO. Für jeden berechneten Wert wird eine Nachricht gesendet. Jede Nachricht wird anhand des folgenden avro-Schemas serialisiert:

{

"namespace": "de.iba",

"type": "record",

"name": "DatCoordinatorRecord",

"fields": [

{"name": "Signal", "type": "string"},

{"name": "ID", "type": ["null", "string"]},

{"name": "Name", "type": ["null", "string"]},

{"name": "Unit", "type": ["null", "string"]},

{"name": "Comment1", "type": ["null", "string"]},

{"name": "Comment2", "type": ["null", "string"]},

{"name": "Timestamp", "type": [

"null",

{"type": "long", "logicalType": "timestamp-micros"}

]},

{"name": "Identifier", "type": ["null", "string"]},

{"name": "ValueType", "type": {

"type": "enum",

"name": "ValueTypeEnum",

"symbols": ["BOOLEAN", "DOUBLE", "STRING"]

}},

{"name": "BooleanValue", "type": ["null", "boolean"]},

{"name": "DoubleValue", "type": ["null", "double"]},

{"name": "StringValue", "type": ["null", "string"]}

]}

Format der digitalen Werte

Da JSON ein Textformat ist, werden digitale (boolesche) Werte in einen Text umgewandelt und können alternativ in "True"/"False" oder "0"/"1" umgewandelt werden.

Wertetabelle

Hier können Sie einen beliebigen gültigen ibaAnalyzer-Ausdruck angeben (z. B. vordefinierte Ausdrücke aus der PDO-Datei). Zudem haben Sie die Möglichkeit, Signale oder Module aus dem Signalbaum auszuwählen und per Drag & Drop der Wertetabelle hinzuzufügen. Der Signalbaum wird angezeigt, sobald Sie eine Analysevorschrift im Feld Optionale Analyse oder eine DAT-Datei in Feld Test-DAT-Datei laden. Der gewählte Ausdruck wird bei der Ausführung des Jobs ausgewertet und das Ergebnis wird auf dem Server veröffentlicht. Wenn eine PDO- oder Test-Datei geladen ist, können Sie Ausdrücke einfach aus dem ibaAnalyzer-Dateibaum auswählen.

Der Name wird verwendet, um das Signal auf dem Server zu identifizieren (wird in den Tag-Namen eingefügt).

In der Spalte Datentyp wählen Sie Den atentyp entsprechend dem Signaltyp: Analog (standardmäßig), Text (String) oder Digital (oder Boolean).

Die Spalte Testwert können Sie nicht bearbeiten. Sie dient dazu, die Werte der ausgewerteten Ausdrücke im Vergleich zu einer Test-DAT-Datei anzuzeigen. Mit den Buttons auf der rechten Seite der Tabelle können Sie Ausdrücke hinzufügen, kopieren, löschen oder nach oben und unten verschieben.