Grundsätzlich werden bei der Software-Modularisierung – ähnlich wie in der Mechanikentwicklung – anstelle einer großen Applikation verschiedene Teilprojekte angelegt. Das erste Teilprojekt bildet dabei den Rahmen der Applikation, die sogenannte Shell. Sie ist fester Bestandteil jedes HMI-Projekts und sollte alle Elemente vereinen, die bei jeder Anwendung erforderlich sind. Dazu zählen Funktionen wie Navigation, Systemeinstellungen, Alarmmanagement und Benutzerverwaltung. Für die einzelnen Maschinenmodule werden dann jeweils autarke Teilprojekte (Plug-Ins) erstellt, die sich anschließend als fertig geschnürtes Paket zur Verwendung weitergeben lassen. Ein solches Teilprojekt enthält die Definitionen für Variablen, Alarme, Texte, Bilder, multimediale Inhalte oder auch Programmcodes für Logiken.
Keine Großprojekte mehr
Werden nun verschiedene HMIs für die Maschine benötigt, stellen sie keine großen Einzelapplikationen mehr dar. Durch die Modularisierung können Projektierer ein HMI aus wiederverwendbaren Komponenten zusammensetzen, die zentral abliegen und gewartet werden. Ein HMI ist dann jeweils ein Projekt, das lediglich die verschiedenen Teilprojekte referenziert. Dazu gehört immer der Applikationsrahmen, ergänzt durch die jeweils benötigten Teilprojekte. Es gibt keine Kopien, und Optimierungen sowie Korrekturen finden nur an den zentral abgelegten Teilprojekten statt.
Mechnik-Module instanzieren
Anhand einer Druckmaschine lässt sich der Ablauf illustrieren. Bild 1 zeigt den prinzipiellen Aufbau mit folgenden mechanischen Modulen: Rollenträger & Vorspannwerk, Einzug, Druckwerke, Trockner, Kühlwalzenaggregat, Falzüberbau und Falzapparat. Das Papier wird abgewickelt, läuft durch verschiedene Druckwerke mit unterschiedlichen Farben, erfährt einen Trocknungsprozess, wird aufgerollt und gefalzt, bis am Ende das fertige Produkt die Maschine verlässt. Die Einzelkomponenten und Bausteine zur Steuerung der Maschine werden auch möglichst modular aufgebaut, damit sie in unterschiedlichen Kombinationen in den Maschinen zum Einsatz kommen. Wird dieser modulare Ansatz auf die Visualisierung übertragen, so lassen sich in der Maschine mehrfach vorhandene Module, die die gleiche Funktion ausüben, mehrfach instanzieren. In diesem Fall verfügt die Maschine über vier Druckwerke mit unterschiedlichen Farben, sodass im HMI das einmal erstellte Teilprojekt ‚Druckwerk‘ viermal aufgerufen wird. Wenn die Instanzen dieses Moduls im SPS-Programm jeweils mit einem eigenen Adressraum repräsentiert sind, lassen sich die Druckwerke alle einzeln bedienen und überwachen.
Autarke Pakete schnüren
Die Prozessvisualisierung übernimmt bei der Druckmaschine unterschiedliche Aufgaben. Zum Funktionsumfang gehören die Bestandteile des User Interface (UI), die zugehörigen Variablen aus der Maschine, sprachabhängige Texte, Alarme, Rezepturen, Benutzerverwaltung und Datenaufzeichnung. Für ein modulares HMI bedeutet das, dass auch jedes Modul (nur) die für sich selbst notwendigen Definitionen mitbringen muss. Im Beispiel enthalten alle Module der Druckmaschine SPS-Variablen und Alarme, aber Trends sind nur im Druckwerk- und Trockner-Modul vorhanden (Bild 2). Gemeinsam genutzte Definitionen, z.B. globale SPS-Variablen oder allgemeine Texte, sollten in ein dafür erstelltes System-Modul oder eventuell in den Applikationsrahmen aufgenommen werden. Nur dann stellt jedes Modul für sich tatsächlich ein autarkes Paket dar.