de Project Structure - SEB103/QtOpcUaManager GitHub Wiki
English · Deutsch · Français · Italiano · Русский · Українська
Projektstruktur
Dieses Kapitel ist eine Karte von "Wo ist X umgesetzt?" zum Quellbaum. Es ist bewusst keine vollständige Dateiliste; es verweist auf das Verzeichnis und die wenigen wichtigen Dateien jedes Bereichs, jeweils mit Verweis in die OpcUaManager API Reference.
Oberste Ebene
| Verzeichnis | Rolle |
|---|---|
app/ |
GUI-Anwendung: Start, QML-Engine-Wrapper, Anwendungsdienste. |
src/ |
Wiederverwendbare C++-Bibliotheken (Client-Kern, Modelle, Persistenz, Projekte, Fassaden). |
runtime/ |
Eigenständige open62541-OPC-UA-Server-Anwendung. |
qml/ |
Anwendungs-QML-Modul (Bildschirme/Dialoge) und das wiederverwendbare Modul qml/Base. |
resources/ |
Mitgelieferte Bilder/SVG und QML-Stilkonfiguration. |
doc/ |
Diese Dokumentation (QDoc-Handbuchseiten, API-Themen, Konfiguration). |
packaging/, installer/ |
Release-Pipeline, Installer und Produktmetadaten. |
Wo jede Funktion liegt
| Um zu arbeiten an… | Schauen Sie in… | Wichtige Typen |
|---|---|---|
| Client-Verbindung / Discovery / Abonnements | src/core/opcuaservice.* |
OpcUaService |
| Das Client-Objekt, mit dem QML spricht | src/qmlapi/opcuamanager.* |
OpcUaManager |
| Adressraum-Baum (Durchsuchen) | src/models/opcuamodel.*, treeitem.* |
OpcUaModel, TreeItem |
| Knotenattribute / Werte / Trends | src/models/ |
AttributesModel, DataAccessModel, TrendModel |
| Dekodieren strukturierter (CODESYS-)Werte | src/core/structurednodereader.* |
StructuredNodeReader |
| Server-Entwurf + Laufzeitsteuerung | src/qmlapi/serverstudio.*, serverruntimecontroller.* |
ServerStudio, ServerRuntimeController |
| Server-Projektmodell / -Datei / -Validierung / NodeSet2 | src/serverproject/ |
ServerProject::* |
| Der eigenständige Server selbst | runtime/ |
ProjectBuilder, SimulationEngine, SecuritySetup, DiagnosticsServer, RuleEngine |
Client-Projekt (.uaproj) |
src/project/ |
ProjectData, ProjectSerializer |
| Persistenz überwachter Knoten | src/persistence/nodedatabase.* |
NodeDatabase |
| Installierte/portable Pfade | src/core/apppaths.* |
AppPaths |
| Anwendungsstart / -dienste | app/ |
AppCore, AppEngine, AppInfo, LocaleController |
| UI-Rahmen und Bildschirme | qml/Main.qml, qml/*Screen*.qml |
OpcUaManager QML Types |
| Wiederverwendbare UI-Steuerelemente | qml/Base/ |
Base QML Types |
Bibliotheken und ihre Grenzen
- OpcUaCore (
src/core,src/models,src/persistence,src/project) — der Client-Stack; bindet Qt Core/Network/OpcUa/Sql ein. - ServerProjectCore (
src/serverproject) — nur Qt Core, sodass er von der GUI und der eigenständigen Laufzeit gemeinsam genutzt wird. - OpcUaQmlApi (
src/qmlapi) — die QML-Fassaden; hängt von beiden Kernen ab.
Zur Begründung dieser Grenzen, Threads und Prozesse siehe Architektur.