UaExpert – ein vollausgestatteter OPC UA Client

Der UaExpert® ist ein OPC UA Client mit großem Funktionsumfang, mit dem sich die vielfältigen Einsatzmöglichkeiten der OPC UA Technologie im Allgemeinen aber auch unseres C++ OPC UA Client SDK/Toolkit zeigen lassen. Der UaExpert wurde als universeller OPC UA Testclient entwickelt und unterstützt OPC UA Features wie DataAccess, Alarms & Conditions, HistoricalAccess und den Aufruf von OPC UA Methoden. Programmiert in C++, fungiert er als plattformunabhängiger OPC UA Referenzclient. Die grundlegende Benutzerschnittstelle wurde mit Hilfe der GUI Bibliothek Qt von Nokia (ehemals Trolltech) erstellt und kann mit zusätzlichen Plugins erweitert werden.

Die kostenlose Version des UaExpert verfügt über folgende Plugins:

  • OPC UA Data Access View
  • OPC UA Alarms&Conditions View
  • OPC UA Historical Trend View
  • Image Viewer
  • Server Diagnostics View
  • Simple Datalogger CSV Plugin
  • OPC UA Performance Plugin
  • GDS Push-Model Plugin
  • XMLNodeSet-Export View (Lizenz erforderlich)
  • PubSub Config Plugin (Lizenz erforderlich)

Der UaExpert ist für Windows und Linux verfügbar. Seit der Version v1.7.0 ist der UaExpert als 64bit Anwendung für Windows erhältlich (keine Windows XP Unterstützung mehr), wir empfehlen Windows 10 oder höher. Die Linux-Edition des UaExpert erfordert 64bit Linux mit Intel x86/64 Architektur.

Basissystem des UaExpert

Das Basissystem des UaExpert beinhaltet grundlegende Funktionalität, wie Zertifikats-Mechanismen, den Discovery Service, um OPC UA Server aufzufinden, Verbindungsherstellung, Browsen des Informationsmodells, Lesen von Attributen und Referenzen der OPC UA Knoten.

Die Projektansicht (oben links) zeigt die OPC UA Server (mit den dazugehörigen Document-Plugins) zu denen der UaExpert eine Verbindung aufgebaut hat. Das Informationsmodell des OPC UA Servers wird in der Adressraum-Ansicht (darunter) in einer Baumstruktur dargestellt. Zum dort ausgewählten Knoten werden auf der rechten Seite seine Attribute und Referenzen zu anderen Knoten im Adressraum des Servers angezeigt.

Im Zentrum des Fensters befinden sich die Ansichten der Dokument-Plugins

OPC UA DataAccess View

Aus der AddressSpace-Ansicht können per drag’n’drop Knoten in die DataAccess-Ansicht übernommen werden. Es wird automatisch eine Subscription angelegt und die Werte der Knoten per MonitoredItem-Mechanismus ausgegeben. Per Rechtsklick in die DA-Ansicht können SamplingRate und SubscriptionInterval angepasst werden.

Durch Doppelklick auf den Wert eines Items kann dieser editiert und geschrieben werden (skalare Datentypen, Arrays und Matrizen werden unterstützt). Die DA-Ansicht dient dazu, die übliche Ansicht für einen OPC Server anzubieten, bei der Variablen beobachtet und Werte, Zeitstempel und der Status einzelner Knoten angezeigt werden.

Weitere Ansichten werden mit Hilfe des „Add Document“-Buttons hinzugefügt und ebenfalls im zentralen Fenster angezeigt.

OPC UA Alarms & Conditions View

Die Event-Ansicht ist in drei Bereiche unterteilt: Die Konfiguration, die Event/Alarm-Ansicht und Details zur strukturierten Anzeige eines einzeln ausgewählten Items.

Wird per drag’n’drop ein Knoten mit gesetztem EventNotifier-Attribut in die Konfiguration gezogen, kann man nun die gewünschten EventFields auswählen. Einige Felder werden standardmäßig ausgewählt. Jedes Mal, wenn das Objekt ein Event feuert, wird es in der Event-Ansicht angezeigt. Hier kann zwischen Event- und Alarm-Ansicht umgeschaltet werden, um sich einerseits die fortlaufende Liste eingegangener Events bzw. den Status anstehender Alarme anzusehen. Wählt man ein Event aus der Liste aus, werden in der Ansicht darunter entsprechend der oben ausgewählten EventFields die Details dazu dargestellt.

OPC UA Historical Trend View

Die Ansicht für historische Daten ist in zwei Bereiche unterteilt: Die Konfiguration und ein Diagramm zur Darstellung der historischen Daten.

Knoten mit gesetztem HistoryReadable-Bit im (User)AccessLevel-Attribut können per drag'n'drop in den Konfigurationsbereich gezogen werden. Hier kann die Anzeigefarbe gewählt werden, was sich bei mehreren Datenquellen anbietet. Es wird „Single Update“ und „Cyclic Update“ unterstützt.

Bei „Single Update“ wird der angezeigte Bereich über den Zeitpunkt von Start und Ende definiert. Der UaExpert führt beim Klicken des „Update“-Buttons ein HistoricalReadRaw aus. Im „Cyclic Update“-Modus wird der anzuzeigende Zeitbereichals Dauer direkt angegeben und die Daten werden im einstellbaren Intervall abgerufen, wenn der „Start“-Button gedrückt wurde. Durch die Anzeige der Daten eines bestimmten Zeitraumes bis zum aktuellen Zeitpunkt wird der Anwendungsfall des Datenschreibers realisiert.

OPC UA Performance View

Die Performance-Ansicht ist in drei Bereiche unterteilt: Die Konfiguration, eine Liste der verwendeten Knoten und ein Diagramm zur Darstellung der Messergebnisse.

Per drag’n’drop werden die Knoten, mit denen die Messungen durchgeführt werden sollen, von der Adressraum-Ansicht in die Performance-Ansicht gezogen (auch Mehrfachauswahl ist möglich). Es ist zu beachten, dass die ausgewählten Knoten über die nötigen (User)AccessRights verfügen. Für Subscription-Tests sollten Knoten mit sich dynamisch verändernden Werten verwendet werden. Alle Knoten müssen aus dem Adressraum eines einzelnen OPC UA Servers stammen und sollten den gleichen Datentyp haben. Dies erleichtert später die Interpretation der Messwerte.

Nun wird die Performancemessung konfiguriert: Zunächst werden die aufzurufenden Services selektiert. Die Anzahl der zu verwendeten Knoten pro Aufruf und die Anzahl der Aufrufe selbst wird angegeben. Je mehr Durchläufe gewählt werden, desto genauer wird das Durchschnitts-Messergebnis werden. Allerdings dauert die Messung dann auch entsprechend länger. Alternativ kann auch die gewünschte Dauer der Messung angegeben werden. Dann wird bestimmt, wie viele Aufrufe in dieser Zeitspanne erreicht werden können.

Die Messergebnisse werden im Diagramm dargestellt. Die kumulative Grafik zeigt die Ergebnisse der verschiedenen OPC UA Services im Vergleich als Durchschnittswerte über alle Durchläufe. Zusätzlich kann man über die anderen Tabs für jeden Service die Messergebnisse der einzelnen Durchläufe aufrufen, um die Konstanz und Zuverlässigkeit der Messungen zu überprüfen.

OPC UA Image Viewer

Der Image Viewer kann über die Schaltfläche Dokument hinzufügen in der Menüleiste hinzugefügt werden. Das Bildbetrachtungs-Plugin wird im mittleren Bereich angezeigt und kann das Bilder verschiedener Typen anzeigen, ermöglicht aber auch das Abonnieren eines Bildes, das sich ändert (quasi ein Film).

Zuerst müssen Sie den UA-Knoten auswählen, der ein Bild (statisch) oder einen Film (dynamisch) repräsentiert. Unsere UA Demoserver haben einige Bilder zum Testen im Adressraum. Mit der Konfiguration der Monitoring-Parameter (Abtastintervall und Übertragungsintervall) können Sie deren Auswirkungen aus einen flüssige Darstellung testen. Das Plugin misst die Anzahl der Bilder pro Sekunde (FPS) und die Bildgröße (Data-Value der UA Variablen) an. Dies gibt einen Hinweis wie schnell der UA Server große Datenmengen liefern kann (dynamische Bilder).

Simple Data Logger CSV

Die Datenlogger-Ansicht kann über die Schaltfläche Dokument hinzufügen in der Menüleiste hinzugefügt werden. Das Datenlogger-Plugin wird im mittleren Bereich angezeigt und besteht aus drei Hauptgruppen: den Variablen, d.h. der Liste der zu protokollierenden Knoten, einschließlich der Einstellungen für Subscription und Monitored Items, und der Konfiguration der Ausgabedatei. Wenn der Logger gestartet wird, zeigt er den Laufzeitstatus an (Anzahl der empfangenen Datenänderungen).

Zuerst müssen Sie die UA-Knoten auswählen, die für die Protokollierung verwendet werden sollen (sie müssen alle die richtigen Zugriffsrechte für den Lesezugriff haben UND sie müssen einen einfachen skalaren Datentyp haben, damit sie leicht protokolliert werden können). Der Zweck dieses Datenlogger-Plugins ist die Demonstration der in OPC UA eingebauten Technologiefunktionen. Durch die Änderung der Einstellungen für Subscription und Monitored Item und durch die Konfiguration der Value-Queue werden Sie erkennen, wie leistungsfähig und effektiv eine intelligente Konfiguration dieser Parameter helfen kann, Werte ohne Datenverlust zu erfassen und trotz niedriger Übertragungsrate aufzuzeichnen.

Der Datenlogger dient nur zur Demonstration, die maximale Aufzeichnungsgeschwindigkeit ist durch die Schreibgeschwindigkeit der Festplatte begrenzt, das komma-getrennte (CSV) Dateiformat ist festgelegt und für eine reduzierte Speichermenge optimiert (z.B. Speicherung der NodeID über Index). Die maximale Anzahl der zu protokollierenden Knoten wurde mit 10-20 getestet, um in Abhängigkeit von der Größe der Werte eine erträgliche Performance zu erreichen.

OPC UA XML Export (NodeSet2)

Das XML Nodeset Export View kann über die Schaltfläche Add Document in der Menüleiste hinzugefügt werden. Das XML-Export-Plugin wird in der Mitte des Fensters angezeigt und besteht aus zwei Hauptgruppen: der Auswahl der Namespaces, der Liste der zu exportierenden Namespaces, und den Ergebnissen, einer Statistik der Anzahl der gefundenen und exportierten Knoten.

Zunächst müssen Sie die Namespaces auswählen, die exportiert werden sollen. Das XML-Export-Plugin durchsucht rekursiv den gesamten Adressraum (alle Namespaces) und speichert die Ergebnisse in einer XML-Datei im standardisierten NodeSet2-Format. Das Plugin kann für jeden Namespace eine separate Datei erstellen oder mehrere Namespaces in eine einzige Datei exportieren.

Achten Sie bei der Auswahl der zu exportierenden Namespaces darauf, dass Sie auch Abhängigkeiten exportieren, da einige Nodes Typen aus früheren Namespaces referenzieren können. Mit diesem Plugin können Sie den Adressraum (Typen und Instanzen) eines angeschlossenen UA Servers "kopieren" und in einer XML-Datei speichern. Diese Datei kann z.B. für die "offline" Konfiguration von HMI Systemen oder UA Clients verwendet werden, oder Sie können Ihre UA Client Implementierung gegen die kopierten Typen programmieren (spezialisieren), indem Sie UaModeler's Code Generatoren verwenden. Beim Importieren in den UaModeler oder UA DemoServer muss wieder die korrekte Reihenfolge eingehalten werden.

Der XML Nodeset Export benötigt einen Lizenzschlüssel, wenn mehr als 20 Nodes exportiert werden sollen. Kontaktieren Sie sales(at)unified-automation.com für Details

OPC UA PublishSubscribe Configuration

Die PubSub Config View kann über die Schaltfläche Add Document in der Menüleiste hinzugefügt werden. Das PubSub Config Plugin wird im mittleren Bereich angezeigt und besteht aus zwei Hauptgruppen, der Netzwerkansicht, einem Baum von Konfigurationsobjekten, die in der Netzwerktopologie der Geräte organisiert sind, und zweitens den Details dazu, abhängig vom ausgewählten Baumeintrag.
Das PubSub Config Plugin ermöglicht eine für mehrere Pubsub-Transport Varianten. Aus der Sicht des Netzwerks fügen Sie Geräte hinzu, die Writer (Publisher) oder Reader (Subscriber) oder beides sein können. Ein Gerät kann mehrere Writer mit mehreren DataSets haben. Der Datensatz kann konfiguriert und mit SourceNodes (Writer) bzw. TargetNodes (Reader) verknüpft werden. Damit erzeugen Sie eine Device-to-Device-Kommunikation einschließlich der Spiegelung Ihrer PubSub-Felder auf OPC-UA-Variablen. Die PubSub Konfiguration kann direkt in die angeschlossenen UA Server heruntergeladen werden, oder in einer Datei (standardisiertes OPC UA Binärformat) gespeichert werden, falls Ihr Gerät nicht angeschlossen oder nicht download-fähig ist.

Das PubSub Config Plugin benötigt einen Lizenzschlüssel, wenn mehr als 2 Reader/Write Paare insgesamt exportiert werden. Kontaktieren Sie sales(at)unified-automation.com für Details.