Hardware und Software koexistieren dank modellbasierter Softwareentwicklung

Chad Jackson
|  Erstellt: June 3, 2019  |  Aktualisiert am: November 25, 2020

Wie wir im letzten Beitrag erörtert haben, hält Software verstärkt Einzug in traditionelle mechanische Produkte, und Unternehmen müssen neue und innovative Wege finden, um Qualitätsprodukte innerhalb strikter Zeitvorgaben zu liefern. Software und Elektronik übernehmen die Kontrolle in Alltagsgegenständen, von Haushaltsprodukten bis hin zu Autos. Viele intelligente Produkte müssen riesige Mengen an Informationen in Echtzeit verarbeiten. Generische Computerprozessoren schaffen das nicht mehr, weil sie die für Steuersysteme und intelligente Funktionen benötigten Berechnungen nicht in Echtzeit ausführen können. Um dieses Problem zu lösen, stellen Unternehmen verstärkt integrierte Chips (ICs) her. Die Kosten für ICs sinken, aber ihre Herstellung dauert lange. Wie können Unternehmen diesen Prozess beschleunigen?

Modellbasierte Softwareentwicklung

Modellbasierte Softwareentwicklung ist ein neuer Ansatz für dieses Problem. Statt erst am Ende sicherzustellen, dass alles funktioniert, konzentriert sich die modellbasierte Softwareentwicklung auf die Erstellung virtueller Repräsentationen während des gesamten Entwicklungsprozesses. Dieser Prozess wird auch als "X-in-the-Loop" bezeichnet. Es ist ein Schritt-für-Schritt-Ansatz, um sicherzustellen, dass Ihre Software und Hardware friedlich koexistieren. Sie beginnen mit grundlegenden Software-Modellen und arbeiten sich bis zur gemeinsamen Ausführung von mechanischen und Software-Simulationen vor.

X in the Loop 

Model in the Loop (MiL): Das ist der erste Schritt. Erstellen Sie ein UML-Modell, das als zugrunde liegendes Logikdiagramm für Ihre Software dient, und verbinden Sie es auf der mechanischen Seite mit einer 1D-Simulation. Sie bilden eine geschlossene Schleife, wobei das Software-Modell Signale an die mechanische Simulation sendet und virtuelle Sensormesswerte an das Software-Modell zurückgehen. Dieses sollte die beabsichtigte Steuerung aufweisen. Wie kommuniziert es mit der physikalischen Form des Produkts? Tut es das, was Sie von ihm erwarten?

Software in the Loop (SiL): Ingenieure verwenden die Software zur Modellierung von generiertem, kompiliertem Code. Verbinden Sie diesen Code mit der mechanischen Simulation und verifizieren Sie, dass das Verhalten dasselbe ist. In der Regel werden Sie einen Emulator für das elektronische System verwenden, auf dem Sie Ihre Software ausführen.

Processor in the Loop (PiL): Hier betten Sie Ihre Software in den Prototyp des integrierten Chips (IC) ein oder flashen sie. Dieser physische IC wird dann mit der digitalen Simulation Ihrer mechanischen Hardware verbunden. Auch hier sehen Sie, ob er sich so verhält, wie Sie es wünschen.

Hardware in the Loop (HiL): In diesem Schritt betten Sie Ihre Software in den Prototyp des Platinensystems, das Ihren IC enthält, ein oder flashen sie. Dieses eingebettete System ist mit der digital-mechanischen Simulation verbunden. Sie verifizieren das Verhalten erneut.

Erinnern Sie sich an die Antiblockiersysteme, über die wir beim letzten Mal gesprochen haben? Sie könnten diese Art der Modellierung verwenden, um verschiedene Umgebungen zu simulieren. Das UML-Modell prüft auf Gleitbedingungen. Sie können die beiden Signale, die nicht übereinstimmen, an das UML-Modell senden, das mit Ihrem Bremssystem verbunden ist, und beobachten, was passiert. Sendet das Modell eine Nachricht, um die Bremsen automatisch zu betätigen? Wenn dies nicht der Fall ist, müssen Sie zurückgehen und die Software debuggen.

Der Vorteil dieses Systems ähnelt in gewisser Weise denen des Sprints in Agile, die wir in einem früheren Beitrag besprochen haben. Wenn etwas fehlschlägt, wissen Sie genau, wo die Dinge schiefgelaufen sind. Sie müssen das Problem beheben, bevor Sie zur nächsten Entwicklungsphase übergehen, anstatt neun Monate zu warten, um den fertigen integrierten Chip zu testen.

Integration überprüfen

Unternehmen können nicht neun Monate warten, um zu überprüfen, ob die Software auf der elektronischen Zielhardware korrekt läuft. Da die Nachfrage nach mehr Elektronik in traditionellen Produkten wächst, werden die Zeitpläne immer enger. Die Lösung ist, nicht zu warten: Beginnen Sie damit, alles digital zu verifizieren. Nutzen Sie Software-Modelle und lassen Sie sie mit Simulationen laufen. Für die Software-Modelle können die Programmierer Diagramme anfertigen, die die verschiedenen Komponenten im System enthalten und zeigen, was sie tun und wie sie miteinander verbunden sind. Wenn es während der Entwicklung ein Problem gibt, haben Sie dann eine bessere Vorstellung davon, wo die Dinge schiefgelaufen sind.

Zusammenfassung

Wie können Ingenieurbüros ihre Entwicklungsprozesse effizienter gestalten? Da immer mehr Software in traditionelle Produkte gepackt wird, stehen Ingenieure vor der zusätzlichen Herausforderung, brandneue Software auf kundenspezifischer Hardware zum Laufen zu bringen. Anstatt bis zum Ende des Entwicklungszyklus zu warten, um zu überprüfen, ob alles funktioniert, zerlegt der „X in the Loop“-Prozess die Dinge in handliche Schritte. Das spart am Ende nicht nur Zeit, sondern auch Kopfschmerzen.

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Chad Jackson is an analyst, researcher and blogger providing insights on technologies used to enable engineers. He has surveyed thousands of engineering organizations.

neueste Artikel

Zur Startseite