de OPC UA Client - SEB103/QtOpcUaManager GitHub Wiki
English · Deutsch · Français · Italiano · Русский · Українська
OPC UA Client
Die Client-Hälfte der Anwendung verbindet sich mit einem OPC-UA-Server, durchsucht dessen Adressraum und liest, schreibt, abonniert und zeichnet Variablenwerte auf. Intern spricht die Oberfläche mit der Fassade OpcUaManager, die die Netzwerkarbeit an den Worker-Thread OpcUaService delegiert (siehe Architektur).
Mit einem Server verbinden
Eine Verbindung wird beschrieben durch:
- eine Discovery-/Endpunkt-URL, zum Beispiel
opc.tcp://127.0.0.1:4840; - eine Sicherheitsrichtlinie (zum Beispiel None oder Basic256Sha256 mit Signierung und Verschlüsselung);
- eine Identität: anonym oder Benutzername und Passwort.
Geben Sie diese im Verbindungsformular ein und verbinden Sie sich. Der Client führt Discovery und Endpunktauswahl durch und öffnet dann eine Sitzung. Zertifikatsbasierte Sicherheit nutzt den PKI-Speicher der Anwendung (siehe Konfiguration). Während und nach dem Verbinden wird der Zustand im Statusbereich angezeigt und im Log-Panel protokolliert.
Das Feld Discovery-URL listet die zehn zuletzt verbundenen Server auf; Sie können auch einen Host, eine IP-Adresse oder eine opc.tcp://-URL eingeben.
Server im Netzwerk finden
Wenn Sie die Adresse eines Servers nicht kennen, klicken Sie im Verbindungsformular auf Netzwerk scannen…. Der Scanner schlägt die IPv4-Subnetze vor, mit denen dieser PC verbunden ist, zum Beispiel 10.10.1.0/24 (Ethernet 3). Sie können auch einen Bereich wie 10.10.1.1-254, 10.10.1.5-10.10.1.40 oder eine einzelne Adresse eingeben. Standardmäßig wird nur Port 4840, der Standard-OPC-UA-Port, geprüft; weitere Ports geben Sie als Liste oder Bereich an, zum Beispiel 4840, 48010-48012.
Ein Scan umfasst höchstens 1024 Adressen und 16 Ports. Der Scanner prüft zunächst, welche Adressen eine TCP-Verbindung annehmen, und fragt dann bei jeder von ihnen die OPC-UA-Serverbeschreibung und die Endpunkte ab. Zeilen erscheinen, während der Scan läuft: Ein OPC-UA-Server zeigt seinen Namen, seine Sicherheitsrichtlinien und die unterstützten Anmeldungen; ein Port, der Verbindungen annimmt, aber nicht als OPC-UA-Server antwortet, wird abgeblendet dargestellt.
Doppelklicken Sie auf einen Server oder wählen Sie ihn aus und klicken Sie auf Verwenden, um seine Adresse in das Feld Discovery-URL zu übernehmen. Der Client findet den Server dann und fordert seine Endpunkte automatisch an; wählen Sie die Authentifizierung und klicken Sie auf Verbinden.
Adressraum durchsuchen
Nach dem Verbinden wird der Adressraum des Servers als Baum aus Knoten angezeigt, der beim Aufklappen der Zweige nachgeladen wird (gestützt auf OpcUaModel). Die Auswahl eines Knotens zeigt seine Attribute — Knoten-ID, Knotenklasse, Datentyp, Zugriffsebene, Wert usw. (AttributesModel).
Attributnamen und -werte lassen sich mit der Maus markieren und mit Strg+C kopieren; Strg+A markiert ein ganzes Feld.
Variablenknoten mit strukturierten Werten (zum Beispiel CODESYS-Strukturen ohne vollständige Typdefinition) werden durch Durchsuchen ihres Instanz-Teilbaums dekodiert, sodass Sie die einzelnen Felder statt eines undurchsichtigen Blocks sehen.
Lesen, Schreiben und Abonnieren
- Lesen — den aktuellen Wert eines Variablenknotens anfordern.
- Schreiben — einen neuen Wert an eine schreibbare Variable senden (abhängig von ihrer Zugriffsebene).
- Abonnieren — Interesse an einer Variable anmelden, sodass der Server Wertänderungen sendet. Abonnierte Variablen erscheinen in der Ansicht Data Access (
DataAccessModel), die Live-Wert, Status und Zeitstempel zeigt und sortiert und gefiltert werden kann (DataViewFilterModel).
Um eine Variable zur Ansicht Data Access hinzuzufügen, aktivieren Sie ihr Kontrollkästchen im Adressraum-Baum oder ziehen den Knoten aus dem Adressraum bzw. aus einem mit Als Segment öffnen geöffneten Segment auf das Panel DATENANSICHT. Während des Ziehens folgt eine Vorschau mit Symbol und Namen des Knotens dem Mauszeiger. Auf einem Touchscreen halten Sie den Knoten gedrückt, bis seine Zeile hervorgehoben ist, und ziehen ihn dann; eine normale Wischbewegung scrollt weiterhin den Baum. Ein Knoten, der bereits in der Ansicht ist, wird nicht erneut hinzugefügt.
Wenn Sie das Kontrollkästchen deaktivieren, wird die Variable aus der Ansicht entfernt. Wird eine Zeile aus der Ansicht entfernt, wird auch das Kontrollkästchen im Baum zurückgesetzt, sodass der Knoten später erneut hinzugefügt werden kann.
Überwachte Variablen können gespeichert werden, sodass sie bei der nächsten Verbindung wiederhergestellt werden (siehe Konfiguration).
Trends
Ausgewählte Variablen können im Trend-Panel über die Zeit dargestellt werden. Der Trend hält eine begrenzte Historie von Abtastwerten und berechnet die Plot-Geometrie (TrendModel); er kann angehalten und fortgesetzt werden.
Protokollierung
Client-Aktivität — Verbindungszustand, Fehler und wichtige Vorgänge — wird ins Log-Panel und in die Protokolldatei der Anwendung geschrieben. Der Ordner der Protokolldatei kann aus der Oberfläche geöffnet werden; das ist der Ausgangspunkt für die Fehlerbehebung.