Zum Hauptinhalt springen

Überblick

Der OctoMesh Zenon Adapter stellt eine nahtlose Verbindung zwischen der Zenon-Runtime und OctoMesh her. Diese Integration nutzt eine Zweikomponenten-Architektur, um die Echtzeit-Datenübertragung von Zenon-Variablen über gRPC-Kommunikation zu ermöglichen.

Der Adapter besteht aus zwei Hauptkomponenten:

  • Windows Service
    Läuft als Hintergrunddienst, um sich mit OctoMesh zu verbinden und einen Endpunkt für die Kommunikation mit dem AddIn bereitzustellen. Der Dienst integriert sich in den Windows Service Control Manager.

  • Zenon AddIn
    Direkt innerhalb eines Zenon-Projekts installiert, liest das AddIn Variablen aus Zenon und sendet die Daten an OctoMesh. Es wird über eine octo-adapter.json-Datei konfiguriert, die im Zenon-Projekt abgelegt wird.

Zusätzlich zu den Adapter-Komponenten wird ein Kommandozeilenwerkzeug — Octo.Edge.Zenon.Importer.Cli — bereitgestellt, um Zenon-XML-Dateien (für Variablen und Equipment) in ein Runtime-Modell (Rt-Modell) zum Import in OctoMesh zu konvertieren.

Wesentliche Merkmale​

  • Architektur:
    Eine Kombination aus einem Windows-Dienst und einem Zenon AddIn, die über gRPC über localhost kommunizieren.

  • Funktionalität:
    Liest/schreibt Zenon-Variablen, CEL-Events und Alarme und leitet Daten an OctoMesh weiter.

  • Importer CLI:
    Konvertiert Zenon-XML-Dateien in ein YAML-Rt-Modell, mit Optionen zum Festlegen eines Root-Nodes und von Adapter-IDs.

Funktionsweise​

  1. Windows Service:

    • Initialisiert sich beim Systemstart als Dienst.
    • Lauscht auf HTTP/2 (über Kestrel) an einem angegebenen Port.
    • Liest seine Konfiguration aus einer appsettings.json-Datei unter C:\ProgramData\meshmakers\octo-zenon-adapter\.
  2. Zenon AddIn:

    • Liest die Konfiguration aus octo-adapter.json innerhalb des Zenon-Projekts.
    • Verbindet sich über gRPC mit dem Windows-Dienst (unter Verwendung der in der JSON-Datei angegebenen URI).
  3. Importer CLI:

    • Wird über den Befehl octo-zenon-cli -c GenerateRtModel mit den erforderlichen Argumenten für die Zenon-Variablen- und -Equipment-XML-Dateien ausgeführt.
    • Gibt eine Runtime-Modell-YAML-Datei aus, die in OctoMesh importiert werden kann.

Nächste Schritte​