20.11.2019

Mit IT-basierten Workflows Entwicklungskosten reduzieren

Reibungslose Teamarbeit

Die Verschmelzung von IT und OT ist ein viel zitiertes Ziel der fortschreitenden Digitalisierung. Ein konkretes Anwendungsbeispiel ist Continuous Integration: Dieser Prozess zur Steigerung der Softwarequalität hilft dabei, die Engineering-Kosten in der Automatisierung zu reduzieren.


Grundprinzip der Softwareentwicklung mit Continuous Integration
Bild: Siemens AG

Im Maschinenbau zählt das Engineering nicht nur zu den wesentlichen Bestandteilen, sondern auch zu den größten Zeitfressern. Während die Hardwarekosten eher stagnieren, wächst der Aufwand - und somit die Kosten - für das Engineering aufgrund immer leistungsfähigerer und komplexerer Maschinenkonzepte. Im IT-Bereich gibt es viele Methoden und Prozesse, um die Softwareentwicklung und zugleich die Qualität der Ergebnisse zu verbessern. Ein solcher Prozess ist Continuous Integration (kontinuierliche Integration), der sich auch mit modernen Engineering Tools wie dem TIA Portal von Siemens in Automatisierungsprojekten anwenden lässt und zahlreiche Vorteile bietet.

Standardisierung als Basis

Damit sich IT-basierte Workflows in der Automatisierung einsetzen lassen, ist eine Voraussetzungen zwingend notwendig - Standardisierung. Insbesondere im Maschinenbau ist es heutzutage essenziell, dass die Programmierung der Steuerungen integraler Bestandteil des gesamten Entwicklungsprozesses von Maschinen ist und nicht autark erfolgt. Eine standardisierte Softwareentwicklung zeichnet sich dadurch aus, dass an Hand einer einheitlichen Datenbasis und nahtlos miteinander verbundener Workflows mit durchgängigen Schnittstellen eine effiziente Zusammenarbeit mit vollständiger Transparenz zu Softwareänderungen ermöglicht wird.

Turbo für die Softwareentwicklung

Was genau ist Continuous Integration eigentlich? Dieser kontinuierliche Entwicklungsprozess besteht im Wesentlichen aus drei Komponenten: Die effiziente Entwicklung im Team, die Verwaltung von Softwareänderungen in einer Quellcode-basierten Versionsverwaltung und die testgetriebene und automatisierte Prüfung von Funktion und Softwarequalität. Die Zielsetzung hierbei ist, Integrationsprobleme u.a. durch interdisziplinäre Arbeit und vollständige Transparenz frühzeitig zu erkennen. Die Komplexität heutiger Applikationen in der Automatisierung erfordert die effiziente Zusammenarbeit mehrerer Programmierer. Software ist hierbei für die toolbasierte Unterstützung zwingend erforderlich. Sie soll ermöglichen, dass sich alle Beteiligten um die Applikation und weniger um die Koordination im Team konzentrieren müssen. Im Rahmen der standardisierten Softwareentwicklung ist die Pflege von Softwareänderungen sowie ihre Kommentierung sehr wichtig. Die Dokumentation der Applikation ermöglicht erst die Verständlichkeit und damit langfristige Pflege und Weiterverwendung von Softwaremodulen im Rahmen eines integrierten Entwicklungsworkflows. Das Ziel guter Softwareentwicklung ist immer auch die Verständlichkeit für nicht direkt an der Entwicklung beteiligte Kollegen sicherzustellen.

Schaltstelle für Engineering und Inbetriebnahme

Bereits seit einiger Zeit unterstützt das TIA Portal die Zusammenarbeit im Team. Dazu werden die Projekte zentral auf einem Server abgelegt und über ein separates Tool verwaltet, versioniert und eingesehen. Eine Versionsverwaltung dient zur Erfassung von Änderungen an Softwareobjekten und Dokumenten entlang des gesamten Maschinenlebenszyklus. Alle Versionen werden mit Zeitstempel und Benutzerkennung versehen. Jede Version kann problemlos wiederhergestellt werden. Mit der neuen Version V16 des TIA Portals stehen diese und weitere Server-Funktionen jetzt jedem Anwender zur Verfügung. In der Softwareentwicklung haben sich herstellerunabhängige Versionierungstools etabliert, die in den Entwicklungs- und Dokumentationsprozess integriert werden müssen. Mit dem neuen Version Control Interface im TIA Portal (kurz VCI), ist die Anbindung solcher Werkzeuge integraler Bestandteil der Applikationsentwicklung und rundet die Möglichkeiten der anwenderspezifischen Auswahl von Werkzeugen ab.

Empfehlungen der Redaktion

Continuous Integration in der Automatisierung

Gute Solftwareentwicklung bedeutet neben standardisierten Strukturen und einheitlichen Programmiervorgaben auch integrierte Testprozesse. Nur so können die Anforderungen an Softwarequalität und eine immer schnellere Time to Market für Maschinen erreicht werden. Ein Continuous Integration Server hilft dabei, indem er die drei elementaren Prozesse Erstellen, Testen und Dokumentieren miteinander verzahnt und koordiniert. Im Build Prozess wird automatisiert aus den standardisierten Softwaremodulen ein Teilprojekt (genannt Build) erstellt, welches anschließend im Prozessschritt Testen definierte Applikationstests durchläuft und das Ergebnis als Bericht an die Programmierer zurückspielt. Hierbei sollen möglichst viele Schritte (teil-)automatisiert durchgeführt werden, indem Testfälle auf dem Server als Jobs angelegt und ausgeführt werden. Ein kontinuierlicher Kreislauf, der neben verbesserter Softwarequalität auch Engineering-Zeit spart. Im Rahmen der Version 16 des TIA Portals wird der Anwender mit einer Test Suite genau im Prozessschritt Applikationstest und Prüfung auf Einhaltung der Programmierrichtlinien unterstützt. Darüber hinaus besteht die Möglichkeit auch eigenständige Werkzeuge zu entwickeln und diese mit Hilfe der TIA Portal API zu integrieren.

Effiziente Softwareentwicklung

Die Vorteile von IT-basierten Workflows und Standardisierung in der Automatisierung liegen auf der Hand: Der Kreislauf aus raschen Änderungen und automatisierten Funktionstests mindert das Fehlerrisiko, steigert die Softwarequalität und macht den Entwicklungsprozess transparent. Zudem sorgen automatisierte Abläufe für Konsistenz und reduzieren den Zeitaufwand des Engineerings. Das TIA Portal enthält ein umfangreiches Bibliothekskonzept zur Unterstützung der Standardisierung und ermöglicht die Parallelisierung der Workflows. Dabei helfen neue Funktionen wie Exklusive oder Multiuser Engineering, Test Suite oder Version Control Interface. Continuous Integration ist ein Schritt von vielen auf der Reise durch die digitale Transformation. Im Vordergrund steht hierbei die Zusammenarbeit im Team, die auf unterschiedlichste Art ermöglicht und Tool-basiert unterstützt werden muss.

Anzeige