From e3beb244f089e5f3b406e3780f27be7a770c56ea Mon Sep 17 00:00:00 2001 From: Christoph Hehl Date: Sun, 10 May 2026 14:24:01 +0200 Subject: [PATCH] FixUpdate --- README.md | 71 ++++++++++++++++--------------------------------------- 1 file changed, 21 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 5baf8ff..538b9ff 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,21 @@ -# OPC UA Simulator – fixed v2 - -Dieser Stand behebt die Fehler aus der ZIP-Version: - -- Top-Level-Objekte behalten jetzt eine stabile, konsistente NodeId-Zuordnung. Views verweisen nicht mehr auf nicht vorhandene Nodes. -- Der Server legt Parent-Forward- und Child-Inverse-Referenzen mit dem ReferenceType aus dem Export an (`Organizes`, `HasComponent`, `HasProperty`, ...). -- Doppelte Nodes im Export werden nur einmal erzeugt und mehrfach verlinkt. Dadurch fehlen StateCondition-/Method-/Property-Bereiche nicht mehr durch Duplicate-Node-Fehler. -- Variablen werden mit `AccessLevel` und `UserAccessLevel` erzeugt, damit OPC-UA-Clients Werte schreiben können. -- GUI-Änderungen setzen Werte live in-place, ohne Nodes zu löschen und View-Referenzen zu zerstören. -- Über **+ Rootelement** kann unabhängig von der aktuellen Markierung direkt unter `Objects` ein neues oberstes Objekt angelegt werden. -- Die Anzeige **Aktueller Wert** wird während des Serverlaufs automatisch aus dem laufenden Node aktualisiert; Hintergrund-Simulation und Client-Writes sind ohne erneutes Selektieren sichtbar. -- Beim Serverstart wird der aktuelle GUI-Baum verwendet. Vor dem Start hinzugefügte Nodes werden dadurch ebenfalls publiziert. - -## Voraussetzungen - -- JDK 17 oder neuer -- Maven 3.9 oder neuer - -## CLI starten - -```bash -mvn -q exec:java -Dexec.args="examples/opcua-export-1775161283402.json 4840 /" -``` - -Dann verbinden mit: - -```text -opc.tcp://localhost:4840/ -``` - -Anonyme Anmeldung ist aktiv. Zusätzlich existieren Benutzer: - -```text -user / password1 -admin / password2 -``` - -## GUI starten - -```bash -mvn javafx:run -``` - -In der GUI zuerst den JSON-Export laden, danach den Server starten. - -## Hinweise zur NodeId-Zuordnung - -Der Export enthält mehrere Custom-Namespace-Indizes (`ns=1` bis `ns=7`). Ein einzelner Milo `ManagedNamespace` liefert aber nur eine Namespace aus. Deshalb werden Custom-Namespaces intern konsistent auf die Simulator-Namespace gemappt. String-NodeIds wie `AirConditioner_1.Temperature` bleiben als Identifier erhalten, numerische Custom-IDs werden kollisionsfrei als String-Identifier gespeichert, z. B. `ns=3;i=5000`. - -Im OPC-UA-Client immer die NodeIds verwenden, die der Simulator beim Browsen tatsächlich anzeigt. +**OPC UA Simulator ** +**Voraussetzungen** +- JDK 17 oder neuer +- Maven 3.9 oder neuer +**CLI starten** +mvn -q exec:java -Dexec.args="examples/opcua-export-1775161283402.json 4840 /" +  +Dann verbinden mit: +opc.tcp://localhost:4840/ +  +Anonyme Anmeldung ist aktiv. Zusätzlich existieren Benutzer: +user / password1 + admin / password2 +  +**GUI starten** +mvn javafx:run +  +In der GUI zuerst den JSON-Export laden, danach den Server starten. +**Hinweise zur NodeId-Zuordnung** +Der Export enthält mehrere Custom-Namespace-Indizes (ns=1 bis ns=7). Ein einzelner Milo ManagedNamespace liefert aber nur eine Namespace aus. Deshalb werden Custom-Namespaces intern konsistent auf die Simulator-Namespace gemappt. String-NodeIds wie AirConditioner_1.Temperature bleiben als Identifier erhalten, numerische Custom-IDs werden kollisionsfrei als String-Identifier gespeichert, z. B. ns=3;i=5000. +Im OPC-UA-Client immer die NodeIds verwenden, die der Simulator beim Browsen tatsächlich anzeigt.