Embedded Software für Drehwinkelgeber nach SIL

FirmaHengstler GmbH
SchwerpunktCode-Optimierungen und Code-Reviews für
magnetisch-optischen Präzisions-Drehwinkelgeber nach SIL
ZeitraumQ4 2014 bis Q4 2015
ProjektbeschreibungBei dem Projekt ACURO-Savety AS37 wurden von uns unzählige Code-Optimierungen und Code-Reviews durchgeführt. Beim AS37 handelt es sich um einen neu entwickelten magnetisch-optischen Drehwinkelgeber von hoher Präzision und SIL3 Zertifizierung. Als Controller kommt ein dsPIC33 (16bit) von Microchip zum Einsatz. Für die magnetische und optische Sensorik kommen Bausteine der Firma iC-Haus (iC-PM, iC-LGC) zum Einsatz, welche über BiSS-C Schnittstellen mit dem Controller verbunden sind.
Die externe Kommunikation erfolgt über S4Wire, ein von Hengstler entwickeltes Feldbusprotokoll auf Basis von RS485.
Da von Anfang an eine Zertifizierung des Drehwinkelgebers bzgl. SIL/PL-Konformität beabsichtigt war, erfolgte die Softwareentwicklung nach entsprechenden Vorgaben.
Die Code-Optimierungen wurden durchgeführt
zum Erreichen der geforderten Funktionalität.
zur Verbesserung der Stabilität.
zur Einsparung von Ressourcen (RAM, ROM, Zeit).
zur Einhaltung des vorgegebenen Timings (Laufzeitoptimierung).
zur Einhaltung der SIL Standards.
Modularisierungen als Voraussetzung für die Durchführung von Unit-Tests.
Die Umsetzung erfolgte in der Programmiersprache C und teilweise in Assembler.
 
Code-Reviews wurden durchgeführt
als Kontrolle zur Einhaltung der SIL Standards bzw. Kundenvorgaben.
zum Aufspüren von Fehlerursachen.
als Teil des zu dokumentierenden Prozessablaufs.
 
Für die gestellten Aufgaben war eine umfassende Einarbeitung in die physikalischen Grundlagen, sowie die verwendeten Algorithmen und Protokolle erforderlich. Dies waren unter Anderen.
Wiegand Effekt und dessen Auswertung.
BiSS-C Protokoll für interne Kommunikation.
S4W (Save-4-Wire) Protokoll für externe Kommunikation
Tools und TechnologienBiSS-C Schnittstelle.
S4W Bus
dsPIC33 Programmierung
iC-LGC
iC-PM
SIL Standards
XC16-Compiler
MPLAB IDE von Microchip.
ICD-3 Debugger