Projektstruktur
In diesem Kapitel wird die Projektstruktur des TemplateNextGenArchBackend Projekts beschrieben (lib-, exe- und plugin-Projekte sowie das dplist-Verzeichnis).
Das TemplateNextGenArchBackend-Projekt hat die folgende Struktur:
TemplateNextGenArchBackend/
├─ dplist/
├─ Exe/
├─ ExternLibs/
├─ Lib/
├─ Plugin/
├─ _TEMPLATE_CMakeLists.txt
Das Lib-Projekt enthält die Hauptlogik des Backends.
Das Exe-Projekt erstellt das Backend, das im "out-of-proc" -Modus ausgeführt werden kann. Das Ergebnis der Erstellung dieses Projekts ist eine ausführbare Datei:
- Für Linux - NGABackendNameBackend
- Für Windows - NGABackendNameBackend.exe
Das Plugin-Projekt erstellt das Backend, das im "in-proc"-Modus ausgeführt werden kann. Das Ergebnis der Erstellung dieses Projekts ist eine Bibliothek:
- Für Linux - libNGABackendNameBackendPlugin.so
- Für Windows - NGABackendNameBackendPlugin.dll
dplist-Ordner enthält eine .dpl-Datei mit internen Datenpunkten des Backends. Diese .dpl-Datei muss in das WinCC OA-Projekt importiert werden, damit der NGA mit dem Backend arbeiten kann. DpList enthält die folgenden Datenpunkte:
- _NGA_B_BackendNameBackend-Datenpunkt vom Typ _NGA_Backend-Datenpunkttyp - Beschreibt die Backend-Einstellungen wie Betriebsmodus, ZMQ-Adresse für die Interaktion mit dem Frontend, Datenbankverbindungseinstellungen, datenbankspezifische Einstellungen usw.
- _NGA_B_BackendNameBackend_2-Datenpunkt vom _NGA_Backend-Datenpunkttyp - Erforderlich für ein redundantes Projekt.
- _NGA_G_EVENT_BackendName-Datenpunkt vom _NGA_Group-Datenpunkttyp - Beschreibt eine Archivgruppe für die Ereignisarchivierung.
- _NGA_G_EVENT_BackendName_2-Datenpunkt vom _NGA_Group-Datenpunkttyp - Erforderlich für ein redundantes Projekt.
- _NGA_P_BackendNameBackend_Profile -Datenpunkt vom
_NGA_P_BackendNameBackend_Profile-Datenpunkttyp. Das Profil umfasst die folgenden
Einstellungen:
- DPE (Datenpunktelement) senden als
- Zeit-Parameter
- Spezifische Einstellungen.
Weitere Details zu internen Datenpunkttypen finden Sie im Unterkapitel Interne Datenpunkte.
Der Ordner ExternLibs enthält externe Bibliotheken, die für die Erstellung des Backends benötigt werden. Die folgenden Ordner sind Teil der Backend-API-Lieferung: Protobuf und ZeroMQ. Diese Bibliotheken werden durch das newNextGenArchBackend-Skript heruntergeladen.
CMakeLists.txt enthält Befehle zum Erstellen von BackendNameBackend-Dateien.