SOFTWARE
Die meiste Erfahrung habe ich mit der Entwicklung von industriellen Sensoren und Kleinsteuerungen gesammelt. Sowohl Hardware- als auch Softwareentwicklung von der Idee bis zum Produkt gehört zu meinem Aufgabenfeld. Ich bezeichne mich selbst als soliden Programmierer für alles, das mit Steuerungsaufgaben zu tun hat.
Langjährige Erfahrung habe ich mit der Realisierung von Software für Sensoren und Steuerungen mit Funktionaler Sicherheit nach Maschinenrichtlinie.
Sprachen
- Assembler
-
setze ich seit jeher für speichereffiziente Software auf Microchip PICs für kostenoptimierte Hardware in Sensoren und Kleinsteuerungen ein. Wenn der Preis im Vordergrund steht, war oft ein sehr günstiger Controller mit nur wenig Speicher die Lösung. Aufgrund stark gesunkener Preise ist dieser Ansatz nicht mehr von Belang, geschweige denn zeitgemäß.
- C
-
setze ich standardmäßig für alle Controller ein. Ich schaue historisch bedingt sehr Hardware nah auf die Anwendung. Codierung in vielen Schichten bei starker Abstraktionen der Hardware sind nicht meine bevorzugte Arbeitsweise.
- Python
-
Hier habe ich etwas rudimentäre Erfahrung bei der Realisierung von Test und Datenlogging Tools.
- HTML / CSS
-
Für Testumgebungen, Datenlogging Tools, Webseite etc. reicht mein Wissen aus, wenn ich die Unterstützung von freien Templates nutze.
- C++ / C# / usw.
-
Mit diesen und anderen Hochsprachen arbeite ich nicht.
Das Erstellen von Applikationen auf PC & Co ist nicht mein Fokus.
Prozesse
- Agil
-
Dies ist meine bevorzugte Vorgehensweise. Sie entspricht dem typischen Vorgehen der mir bekannten Softwareentwickler. Für den Kunden ist von Vorteil, dass schnell erste Prototypen mit zumindest Teilfunktionalität vorhanden sind. Herausfordernd ist die Notwendigkeit, die Software während der Entwicklung vernünftig zu dokumentieren. Hier bietet sich Doxygen an.
- V-Modell
-
Als Kontrast zu Agiler Programmierung wird im Bereich Funktionaler Sicherheit von den Normen ein Vorgehen nach V-Modell erwartet. Ich wende seit jeher das V-Modell in der Entwicklung von funktional sicheren Sensoren und Steuerungen nach Maschinenrichtlinie an.
IDE
- MCUXpresso / STM32CubeIDE / Atollic True Studio
-
Für die NXP Kinetis und STM32 Controller die typischen IDEs. Meines Erachtens liefern die Hersteller hiermit gut gepflegte Softwarepakete.
Atollic ist in der CubeIDE aufgegangen und nicht mehr am Markt. Für ein Projekt mit MK64 habe ich Atollic verwendet. Schöne IDE!
- Microchip Studio
-
Meine bevorzugte Umgebung für alle ATtiny, ATmega etc., hier bekomme ich ein wenig den "Charme" des alten Atmel Studio 4.
- MPLAB
-
Diesen Klassiker ist u.a. für Microchip PICs vorgesehen und wird von mir seit etlichen Jahren verwendet. Aus Kompatibilitätsgünden nutze ich neben MPLAB X auch die Version 8. Zumal ich dieser betagten Version sogar ein paar Vorteile abgewinnen kann.
- Arduino
-
Da diese IDE unfassbar simpel gestaltet ist, hat sie aus meiner Sicht ihre Berechtigung. Ich nutze die Arduino IDE für Testgeräte in Kundenauftrag und regelmäßig selbst für kleine Hilfsmittel während der Entwicklung.
- Doxygen
-
Mit etwas Disziplin und Dokumentation während (!) des Codings wird eine meistens völlig ausreichende Softwaredokumentation erreicht. Weitere Dokumente sind meines Erachtens nicht unbedingt nötig (von Entwicklungen in der Funktionalen Sicherheit einmal abgesehen).
Controller
- 8 / 32 Bit / RISC / ARM
-
Die meisten Projekte habe ich mit Microchip PIC 10/12/16, sowie ATmega und ATtiny Controllern realisiert. Kinetis MK20 und MK64, sowie STM32 Controller habe ich in einer komplexeren CNC Steuerung, einem Datenlogger und einer anwendungsspezifischen Industriesteuerung eingesetzt und programmiert.
Da mein Schwerpunkt die Entwicklung industrieller Sensoren und Steuerungen ist, habe ich bisher hauptsächlich Mikrocontroller eingesetzt. Anwendungen für DSP und FPGA waren softwareseitig bisher nicht mein Gebiet. Bis auf eine kleine Anwendung mit dem Z80 in den Anfangsjahren, habe ich keine Projekte mit CISC Prozessoren realisiert.
Wireless
- Sub GHz / RFID
-
Schwerpunkte hier sind die Einbindung von Funkmodulen und Controllern mit integriertem Sender für industrielle Steuerungen. Kleine schwer zugängige Sensoren übertragen beispielsweise ein Schaltereignis an eine Steuerung. Die Funkübertragung vermeidet dabei den Verkabelungsaufwand. Die Sensoren sind Batteriebetrieben und laufen im standby viele Jahre ohne Wartung.
- GSM / GPRS / GNSS
-
Bisher habe ich nur eine Applikation realisiert. Ich habe die Hardware für ein Personenortungssystem entwickelt. Dieses arbeitet im Standby und sendet im Notfall ein Warnsignal mit Standortmeldung zu einer Leitwarte.
Donts
- Keine Expertise
-
C# / C++ / Java / etc.
Applikationen / Android / Linux / etc.
ASIL