Software-Modularisierung

Eine Basis für viele Projekte

Der modulare Aufbau von VisiWin7 (Bild: Inosoft GmbH)
Der modulare Aufbau von VisiWin7 (Bild: Inosoft GmbH)

Modularer Ansatz

Das Unternehmen Inosoft verfolgt mit seiner HMI-Software VisiWin einen solchen modularen Ansatz: Die HMI-Projekte sind keine individuellen und großen Applikationen mehr. Jede Funktion, die für ein Maschinenmodul benötigt wird, wird als eigenes, zentral gespeichertes Plug-In erstellt und kann so immer wieder genutzt werden. Je nach Bedarf können die benötigten Plug-Ins einem HMI-Projekt hinzugefügt, aktualisiert oder auch entfernt werden. Für ein klares Versionsmanagement wird das Plug-In nur noch referenziert. Das bedeutet, das HMI bekommt lediglich gesagt, welches Plug-In in welcher Version an dieser Stelle im HMI-Projekt genutzt werden soll. Die Plug-Ins können dabei entweder quelloffen oder als monolithisches Package weitergegeben werden. Letzteres wird oft als Schutz gegen Veränderung eingesetzt oder um Knowhow nicht preiszugeben.

Zentrale Änderungen

Änderungen werden ausschließlich am zentral gespeicherten Modul vorgenommen und dort mit einer entsprechenden Versionsnummer versehen. Diese Module werden dann je nach Bedarf als Teilprojekte zu einem neuen HMI-Projekt zusammengefasst. Da das Projekt lediglich auf die Module referenziert, entstehen meist zwei Effekte: Zum einen können alle HMI-Projekte von den Verbesserungen profitieren, da diese zentral vorgenommen und dann in der einzelnen Anwendung gezielt durch Verwendung der neuen Plug-In-Version übernommen werden. Zum anderen kann durch das Baukastenprinzip der Zeitaufwand für die Projektierung verringert werden. Um das Versionsmanagement sicherzustellen, sollten Modifikationen von Prozessen, Funktionen oder Fähigkeiten in jedem Fall in einer neuen Version gespeichert werden. Das ermöglicht bei der Erstellung der Applikation zu entscheiden, ob die alte oder die neue Version genutzt werden soll. Dies kann sich als wichtig erweisen, wenn ein HMI-Projekt beispielsweise in Betrieb genommen wird und schon eine teilweise Abnahme erfolgt ist oder der Käufer die neue Funktion sogar ablehnt.

Anwendung mit Basisfunktionen

Rahmen eines jeden Projekts mit VisiWin7 ist die sogenannte Shell. Sie enthält das Hauptfenster der Anwendung mit allen Basisfunktionen. Diese bilden die Grundlage für jedes gleichartige Projekt. So können Maschinenbauer die Einheitlichkeit des HMI bezüglich Optik und Funktion für alle Maschinen umsetzen. Alle weiteren Anforderungen sind projektspezifisch und werden als eigenes Plug-In zentral im Projekt referenziert. Die Projekte können dabei auch als hybride Lösung aus Shell, mehreren Plug-Ins und individuellen Projektteilen aufgebaut werden. Ein Plug-In kann dabei auch mehrfach instanziiert werden, wenn ein Modul der Maschine mehrfach vorhanden ist.

Beispiel Druckmaschinen

Bei Druckmaschinen ist z.B.für jede zu druckende Farbe ein Druckwerk enthalten – im HMI repräsentiert durch eine Instanz des Plug-Ins ‚Druckwerk‘ mit eigenem Adressraum im SPS-Programm. Nachgeschaltet erzeugt die VisiWin-Engineeringumgebung aus der Shell, den verschiedenen Plug-Ins und deren Instanzen sowie aus den individuell erstellten Applikationsteilen durch einen Merge-Prozess die eigentliche Anwendung für die Maschine. Da die zentral abgelegten Plug-Ins idealerweise erst nach Test und Abnahme die Freigabe für die Verwendung erhalten, können sich die Anwender auf Funktionalität und Kompatibilität verlassen und die Durchgängigkeit dank einer klaren Versionierung nachverfolgen. Der Softwareaufbau mit Projekt und Teilprojekten ist ähnlich dem von Microsoft Visual Studio – es gibt eine Projektmappe mit Teilprojekten, die quasi alles zusammenhält.