Damit Maschinenhersteller und -betreiber besser auf die steigenden Anforderungen ihrer Märkte vorbereitet sind, hat Siemens sein Motion-Control-System Simotion weiterentwickelt und in der aktuellen Version 4.5 zwei umfangreiche Neuerungen implementiert.

Objektorientiert und effizienter programmieren
Immer kürzere Innovationszyklen und eine steigende Variantenvielfalt bei Endprodukten erfordern variable und performante Produktionsmaschinen. Der Wettbewerbsdruck erzwingt verbesserte Entwicklungsprozesse und schnellere Durchlaufzeiten, und das alles bei hohen Qualitätsanforderungen. Antwort der Maschinenhersteller sind modulare und hoch flexible, auf Knopfdruck umstellbare Lösungen. Mit zunehmender Funktionalität wird aber auch die Automatisierungssoftware umfangreicher. Da Software lebt und Änderungen oft auch rückwirkend einzupflegen sind, stoßen Unternehmen immer öfter an Kapazitätsgrenzen. Um hier an Effizienz zu gewinnen gilt es, die Prozesse der Software-Entstehung zu verbessern. Systematische Standardisierung und Modularisierung ist der Schlüssel dazu. Das führt zu Software-Baukästen und -Modulen, die einfach wiederverwendbar und kombinierbar sind. Ein solches Lean Development unterstützt die objektorientierte Programmierung (OOP). OOP – in der IT-Welt etabliert – setzt sich auch im Automatisierungsumfeld mehr und mehr durch. Richtig eingesetzt ist die Methodik in der Lage, den Aufwand der Software-Entstehung und -Pflege signifikant zu reduzieren. Mit der Simotion-Version 4.5 ist die OOP gemäß der IEC61131-3 ED3 vollumfänglich implementiert. Die Bildung von Klassen, Prinzipien der Vererbung und Interfaces zur Interaktion zwischen Objekten sind nun verfügbar.

Einfacher und strukturierter modularisieren
OOP überträgt die Betrachtung von Objekten der realen Welt in die Software. Die Übertragung bildet dabei den modularen Aufbau einer Maschine in Form von Objekten in der Software ab. Das können kleinere Funktionseinheiten wie eine Achse, ein Ventil oder eine Vereinzelung sein. Größere Software-Einheiten, wie eine Füllstation, ein Förderband oder ein Wickler setzen sich aus verschiedenen kleineren Einheiten zusammen. Da jede Software-Einheit (Objekt) autark funktioniert, lässt sie sich einfach testen. Nach der Integration in eine größere Einheit entfällt der erneute Test der eingebetteten Einheiten. Jedes Modul (Objekt) bildet eine Einheit mit seinen Eigenschaften (Daten) und Methoden (Funktionen). Jedes Objekt hat stets die Kontrolle über seine Eigenschaften und Funktionen. Die Kapselung schützt vor unerlaubten Zugriffen und erhöht die Sicherheit der Software. In Summe steigert der objektorientierte Ansatz den Modularisierungsgrad. In Bibliotheken abgelegt lässt sich die Standardisierung und Wiederverwendbarkeit nochmals erhöhen.

Effizienter weiterentwickeln und pflegen
Siemens hat sich dafür entschieden, anstelle von objektorientierten Funktionsbausteinen, die Umsetzung der Objektorientierung auf der Basis von Klassen zu implementieren. Damit finden sich Kenner anderer OOP-Sprachen (Java, C#) leicht zurecht. Das heißt, Struktur und Verhalten eines Objekttyps werden in einem Bauplan, der Klasse, festgelegt. Anpassungen an neue Gegebenheiten oder Weiterentwicklungen erfolgen durch Ableitung einer neuen Klasse von der bestehenden. Sie erbt automatisch alle Eigenschaften und Funktionen der Basisklasse. In der abgeleiteten Klasse lassen sich nun Eigenschaften oder Methoden zufügen und auch geerbte Methoden überschreiben, also anpassen. Der entscheidende Vorteil ist, dass die ursprüngliche Funktionalität vollständig erhalten bleibt. Es ist nicht erforderlich, einmal getestete Objekttypen nach Erweiterungen erneut zu testen. Die Weiterentwicklung bei der bisherigen prozeduralen Programmierung fällt deutlich aufwendiger aus: Durch das notwendige Kopieren von Software entstehen verschiedene Derivate, deren Funktionen erneut zu testen und zu pflegen sind. Getestete Objekttypen sind einfach in umfangreichere Objekttypen integrierbar (Aggregation). Diese gesteigerte Wiederverwendbarkeit ergibt einen erheblich reduzierten Aufwand. So bleiben größere Software-Projekte übersichtlich, lassen sich einfacher weiterentwickeln und leichter pflegen.