Obwohl die Steuerungssoftware einen immer größeren Anteil an der Gesamtmaschine einnimmt, spielen Funktionstests im Rahmen von Simulationen und virtuellen Inbetriebnahmen nach wie vor eine untergeordnete Rolle im Maschinen- und Anlagenbau. Das muss nicht sein.
Im Zuge der digitalen Transformation hat die Mechanik ihre vorherrschende Rolle im Maschinenbau eingebüßt. Bereits heute ist es vornehmlich die Software auf immer leistungsfähigeren Industriesteuerungen, die Maschinen flexibler und produktiver macht. Während die Steuerungssoftware einen immer wesentlicheren Anteil an der Gesamtmaschine einnimmt, spielen Funktionstests im Rahmen von Simulationen und virtuellen Inbetriebnahmen nach wie vor eine untergeordnete Rolle.
Verzögerungen bei der Auslieferung und Maschinenstillstände im Feld sind oft die Folge. Und das, obwohl Steuerungshersteller wie Beckhoff nahtlos integrierte Schnittstellen zu Simulationsumgebungen wie Simulink von MathWorks – und damit eine passende Lösung – anbieten. Neben der simulationsgestützten Entwicklung liefert auch die Künstliche Intelligenz Ansätze, die formulierten Herausforderungen des modernen Maschinen- und Anlagenbaus umzusetzen.
Umfassende Tests der Steuerungssoftware lassen sich parallel zur Entwicklung des Steuerungscode mit modellbasierter Entwicklung (Model-Based Design) realisieren. Hierfür bietet Simulink einen Funktionsumfang, der es einerseits erlaubt, physikalische Simulationsmodelle der Mechanik und Elektrik zu erstellen – und damit einen digitalen Zwilling der Anlage aufzubauen –, und andererseits eine große Bandbreite an Methoden zur Entwicklung von Ablauflogik, Steuerungs- und Regelungscode zur Verfügung stellt, die die Steuerungsfunktionalität abbildet.
So kann sowohl das Anlagenmodell als auch der Steuerungscode in einer einheitlichen Umgebung entwickelt und in der Simulation evaluiert werden. Darüber hinaus bietet Simulink Methoden zum Test und zur Verifizierung an, sodass sich der Entwicklungsprozess nahtlos in einer umfassenden Entwicklungssoftware realisierten lässt.
Die in der Simulation zusammen mit dem digitalen Zwilling der Maschine oder Anlage getestete Steuerungsfunktionalität wird anschließend nicht mehr manuell für die industrielle Steuerungsplattform codiert, sondern in wenigen Schritten automatisch auf die Industriesteuerung übertragen. Konkret heißt das, dass ein in Simulink verifiziertes Programm durch den Simulink Coder von MathWorks in ausführbaren C/C++ Code übersetzt und mithilfe des Twincat Target for Simulink von Beckhoff in ein Twincat-Echtzeitobjekt überführt wird. Das Echtzeitobjekt lässt sich dann, zum Beispiel als SPS-Funktionsbaustein, nahtlos in ein Steuerungsprogramm einbauen.
Die Vorteile der automatischen Generierung von Steuerungscode liegen auf der Hand: Zum einen werden die bereits getesteten Funktionen fehlerfrei in für die Steuerung verständlichen Code übersetzt; selbst bei sehr umfangreichen Programmen treten Implementierungsfehler nicht auf. Zum anderen kann sich der Entwickler auf seine Kernkompetenz – wie die Entwicklung einer Ablaufsteuerung, eines Regelalgorithmus oder eines Machine-Learning-Modells – konzentrieren und muss sich nicht mit deren Implementierung auf unterschiedlichen Plattformen beschäftigen. Der automatisierte Workflow verkürzt die aufgewendete Entwicklungszeit von der Anforderung bis zur fertigen Implementierung.
Insgesamt findet eine weitere Abstraktion der Steuerungsprogrammierung statt. Wurde in den Anfängen das Steuerungsprogramm in Maschinensprache oder Assembler implementiert, so unterstützen moderne Entwicklungsumgebungen wie Twincat 3 Hochsprachen wie C/C++ oder die in der IEC 61131-3 Norm zusammengefassten SPS-Sprachen. Durch die zunehmende Bedeutung der modellbasierten Entwicklung kommt mit der automatischen Code-Generierung aus Simulationsmodellen eine weitere Abstraktionsebene hinzu, die die Komplexität umfangreicher Maschinenapplikationen handhabbar macht. Dabei werden heterogene Entwicklungsteams durch die Entwicklungsumgebung bei der Integration unterschiedlicher Software-Module auf einer Steuerung unterstützt.
Twincat 3 nutzt das modularisierte Konzept ‚TcCOM‘. Jedes Software-Modul kann in einer beliebigen – unterstützten – Programmiersprache erstellt werden und verfügt über standardisierte Schnittstellen zur Integration in die gesamte Steuerungssoftware. So können beispielsweise SPS- oder C/C++-Programmierer Software-Module über standardisierte Interfaces aufrufen und Daten mit den Modulen austauschen, die aus Simulink mittels automatischer Codegenerierung erstellt wurden. Die verwendete Programmiersprache der Module tritt entsprechend in den Hintergrund und jedes Teammitglied kann sich auf die Funktionalität und Wiederverwendbarkeit von Software-Modulen konzentrieren.