Lesezeit 2 min
In der embedded Entwicklung tritt das Dilemma häufig auf. Die Software-Entwicklung, vor allem die Bedienschnittstellen-Entwicklung muss starten, aber:
Anstatt auf die reale Welt zu warten und dabei viel Zeit zu verlieren, lässt sich die Elektronik und Mechanik auf einem PC simulieren, der Ansatz ist im Chip-Design als virtuelle Plattform bekannt.
Solcept hat ein Framework, basierend auf .NET/ C#/ managed C++ entwickelt. Es dient dazu, die der Applikation zugrunde liegenden Betriebssysteme, Treiber, Hardware (bis zum Register der Mikrocontroller) und die Physik der zu steuernden Maschine zu simulieren.
Die Simulation erfolgt so genau wie nötig und so einfach wie möglich. Das heisst, dass z.B. physikalische Vorgänge, welche sich auf einen Reglerentwurf stark auswirken genau modelliert werden. Andere Elemente, z.B. Ventile werden nur digital (Durchgang/ kein Durchgang) simuliert.
Die folgenden Resultate konnten in mehreren Projekten dank Simulation erreicht werden:
Für die Ingenieure entsteht von Anfang an ein besseres Verständnis für die zu steuernde Maschine, beziehungsweise deren Physik. Für die Implementation und das Debugging lassen sich die PC-Entwicklungsumgebungen verwenden, welche immer noch mehr Möglichkeiten bieten als die meisten embedded Werkzeuge. Ein gut programmierter Simulator erlaubt die Extraktion von Logs, Call-Chains und stellt andere Funktionen wie veränderbare Ausführungsgeschwindigkeit bis zum kompletten Anhalten zu jedem Zeitpunkt zur Verfügung. Zusammen mit der vollständigen Reproduzierbarkeit, welche die reale Welt selten bietet, lässt sich sehr effizient embedded Software entwickeln.
Im Test lassen sich sehr einfach Fehlerbedingungen generieren, welche an einer realen Maschine schwierig oder gar nicht (z.B. wegen zu grosser Gefährlichkeit) erzeugt werden können. Auch lassen sich automatische Tests ohne Modifikation (z.B. Testzugriffs-Ports, Benutzer-Simulation durch Roboter) des Zielsystems durchführen, da dieses ja simuliert wird.
Bei der Bedienschnittstellen-Entwicklung lassen sich frühzeitig alle Ansprechpartner ins Boot holen, da jeder auf seinem PC mit der grafischen Bedienoberfläche (GUI: Graphical User Interface) aber auch mit anderen Elementen wie Tastern, Anzeigelampen und Tönen "spielen" kann.
Der vermeintlich grosse Nachteil ist natürlich der erhöhte Aufwand. Gemäss unserer Erfahrung zahlt er sich aber über die Projektdauer aus, wenn mehr als drei Software Testzyklen nötig sind.
Alois Cavelti
Haben Sie zusätzliche Fragen? Haben Sie eine andere Meinung? Wenn ja, mailen Sie mir oder kommentieren Sie Ihre Gedanken unten!
ist Dipl. Elektroingenieur FH , Mitgründer, stellvertretender Geschäftsführer und Software-Entwickler. Er ist Spezialist für Architekturen und Software in C, C++ und C#. Er setzt sich für wartbare Architektur, Security und sauberen Code ein. Dafür schaut er gerne über den «embedded» Tellerand in andere Bereiche der Softwareentwicklung. Gesamtsysteme jeglicher Art und deren Zusammenhänge interessieren ihn. Alois bewirtschaftet eine 5'000 m2 Biodiversitätsinsel und bringt dabei Natur, Pferd und Mensch in Einklang. Er liebt gute (Film)Geschichten und gutes Essen.
Projekte? Ideen? Fragen? Machen wir einen kostenlosen Erst-Workshop!
Keine Kommentare