Aufgaben rund um die Mess- und Prüfsysteme des Sondermaschinenbaus.
Hauptsächlich Programmierung von Features und Fehlerbehebung in der Bedienanwendung unter Windows (C#, Windows Forms).
Weiterhin Entwicklungsaufgaben an der zugehörigen Echtzeitrechner-Software (On-Time RTOS, C++).
Entwicklung einer Software für Auswuchtmaschinen.
High Performance Datenlogger unter MS Windows
- Echtzeit-Messdaten gelangen über 10GBit Ethernat (UDP) in den PC
- unkomprimierte Videodaten aus 4 Cams über Framegrabber (Silicon Softw.)
- komprimierte Videodaten über USB/SDK (Axis)
- Implementierung in einer High-Performance-DLL in C++
- Bedienung/Parametrierung in einer C#/WPF-Oberfläche
Windows-Kerneltreiber PCIe, Audi-zFas, Datastore, Controller-SW im Datastore.
Der Kerneltreiber realisiert verschiedene Formen der Scatter/Gather-DMA sowie Protokolle mit dem Registerfile.
Daneben entstand eine API-DLL mit umfangreichen Funktionen nach Kundenwünschen.
Für die DLL gibt es Wrapper für C# und Python.
Es wurden ein Unittest-Framework (Python) sowie Tools zur Inbetriebnahme und Entwicklung der Hardware/FPGA entwickelt.
Weiterhin wurde die Controller-Software des Datastore-Devices angepasst.
Zeitraum: 12.14 - 07.15
Branche: Automotive
Firma: Germaneers GmbH
Projekt: Windows-Kerneltreiber PCIe, Audi-zFas, Datastore, Controller-SW im Datastore
Sprachen: C, C++, C#/WPF, Python
Tools: Visual Studio 2013, Windows Driver Kit, Sourcery Codebench, SCRUM
Projektbeschreibung:
Erstellung eines High-Perrformance PCIe-Treibers für Scatter/Gather DMA sowie spezielle Registerlogik zur Device-Steuerung. Ziel ist maximal mögliche Bandbreite bei geringster CPU-Last. Weiterhin Erstellung von Tools für Inbetriebnahme, Tests, Kundenbetreuung, Beispiele. Test-Umgebung in Python. Tool zur Steuerung und Visualisierung der gefilterten Datenströme in Echtzeit (C#/WPF).
Die Controllersoftware im Gerät wurde ebenfalls von mir betreut.
Zeitraum: 10.14 - 11.14
Branche: Automation, Laboranalyse
Firma: ICOM Automation Ilmenau
Projekt: ICOM Chart, ICOM INA
Sprachen: C++, C#
Tools: Visual Studio 2013, ABT SciChart, Blackfin-uCLinux
Projektbeschreibung:
Inbetriebnahme des RDM Auswuchtmoduls an Auswuchtautomaten (ICOM-Kunde). Erweiterung der Analysetools (C#, SciChart), Einbau Motorsteuerung (C#), Positionierung, Fehlererkennung (C#), Überarbeitung Nullsensor/Drehzahl (C++).
Zeitraum: 04.14 - 09.14
Branche: Automation, Laboranalyse
Firma: ICOM Automation Ilmenau
Projekt: ICOM Chart, ICOM INA
Sprachen: C#/WPF, Entity Framework, Code First
Tools: Visual Studio 2013, ABT SciChart
Projektbeschreibung:
In die Steuerungs- und Analysesoftware der Firma soll ein Modul zur Datenanalyse und Diagrammanzeige integriert werden. Als Grundbaustein wurde das Produkt SciChart von ABT zugekauft.
- Einbindung von Diagrammanzeigen in die Bedienoberfläche
- Timingdarstellung mit Bedienfunktion für die speziellen Prozessdaten aus der Step7-SPS entstehen, was durch vorhandene Chart-Module noch nicht gelöst wurde.
- Echtzeitdarstellung (Oszilloskop) für Rohdaten der Unwuchtmessung
Zeitraum: 12.13 - 05.14
Projekt: TachyUsb Android App
(neben den anderen Projekten)
Eigenes Produkt
Sprache: Java, PHP
Tools: Android SDK
Eine Android App zur seriellen Kopplung eines Gerätes via Android Open Accessory (AOA) an die RS232 eines Leica TCR 407 Tachimeters (Vermessungsgerät).
Die App kommuniziert mit dem TCR407, steuert die Messungen und sammelt die Messdaten ein. Die Daten werden auf einem WEB-Server abgelegt und können dort per WEB Frontend (PHP) angezeigt und verarbeitet werden.
Projektpage:[URL auf Anfrage]
Zeitraum: 04.13 - 04.14
Branche: SmartCard
Firma: Giesecke & Devrient München
Projekt: SmartCard OS für neue Gesundheitskarte (gematik)
Sprachen: C, Assembler
Tools: Keil uVision 4, Rational ClearCase/ClearQuest, Ashling Emulator,
Infineon SLE78 Simulator, PC-SC Tools, proprietaere Tools für
Test, Konfiguration, Wartung
Hardware: NXP P60, Infineon SLE78, Ashling ICE, PC-SC Terminals
Algorithmen:AES, DES, 3TDES, ECC(elc), Diffie-Hellman, RSA
Protokolle: T=0, T=1, APDU, TLV-coding
Projektbeschreibung:
Entwicklung und Anpassung von Modulen für das neue OS der Elektronischen Gesundheitskarte. Einbindung kryptographischer Algorithmen Konzepte, Coding, Tests, Debugging, Dokumentation. Anpassung von Code und Tools fuer verschiedene Platformen. Das Projekt wird komplett als SCRUM-Prozess durchgeführt.
Eine Version des Chipcard-OS ist bereits vorhanden. Im Rahmen des Projekts wird diese an die neuen Anforderungen der gematik_CARD_Spezifikation_COS_V310 angepasst. Dabei sind neue Features zu entwerfen und in das bestehende OS zu integrieren.
Zeitraum: 09.11 - 03.13
Branche: Medizintechnik
Firma: Siemens Healthcare, Erlangen
Projekt: Image Chain für Chirurgie und RAD/Fluoro Systeme
Sprachen: C++, Python
Tools: VS2010, Rational ClearCase, Enterprise Architect, Python 27_64, SWIG, Eclipse
Hardware: PC i64, proprietäre PCIe-Karte für Triggerung u. Imagegrabbing,
myAVR-Demoboard zum Testen der Triggersignale
Projektbeschreibung:
Für die aktuellen Röntgen-Produkte wird eine harmonisierte Bildkette entwickelt, die alle aktuell und künftig verwendeten Bildquellen (diverse Flatdetector-Typen, CCD-Cams) einfach ankoppeln kann. Bildalgorithmen laufen auf der GPU. Schnittstellen zur Hardware sind Ethernet sowie ein eigene Framegrabber mit Triggerlogik.
Aufgabe 1:
Entwicklung eines Tracer-Moduls, ähnlich Log4Cpp zum Einsatz in der ImageChain. Aufgrund spezieller Anforderungen an Timing und Datenmenge konnte keine bestehende Lösung verwendet werden.
Der Tracer ist prozessweit verfügbar und wird über ein C++-Interface und einige Service-Klassen angesprochen.
Aufgabe 2:
Inbetriebnahme und Test des Framegrabbers mit Triggerlogik. Es handelt sich um eine PCIe-Karte, die mitsamt Treiber und DLL-API geliefert wird.
Zur Verifizierung aller Requirements wurden eine automatisierte Testsuite sowie eine Hardwarebox entwickelt. (Testsuite s. Aufgabe 4). Diese Hardware wird für 3 verschiedene Typen von Detektoren verwendet. Dazu habe ich eine Wrapper-DLL entwickelt, welche den abwechselnden Zugriff mehrerer Adapter auf die Hardware organisiert sowie den jeweiligen Hardware-Status verfolgt bzw. schützt.
Aufgabe 3:
Entwicklung eines Software-Adapters für einen speziellen Detektor der Firma Trixell mit Anschluss an das o.g. Board. Der Adapter entspricht dem generischen Konzept der Image Chain und muss die entsprechenden Funktionen des Bords bzw. des Detektors ankoppeln.
Aufgabe 4:
Neuentwicklung eines Frameworks für Unittests und Integrationsunterstützung auf Python- und SWIG-Basis. Die Interfaces der C++-SW-Komponenten werden beim Build per SWIG automatisch um einen Python-Wrapper ergänzt.
Da wiederum spezielle Anforderungen an das Testframework sowie automatische Dokumentengenerierung bestehen, musste ein eigenes Framework geschaffen werden.
Obwohl es mit PyUnit als auch mit Nose weitreichende Lösungen gibt, wurde der größte Teil des Frameworks neu entwickelt.
In diesem Zusammenhang hatte ich auch die Aufgabe, die Kollegen bei der Arbeit mit dem Framework zu unterstützen.
Das Framework wurde - speziell in Hinblick auf Aufgabe 2, s.o. - um eine Testhardware ergänzt, deren Konzept ich mit entwickelt habe und für deren Einführung ich zuständig war. Die Box beinhaltet neben proprietären Siemens-Komponenten ein myAVR-Board (Atmel Atmega 2560) sowie diverse Versorgungen und Pegelwandler.
Zeitraum: 03.11 - 08.11
Branche: Medizintechnik
Firma: Siemens Healthcare, Kemnath
Projekt: Katapultrasterlade SW Überarbeitung f. 2 HW-Versionen 8051 und C167
Sprachen: C++, C, Assembler
Tools: Keil uVision, SVN, MedBook, SAP
Hardware: proprietäre Hardware auf 8051-Basis, proprietäre Hardware auf C167-Basis
Projektbeschreibung:
Eine vorhandene Steuerung einer Katapultrasterlade (Filmkassettenhandling in Patientenliege), welche in 2 Hardware-Versionen mit jeweils angepasster Software vorliegt, musste um eine Funktion erweitert werden.
Aufgabe 1:
Neuaufsetzen der uralt-Entwicklungsumgebungen, Aufsetzen der Hardwareumgebung für beide Varianten, Implementierung der Änderungen, Verifikation der Software auf minimale Nebenwirkungen der Änderung durch Code- und Binäranalyse. Test und Testdokumentation.
Aufgabe 2:
Serieller Firmwareloader in C++. Das vorhandene Tool mit grafischer Benutzeroberfläche in C# funktionierte mit der geänderten Hardware nicht, außerdem keine Automatisierung per Skript möglich. Daher Erstellung eines Downloaders für Hexfiles auf Kommandoozeilenbasis.
Zeitraum: 09.10 - 05.11
Branche: Energy, Power Electric
Firma: Semikron Germany, Nürnberg
Projekt: SW Überarbeitung EtherKube, neue Hardware in Betrieb nehmen
Sprachen: C++
Tools: Texas Instruments TMS320F28335 DSP C++-Compíler, Code Composer Studio, Micrel KSZ8842, Eclipse,
SVN, Doxygen, CppUnit, Tektronix-Ethernet-Analyzer, MFC
Projektbeschreibung:
Für die 3x3-Phasenansteuerung von Hochleistungsantrieben nach einem neuartigen Algorithmus wurde eine Hardware entwickelt, welche mehrere Sätze zu je 3 IGBTs über Ethernet synchron in Echtzeit mit Sollwerten versorgt.
Messwerte und Sollwerte werden in Echtzeit mit 20kHz übertragen und können nur sehr begrenzt gepuffert oder bei Fehlen synthetisiert werden.
Aufgabe:
Die vorhandene C++-Echtzeitsoftware in einem proprietären Echtzeitframework musste erweitert, korrigiert und an eine neue Hardwareversion angepasst werden.
Grundlage der Änderungen war u.a. die FMEA von Anfang 2010, s.u.. Tests und Inbetriebnahme erfolgten parallel beim Kunden und im Hause. Dazu wurden diverse Tools zur Simulation und Analyse in C++ unter MS-Windows entwickelt.
Um die hohen Anforderungen an Qualität und Sicherheit zu gewährleisten, musste jede einzelne Klasse durch Reviews und Tests verifiziert werden.
Zeitraum: 06.10 - 01.13
Branche: Automation
Firma: ICOM Automation GmbH Ilmenau
Projekt: Rotation Data Acquisition Module: Hardware auf Analog Devices BlackFin BF518 Basis
mit 4 ADC7756 Kanälen. Messwerte werden unter uClinux erfasst und vorverarbeitet.
Sprachen: C++, C (f. Hardwaretreiber), VHDL
Tools: Blackfin uClinux, Visual Studion 2008, Enterprise Architect, Eagle, Lattice-FPGA
Projektbeschreibung:
Zur Aufnahme von Unwuchtschwingungen via Piezzo-Sensoren wurde ein System aus Hardware und PC-Software entwickelt.
Die Hardware hat hauptsächlich die Aufgabe, 4 Analogkanäle mit Präzisions-ADCs a 24 Bit zu erfassen und Informationen zum Nullpunkt bzw. Winkel sowie weiteren digitalen Signalen in den Echtzeitdatenstrom einzuschleusen.
Die Echtzeitdaten gelangen via UDP in den PC.
Ein Mathematikmodul, eine C++-DLL, realisiert die Berechnung der Messwerte sowie die StateMachine für das Maschinenhandling. Darüber sitzt die ICOM-Software zur Bedienung und Visualisierung.
Aufgabe 1:
Entwurf, Konzept und Enwicklung. Die Hardware wurde durch einen externen Dienstleister nach0 meinen Vorgaben entwickelt u. gefertigt.
Aufgabe 2:
Inbetriebnahme und Test der HW. Einbau einer einfachen Logik per VHDL ins Lattice FPGA.
Aufgabe 3:
SW-Entwicklung aller Komponenten:
1. Hardware-Treiber für uClinux als ladbares Modul zur DMA-Ansteuerung der SPORT-Interfaces zu
den ADCs. Sprache: C++
2. UDP-Server unter uClinux zum Erzeugen des Datenstroms
3. Softwaremodul auf dem PC als C++DLL mit C#- sowie Python-Interface (via SWIG)
Zeitraum: 02.10 - 08.10
Branche: Energy, Power Electric
Firma: Semikron Germany, Nürnberg
Projekt: FMEA EtherKube
Tools: APiS, TI TMS320F28335, Micrel KSZ8842
Projektbeschreibung:
In Vorbereitung der Überarbeitung der EtherKube Hard- und Software wurde eine FMEA unter Mitwirkung aller Beteiligten (Entwickler, Produzent, Kunde) aufgesetzt.
** Eine Beschreibung des EtherKube steht weiter oben, Zeitraum 09.10-05.11 **
Aufgabe:
Ich hatte die FMEA aus Entwicklungssicht vorzubereiten. Dies erforderte eine komplette Einarbeitung in das Systemkonzept, die Hardware sowie in die Software.
Nachdem alle Erkenntnisse und Bewertungen in APIS eingepflegt waren, wurden diese in mehreren Meetings mit den anderen Parteien abgeglichen und koordiniert.
Am Ende mussten die Ergebnisse in konkrete Planungen überführt werden. Schwerpunkt für mich war dabei die Software des EtherKube.
Zeitraum: 11.09 - 04.10
Branche: Automation
Firma: inno-spec GmbH Nuremberg
Projekt: PET-Auge, USB Camera HW/SW: Firmware, USB-Treiber Windows 32/64, C++ API für neu entwickelte
Hardware auf Cypress FX2 Basis
Sprachen: C++, C
Tools: MS WDK Win 7, WinDbg m. Kernel-Debugger, SDCC, FX2Lib, libusb-win32, Visual
Studio 2008, Enterprise Architect
Projektbeschreibung:
Für eine neu entwickelte Hardware mit 5 Megapixel CCD an USB 2.0 wurde zunächst die Firmware für den Cypress FX2 Baustein in C entwickelt.
Die Hardware ist für den Einsatz in einem industriellen Spektroskopiemodul vorgesehen, um PET-Gegentände von solchen aus anderen Materialien zu trennen.
Nachdem sich herausstellte, dass der Cypress-USB2.0-Universaltreiber die zeitlichen Anforderungen nicht erfüllt, wurde nach Alternativen gesucht. Versuche mit dem OpenSource-Projekt libusb brachten zunächst keine Verbesserungen, lieferten aber die Grundlage für einen eigenen USB-Treiber.
Der entstandene USB-Treiber organisiert die isochrone Übertragung der Bilddaten im Mehr-Puffer-Betrieb per Scatter-Gatter-Liste.
Der Treiber realisiert weiterhin eine Kontrolle/Korrektur der Bilddaten in Echtzeit. Die Puffer können dabei systemweit durch verschiedene Prozesse genutzt werden.
C++-Interface-Software mit Beispiel. u. Testapps wurden ebenfalls erstellt.
Zeitraum: 12.08 - 01.10
Branche: Medizintechnik
Firma: Siemens Healthcare, CO ME, Erlangen
Projekt: C-FD: Image Chain, Calibration/Conditioning of high speed, high resolution flat detector X-Ray images
Sprachen: C++
Tools: IBM Rhapsody, QNX Neutrino, XILINX Virtex 5 (SoC PPC)
Projektbeschreibung:
Ein Board zur Vorverarbeitung digitaler XRay-Bilder von einem Varian-Flachdetektor, basierend auf 2 Xilinx
Virtex 5 FPGAs wurde entwickelt.
Das Board hat neben den Bildalgorithmen im FPGA auch Funktionen zur Ansteuerung der Hardware, Kalibrierung,
Service.
Die komplette Steuerung der Algorithmen, Kommunikation und Kontrolle der Hardware geschieht in einer Software
auf einem der beinen PowerPC-Kerne.
Die Software war unter QNX Neutrino 6 zu entwickeln.
Aufgabe 1:
Test und Inbetriebnahme der FPGA-Firmware und Hardware, QNX-BoardSupport-Package anpassen, Konzept und Erstellung der Software nach Vorgaben im Lastenheft.
Die SW-Entwicklung erfolgte im Zweierteam mit zusätzlichem Tester
Aufgabe 2:
Portierung des Codes zum Ansteuern des Detektors von MS Windows nach QNX. Der C-Code wurde vom Detektorhersteller bereitgestellt.
Zeitraum: 05.07 - 11.08
Firma: Siemens Medical Solutions, CO ME
Projekt: SiLiCon: Embedded control unit for Lithotripter based on SoC with QNX Neutrino
Sprachen: C++
Tools: Rhapsody, QNX Neutrino, XILINX Virtex 4 (SoC PPC)
Projektbeschreibung:
Eine vorhandene C++Middleware musste erweitert und an das Lithotripter-Projekt angepasst werden.
- Steuermodul für den Lithotripter auf Basis eines SoC mot XILINX Virtex 4
- Basissystem und Interface zu Hardware/Firmware mit QNX 6.3.0 und BSP
- Aufsetzen der kompletten Build-Umgebung, Loader-Umgebung
- HAL: Abstraction Layer für den Endkunden angepasst u. weiter entwickelt
- HW-Treiber, Inbetriebnahme der FPGA Module
Zeitraum: 03.07 - 06.07
Firma: Siemens Medical Solutions, CO ME
Projekt: ACCEL - Linear Accelerator (OCS)
Sprachen: C, Assembler
Tools: Keil, 8051, Hardware, 8051-ASM, 8051, Keil, Microchip-Demoboard, HW Inbetriebnahme, 8051-Peripherie
Projektbeschreibung:
Für die alte Anlage mussten neue HW-Komponenten entwickelt werden, auf denen die alte SW unverändert läuft. Um dies sicherzustellen, wurden einige Testprogramme benötigt.
- Entwicklung von Software zur Unterstützung der HW-Portierung
- Integration der vorhandenen SW auf neuer HW
- Inbetriebnahme-Tools, Protokollanalyse RS485
Zeitraum: 08.06 - 03.07
Firma: Siemens Medical Solutions, CO ME
Projekt: MCM4: production test system for 6 axis motor control unit
Sprachen: C++
Tools: QNX Neutrino, LM629, ClearCase
Projektbeschreibung:
Die vorhandene Productiontest-Umgebung für die Baugruppe musste so erweitert werden, dass sie einen vereinzelt auftretenden Exemplarfehler des eingebauten Natianl LM629 MotorController detektieren kann.
Aufgabe:
- Analyse, wie sich der Fehler äußert, damit er im Prüfumfeld detektiert werden kann.
- Umbau der Board-Software, Erweiterung um Analysefunktionen.
- Erweiterung der Testsoftware auf dem PC, Entwicklung neuer Testsequenzen.
Zeitraum: 06.06 - 12.08
Firma: TIRA GmbH Schalkau, PG Auswuchttechnik
Projekt: balancing measurement and control system with ethernet interface. HW and SW development.
Sprachen: C++, C, Assembler
Tools: Microchip dsPIC33, Analog Devices ADAU, Lattice FPGA, Visual Studio 2008
Projektbeschreibung:
Entwicklung der SW-Komponenten für die neue Messelektronik:
- USB 1.1-Treiber für 8MBit-Datenstrom
- Firmware für das Board zum Aufbau des Datenstroms
- Programmierung der ADAU-DSPs mit grafischer Umgebung von ADI (Sigma-Studio)
- Interface-Software in C++
Zeitraum: 09.05 - 05.06
Firma: Siemens Medical Solutions, CO ME
Projekt: Mammomat OHAPI: PCI driver and DLL API for High Resolution X Ray Detector
Sprachen: C++, C
Tools: MS DDK, MS Visual Studio 6.0, SUN Solaris
Projektbeschreibung:
Anbindung des hochauflösenden Mammomat-OPTDIMA-Sensors an die Windows-Software. Lief zuvor auf SUN Solaris.
Aufgabe:
Inbetriebnahme, Fehlersuche, Erweiterung des PCI-Treibers zum FrameGrabber-Board, Implemetierung von Algorithmen in der DLL, Inbetriebnahme.
Zeitraum: 09.04 - 05.05
Firma: Siemens Medical Solutions, CO ME
Projekt: Office Impression Scanner, DLL API to 3D Scanner controller
Sprachen: C++
Tools: MS Visual Studio 6.0
Projektbeschreibung:
Erstellung einer API-DLL für Hardwareansteuerung überr serielle Schnittstelle.
Aufgabe:
Implementierung der Funktionen nach Lastenheft. Weiterentwicklung des Konzepts, Inbetriebnahme.
Zeitraum: 08.04 - 03.06
Firma: TIRA GmbH Schalkau, PG Auswuchttechnik
Projekt: Portierung u. Weiterentwicklung einer SW zur
Steuerung/Messung/Auswertung eines Unwuchtmesssystems
f. Auswuchtmaschinen
Sprachen: C++
Tools: MS DDK, Borland C++ Builder, GNU GETTEXT, po edit, Firebird Datenbank
Projektbeschreibung:
Die Software dient der Bedienung, Messwertverarbeitung, Datenhaltung und Visualuísierung an
industriellen Auswuchtmaschinen.
Zur Messwertaufnahme wird eine ISA-Karte verwendet. Es existiert bereits eine vollständige
C-Software unter DOS, deren Funktiuonalitäten nach und nach ins Windows-Programm portiert werden
müssen.
Aufgabe 1:
Mitkonzeption, Implementation u. Integration der Windows-Software
Aufgabe 2:
Entwicklung eines Hardware-Treibers zur Kommunikation mit der ISA-Karte. Dies war bis Windows 2000 mittels eines universellen Treibers geschehen, der seit XP nicht mehr funktioniert.
Aufgabe 3:
Konzept u. Implementierung eines Multi-Language-Konzepts. Unter Verwendung von GNU Gettext umgesetzt.
Aufgabe 4:
Konzept und Umsetzung für Vernetzung mehrerer Maschinen. Auf Basis der Firebird-Datenbank realisiert.
Zeitraum: 10.03 - 07.04
Firma: Fraunhofer Anwendungszentrum Systemtechnik Ilmenau
Projekt: Anpassung einer Software zur Planung, Projektierung, Berechnung,
Bewirtschaftung von Wassernetzen, Kommunikationsschnittstelle mit
Leitsystem SAT250
Sprachen: C++, Delphi
Tools: SAT250, SAT230, Oracle 9, Delphi 5, Windows 2000 Server
Projektbeschreibung:
Ankopplung des Delphi/Oracle Systems an das SAT250 SCADA System
Zeitraum: 08.02 - 07.03
Firma: VATECH SAT Systeme f. Automatisierungstechnik
Projekt: Kopplung Smallworld GIS mit einem Prozeßoptimierungsprogramm
(HydroDYN) und Leitsystem (SAT230).
Schnittstelle zum Datenexport aus der GIS-Datenbank.
Sprachen: C++, Delphi, Smallworld Magik
Produkte: SAT230, Oracle9i, Visual C++, Smallworld GIS, HydroDYN
Projektbeschreibung:
Verknüpfung der 3 Systeme unter einer Bedienoberfläche
Zeitraum: 10.98 - 09.99
Branche: Automation
Firma: ICOM Automation GmbH Ilmenau
Projekt: MPI Kommunikationsakopplung via USB
Sprachen: C++, C
Tools: MS DDK, Visual C++ 6.0, Keil, 8051 InCircuit Emulator, HP LogicAnalyzer
Projektbeschreibung:
Eine eigene, 8051 basierte Hardware zur Ankopplung des Siemens MPI Bus mit USB Interface war zu entwickeln. Auf der Hardware werkelt eine National USB-Bridge.
USB-Treiber und Interface-SW in C++.
Besondere Herausforderung war das Timung des MPI-Busses, weswegen ein trickreiches Zusammenspiel zwischen Firmware und USB-Treiber nötig war.
Zeitraum: 01.02 - 07.02
Firma : Fraunhofer Anwendungszentrum Systemtechnik Ilmenau
Projekt : universelles Interface (COM, Basic, C, C++) für ein API (in Pl/SQL)
zum Datenaustausch mit einem Prognosesystem.
Tools: Oracle 8 Developer, MS Visual C++ 6.0, Windows 2000, MS
*******
Zeitraum: 1996 - 1999
Firma: SAT GmbH (VA Tech, dann SEA)
Projekte: SSI Systemtreiber f. Windows NT/2000/XP
Sprachen: C++, C
Tools: MS DDK, Visual Studio, SAT230,
Projektbeschreibung:
Ein Kerneltreiber für Windows NT4.0 (und folgende) wurde entwickelt, um ein proprietäres, zeitkritisches serielles Protokoll auf PC-Hardware zu treiben.
Der systemeigene serial.sys wird an dem gewünschten COM-Port durch den SSI-Treiber ersetzt. Dieser arbeitet telegrammbasiert und bedient die darüberliegende Anwendung. Auf der Leitung wird das Timing überwacht um Lücken und Wiederholungen korrekt zu erkennen.
Als Basis für die Entwicklung wurde ein Treiber-Framework in C++ verwendet, welches 1996 im
"Microsoft System Journal" vorgestellt wurde.
Zeitraum: 1994 - 2002
Firma: SAT GmbH (VA Tech, dann SEA)
Projekte: Z(1)80-Konverter f. serielle Protokolle
Tools: Z80-Assembler, Z-World-Tools, Visual Studio,
Viele Projekte mit ähnlicher Thematik: Wandlung serieller Kommunikationsprotokolle bzw.
anderer digitaler Datenquellen, um alte bis historische Kommunikationsprotokolle an neue
SAT Fernwirksysteme anzukoppeln.
Dazwischen Mitarbeit bei Projektierung, Aufbau und Wartung der Anlagen.
Der Softwareentwickler arbeitet schwerpunkmäßig mit C++ und C#. Er hat jahrelange Erfahrungen in verschiedenen Systemen (Embedded, PC, verschiedene Hardware, OS, SW-Architekturen).
Im GUI-Bereich verwendet er bevorzugt WPF, auf Wunsch auch Windows Forms.
Desktop-Entwicklung hauptsächlich unter MS Windows.
Vertraut mit verschiedenen Controllern und Micro-OS, u.a. DSP von TI sowie Analog Devices (Blackfin), Power PC, x86, C167, Xilinx, ARM).
Spezielle Erfahrungen hat der Entwickler bei der hardwarenahen Integration von Softwarekomponenten in Umgebungen.
Model Driven Architecture mit Enterprise Architect.
uClinux, Android
keine Anmerkungen.
Aufgaben rund um die Mess- und Prüfsysteme des Sondermaschinenbaus.
Hauptsächlich Programmierung von Features und Fehlerbehebung in der Bedienanwendung unter Windows (C#, Windows Forms).
Weiterhin Entwicklungsaufgaben an der zugehörigen Echtzeitrechner-Software (On-Time RTOS, C++).
Entwicklung einer Software für Auswuchtmaschinen.
High Performance Datenlogger unter MS Windows
- Echtzeit-Messdaten gelangen über 10GBit Ethernat (UDP) in den PC
- unkomprimierte Videodaten aus 4 Cams über Framegrabber (Silicon Softw.)
- komprimierte Videodaten über USB/SDK (Axis)
- Implementierung in einer High-Performance-DLL in C++
- Bedienung/Parametrierung in einer C#/WPF-Oberfläche
Windows-Kerneltreiber PCIe, Audi-zFas, Datastore, Controller-SW im Datastore.
Der Kerneltreiber realisiert verschiedene Formen der Scatter/Gather-DMA sowie Protokolle mit dem Registerfile.
Daneben entstand eine API-DLL mit umfangreichen Funktionen nach Kundenwünschen.
Für die DLL gibt es Wrapper für C# und Python.
Es wurden ein Unittest-Framework (Python) sowie Tools zur Inbetriebnahme und Entwicklung der Hardware/FPGA entwickelt.
Weiterhin wurde die Controller-Software des Datastore-Devices angepasst.
Zeitraum: 12.14 - 07.15
Branche: Automotive
Firma: Germaneers GmbH
Projekt: Windows-Kerneltreiber PCIe, Audi-zFas, Datastore, Controller-SW im Datastore
Sprachen: C, C++, C#/WPF, Python
Tools: Visual Studio 2013, Windows Driver Kit, Sourcery Codebench, SCRUM
Projektbeschreibung:
Erstellung eines High-Perrformance PCIe-Treibers für Scatter/Gather DMA sowie spezielle Registerlogik zur Device-Steuerung. Ziel ist maximal mögliche Bandbreite bei geringster CPU-Last. Weiterhin Erstellung von Tools für Inbetriebnahme, Tests, Kundenbetreuung, Beispiele. Test-Umgebung in Python. Tool zur Steuerung und Visualisierung der gefilterten Datenströme in Echtzeit (C#/WPF).
Die Controllersoftware im Gerät wurde ebenfalls von mir betreut.
Zeitraum: 10.14 - 11.14
Branche: Automation, Laboranalyse
Firma: ICOM Automation Ilmenau
Projekt: ICOM Chart, ICOM INA
Sprachen: C++, C#
Tools: Visual Studio 2013, ABT SciChart, Blackfin-uCLinux
Projektbeschreibung:
Inbetriebnahme des RDM Auswuchtmoduls an Auswuchtautomaten (ICOM-Kunde). Erweiterung der Analysetools (C#, SciChart), Einbau Motorsteuerung (C#), Positionierung, Fehlererkennung (C#), Überarbeitung Nullsensor/Drehzahl (C++).
Zeitraum: 04.14 - 09.14
Branche: Automation, Laboranalyse
Firma: ICOM Automation Ilmenau
Projekt: ICOM Chart, ICOM INA
Sprachen: C#/WPF, Entity Framework, Code First
Tools: Visual Studio 2013, ABT SciChart
Projektbeschreibung:
In die Steuerungs- und Analysesoftware der Firma soll ein Modul zur Datenanalyse und Diagrammanzeige integriert werden. Als Grundbaustein wurde das Produkt SciChart von ABT zugekauft.
- Einbindung von Diagrammanzeigen in die Bedienoberfläche
- Timingdarstellung mit Bedienfunktion für die speziellen Prozessdaten aus der Step7-SPS entstehen, was durch vorhandene Chart-Module noch nicht gelöst wurde.
- Echtzeitdarstellung (Oszilloskop) für Rohdaten der Unwuchtmessung
Zeitraum: 12.13 - 05.14
Projekt: TachyUsb Android App
(neben den anderen Projekten)
Eigenes Produkt
Sprache: Java, PHP
Tools: Android SDK
Eine Android App zur seriellen Kopplung eines Gerätes via Android Open Accessory (AOA) an die RS232 eines Leica TCR 407 Tachimeters (Vermessungsgerät).
Die App kommuniziert mit dem TCR407, steuert die Messungen und sammelt die Messdaten ein. Die Daten werden auf einem WEB-Server abgelegt und können dort per WEB Frontend (PHP) angezeigt und verarbeitet werden.
Projektpage:[URL auf Anfrage]
Zeitraum: 04.13 - 04.14
Branche: SmartCard
Firma: Giesecke & Devrient München
Projekt: SmartCard OS für neue Gesundheitskarte (gematik)
Sprachen: C, Assembler
Tools: Keil uVision 4, Rational ClearCase/ClearQuest, Ashling Emulator,
Infineon SLE78 Simulator, PC-SC Tools, proprietaere Tools für
Test, Konfiguration, Wartung
Hardware: NXP P60, Infineon SLE78, Ashling ICE, PC-SC Terminals
Algorithmen:AES, DES, 3TDES, ECC(elc), Diffie-Hellman, RSA
Protokolle: T=0, T=1, APDU, TLV-coding
Projektbeschreibung:
Entwicklung und Anpassung von Modulen für das neue OS der Elektronischen Gesundheitskarte. Einbindung kryptographischer Algorithmen Konzepte, Coding, Tests, Debugging, Dokumentation. Anpassung von Code und Tools fuer verschiedene Platformen. Das Projekt wird komplett als SCRUM-Prozess durchgeführt.
Eine Version des Chipcard-OS ist bereits vorhanden. Im Rahmen des Projekts wird diese an die neuen Anforderungen der gematik_CARD_Spezifikation_COS_V310 angepasst. Dabei sind neue Features zu entwerfen und in das bestehende OS zu integrieren.
Zeitraum: 09.11 - 03.13
Branche: Medizintechnik
Firma: Siemens Healthcare, Erlangen
Projekt: Image Chain für Chirurgie und RAD/Fluoro Systeme
Sprachen: C++, Python
Tools: VS2010, Rational ClearCase, Enterprise Architect, Python 27_64, SWIG, Eclipse
Hardware: PC i64, proprietäre PCIe-Karte für Triggerung u. Imagegrabbing,
myAVR-Demoboard zum Testen der Triggersignale
Projektbeschreibung:
Für die aktuellen Röntgen-Produkte wird eine harmonisierte Bildkette entwickelt, die alle aktuell und künftig verwendeten Bildquellen (diverse Flatdetector-Typen, CCD-Cams) einfach ankoppeln kann. Bildalgorithmen laufen auf der GPU. Schnittstellen zur Hardware sind Ethernet sowie ein eigene Framegrabber mit Triggerlogik.
Aufgabe 1:
Entwicklung eines Tracer-Moduls, ähnlich Log4Cpp zum Einsatz in der ImageChain. Aufgrund spezieller Anforderungen an Timing und Datenmenge konnte keine bestehende Lösung verwendet werden.
Der Tracer ist prozessweit verfügbar und wird über ein C++-Interface und einige Service-Klassen angesprochen.
Aufgabe 2:
Inbetriebnahme und Test des Framegrabbers mit Triggerlogik. Es handelt sich um eine PCIe-Karte, die mitsamt Treiber und DLL-API geliefert wird.
Zur Verifizierung aller Requirements wurden eine automatisierte Testsuite sowie eine Hardwarebox entwickelt. (Testsuite s. Aufgabe 4). Diese Hardware wird für 3 verschiedene Typen von Detektoren verwendet. Dazu habe ich eine Wrapper-DLL entwickelt, welche den abwechselnden Zugriff mehrerer Adapter auf die Hardware organisiert sowie den jeweiligen Hardware-Status verfolgt bzw. schützt.
Aufgabe 3:
Entwicklung eines Software-Adapters für einen speziellen Detektor der Firma Trixell mit Anschluss an das o.g. Board. Der Adapter entspricht dem generischen Konzept der Image Chain und muss die entsprechenden Funktionen des Bords bzw. des Detektors ankoppeln.
Aufgabe 4:
Neuentwicklung eines Frameworks für Unittests und Integrationsunterstützung auf Python- und SWIG-Basis. Die Interfaces der C++-SW-Komponenten werden beim Build per SWIG automatisch um einen Python-Wrapper ergänzt.
Da wiederum spezielle Anforderungen an das Testframework sowie automatische Dokumentengenerierung bestehen, musste ein eigenes Framework geschaffen werden.
Obwohl es mit PyUnit als auch mit Nose weitreichende Lösungen gibt, wurde der größte Teil des Frameworks neu entwickelt.
In diesem Zusammenhang hatte ich auch die Aufgabe, die Kollegen bei der Arbeit mit dem Framework zu unterstützen.
Das Framework wurde - speziell in Hinblick auf Aufgabe 2, s.o. - um eine Testhardware ergänzt, deren Konzept ich mit entwickelt habe und für deren Einführung ich zuständig war. Die Box beinhaltet neben proprietären Siemens-Komponenten ein myAVR-Board (Atmel Atmega 2560) sowie diverse Versorgungen und Pegelwandler.
Zeitraum: 03.11 - 08.11
Branche: Medizintechnik
Firma: Siemens Healthcare, Kemnath
Projekt: Katapultrasterlade SW Überarbeitung f. 2 HW-Versionen 8051 und C167
Sprachen: C++, C, Assembler
Tools: Keil uVision, SVN, MedBook, SAP
Hardware: proprietäre Hardware auf 8051-Basis, proprietäre Hardware auf C167-Basis
Projektbeschreibung:
Eine vorhandene Steuerung einer Katapultrasterlade (Filmkassettenhandling in Patientenliege), welche in 2 Hardware-Versionen mit jeweils angepasster Software vorliegt, musste um eine Funktion erweitert werden.
Aufgabe 1:
Neuaufsetzen der uralt-Entwicklungsumgebungen, Aufsetzen der Hardwareumgebung für beide Varianten, Implementierung der Änderungen, Verifikation der Software auf minimale Nebenwirkungen der Änderung durch Code- und Binäranalyse. Test und Testdokumentation.
Aufgabe 2:
Serieller Firmwareloader in C++. Das vorhandene Tool mit grafischer Benutzeroberfläche in C# funktionierte mit der geänderten Hardware nicht, außerdem keine Automatisierung per Skript möglich. Daher Erstellung eines Downloaders für Hexfiles auf Kommandoozeilenbasis.
Zeitraum: 09.10 - 05.11
Branche: Energy, Power Electric
Firma: Semikron Germany, Nürnberg
Projekt: SW Überarbeitung EtherKube, neue Hardware in Betrieb nehmen
Sprachen: C++
Tools: Texas Instruments TMS320F28335 DSP C++-Compíler, Code Composer Studio, Micrel KSZ8842, Eclipse,
SVN, Doxygen, CppUnit, Tektronix-Ethernet-Analyzer, MFC
Projektbeschreibung:
Für die 3x3-Phasenansteuerung von Hochleistungsantrieben nach einem neuartigen Algorithmus wurde eine Hardware entwickelt, welche mehrere Sätze zu je 3 IGBTs über Ethernet synchron in Echtzeit mit Sollwerten versorgt.
Messwerte und Sollwerte werden in Echtzeit mit 20kHz übertragen und können nur sehr begrenzt gepuffert oder bei Fehlen synthetisiert werden.
Aufgabe:
Die vorhandene C++-Echtzeitsoftware in einem proprietären Echtzeitframework musste erweitert, korrigiert und an eine neue Hardwareversion angepasst werden.
Grundlage der Änderungen war u.a. die FMEA von Anfang 2010, s.u.. Tests und Inbetriebnahme erfolgten parallel beim Kunden und im Hause. Dazu wurden diverse Tools zur Simulation und Analyse in C++ unter MS-Windows entwickelt.
Um die hohen Anforderungen an Qualität und Sicherheit zu gewährleisten, musste jede einzelne Klasse durch Reviews und Tests verifiziert werden.
Zeitraum: 06.10 - 01.13
Branche: Automation
Firma: ICOM Automation GmbH Ilmenau
Projekt: Rotation Data Acquisition Module: Hardware auf Analog Devices BlackFin BF518 Basis
mit 4 ADC7756 Kanälen. Messwerte werden unter uClinux erfasst und vorverarbeitet.
Sprachen: C++, C (f. Hardwaretreiber), VHDL
Tools: Blackfin uClinux, Visual Studion 2008, Enterprise Architect, Eagle, Lattice-FPGA
Projektbeschreibung:
Zur Aufnahme von Unwuchtschwingungen via Piezzo-Sensoren wurde ein System aus Hardware und PC-Software entwickelt.
Die Hardware hat hauptsächlich die Aufgabe, 4 Analogkanäle mit Präzisions-ADCs a 24 Bit zu erfassen und Informationen zum Nullpunkt bzw. Winkel sowie weiteren digitalen Signalen in den Echtzeitdatenstrom einzuschleusen.
Die Echtzeitdaten gelangen via UDP in den PC.
Ein Mathematikmodul, eine C++-DLL, realisiert die Berechnung der Messwerte sowie die StateMachine für das Maschinenhandling. Darüber sitzt die ICOM-Software zur Bedienung und Visualisierung.
Aufgabe 1:
Entwurf, Konzept und Enwicklung. Die Hardware wurde durch einen externen Dienstleister nach0 meinen Vorgaben entwickelt u. gefertigt.
Aufgabe 2:
Inbetriebnahme und Test der HW. Einbau einer einfachen Logik per VHDL ins Lattice FPGA.
Aufgabe 3:
SW-Entwicklung aller Komponenten:
1. Hardware-Treiber für uClinux als ladbares Modul zur DMA-Ansteuerung der SPORT-Interfaces zu
den ADCs. Sprache: C++
2. UDP-Server unter uClinux zum Erzeugen des Datenstroms
3. Softwaremodul auf dem PC als C++DLL mit C#- sowie Python-Interface (via SWIG)
Zeitraum: 02.10 - 08.10
Branche: Energy, Power Electric
Firma: Semikron Germany, Nürnberg
Projekt: FMEA EtherKube
Tools: APiS, TI TMS320F28335, Micrel KSZ8842
Projektbeschreibung:
In Vorbereitung der Überarbeitung der EtherKube Hard- und Software wurde eine FMEA unter Mitwirkung aller Beteiligten (Entwickler, Produzent, Kunde) aufgesetzt.
** Eine Beschreibung des EtherKube steht weiter oben, Zeitraum 09.10-05.11 **
Aufgabe:
Ich hatte die FMEA aus Entwicklungssicht vorzubereiten. Dies erforderte eine komplette Einarbeitung in das Systemkonzept, die Hardware sowie in die Software.
Nachdem alle Erkenntnisse und Bewertungen in APIS eingepflegt waren, wurden diese in mehreren Meetings mit den anderen Parteien abgeglichen und koordiniert.
Am Ende mussten die Ergebnisse in konkrete Planungen überführt werden. Schwerpunkt für mich war dabei die Software des EtherKube.
Zeitraum: 11.09 - 04.10
Branche: Automation
Firma: inno-spec GmbH Nuremberg
Projekt: PET-Auge, USB Camera HW/SW: Firmware, USB-Treiber Windows 32/64, C++ API für neu entwickelte
Hardware auf Cypress FX2 Basis
Sprachen: C++, C
Tools: MS WDK Win 7, WinDbg m. Kernel-Debugger, SDCC, FX2Lib, libusb-win32, Visual
Studio 2008, Enterprise Architect
Projektbeschreibung:
Für eine neu entwickelte Hardware mit 5 Megapixel CCD an USB 2.0 wurde zunächst die Firmware für den Cypress FX2 Baustein in C entwickelt.
Die Hardware ist für den Einsatz in einem industriellen Spektroskopiemodul vorgesehen, um PET-Gegentände von solchen aus anderen Materialien zu trennen.
Nachdem sich herausstellte, dass der Cypress-USB2.0-Universaltreiber die zeitlichen Anforderungen nicht erfüllt, wurde nach Alternativen gesucht. Versuche mit dem OpenSource-Projekt libusb brachten zunächst keine Verbesserungen, lieferten aber die Grundlage für einen eigenen USB-Treiber.
Der entstandene USB-Treiber organisiert die isochrone Übertragung der Bilddaten im Mehr-Puffer-Betrieb per Scatter-Gatter-Liste.
Der Treiber realisiert weiterhin eine Kontrolle/Korrektur der Bilddaten in Echtzeit. Die Puffer können dabei systemweit durch verschiedene Prozesse genutzt werden.
C++-Interface-Software mit Beispiel. u. Testapps wurden ebenfalls erstellt.
Zeitraum: 12.08 - 01.10
Branche: Medizintechnik
Firma: Siemens Healthcare, CO ME, Erlangen
Projekt: C-FD: Image Chain, Calibration/Conditioning of high speed, high resolution flat detector X-Ray images
Sprachen: C++
Tools: IBM Rhapsody, QNX Neutrino, XILINX Virtex 5 (SoC PPC)
Projektbeschreibung:
Ein Board zur Vorverarbeitung digitaler XRay-Bilder von einem Varian-Flachdetektor, basierend auf 2 Xilinx
Virtex 5 FPGAs wurde entwickelt.
Das Board hat neben den Bildalgorithmen im FPGA auch Funktionen zur Ansteuerung der Hardware, Kalibrierung,
Service.
Die komplette Steuerung der Algorithmen, Kommunikation und Kontrolle der Hardware geschieht in einer Software
auf einem der beinen PowerPC-Kerne.
Die Software war unter QNX Neutrino 6 zu entwickeln.
Aufgabe 1:
Test und Inbetriebnahme der FPGA-Firmware und Hardware, QNX-BoardSupport-Package anpassen, Konzept und Erstellung der Software nach Vorgaben im Lastenheft.
Die SW-Entwicklung erfolgte im Zweierteam mit zusätzlichem Tester
Aufgabe 2:
Portierung des Codes zum Ansteuern des Detektors von MS Windows nach QNX. Der C-Code wurde vom Detektorhersteller bereitgestellt.
Zeitraum: 05.07 - 11.08
Firma: Siemens Medical Solutions, CO ME
Projekt: SiLiCon: Embedded control unit for Lithotripter based on SoC with QNX Neutrino
Sprachen: C++
Tools: Rhapsody, QNX Neutrino, XILINX Virtex 4 (SoC PPC)
Projektbeschreibung:
Eine vorhandene C++Middleware musste erweitert und an das Lithotripter-Projekt angepasst werden.
- Steuermodul für den Lithotripter auf Basis eines SoC mot XILINX Virtex 4
- Basissystem und Interface zu Hardware/Firmware mit QNX 6.3.0 und BSP
- Aufsetzen der kompletten Build-Umgebung, Loader-Umgebung
- HAL: Abstraction Layer für den Endkunden angepasst u. weiter entwickelt
- HW-Treiber, Inbetriebnahme der FPGA Module
Zeitraum: 03.07 - 06.07
Firma: Siemens Medical Solutions, CO ME
Projekt: ACCEL - Linear Accelerator (OCS)
Sprachen: C, Assembler
Tools: Keil, 8051, Hardware, 8051-ASM, 8051, Keil, Microchip-Demoboard, HW Inbetriebnahme, 8051-Peripherie
Projektbeschreibung:
Für die alte Anlage mussten neue HW-Komponenten entwickelt werden, auf denen die alte SW unverändert läuft. Um dies sicherzustellen, wurden einige Testprogramme benötigt.
- Entwicklung von Software zur Unterstützung der HW-Portierung
- Integration der vorhandenen SW auf neuer HW
- Inbetriebnahme-Tools, Protokollanalyse RS485
Zeitraum: 08.06 - 03.07
Firma: Siemens Medical Solutions, CO ME
Projekt: MCM4: production test system for 6 axis motor control unit
Sprachen: C++
Tools: QNX Neutrino, LM629, ClearCase
Projektbeschreibung:
Die vorhandene Productiontest-Umgebung für die Baugruppe musste so erweitert werden, dass sie einen vereinzelt auftretenden Exemplarfehler des eingebauten Natianl LM629 MotorController detektieren kann.
Aufgabe:
- Analyse, wie sich der Fehler äußert, damit er im Prüfumfeld detektiert werden kann.
- Umbau der Board-Software, Erweiterung um Analysefunktionen.
- Erweiterung der Testsoftware auf dem PC, Entwicklung neuer Testsequenzen.
Zeitraum: 06.06 - 12.08
Firma: TIRA GmbH Schalkau, PG Auswuchttechnik
Projekt: balancing measurement and control system with ethernet interface. HW and SW development.
Sprachen: C++, C, Assembler
Tools: Microchip dsPIC33, Analog Devices ADAU, Lattice FPGA, Visual Studio 2008
Projektbeschreibung:
Entwicklung der SW-Komponenten für die neue Messelektronik:
- USB 1.1-Treiber für 8MBit-Datenstrom
- Firmware für das Board zum Aufbau des Datenstroms
- Programmierung der ADAU-DSPs mit grafischer Umgebung von ADI (Sigma-Studio)
- Interface-Software in C++
Zeitraum: 09.05 - 05.06
Firma: Siemens Medical Solutions, CO ME
Projekt: Mammomat OHAPI: PCI driver and DLL API for High Resolution X Ray Detector
Sprachen: C++, C
Tools: MS DDK, MS Visual Studio 6.0, SUN Solaris
Projektbeschreibung:
Anbindung des hochauflösenden Mammomat-OPTDIMA-Sensors an die Windows-Software. Lief zuvor auf SUN Solaris.
Aufgabe:
Inbetriebnahme, Fehlersuche, Erweiterung des PCI-Treibers zum FrameGrabber-Board, Implemetierung von Algorithmen in der DLL, Inbetriebnahme.
Zeitraum: 09.04 - 05.05
Firma: Siemens Medical Solutions, CO ME
Projekt: Office Impression Scanner, DLL API to 3D Scanner controller
Sprachen: C++
Tools: MS Visual Studio 6.0
Projektbeschreibung:
Erstellung einer API-DLL für Hardwareansteuerung überr serielle Schnittstelle.
Aufgabe:
Implementierung der Funktionen nach Lastenheft. Weiterentwicklung des Konzepts, Inbetriebnahme.
Zeitraum: 08.04 - 03.06
Firma: TIRA GmbH Schalkau, PG Auswuchttechnik
Projekt: Portierung u. Weiterentwicklung einer SW zur
Steuerung/Messung/Auswertung eines Unwuchtmesssystems
f. Auswuchtmaschinen
Sprachen: C++
Tools: MS DDK, Borland C++ Builder, GNU GETTEXT, po edit, Firebird Datenbank
Projektbeschreibung:
Die Software dient der Bedienung, Messwertverarbeitung, Datenhaltung und Visualuísierung an
industriellen Auswuchtmaschinen.
Zur Messwertaufnahme wird eine ISA-Karte verwendet. Es existiert bereits eine vollständige
C-Software unter DOS, deren Funktiuonalitäten nach und nach ins Windows-Programm portiert werden
müssen.
Aufgabe 1:
Mitkonzeption, Implementation u. Integration der Windows-Software
Aufgabe 2:
Entwicklung eines Hardware-Treibers zur Kommunikation mit der ISA-Karte. Dies war bis Windows 2000 mittels eines universellen Treibers geschehen, der seit XP nicht mehr funktioniert.
Aufgabe 3:
Konzept u. Implementierung eines Multi-Language-Konzepts. Unter Verwendung von GNU Gettext umgesetzt.
Aufgabe 4:
Konzept und Umsetzung für Vernetzung mehrerer Maschinen. Auf Basis der Firebird-Datenbank realisiert.
Zeitraum: 10.03 - 07.04
Firma: Fraunhofer Anwendungszentrum Systemtechnik Ilmenau
Projekt: Anpassung einer Software zur Planung, Projektierung, Berechnung,
Bewirtschaftung von Wassernetzen, Kommunikationsschnittstelle mit
Leitsystem SAT250
Sprachen: C++, Delphi
Tools: SAT250, SAT230, Oracle 9, Delphi 5, Windows 2000 Server
Projektbeschreibung:
Ankopplung des Delphi/Oracle Systems an das SAT250 SCADA System
Zeitraum: 08.02 - 07.03
Firma: VATECH SAT Systeme f. Automatisierungstechnik
Projekt: Kopplung Smallworld GIS mit einem Prozeßoptimierungsprogramm
(HydroDYN) und Leitsystem (SAT230).
Schnittstelle zum Datenexport aus der GIS-Datenbank.
Sprachen: C++, Delphi, Smallworld Magik
Produkte: SAT230, Oracle9i, Visual C++, Smallworld GIS, HydroDYN
Projektbeschreibung:
Verknüpfung der 3 Systeme unter einer Bedienoberfläche
Zeitraum: 10.98 - 09.99
Branche: Automation
Firma: ICOM Automation GmbH Ilmenau
Projekt: MPI Kommunikationsakopplung via USB
Sprachen: C++, C
Tools: MS DDK, Visual C++ 6.0, Keil, 8051 InCircuit Emulator, HP LogicAnalyzer
Projektbeschreibung:
Eine eigene, 8051 basierte Hardware zur Ankopplung des Siemens MPI Bus mit USB Interface war zu entwickeln. Auf der Hardware werkelt eine National USB-Bridge.
USB-Treiber und Interface-SW in C++.
Besondere Herausforderung war das Timung des MPI-Busses, weswegen ein trickreiches Zusammenspiel zwischen Firmware und USB-Treiber nötig war.
Zeitraum: 01.02 - 07.02
Firma : Fraunhofer Anwendungszentrum Systemtechnik Ilmenau
Projekt : universelles Interface (COM, Basic, C, C++) für ein API (in Pl/SQL)
zum Datenaustausch mit einem Prognosesystem.
Tools: Oracle 8 Developer, MS Visual C++ 6.0, Windows 2000, MS
*******
Zeitraum: 1996 - 1999
Firma: SAT GmbH (VA Tech, dann SEA)
Projekte: SSI Systemtreiber f. Windows NT/2000/XP
Sprachen: C++, C
Tools: MS DDK, Visual Studio, SAT230,
Projektbeschreibung:
Ein Kerneltreiber für Windows NT4.0 (und folgende) wurde entwickelt, um ein proprietäres, zeitkritisches serielles Protokoll auf PC-Hardware zu treiben.
Der systemeigene serial.sys wird an dem gewünschten COM-Port durch den SSI-Treiber ersetzt. Dieser arbeitet telegrammbasiert und bedient die darüberliegende Anwendung. Auf der Leitung wird das Timing überwacht um Lücken und Wiederholungen korrekt zu erkennen.
Als Basis für die Entwicklung wurde ein Treiber-Framework in C++ verwendet, welches 1996 im
"Microsoft System Journal" vorgestellt wurde.
Zeitraum: 1994 - 2002
Firma: SAT GmbH (VA Tech, dann SEA)
Projekte: Z(1)80-Konverter f. serielle Protokolle
Tools: Z80-Assembler, Z-World-Tools, Visual Studio,
Viele Projekte mit ähnlicher Thematik: Wandlung serieller Kommunikationsprotokolle bzw.
anderer digitaler Datenquellen, um alte bis historische Kommunikationsprotokolle an neue
SAT Fernwirksysteme anzukoppeln.
Dazwischen Mitarbeit bei Projektierung, Aufbau und Wartung der Anlagen.
Der Softwareentwickler arbeitet schwerpunkmäßig mit C++ und C#. Er hat jahrelange Erfahrungen in verschiedenen Systemen (Embedded, PC, verschiedene Hardware, OS, SW-Architekturen).
Im GUI-Bereich verwendet er bevorzugt WPF, auf Wunsch auch Windows Forms.
Desktop-Entwicklung hauptsächlich unter MS Windows.
Vertraut mit verschiedenen Controllern und Micro-OS, u.a. DSP von TI sowie Analog Devices (Blackfin), Power PC, x86, C167, Xilinx, ARM).
Spezielle Erfahrungen hat der Entwickler bei der hardwarenahen Integration von Softwarekomponenten in Umgebungen.
Model Driven Architecture mit Enterprise Architect.
uClinux, Android
keine Anmerkungen.
"Der Consultant überzeugte durch schnelle Einarbeitungszeit bei Projektstart und eigenständige Entwicklung von SW-Modulen. Hervorzuheben ist seine sichere Anwendung der Tools innerhalb des Projekts. Er zeichnete sich aus durch hohe Flexibilität bezüglich Standort und Verfügbarkeit aus und integrierte sich gut in das Projektteam."
— Projekt eGK-G2 COS Softwareentwicklung, 04/13 - 03/14
Referenz durch Abteilungsleiter embedded SW, Münchner Unternehmen, 10.000 MA, vom 12.03.14
"[...] Die Arbeit des Consultant zeugt sowohl in der Qualität als auch in der Quantität von hoher Professionalität und erfolgte stets zu unserer vollsten Zufriedenheit. "
— Projekt XP Image Chain, Harmonized Image Chain, S1, RFU, 09/11 - dato
Referenz durch Teamleiter, Siemens AG, Healthcare Sector, vom 11.03.13