Visualisierung
3D-Funktionalität einfach nachrüsten
Anlagen und Maschinen in der Visualisierung dreidimensional darzustellen, setzt den Einsatz von speziellen Technologien wie die Windows Presentation Foundation – kurz WPF – bei der Entwicklung voraus. Das Problem: Nicht alle Mainstream-Scada-Systeme unterstützen die direkte Integration von 3D-Daten. Aber es gibt ein interessantes Hintertürchen.
Bei der WPF handelt es sich um ein Grafik-Framework von Microsoft zur Entwicklung von multimedialen und interaktiven Bedienoberflächen. Mit der Präsentationstechnologie vereint Microsoft eine Reihe von Funktionsbereichen, die für die Präsentation wichtig sind: Die WPF unterstützt 2D- und 3D-Grafiken, Animationen, Bilder, Audio- und Video-Inhalte unterschiedlichster Formate sowie die Darstellung und Bearbeitung von Dokumenten. Interessant für das Design von Bedienoberflächen sind dabei die Animations- und 3D-Visualisierungsmöglichkeiten auf Basis von vektorbasierten Grafiken unter DirectX, die eine stufenlose Skalierung von Fenstern, Inhalten und Steuerelementen ermöglichen.
WPF-Anwendungen werden mit der Entwicklungsumgebung Visual-Studio in einer von der .Net-Plattform unterstützten Programmiersprache (C# oder VB.Net) entwickelt. Für das grafische Oberflächendesign steht im Visual-Studio ein integriertes Designwerkzeug zur Verfügung. Darüber hinaus bietet Microsoft mit Expression-Studio eine weitere umfassende Sammlung von Softwarewerkzeugen an, die vor allem Designer bei der Gestaltung der Bedienoberflächen unterstützen.
Intuitives Bedienen in 3D
Die „Windows Presentation Foundation“ integriert alle wichtigen Funktionsbereiche einer modernen Bedienerführung.
© HeitecEines der zentralen Konzepte der WPF ist die XML-basierte Beschreibungssprache Extensible Application Markup Language (kurz XAML), mit der die Bedienoberflächen erstellt werden: Mittels der Beschreibungssprache lässt sich der Einsatz von Steuerelementen, 2D- und 3D-Grafiken, Multimedia, Animationen und Transformationen definieren. Transformiert werden können alle Grafikobjekte von einfachen 2D-Formen bis hin zu Steuerelementen und 3D-Modellen. Als wichtigste Basistransformationen stehen unter anderem Skalierung, Rotation und Translation zur Verfügung, mit denen sich alle räumlichen 3D-Bewegungsabläufe abbilden lassen.
Transformationen kommen häufig in Verbindung mit Animationen zum Einsatz. Eine Animation beschreibt die Wertänderung einer Objekteigenschaft (Dependency Property) über einen bestimmten Zeitraum. Animiert werden können nahezu alle Objekteigenschaften, nicht nur die Höhe und Breite eines Objektes, sondern auch komplexere Eigenschaften, welche nicht durch einen einfachen Datentyp beschrieben werden können, beispielsweise die Hintergrundfarbe. Hierzu stellt die WPF vorgefertigte Klassen zur Verfügung.
Obwohl mit dem Programmiermodell der WPF die Bedienoberfläche auch vollständig mittels Programmcode zu erzeugen ist, stellt XAML die bevorzugte Art der Definition dar. Der Hauptgrund dafür liegt in der Trennung von Oberflächendesign (XAML-Datei) und der dahinter liegenden Programmlogik (Code-Behind-Datei). Als Beschreibungssprache für Bedienoberflächen und Austauschformat verbessert XAML die Zusammenarbeit zwischen Designer und Programmierer. Der Designer erstellt mit entsprechender Werkzeugunterstützung (Microsoft Expression Blend) die Bedienoberflächen und speichert diese im XAML-Format ab. Der Entwickler greift mit seinem Programmierwerkzeug (Visual Studio) auf die XAML-Dateien zu und implementiert die dazugehörigen Verhaltensweisen (Programmlogik) in der korrespondierenden Code-Behind-Datei. Natürlich funktioniert der Ablauf ebenso in umgekehrter Reihenfolge: Der Entwickler erstellt im ersten Schritt die Anwendung mit der vollständigen Logik sowie eine rudimentäre Bedienoberfläche und übergibt sie dem Designer. Dessen Aufgabe ist es, diese Oberfläche mit dem gewünschten professionellen Design zu versehen.
Das Unternehmen Microsoft unterstützt mit seinen Designwerkzeugen den Import anderer Datenformate wie Adobe Illustrator (ai) oder Adobe Photoshop (psd). Darüber hinaus wächst die Anzahl an Softwareprodukten, welche das XAML-Format integrieren. Ein Beispiel hierfür ist Zam3D, ein Tool der Firma Erain, zur Erstellung und Konvertierung von 3D-Grafiken. Die Software ermöglicht es, komplexe 3D-Szenen, welche in einem gängigen 3D-Format (3DS, dxf oder dxb) vorliegen, mit einfachen Werkzeugen in das XAML-Format zu konvertieren und ohne Anpassungen in der WPF zu verwenden. Die 3D-Unterstützung der WPF erweitert die Einsatzmöglichkeiten der Software. Im Bereich der industriellen Prozessvisualisierung lassen sich damit Fertigungsanlagen realitätsgetreu abbilden. Dabei können einzelne Objekte des 3D-Modells mit der Steuerungsebene verknüpft und damit an den Fertigungsprozess gekoppelt werden – das 3D-Modell verhält sich somit wie die reale Fertigung. Der Bediener erhält eine räumliche Orientierung in der Anlage und kann das 3D-Modell beliebig drehen und aus allen Blickwinkeln betrachten. Der Vorteil: Anlagenzustände sind detailgetreu darstellbar und Störungen besser lokalisierbar. Dieser Aspekt kann einen direkten Einfluss auf die Reduzierung von Stillstandzeiten und somit auf die Steigerung von Anlagenverfügbarkeit und Produktivität haben.
3D-Visualisierung als .Net-Control
Eine grafische 3D-Darstellung lässt sich auch nachträglich in vorhandene Visualisierungsapplikationen einbinden. Ein bereits bestehendes 3D-Konstruktionsmodell wird dazu in die WPF importiert und mit der gewünschten Funktionalität (Animationen, weitere Grafiken, ergänzende Hinweise) angereichert. Im Scada-System werden die einzelnen Objekte des 3D-Modells mit den jeweiligen Datenpunkten der Steuerung verknüpft.
Die Firma Heitec hat dazu einen Referenzablauf definiert und unterstützt Firmen bei der Erstellung von Bedienoberflächen. Zunächst ermitteln die Fachleute den Ist-Zustand: Welche Daten sowie verwendbare 3D-Grafiken sind schon vorhanden? Bedienungsanleitungen, Fehlerprotokolle, Störungsanalysen sowie multimediale Elemente wie Bilder und Filme werden auf ihre Verwendbarkeit geprüft. Darauf aufbauend wird der interne Arbeitsablauf durchleuchtet und gemeinsam mit dem Kunden das Design und die Bedienphilosophie der Benutzeroberfläche definiert und abgestimmt, welche Funktionalitäten integriert werden sollen. Bei der Entwicklung wird ein starker Fokus auf die Nutzbarkeit der Oberflächen und auf die Interaktivität mit dem Endanwender gelegt, da diese oft vernachlässigten Faktoren maßgeblich die Arbeit mit der Software beeinflussen. Optional übernimmt das Unternehmen auch die Erstellung einzelner Steuerelemente und Module bis hin zur kompletten Neuentwicklung eines Bediensystems.
Kochrezept für die 3D-Integration
Vorhandene 3D-Modelle ermöglichen eine realistische Maschinenbedienung. Hier: Integration einer Felgenprüfanlage in die Laufzeitumgebung von Intouch.
© HeitecPlanung und Konstruktion von technischen Anlagen basieren meist auf 3D-Zeichnungen aus CAD-Systemen. Das Ergebnis des Planungsprozesses ist ein 3D-Modell der konstruierten Anlage, das für eine 3D-Visualisierung der Anlage weiterverwendet werden kann, ohne dass ein Medienbruch entsteht. Verschiedene CAD-Programme unterstützen bereits den Export in das XAML-Format, so dass 3D-Modelle 1:1 für die WPF verfügbar sind. Als Alternative gibt es Konvertierungsprogramme wie Zam3D, die etablierte CAD-Datenaustauschformate (dxf und andere) in XAML konvertieren.
Die im XAML-Format vorliegenden 3D-Modelle sind dann in ein neues VisualStudio-Projekt einzubetten. Derzeit besteht allerdings noch ein Defizit bei der Anzeige sehr großer 3D-Modelle, da der Parser in Visual-Studio beziehungsweise in Expression-Blend dabei an seine Leistungsgrenze stößt. Das integrierte 3D-Modell kann nun unter Verwendung von Expression-Blend mit weiteren Inhalten wie interaktiven Steuerelementen, Animationen, Grafiken, Bildern und Multimedia angereichert werden. Da Visual-Studio und Expression-Blend mit denselben Projektdateien arbeiten, können Projekte mit beiden Tools bearbeitet werden. Die Programmierung der dazugehörigen Verhaltensweisen erfolgt in Visual-Studio. Hierzu gehört auch das Anlegen von Eigenschaften, der Dependency Properties, die mit den entsprechenden Objekten des 3D-Modells verknüpft werden. Dies ist notwendig, um das komplette .Net-Control später mit den Datenpunkten des Scada-Systems verknüpfen zu können. Nach Abschluss dieser Arbeiten ist das VisualStudio-Projekt für die Compilierung vorbereitet. Das Ergebnis ist ein .Net-Control, das in gängige Scada-Systeme wie Zenon (Copadata), Intouch (Wonderware) und WinCC (Siemens) integrierbar ist.
Im Scada-System lässt sich dieses .Net-Control wie jedes andere Control in ein beliebiges Visualisierungsbild einfügen. Abschließend sind lediglich die Datenpunkte des Scada-Systems mit den Eigenschaften des .Net-Controls zu verknüpfen. Beim Einfügen und Verknüpfen der Datenpunkte mit den Control-Eigenschaften unterscheiden sich die Vorgehensweisen in den jeweiligen Scada-Systemen. Die Arbeiten bis zum Erstellen des .Net-Controls sind dagegen Scada-unabhängig. Mit diesem Lösungsansatz können standardisierte und wieder verwendbare HMI-Module beziehungsweise -Lösungen entwickelt werden, die zudem in unterschiedlichen Scada-Systemen funktionieren, ohne dass zusätzlicher Entwicklungsaufwand entsteht.
Autor: Matthias Engelhardt ist Software-Entwickler bei der Firma Heitec in Crailsheim.













