Automatisierungs-Engineering neu definiert

BU
BUBild: Siemens AG

Der Sondermaschinenbauer MTS stand vor der Herausforderung, Automatisierung nahtlos in die bestehenden Workflows zu integrieren. Klassische Ansätze im Automatisierungsengineering wurden den immer anspruchsvolleren Kundenanforderungen nicht mehr gerecht. Die Maschinen wurden komplexer, und die Kunden verlangten hochwertige Produktionsdaten. Doch die klassischen Automatisierungsparadigmen erschwerten die Zusammenarbeit in der Entwicklung, die Wiederverwendung von Code und die Qualitätssicherung. MTS erkannte, dass diese Herausforderungen in der Softwareentwicklung zwar bereits gelöst waren. Um diese erprobten Praktiken auch auf die Automatisierung anzuwenden, fehlten dem Unternehmen jedoch die richtigen Werkzeuge.

„Wir haben schon lange versucht, unsere Softwarepraktiken auf die OT-Entwicklung zu übertragen, aber bei jeder Plattform, die wir gewählt haben, stießen wir an eine Grenze. Wir kamen nicht weiter und konnten nicht wie gewohnt die bekannten Methoden aus der Softwareentwicklung nutzen. Simatic AX ist das Werkzeug und die Umgebung, mit der wir IT-Praktiken endlich in der OT umsetzen können“, erklärt Peter Kurhajec, Chief Technology Officer bei MTS.

IT-ähnliches Engineering

Simatic AX Logic Control Engineering ist eine IT-ähnliche Engineering-Umgebung für Simatic-Steuerungen. Das Tool basiert auf Visual Studio Code und vereint einen text- und dokumentenbasierten Ansatz, objektorientierte Programmierung, Paketmanagement, native Versionskontrolle und Unit-Testing. Automatisierungsingenieure können so bewährte Methoden aus der Softwareentwicklung in ihren Workflows anwenden.

„In Simatic AX Engineering kannst du die gleichen Workflows übernehmen, wie du sie aus der Softwareentwicklung kennst. Man kann also dieselben Pipelines anwenden, wenn man Pakete ausliefert, Software testet oder Änderungen vornimmt“, sagt Kurhajec.

Zudem nutzt MTS die Offenheit des Systems, um die Entwicklung zu automatisieren. Das ist möglich, weil „man Zugriff auf Details im System bekommt, die bei anderen Plattformen nicht zugänglich sind. Das erlaubt es uns, ein komplett neues System auf Simatic AX aufzubauen, das unsere Entwicklungsgeschwindigkeit und Effizienz steigert“, sagt Kurhajec. Dieses System, genannt AX#, wird von MTS als Open-Source-Software veröffentlicht und unterstützt das Team, die Entwicklung ihrer Maschinen zu automatisieren. „Das AX#Framework unterstützt dabei, komplexe Maschinen mit vielen Komponenten sehr schnell zusammenzustellen. Jede Komponente ist von der Hardware entkoppelt, da es sich um eine Softwarekomponente handelt“, sagt Blazej Kuhajda, Senior Developer bei MTS. Das fehlende Puzzleteil für die weitere Automatisierung der Prozesse war die Engineering-Umgebung selbst.

Datenqualität und Code-Effizienz

Doch warum investiert MTS so viel Zeit und Energie in diesen neuen Ansatz? „Unsere Kunden wollen Daten in die Cloud senden; sie wollen aus diesen Daten Erkenntnisse gewinnen“, erklärt Martin Hareznik, Leiter der Softwareabteilung.

Siemens hat objektorientierte Programmierung in Structured Text eingeführt, sodass MTS die Datenerfassung direkt in das Komponentendesign integrieren kann. Eine ‚Motor‘-Komponente protokolliert automatisch relevante Messwerte – Drehmoment, Geschwindigkeit, Temperatur, Fehlerereignisse – jeweils mit präzisem Zeitstempel.

„Das Schwierige ist, hochwertige Daten aus der Produktion zu bekommen, weil dafür viel manuelle Arbeit und Tests nötig sind“, merkt Peter Kurhajec an. Softwareentwicklungsmechanismen wie Git-Versionierung oder Paketmanagementsysteme ermöglichen iterative Entwicklungsprozesse und stellen hohe Qualität und Versionskonsistenz über mehrere Entwickler hinweg sicher. „Was wir mit Simatic AX erreichen konnten, ist die Entwicklung von Systemen, die tatsächlich qualitativ hochwertige, fein aufgeschlüsselte Daten liefern“, sagt Hareznik. „Wenn wir z.B. Daten in einer Datenbank speichern wollen, genügt in der SPS nur eine einzige Codezeile“.

Das hat die Arbeitsabläufe bei MTS grundlegend verändert. „AX kann viele Prozesse für uns automatisieren. Wir können unseren Applikationsingenieuren sehr schnell neue Services bereitstellen“, ergänzt Martin.

AX# und AXOpen

Zusätzliches Potenzial liegt in der Erweiterbarkeit der Software. So wie Softwareentwickler eigene Toolchains und Frameworks schaffen, um domänenspezifische Herausforderungen zu lösen, erkannte MTS, dass sie auf Basis der offenen Architektur von AX ihre eigenen Tools entwickeln konnten. Im Ergebnis entstanden individuelle Entwicklungswerkzeuge, die die Engineering-Prozesse unterstützen und durch Bereitstellung als Open Source Projekte der gesamten Automatisierungsgemeinschaft zugutekommen können.

Ihre Projekte AX# und AXOpen sind in ihrer GitHub-Community zu finden. AX# übersetzt automatisch SPS-Programme in .NET-Bibliotheken, ermöglicht dadurch strukturierten Datenzugriff und automatisierte HMI-Generierung. Manuelle UI-Programmierung ist nicht notwendig.

AXOpen bietet ein Anwendungs-Framework mit Koordination von primitiven, umfangreichem Datenhandling und vorkonfigurierten Komponenten. Gemeinsam beschleunigen diese Erweiterungen die Maschinenzusammenstellung erheblich. „All das war möglich, weil AX von Grund auf offen ist und APIs bereitstellt, die es ermöglichen, die Umgebung zu erweitern und zu bereichern“, betont Kurhajec.

IT und OT zusammenführen

Da Automatisierung zunehmend mit Cloud-Systemen und Datenanalysen kombiniert wird, benötigen Hersteller Entwicklungsansätze, die ihre Wettbewerbsfähigkeit unterstützen. „Als ich in die Industrie kam, habe ich diese große Lücke gesehen zwischen dem Vorgehen in der Softwarewelt und dem in der industriellen Automatisierung. Ich denke, wir konnten mit Simatic AX Engineering diese Konvergenz zwischen IT und OT effizient herstellen“, betont Kurhajec. Der Einsatz des Tools bei Modern Technology Systems zeigt den Wandel, den industrielle Automatisierung durchläuft. Bewährte Praktiken aus der Softwareentwicklung können übernommen werden und unterstützen Hersteller dabei, Verbesserungen in Geschwindigkeit, Qualität und Leistungsfähigkeit zu erzielen.