Model-Based Design und automatische Codegenerierung für SPS
Anbieter zum Thema
Während Steuerungssoftware im Anlagen- und Maschinenbau eine immer wichtigere Rolle spielt, fallen Funktionstests in der Praxis meist noch unter den Tisch. Dabei bieten Steuerungsplattformen bereits seit Jahren nahtlos integrierte Schnittstellen für modellbasierte Entwicklung, Simulation und automatische Generierung von SPS-Software, was diese Probleme minimiert.

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 aber 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 in Konsequenz weitgehend ungetestet ausgeliefert. Fehler und Stillstände im Feld, verbunden mit kostenintensiven Update-Einsätzen, sind die Folge.
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 damit 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.
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 anschließend 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. Selbst bei sehr umfangreichen Programmen kommt es dabei nicht zu Implementierungsfehlern, die bei manueller Programmierung auch durch erfahrene Programmierer kaum vermeidbar sind. 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.
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.
Spricht Ihre SPS MATLAB?
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 großem 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.
:quality(80)/images.vogel.de/vogelonline/bdb/1545900/1545912/original.jpg)
Model Based Systems Engineering: So führen Sie MBSE erfolgreich ein
:quality(80)/images.vogel.de/vogelonline/bdb/1643900/1643955/original.jpg)
Einstieg in die statische Modellanalyse
:quality(80)/p7i.vogel.de/wcms/14/70/14709857163468fecd8303c80a59e178/80268108.jpeg)
Mit statischen Analysen zu besseren Design-Entscheidungen
Der Markt ist im Umbruch: Markteinführungszeiten werden immer kürzer, gleichzeitig werden Anforderungen an Qualität, Maschineneffizienz und flexible Produktlösungen stetig weiter steigen. Um Ausfälle und unnötige Verzögerungen zu vermeiden ist es daher mittlerweile unverzichtbar, Maschinensoftware gründlich und effizient zu entwickeln als auch zu testen. Um dies zu beschleunigen, können alternative Entwürfe mittels Simulation auf einer geeigneten Plattform schnell und einfach durchgespielt und anschließend automatisch auf eine Industriesteuerung übertragen werden. Bewährte Softwarebausteine lassen sich dabei leicht wiederverwenden. Führende Maschinenbauer haben das erkannt und setzen seit Jahren erfolgreich auf modellbasierte Entwicklung und automatische Generierung von Steuerungscode.
(ID:46742629)