it Project Structure - SEB103/QtOpcUaManager GitHub Wiki
English · Deutsch · Français · Italiano · Русский · Українська
Struttura del progetto
Questo capitolo è una mappa che collega «dove è implementato X?» all’albero dei sorgenti. Non è volutamente un elenco esaustivo di file; indica la directory e i pochi file chiave di ciascuna area, ognuno con un collegamento al OpcUaManager API Reference.
Struttura di primo livello
| Directory | Ruolo |
|---|---|
app/ |
Eseguibile dell’interfaccia: avvio, wrapper del motore QML, servizi dell’applicazione. |
src/ |
Librerie C++ riutilizzabili (nucleo client, modelli, persistenza, progetti, facciate). |
runtime/ |
Eseguibile server OPC UA open62541 headless. |
qml/ |
Modulo QML dell’applicazione (schermate/dialoghi) e il modulo riutilizzabile qml/Base. |
resources/ |
Immagini/SVG forniti e configurazione dello stile QML. |
doc/ |
Questa documentazione (pagine di manuale QDoc, argomenti API, configurazione). |
packaging/, installer/ |
Pipeline di rilascio, installer e metadati del prodotto. |
Dove risiede ciascuna funzionalità
| Per lavorare su… | Cerca in… | Tipi chiave |
|---|---|---|
| Connessione client / discovery / sottoscrizioni | src/core/opcuaservice.* |
OpcUaService |
| L’oggetto client con cui QML dialoga | src/qmlapi/opcuamanager.* |
OpcUaManager |
| Albero (navigazione) dello spazio degli indirizzi | src/models/opcuamodel.*, treeitem.* |
OpcUaModel, TreeItem |
| Attributi / valori / tendenze dei nodi | src/models/ |
AttributesModel, DataAccessModel, TrendModel |
| Decodifica dei valori strutturati (CODESYS) | src/core/structurednodereader.* |
StructuredNodeReader |
| Progettazione server + controllo del runtime | src/qmlapi/serverstudio.*, serverruntimecontroller.* |
ServerStudio, ServerRuntimeController |
| Modello / file / validazione / NodeSet2 del progetto server | src/serverproject/ |
ServerProject::* |
| Il server headless stesso | runtime/ |
ProjectBuilder, SimulationEngine, SecuritySetup, DiagnosticsServer, RuleEngine |
Progetto client (.uaproj) |
src/project/ |
ProjectData, ProjectSerializer |
| Persistenza dei nodi monitorati | src/persistence/nodedatabase.* |
NodeDatabase |
| Percorsi installato/portable | src/core/apppaths.* |
AppPaths |
| Avvio dell’app / servizi | app/ |
AppCore, AppEngine, AppInfo, LocaleController |
| Shell dell’interfaccia e schermate | qml/Main.qml, qml/*Screen*.qml |
OpcUaManager QML Types |
| Controlli dell’interfaccia riutilizzabili | qml/Base/ |
Base QML Types |
Librerie e loro confini
- OpcUaCore (
src/core,src/models,src/persistence,src/project) — lo stack client; collega Qt Core/Network/OpcUa/Sql. - ServerProjectCore (
src/serverproject) — solo Qt Core, così da essere condiviso dall’interfaccia e dal runtime headless. - OpcUaQmlApi (
src/qmlapi) — le facciate QML; dipende da entrambi i nuclei.
Per la logica alla base di questi confini, thread e processi, vedi Architettura.