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:
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.
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.
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.
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
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