chevron_left
chevron_right

Spricht Ihre SPS MATLAB?

Im Zeitalter von Industrie 4.0 werden die Produktionsanlagen zunehmend komplexer. Gleichwohl wird die Bedeutung von Funktionstests vor der Inbetriebnahme einer Maschine nach wie vor unterschätzt. Dies vor dem Hintergrund, dass der Anteil der Steuerungssoftware an der Gesamtmaschine stetig wächst und eigentlich alle Schnittstellen bietet, um die angezeigten Testverfahren anzuwenden.

Stetig wachsende Ansprüche der Verbraucher an Individualisierung und damit an die Flexibilität moderner Produktionsanlagen bei gleichzeitig immer stärkerem Bewusstsein für einen schonenderen Umgang mit Ressourcen und für mögliche Auswirkungen auf die Umwelt erfordern im Zeitalter von Industrie 4.0 innovative Entwicklungsmethoden. Während die Steuerungssoftware einen immer wesentlicheren Anteil an der Gesamtmaschine einnimmt, spielen im Maschinenbau Funktionstests im Rahmen von virtuellen Inbetriebnahmen nach wie vor eine untergeordnete Rolle. Verzögerungen bei der Auslieferung und Maschinenstillstände im Feld sind dabei oft die Folge. Und das, obwohl die meisten Steuerungsplattformen bereits seit Jahren nahtlos integrierte Schnittstellen für modellbasierte Entwicklung, Simulation und automatische Generierung von SPS-Software anbieten.

 

Fehler und Stillstände als Folge  mangelnder Tests

Der Maschinenbau ist im Wandel. Im Zuge der digitalen Transformation hat die Mechanik längst ihre dominierende Rolle bei der Entstehung von Produktionsmaschinen verloren. Heute sind es umfangreiche und anspruchsvolle Steuerungsprogramme, die das Kern-Know-how beinhalten – und die der Maschine «Leben einhauchen». Während die Bedeutung von Software und Daten im Maschinenbau mittlerweile unbestritten ist, werden Steuerungsprogramme nach wie vor kaum strukturierten Tests unterzogen, sondern meist erst an der realen Maschine «ausprobiert». Um den Auslieferungstermin nicht zu verzögern, wird die Maschine weitgehend ungetestet ausgeliefert. Fehler und Stillstände im Feld, verbunden mit kostenintensiven Update-Einsätzen sind die Folge. Je später im Entwicklungszyklus ein Fehler erkannt und behoben wird, desto kostspieliger und unangenehmer wirkt er sich aus.

 

Getestete Software durch  modellbasierte Entwicklung

Aus diesem Grund setzen immer mehr führende Maschinenbauer wie Engel und Trumpf auf modellbasierte Entwicklung («Model-Based Design») und automatische Generierung von Steuerungscode. Modellbasierte Entwicklung erlaubt umfangreiche Tests der Software – lange bevor die Maschine zur Verfügung steht, und der Schaltschrank fertig verkabelt ist. Möglich wird das durch Simulationsmodelle, die das Verhalten der Mechanik und Elektrik im Zusammenspiel mit der Steuerungssoftware wiedergeben. Fehler, die sonst nur durch umfangreiche Tests an der Maschine oder im Laborbetrieb festgestellt und damit sehr spät im Entwicklungsprozess gefunden und behoben worden wären, sind somit frühzeitig erkennbar. Auch Testszenarios, die wegen Gefährdung von Mensch und Maschine normalerweise gar nicht durchgeführt werden können, sind in der Simulation gefahrlos zu beobachten. Damit wird das Risiko von Verzögerungen bei der Auslieferung und kostenintensiven Stillständen im Feld minimiert und Kosten für physikalische Prototypen reduziert.

 

Digitaler Zwillling auf dem Prüfstand

Immer häufiger findet die virtuelle Inbetriebnahme Einzug in den Entwicklungsprozess im Maschinenbau. Dabei wird eine digitale Repräsentation der Maschine oder Anlage – also ein Modell oder digitaler Zwilling – mit der auf der Industriesteuerung laufenden Applikation verbunden. Der Steuerung wird das Verhalten der physikalischen Anlage vorgegaukelt, sodass auf diesem Weg die Funktionalität in einer sicheren Umgebung gewährleistet werden kann.

 

Steuerungssoftware auf Knopfdruck

Die modellbasierte Entwicklung geht an dieser Stelle noch deutlich über die virtuelle Inbetriebnahme hinaus. Dabei wird zusätzlich auch die Steuerungsapplikation, die später an der physikalischen Anlage läuft, modelliert und zusammen mit dem Maschinen- oder Anlagenmodell in der Simulation getestet. Die so verifizierten Funktionen werden anschlies- send nicht mehr manuell codiert, sondern auf Knopfdruck auf die Steuerung – also eine SPS oder einen Industrie-PC – übertragen.

Die Vorteile der automatischen Generierung von SPS-Code liegen dabei auf der Hand: Zum einen werden die bereits getesteten Funktionen fehlerfrei in für die Steuerung verständlichen Quellcode (C, C++ oder IEC 61131-3) übersetzt. Sogar bei sehr umfangreichen Programmen kommt es dabei nicht zu Implementierungsfehlern, die sich bei manueller Programmierung selbst durch erfahrene Programmierer kaum vermeiden lassen. Zum anderen kann sich der Entwickler auf seine Kernkompetenz – zum Beispiel die Entwicklung einer Ablaufsteuerung oder eines Regelalgorithmus – konzentrieren und muss sich nicht mit den Besonderheiten der jeweils eingesetzten SPS-Sprache auseinandersetzen. Auch der Wechsel von einer Sprache in eine andere (zum Beispiel von C zu strukturiertem Text oder umgekehrt) oder von einer Steuerungsplattform auf eine andere ist einfach möglich. Das Modell bildet hier stets den Ausgangspunkt für die Codegenerierung. Der automatisierte Workflow verkürzt die aufgewendete Entwicklungszeit von der Anforderung bis zur fertigen Implementierung und schafft damit Zeit für Innovationen.

 

Eine weitere Abstraktionsebene

Insgesamt findet eine weitere Abstraktion der Programmierung von Steuerungen statt. Wurde in den Anfängen das Programm in Maschinensprache oder Assembler implementiert, so unterstützen die Entwicklungsumgebungen der Steuerungshersteller heute Hochsprachen wie C, C++ oder die in der IEC 61131-3 Norm zusammengefassten Sprachen. Durch die zunehmende Bedeutung modellbasierter Entwicklung kommt mit der automatischen Generierung von SPS-Code aus Simulationsmodellen eine weitere Abstraktionsebene hinzu, die die Komplexität umfangreicher Maschinenapplikationen handhabbar macht.

Hier darf jedoch keinesfalls der Fehler gemacht werden, die Modelle in Simulink als eine Art grafischer Programmierung zu verstehen. Es handelt sich vielmehr um ausführbare Spezifikationen, die eine frühzeitige Absicherung der Funktionalität durch Simulation und die Erstellung von Steuerungsprogrammen durch automatische Codegenerierung ermöglichen.

Durch modellbasierte Entwicklung findet eine weitere Abstraktion der Programmierung von Maschinensoftware statt, die dabei hilft, die steigende Komplexität handhabbar zu machen.

 

Vorzüge zweier Systeme vereint

In anderen Branchen wie der Automobil- oder Luftfahrtindustrie seit vielen Jahren etabliert, gewinnt das Thema der Codegenerierung auch im Umfeld des Maschinenbaus immer mehr an Bedeutung. Das spiegelt sich in der Tatsache wider, dass alle gängigen Hersteller von Industriesteuerungen und Industrie-PCs Schnittstellen zu MATLAB und Simulink anbieten.

Der Ablauf für die automatische Codegenerierung ist dabei folgender: In MATLAB oder Simulink implementierte und getestete Applikationen werden auf Knopfdruck in für die Steuerung verständlichen Quellcode – je nach Zielplattform IEC 61131, C oder C++ – umgewandelt und in die jeweilige Entwicklungsumgebung des Steuerungsherstellers integriert. Damit werden die Vorzüge beider Systeme vereint. Funktionen für Ablaufsteuerungen, Regelalgorithmen sowie für die Echtzeitauswertung von Prozessdaten werden in MATLAB und Simulink entwickelt, während die Anbindung an die Steuerungshardware und die Erstellung der Maschinenvisualisierung in der Entwicklungsumgebung für die SPS erfolgen.

Ein weites Anwendungsfeld sind Algorithmen für die Künstliche Intelligenz. So können etwa Machine Learning Modelle für die vorausschauende Wartung («Predictive Maintenance») in MATLAB entwickelt und trainiert und dann mithilfe der Codegenerierung auf die Steuerung übertragen werden. Eine manuelle Umsetzung mit herkömmlichen Mitteln der Programmierung wäre hier nur mit gros- sem Aufwand möglich.

Auch die Steuerungshersteller bestätigen, dass die automatische Generierung von Maschinenprogrammen von innovativen Unternehmen, die sich als Marktführer in ihren Segmenten behaupten, bereits erfolgreich eingesetzt wird. Alle gängigen Steuerungshersteller unterstützen die automatische Generierung von SPS-Code (IEC 61131 oder C/C++) aus MATLAB und Simulink.

 

Zusammenfassung

Da die Anforderungen an Produktqualität, Maschineneffizienz sowie an flexible Produktionslösungen stetig steigen, ist es notwendig, Maschinensoftware effizienter zu entwickeln und zu testen. Alternative Entwürfe können mittels Simulation schnell und einfach durchgespielt und im Anschluss als wiederverwendbare Softwarebausteine automatisch auf eine Industriesteuerung übertragen werden. Führende Maschinenbauer haben das erkannt und setzen seit Jahren erfolgreich auf modellbasierte Entwicklung und automatische Generierung von Steuerungscode.

 

Infoservice

Mathworks

Murtenstrasse 143, 3008 Bern

Tel. 031 950 60 20, Fax 031 950 60 22

info@mathworks.ch, www.mathworks.ch