Firma | Hengstler GmbH |
Schwerpunkt | Unit-Tests als Voraussetzung für SIL Zertifizierung für magnetisch-optischen Präzisions-Drehwinkelgeber nach SIL |
Zeitraum | Q3 2014 bis Q3 2015 |
Projektbeschreibung | Beim ACURO-Savety AS37 handelt es sich um einen neu entwickelten magnetisch-optischen Drehwinkelgeber von hoher Präzision. Von Seiten des Kunden wurde eine Zertifizierung nach Sicherheits-Integrationslevel (SIL) 2 (später 3) angestrebt. Der hierfür erforderliche Nachweis von Unit-Tests wurde von uns gewährleistet. Aufgrund der speziellen Rahmenbedingungen wurde in Abstimmung mit dem Kunden und dem TÜV entschieden die Tests On-Line durchzuführen. Das heißt, dass die funktionalen Tests direkt auf dem Zielgerät (Target) ausgeführt werden. Dies war eine große Herausforderung und stellte einen erheblichen Mehraufwand dar. Zunächst wurde in Zusammenarbeit mit dem Kunden ein Unit-Test-Framework entwickelt. Dadurch war es in einem speziellen Modus möglich Testparameter und Ergebnisse über den S4Wire Bus zu versenden. Anschließend erfolgte die Testinstrumentierung jeder einzelnen Funktion. Dabei wurden die Funktionen durch gekapselte Testblöcke erweitert. Diese dienten zur Bereitstellung der Eingangsparameter von der Testumgebung zu Beginn der Funktion und dem Auslesen der Ergebniswerte am Ende der Funktion. Vorhandene Funktionsaufrufe innerhalb der Funktion mussten dabei durch sog. Stubs (Dummies) ersetzt werden. Gleiches galt für die Abfrage von Ports, Prozessorregister und anderer nicht von außen beeinflussbarer Parameter. Gleichzeitig mit der Instrumentierung erfolgte auch das Definieren der Testfälle, d.h. das Festlegen der Eingangsparameter und der zu erwartenden Ergebnisse. Durch eine Erweiterung des Test-Frameworks wurde es außerdem ermöglicht, zusammen mit den Tests auch das vollständige Durchlaufen aller Funktionspfade zu dokumentieren. Parallel dazu erfolgte die Entwicklung eines Test-Tools (PC-Programm) für den automatisierten Testablauf (Start und Überwachung der Tests, Auslesen und Protokollierung der Ergebnisse). Die Umsetzung erfolgte in der Programmiersprache C (Firmware) und C# (PC-Programm). Für die Definition der Testfälle war eine umfassende Einarbeitung in die physikalischen Grundlagen, sowie die verwendeten Algorithmen und Protokolle erforderlich. |
Tools und Technologien | Target basiertes Unit-Testing dsPIC33 Programmierung XC16-Compiler MPLAB IDE von Microchip ICD-3 Debugger |