zuruck zur Themenseite

Artikel und Hintergründe zum Thema

Mathworks

Jens Lerche und Dr. Marc Segelken | Andrea Gillhuber,

Agile Entwicklung mit Model-Based Design

In Produktionsmaschinen werden immer mehr Funktionalitäten durch Software umgesetzt. Das macht das Entwickeln und Testen der Maschinen komplexer, konventionelle Methoden stoßen hier an ihre Grenzen. Model-Based Design ermöglicht die agile Entwicklung mechatronischer Systeme.

© magr80; papa papong/stock.adobe.com / Mathworks

Maschinen als mechatronische Geräte werden in der Regel in serieller Arbeitsweise entwickelt. Das bedeutet, dass zuerst die Mechanik entworfen wird, dann die Elektrik und zuletzt die Software. Da aber insbesondere die Komplexität und der Umfang der Software stetig zunehmen, steigt das Risiko, Fehler oder Probleme erst bei der Inbetriebnahme zu bemerken und damit Zeit gegenüber Mitbewerbern zu verlieren oder Liefertermine nicht einhalten zu können.

Darüber hinaus werden häufig CAD-Modelle der physischen Komponenten zum Aufbau kinematischer Modelle eingesetzt, die dann simuliert werden. Im Grunde sollte es aber andersherum sein: An erster Stelle sollte ein getestetes und validiertes Kinematik-Modell stehen, aus dem CAD-Baugruppen abgeleitet werden. So kann bereits frühzeitig eine virtuelle Inbetriebnahme der Maschine mithilfe simulierbarer Modelle stattfinden, bevor die zu fertigenden Teile feststehen. Das gibt den Entwicklern die Zeit, das Funktionieren der Software mit der Mechanik der Maschine frühzeitig zu testen, Alternativen auszuprobieren und die Mechanik zu verfeinern, bevor das endgültige Aussehen der Komponenten feststeht.

Anzeige

Vorteile einer virtuellen Inbetriebnahme

Bild 1. In 3D modelliertes Beispiel einer Strecke für den Materialtransport mit zwei Roboterarmen.

© Mathworks

Die Inbetriebnahme einer Maschine oder Anlage kann bis zu 25 Prozent des Gesamtzeitaufwands ausmachen, wovon heute etwa 70 Prozent auf die Fertigstellung der Software entfallen. Zur Verkürzung dieses zeitaufwendigen Schrittes nutzen Maschinenbauer immer häufiger die Virtuelle Inbetriebnahme (VIBN) mithilfe ausführbarer Anlagenmodelle. Damit lässt sich die Maschine simulieren, teils sogar in 3D, und so die Funktionsfähigkeit der Mechanik sowie ihr Zusammenspiel mit der Software testen (Bild 1).

Die Vorteile einer solchen VIBN sind eine um bis zu 75 Prozent verkürzte Inbetriebnahme und eine bei Baubeginn deutlich ausgereiftere Hard- und Software. Insbesondere Softwareentwickler können zudem früher mit ihrer Arbeit beginnen. Darüber hinaus erlaubt eine VIBN das Testen kritischer Zustände, ohne dabei Schäden befürchten zu müssen. Neben der verkürzten Inbetriebnahme vor Ort erlaubt der Einsatz von Modellen die frühzeitige Erkennung von Designfehlern und damit indirekt eine höhere Innovationsfähigkeit, da neue Ideen schneller »ausprobiert« werden können (Bild 2).

Dabei ist zu beachten, dass bei der Modellierung eine höhere Genauigkeit immer mit einem nicht-linear wachsenden Grad an Aufwand einhergeht. Man muss sich also von vornherein klar darüber sein, welchen Detaillierungsgrad man wünscht und tatsächlich benötigt.

Bild 2. Vergleich der konventionellen Entwicklung (oben) mit der Parallelisierung durch Model-Based Design (unten).

© Mathworks

Von Anfang an Modelle einsetzen

Modelle erst für eine VIBN zu erstellen, verschenkt darüber hinaus auch deren eigentliches Potenzial, die Entwicklung zu beschleunigen und zu verbessern. Den höchsten Return on Investment erhält man, wenn Modelle vom ersten Tag an die Grundlage der Entwicklung bilden, angefangen bei der Systemarchitektur und der Definition der einzelnen Komponenten. Diese Methodik wird modellbasierte Entwicklung oder Model-Based Design genannt (Bild 3). Der durchgängige Einsatz von Modellen als Kernelement von Model-Based Design bietet hingegen eindeutige Vorteile, denn diese Entwicklungsmethodik beinhaltet bereits das Konzept der VIBN.

Die zugrundeliegenden Modelle werden vorwiegend grafisch aufgebaut. Das geschieht beispielsweise mithilfe von Bibliotheken mit Blöcken, Funktionsgleichungen oder komplett vorkonfigurierten Komponenten. Verfügbar sind diese für sämtliche relevanten Domänen wie Mechanik, Elektrik, Elektronik, Hydraulik und Pneumatik etc. sowie für den Entwurf von Steuerungen, Regelungen, Logiken, Zustandsautomaten oder User Interfaces. In Modelle lassen sich darüber hinaus auch Programmcode oder KI-Komponenten integrieren.

Bild 3. Model-Based Design Workflow für die Entwicklung technischer Systeme.

© Mathworks

Solche Modelle geben das System anschaulich als ausführbare Spezifikation wieder und enthalten dessen Komponenten inklusive der Verbindungen und Schnittstellen.

Anforderungen lassen sich direkt und nachverfolgbar mit Komponenten und Software verbinden. An jedem Punkt der Entwicklung kann so durch Tests verifiziert werden, ob das System so arbeitet wie vorgesehen und die Anforderungen erfüllt.

Jede Komponente wird iterativ verfeinert und enthält wohldefinierte Schnittstellen. Diese Modularität erlaubt es, Komponenten parallel zu entwickeln, die normalerweise erst nacheinander erstellt werden würden, was den Prozess beschleunigt. So wächst das Modell Stück für Stück zu einer immer realistischeren Darstellung des Gesamtsystems, die sich von Anfang an testen und validieren lässt. Fehler werden damit früher erkannt und können leichter, kostengünstiger und mit weniger Zeitverzug behoben werden (Bild 4).

Bild 4. Roboterarm: Integration von CAD und elektrischer Ansteuerung zur Optimierung von Trajektorien und Steuerungslogik.

© Mathworks

An jeder Stelle lassen sich Signalflüsse und Zustände überwachen und protokollieren. Einmal erstellte Testfälle werden kontinuierlich weiterverwendet und können etwa über Nacht Batch-gesteuert und parallelisiert abgearbeitet und ausgewertet werden. Insbesondere kann aber auch die Hardware problemlos modifiziert werden, ohne dass sie verfügbar sein muss. Das gestattet die Optimierung von Hard- und Software in einer Tiefe, die ohne Simulation weder zeitlich noch ökonomisch möglich wäre. Die Nachverfolgbarkeit von Anforderungen zum Modell und zurück sowie automatische Berichtserzeugung sorgen für eine transparente Dokumentation des gesamten Prozesses mit vergleichsweise geringem Aufwand.

Codegenerierung und Validierung der realen Steuerung

Einer der zentralen Vorteile von Model-Based Design ist die Fähigkeit, Software automatisch aus dem Modell zu generieren, etwa Code für Strukturierten Text und Kontaktpläne nach IEC 61131-3. Auch für andere Programmiersprachen wie C/C++ sowie diverse Hardwareplattplattformen, wie FPGAs, Mikrocontroller Systems-on-Chip oder Web- und Cloud-Services, sind Codegeneratoren und Integrationstools verfügbar, die eine effiziente und optimierte Implementierung von technischen Systemen in unterschiedlichsten Anwendungsfeldern ermöglichen (Bild 5).

Bild 5. Einsatz von Modellen und Codegenerierung in verschiedenen Entwicklungsphasen.

© Mathworks

Dabei ist es in erster Linie unwichtig, auf welcher Plattform dieser Code später ausgeführt wird. Ausgangspunkt ist immer das gleiche Modell – die Entwickler müssen sich also nicht von vornherein festlegen. Diese Flexibilität ermöglicht es beispielsweise, je nach Region unterschiedliche Steuerungen einzusetzen, ohne dafür die Software mehrfach entwickeln zu müssen. Auch ein nachträglicher Wechsel etwa auf ein leistungsfähigeres System und die funktionale Wiederverwendung in Nachfolgeprojekten mit anderen Anforderungen ist so möglich. So lassen sich sukzessive Bibliotheken mit wiederverwendbaren Funktionalitäten und Modulen aufbauen.

Validierung der realen Steuerung gegen das Anlagenmodell

Um nachzuweisen, dass sich die generierte Software in der Realität so verhält wie im Modell, sind hybride Simulationen möglich. Dazu wird die Applikation auf die physische Steuerung geladen und gegen ein auf einem Echtzeitrechner simuliertes Anlagenmodell getestet. Hierfür lassen sich die gleichen Testfälle wie in der Simulation einsetzen und deren Ergebnisse numerisch vergleichen.

Ausgehend vom Simulink-Modell lassen sich etwa mit Simulink Real-TimeTM Echtzeit-Anwendungen, zum Beispiel eines Regelstreckenmodells erstellen, steuern und instrumentieren, die auf Speedgoat-Echtzeitrechnern ausgeführt werden. Diese Vorgehensweise wird auch Hardware-in-the-Loop (HiL) genannt.

Mit einem weiteren PC, auf dem Simulink läuft, lässt sich der gesamte Prozess live überwachen und protokollieren. Fehler und Probleme werden direkt im Modell behoben und es kann sofort neuer Echtzeitcode generiert werden, um den Erfolg zu testen. Iterationen sind ohne Unterbrechung und in rascher Folge möglich. Zudem erlaubt diese Konfiguration die Veränderung von Betriebsparametern während der Simulation. So kann die Software bereits voroptimiert werden, ohne dass eine physische Maschine vorhanden sein muss.

Agile Entwicklungsansätze

In der Softwareindustrie hat sich für die geschilderte Art der inkrementellen Entwicklung mit kontinuierlicher Verfeinerung ein eigener Zweig von Entwicklungsansätzen herausgebildet, der »Agile« genannt wird. Er sollte Komplexität handhabbar machen und effizienter sein als traditionelle Methoden. Kleine Teams arbeiten an jeweils einem Teil einer Software, wie der Architektur oder einer Komponente. Bei dieser iterativen Arbeitsweise werden Anforderungen und Lösungen oft erst während der Entwicklung ausgearbeitet (Bild 6).

Bild 6. Agile Systementwicklung mit Model-Based Design konzentriert sich auf Simulation und Code-Generierung zur inkrementellen Bereitstellung von Design- und Testartefakten, Studien und Evaluierungen.

© Mathworks

Am Ende jeder Iteration – »Sprint« genannt – wird ausgewertet, wo man steht, was fehlt und wie die folgenden Schritte aussehen sollten. Diese Art der Entwicklung ist von hoher Flexibilität und Resilienz gekennzeichnet. Auf Fehler oder sich ändernde Anforderungen kann einfacher eingegangen werden als bei konventionellen Entwicklungen.

Agile Entwicklung eignet sich insbesondere dazu, Produkte weiterzuentwickeln und zu aktualisieren, während sie bereits beim Nutzer in Betrieb sind. Bei dieser als Continuous Integration/Continuous Delivery (CI/CD) bezeichneten Methode wächst das Produkt kontinuierlich weiter und wird verbessert oder mit Sicherheitsupdates versorgt.

Die Gemeinsamkeiten mit Model-Based Design liegen auf der Hand, da auch hier durch inkrementelle Ausarbeitung des Gesamtsystems am Ende ein Produkt entsteht. Bei mechatronischen Systemen ist das Produkt eines einzelnen Sprints nicht zwangsläufig einsatzfähig, sondern zunächst Teil eines Modells. Wie bei Model-Based Design ist dieses nicht monolithisch, sondern besteht aus Komponenten, die verändert werden können, ohne die Gesamtarchitektur zu stören.

Generell wird bei Agile weniger Wert auf eine Dokumentation oder Berichte gelegt, sondern vielmehr auf ein funktionierendes Produkt, was als Lücke empfunden werden kann. Tools für das Model-Based Design sind hier die ideale Ergänzung, denn sie bieten umfangreiche Funktionen zur automatischen Dokumentation und Berichtserzeugung. Wer bereits mit Model-Based Design vertraut ist, kann diese also nahtlos weiternutzen.

Zukunftsfähigkeit durch Model-Based Design und Agile


Ergänzt man im Maschinenbau Model-Based Design um Agile-Methoden, hat das eine Reihe von Vorteilen. Zum einen gleichen sich die Arbeitsweisen von Hardware- und Softwareentwicklern an. Es entstehen neue Synergien und eine verbesserte Kommunikation. Administratoren werden entlastet, weil sich auch die Softwarelandschaft vereinheitlicht.

Auch die Hardware soll immer flexibler und umrüstbar sein, und Kunden wünschen sich immer öfters nachträglich neue Funktionen. Reaktionsschnelligkeit wird einer der zentralen Wettbewerbsfaktoren in diesem Umfeld sein. CI/CD zu beherrschen ist eine der Möglichkeiten, dies zu erreichen. Unternehmen, die Model-Based Design mit Agile kombinieren, sind für CI/CD und neue Geschäftsfelder besser aufgestellt. Ihre Ingenieure bringen die dazu nötigen Fähigkeiten und Einstellungen mit, die internen Prozesse unterstützen es und die geeigneten Softwarewerkzeuge ermöglichen es.

Die Autoren

Jens Lerche ist Senior Application Engineer bei Mathworks.

Dr. Marc Segelken ist PrincipalApplication Engineer bei Mathworks.

Artikelserie »Agile Entwicklung mit Model-Based Design«

Teil 2 der Artikelserie erscheint in der Computer&Automation-Ausgabe 6 am 3. Juni 2024. Melden Sie sich gleich für den E-Paper-Newsletter an und verpassen Sie keine Ausgabe mehr!

>> Hier geht es zur Newsletter-Anmeldung - bitte nach unten scrollen!

 

  • Xing Icon
  • LinkedIn Icon
Anzeige
zurück zur Themenseite
Anzeige

Das könnte Sie auch interessieren

Anzeige

Meistgelesen

Die Top-Artikel im Juli 2024

Innovationsgeist und unternehmerisches Denken prägen die meistgelesenen Beiträge aus dem Juli. Erfahren Sie mehr über Wettbewerbsvorteile durch KI, klicken Sie sich durch prämierte Entwicklungen und lesen Sie mehr über Model-Based Design und...

mehr...
Anzeige
Anzeige

Im Fokus: Agriculture

Das E-Paper der Ausgabe 05/2024

Um Strategien für die Zukunft geht es unter anderem in der aktuellen Computer&Automation. Lesen Sie, welche Reformen Verbände von der Politik fordern, welche Chancen Technologien wie ChatGPT und SPE mit sich bringen und welche Rolle Roboter bei...

mehr...
Anzeige

Meistgelesen

Die Top-Artikel im Januar 2024

Das Jahr startet in den Unternehmen rasant und bringt bereits in dieser frühen Phase allerhand Kooperationen und Veränderungen mit sich. Auch die Entwicklungen im Bereich der Robotik und Steuerungstechnik stehen nicht still, wie unsere Top Artikel...

mehr...

Mathworks

Automation im Hochvolt-Bereich

Zum Übertragen großer Energiemengen über weite Distanzen kommt zunehmend die Hochspannungs-Gleichstrom-Übertragung zum Einsatz. Was eine solche Lösung mit Model-based Engineering und PC-based Control zu tun hat, zeigt ein Anwendungsbeispiel von...

mehr...
Anzeige
Anzeige
Anzeige

Advertorial

KI-Trends für Ingenieure in 2023

Studien zeigen: Unternehmen, die KI-Engineering-Praktiken zur Entwicklung und Verwaltung adaptiver KI-Systeme nutzen, haben einen Wettbewerbsvorteil. Folglich gilt es, die Einführung von KI voranzutreiben, um den Anschluss nicht zu verlieren.

mehr...

Im Fokus: HMI

Das E-Paper der Ausgabe 06/23

Wie können Digitalisierung und Künstliche Intelligenz dabei helfen, Produktionsprozesse nachhaltig zu gestalten? Wie bringen Cobots und Fahrerlose Transportsysteme Abwechslung in den Arbeitsalltag und wie können sie den Menschen unterstützen?...

mehr...
Jetzt Newsletter abonnieren