Test von Software für Motorsteuerungen

Antriebe auf dem Schreibtisch testen

20. März 2023, 6:00 Uhr | Von Peter Schuller
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Kompaktes HIL-System für den Entwicklerschreibtisch

Die Platine des miniHIL mit Steckverbinder für das Eval-Board (SUT) rechts, dem Rechner für die Modellsimulation (links) und dem Koppelfeld für die E-/A-Verbindungen in der Mitte – hier mit einem Aufbau für die Entwicklung einer Pumpensteuerung
Bild 3. Die Platine des miniHIL mit Steckverbinder für das Eval-Board (SUT) rechts, dem Rechner für die Modellsimulation (links) und dem Koppelfeld für die E-/A-Verbindungen in der Mitte – hier mit einem Aufbau für die Entwicklung einer Pumpensteuerung.
© Protos Software

Die Hardware des miniHIL (Bild 3) ist nicht größer als ein DIN-A4-Blatt und einfach am Entwicklerarbeitsplatz aufzubauen. Auf der rechten Seite in Bild 3 ist das Eval-Board mit dem Mikrocontroller zu sehen, in diesem Fall für einen STM32. Er wird später eine Umwälzpumpe steuern und die gesamte Applikation für die Bedienung ausführen.

Steuerung und Applikation bilden zusammen das »System under Test« (SUT). Auf der linken Seite der miniHIL-Platine ist für höhere Echtzeitanforderungen ein leistungsfähiger Rechner integriert, mit Mikrocontroller oder auch FPGA-basiert. Von einem PC aus, dem Software-Entwicklungssystem, werden die Simulation und die Testprogramme auf diesen Rechner im miniHIL geladen und ausgeführt. Über die Verbindungsleitungen in der Mitte (Patch Panel) werden die E/A-Signale des Prüflings (SUT) übertragen. Die Funktionen des SUT können so in Echtzeit gegen die Simulation getestet werden.

Die Vorteile des kompakten HIL-Systems:
 

  • Hardwareschnittstellen werden nur auf Signalebene simuliert und eignen sich daher sehr gut für die Testautomatisierung.
  • Testhardware wird weitgehend durch Softwaresimulation ersetzt.
  • Fehlverhalten kann leicht simuliert und durch »Failure Injection« getestet werden.
  • Die benötigte Hardware ist deutlich einfacher, kleiner und günstiger als herkömmliche HIL-Systeme. Ein eigener Testaufbau für die Automatisierung ist kostengünstig zu erstellen und kann für jedes Projekt jederzeit zur Verfügung gehalten werden.

Bei HIL-Tests mit Leistungselektronik und Aktoren ist das Testen von Fehlerzuständen wie z. B. Überströmen oder Kurzschlüssen zum Teil mit der Zerstörung von Bauelementen verbunden bzw. gefährlich. In der Simulation ist das in der Regel unproblematisch. Mit miniHIL sind Tests sogar am Schreibtisch möglich und nicht nur im Labor unter besonderen Sicherheitsbedingungen.

passend zum Thema

Softwareumgebung und Entwicklungswerkzeuge

Die Tests und Umgebungssimulationen für miniHIL werden modellgetrieben entwickelt. Die Basis für die Modellierung ist das Open-Source-Werkzeug eTrice der Eclipse Foundation. Es umfasst Funktionsblöcke für die Simulation, Stimulation und das Monitoring sowie die Abwicklung der automatisierten Testfälle. Das Tool ermöglicht die Verhaltensbeschreibung über State Machines, die Codegenerierung, typische Protokollstacks, ereignisorientierte bzw. zustandsbasierte Simulation oder Tests und die Integration von Matlab-/Simulink-Modellen über die Integration von zuvor generiertem C-Code.

Mit der Testsprache CaGe (Case Generator) werden die Testfälle – Testschritte, Testsequenzen und kombinatorische Testfälle – für miniHIL modelliert, generiert und ausgeführt. Die Tests können als Sequenzdiagramme visualisiert werden. Damit sind die Abläufe einfach nachvollziehbar und besser zu dokumentieren.

Ist eine entsprechende Testsequenz auf dem PC entwickelt worden, wird sie kompiliert, auf den Flash-Speicher des miniHIL-Rechners übertragen und in Echtzeit ausgeführt. Mit ihr wird die Applikation auf dem Prüfling getestet und einer Analyse mit entsprechendem Reporting unterzogen.

Auf diese Weise ermöglicht miniHIL die schnelle Entwicklung und Durchführung von Integrationstests mit hoher Testabdeckung in Testzyklen von 5 min bis 60 min Dauer, die mit traditionellen HIL-Anlagen Tage bis Wochen dauern können.

Zeit gewinnen und Code verbessern

Große und komplexe Software entsteht üblicherweise in Teams, deren Mitglieder lokal und von unterschiedlichen Standorten aus arbeiten. Abstimmungen bei Codeänderungen im Integrationsprozess einzelner Komponenten per Zuruf sind hier nicht mehr zeitgemäß. Damit die Integrität der einzelnen Programmbestandteile zu jedem Entwicklungszeitpunkt gewährt ist, wird auf ein Automatisierungsverfahren aus der agilen Softwareentwicklung zurückgegriffen, die kontinuierliche Integration (Continuous Integration, CI). Dabei wird jede Codeänderung im Projekt automatisch erfasst, gebaut und getestet. Es wird früh und oft getestet, damit Fehler zeitig entdeckt und be- hoben werden können.

Darüber hinaus werden durch Regressionstests nicht nur die neuen, sondern auch die bereits existierenden Codebestandteile jedes Mal überprüft. Dadurch werden mögliche Fehler durch Seiteneffekte mitgetestet und die gesamte Qualität der Software verbessert – und das geht schnell. Tests können bei jeder Änderung im Minutentakt automatisiert durchgeführt werden. Das entsprechende Reporting macht die Tests für die Entwickler nachvollziehbar und dokumentiert die Ergebnisse. Das sind auch die idealen Grundlagen, um Entwicklungsprojekte, die nach dem V-Modell entstehen, einfacher und zuverlässiger umzusetzen.

Das miniHIL-System ermöglicht auch automatisierte Testabläufe für Continuous Integration
Bild 4. Das miniHIL-System ermöglicht auch automatisierte Testabläufe für Continuous Integration.
© Protos Software

In Bild 4 ist der CI-Prozess mit miniHIL wie beschrieben dargestellt. In dem Serverschrank im rechten Bild sind mehrere HIL-Projekte zu sehen. Damit werden verschiedene Gerätekonfigurationen gleichzeitig automatisiert getestet. Mit entsprechender IT- und Serverinfrastruktur arbeiten in diesem Umfeld auch große Teams lokal oder dezentral effizient zusammen.

Für medizintechnische Geräte, zum Beispiel eine Mikrocontrollersteuerung von Flüssigkeitspumpen, kann mit diesem Verfahren auch eine bereits zugelassene Gerätekonfiguration »eingefroren« werden. Sie kann – wenn nötig – dann zu späteren Zeitpunkten getestet werden.

 

Der Autor

 

Peter Schuller von Protos Software
Peter Schuller von Protos Software.
© Protos Software

Peter Schuller

ist seit 1984 in der Computerindustrie tätig und seine Aufgabenbereiche umfassten Vertrieb, Marketing und Geschäftsentwicklung in Unternehmen wie Intel, Microware, Bsqare, Microsoft, RadiSys. Bei Protos Software ist der Dipl.-Ing. seit November 2022 verantwortlich für die Bereiche Vertrieb und Geschäftsentwicklung. Der Fokus liegt dabei vor allem auf der Vermarktung des Hardware-in-the-Loop-Testsystems minHIL für Mikrocontroller-basierte Embedded-Systeme.

Darüber hinaus arbeitet Schuller in zahlreichen Forschungsprojekten als Industrievertreter in der Organisation und im Projektmanagement mit und ist im Vorstand der Unternehmensvereinigung Embedded4You e.V. als Pressesprecher tätig.

peter.schuller@protos.de


  1. Antriebe auf dem Schreibtisch testen
  2. Kompaktes HIL-System für den Entwicklerschreibtisch

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Software (M2M)

Weitere Artikel zu Motoren

Weitere Artikel zu Mikrocontroller-Module

Weitere Artikel zu Mikrocontroller