Technisch anspruchsvolle Softwareentwicklungen im Windows Umfeld
Aktualisiert am 31.07.2020
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 01.08.2020
Verfügbar zu: 100%
davon vor Ort: 100%
C#
c++
WPF
Qt Framework
XML
Industrie 4.0
IoT
Deutsch
Muttersprache
Englisch
Fließend
Französisch

Einsatzorte

Einsatzorte

Deutschland

Deutschland: Bevorzugt in der Rhein Main Neckar Region

nicht möglich

Projekte

Projekte

5 Monate
2017-05 - 2017-09

Anbindung einer Maschine an die ThingWorx IOT-Plattform von PTC

Ein vollautomatisiertes Hochregallager soll seinen Zustand in der Cloud widerspiegeln. Dafür müssen ca. 200 verschiedene Parameter an die Plattform übertragen werden. Weiterhin soll es einem Servicetechniker über die Cloud ermöglicht werden, Fernwartung, Diagnose und Software-Updates durchzuführen. Hierzu wurde von mir eine Anbindung der Maschinen an die Iot-Plattform entwickelt. Die Kommunikation erfolgt über eine bidirektionale REST Kommunikationsschnittstelle. Somit wurde sowohl ein REST-Service implementiert, als auch eine REST-Client Schnittstelle. Die ausgetauschten Datenpakete sind Json formatiert.

Verwendete Technologien:

  • C#
  • REST-Full Kommunikation
  • Json, Newtonsoft
  • ThingWorx IOT Platform
  • Tunneling VPN, SSH
  • Git
  • Confluence
Industrie
Germersheim
7 Monate
2016-10 - 2017-04

Entwicklung einer Auswertesoftware zur grafischen Darstellung von Messreihen in 2D Diagrammen und zur Durchführung von Berechnungen auf diesen Datenreihen

Eine Chromatografie-Anlage liefert im Rahmen einer Messung unterschiedliche Datenreihen. Diese Daten werden unter Verwendung eines OPC Servers von den Micro-Controllern der Anlage entgegengenommen, und in einer SQ-Lite Datenbank gespeichert.

Verschiedene Kurvenzüge von Messungen auf einer Messanlage können dann anderen Messreihen in einem XY Diagramm gegenübergestellt werden.

Messreihen werden numerisch differenziert oder integriert, um zum Beispiel die Flächen zwischen verschiedenen Kurvenzügen zu ermitteln.

Aufgrund dieser Datenbasis werden Berechnungen durchgeführt wie:

Peak Integration, Konzentrationsbestimmung, HETP-Bestimmung oder Transitionsanalyse.

 

Verwendete Technologien:

  • C#
  • WPF, XAML, PRISM, Controls für WPF
  • XML
  • SCI Chart Modul für WPF
  • OPC Server
  • Sq-Lite Datenbank
  • Kommunikation über Tcp/Ip mit der C++ Software eines Embedded Systems
Medizintechnik
Hofheim
4 Monate
2016-06 - 2016-09

Entwicklung eines graphischen Editors, um beliebige XML Files zu editieren

Um eine komplexe Software zur Maschinensteuerung zu parametrieren, müssen Einträge in ca. 60 verschiedenen XML Files vorgenommen werden. Die Files unterliegen dabei keinem Schema. Entwickelt wurde eine XML basierte Beschreibungssprache, um die Struktur der verschiedenen Files aufzuschlüsseln, und ein graphischer Editor, der es ermöglicht, die verschiedenen Inhalte über Bedienelemente verschiedenen Typs zu editieren. Hierfür mussten WPF Editoren (Controls) geschaffen werden, um Eingaben verschiedenen Typs zu ermöglichen

 

Folgende Bedienelemente wurden angeboten:

  • Texteingabe
  • numerische Eingabe, (double, int) mit Range-Definition
  • Checkbox
  • Combobox
  • File Selector
  • Liste
  • Tabelle

 

Über die Software ist es möglich, ausgewählte Inhalte aller XML-Files auszulesen, zu editieren und die Änderungen zurückzuschreiben.

 

Verwendete Technologien:

  • C#
  • WPF, XAML, PRISM
  • XML
Industrie
Rödermark
3 Monate
2016-03 - 2016-05

Entwicklung einer Client-Server Applikation, um hereinkommende E-Mails und Faxe in den kundeneigenen Workflow der Dokumentenverarbeitung zu integrieren

Es wurde eine klassische Client-Server Anwendung entwickelt, die hereinkommende Mails entgegennimmt, und nach Ansicht durch die Benutzer entsprechend weiterverarbeitet.

Anhänge wurden aus sämtlichen gängigen Image-  sowie Office-  Formaten in PDFs und in Tiffs gewandelt.

Eine beliebige Anzahl von Clients kann sich an dem Server anmelden, um hereinkommende Mail zu analysieren, und eine Abarbeitungsregel festzulegen.

Entsprechend dieser Regel verarbeitet der Server dann die jeweilige Mail, und protokolliert sie in einer SQL Datenbank.

C# WPF XAML PRISM WCF MS Sql Server 2008 Microsoft Exchange Server
Kunde aus der Versicherungsbranche
Frankfurt Main
3 Monate
2016-01 - 2016-03

Machbarkeitsstudie, um wechselnde Slaves, die an einem EtherCAT Bus hängen zu erkennen, und dynamisch in das Gesamtsystem zu integrieren

C# EtherCAT Acontis / Beckhoff / König
Kunde aus der Automobilbranche
Darmstadt
2 Monate
2015-11 - 2015-12

Entwicklung einer Software, um Unit Tests von PLCs durchzuführen

Es wurde eine Software entwickelt, um für beliebige PLCs Unit Tests durchführen zu können. Dazu wird die Schnittstellenbeschreibung zur SPS aus AWL Dateien ausgelesen. Es können Sequenzen mit einer beliebigen Anzahl von Steps definiert werden. In jedem Step werden auf der SPS Variablen gesetzt, und es wird überprüft, ob andere Variablen ihren Wert daraufhin wie vorgesehen ändern

C# WPF XAML PRISM Linq OPC Automation
Kunde aus der Automobilbranche
Bietigheim-Bissingen
11 Monate
2014-12 - 2015-10

Entwicklung einer Software, um Regelkreise zu optimieren

Es wurde eine Software entwickelt, um in einem Regelkreis Soll-Signale mit Ist-Signalen zu vergleichen. Aus den gemessenen Signalströmen wurden über eine in MatLab entwickelte Komponente die Übertragungsfunktion ermittelt und in einem Bode-Diagramm (Amplituden-Phasen Diagramm) dargestellt. Durch Veränderung der PID Anteile des Reglers, kann dieser Regler nun so getunt werden, dass dieser in der Lage ist, über einen hohen Frequenzbereich hinweg das Sollsignal mit entsprechender Güte nachzufahren.

C# WPF Linq COM Team Foundation Server Internationalisierung Bugzilla
Kunde aus der Automobilbranche
Darmstadt
5 Monate
2014-07 - 2014-11

Entwicklung einer Software um Belastungen, die während einer Messfahrt auf einer Teststrecke an verschiedenen Sensoren auftreten, miteinander zu vergleichen

Es werden die Datenströme der verschiedenen Kanäle analysiert, und aus ihnen werden Belastungskennziffern für verschiedene Fahrabschnitte ermittelt.

Die Ergebnisse der Messfahrt werden in einer SQLite Datenbank abgelegt.

 

Die Datenströme werden in einem Diagrammmodul visualisiert.

Über Whisker-Plots können die Ergebnisse der neuesten Messfahrt mit bestehenden Ergebnissen anderer Fahrten verglichen werden. Dadurch ist es möglich, die im Rahmen der Testfahrt aufgezeichneten Ergebnisse sofort auf ihre Plausibilität hin zu untersuchen.

C# Linq SQLite Microsoft Chart Modul Microsoft Solver Foundation
Kunde aus der Automobilbranche
Wolfsburg
3 Jahre 3 Monate
2011-05 - 2014-07

Mitarbeit bei der Erstellung einer Steuerungssoftware für Automobilprüfstände

Im Rahmen dieser Aufgabe habe ich diverse Module einer komplexen Software entwickelt, über welche Automobilprüfstände konfiguriert und betrieben werden.

Einige Aufgaben waren:

  • Erstellung einer Fernbedienung auf einem Windows Embedded CE System zur Fernsteuerung der Prüfstandssoftware über Tcp/Ip.
  • Erstellung einer WPF basierten Software zur Erstellung von Prüfstandsdefinitionen. (Eigenverantwortliche Komplettentwicklung)
  • Erstellen eines Modules, um die Datenströme der Anlage entgegenzunehmen, aufzubereiten (downsamplen, filtern), an andere Applikationen weiterzureichen und zu speichern.
  • Entwicklung einer Kommunikationsschnittstelle, um verschiedene Prozesse (auch rechnerübergreifend) miteinander zu vernetzen. (Ähnlich WCF)
  • Einbindung von externen Signalquellen, die Signale über CAN oder über EtherCAT liefern

C# WPF Linq COM CAN / EtherCAT Windows Embedded Interprozesskommunikation über Tcp/Ip Team Foundation Server Internationalisierung Bugzilla
Kunde aus der Automobilbranche
Darmstadt
8 Monate
2010-09 - 2011-04

Entwicklung einer Bediensoftware zur Ansteuerung und Parametrierung von Mess-Sensoren über den CAN Bus

Ziel der Aufgabe war die Erstellung einer Software, die mit einem Messwert-Erfassungssystem kommuniziert. Die Software soll den momentan anliegenden Messwert anzeigen, die Sensoren konfigurieren und Messwerte einzelner Sensoren in zugeordneten Messwertdateien abspeichern.

Großen Wert wurde bei dieser Aufgabe auf die Entwicklung einer allgemeingültigen (abstrakten) Schnittstelle gelegt, weil am CAN Bus die unterschiedlichsten Gerätetypen angeschlossen sein können, die alle angesprochen werden sollen.

C# WPF Linq Kommunikation mit CAN Bus über PCan Internationalisierung Reflection Interfaces Print Routine
Kunde aus der Messtechnik
Darmstadt
7 Monate
2010-04 - 2010-10

Entwicklung eines Navigationssystems für Piloten

Im Rahmen der Aufgabe wurde eine Applikation als HMI Interface entwickelt, die mit einer Hintergrundanwendung kommuniziert, welche OpenGL Grafiken und diverse weitere für die jeweilige Flugphase relevante Informationen bereitstellt.

Bei diesem Projekt konnte ich meine Erfahrungen in Systementwurf, Systemarchitektur und anspruchsvoller Gui Entwicklung (HMI) voll ausspielen, wurde doch die Aufgabe von mir umfassend und eigenverantwortlich bearbeitet.

C++ Qt Qt Stylesheets Qt QDesignerCustomWidgetInterface Qt Animationen XML Open-GL Multithreading Steuerung der Bedienoberfläche über Gestures Tortoise
Kunde aus der Avionik
Neu Isenburg
2 Jahre 1 Monat
2008-04 - 2010-04

Entwicklung eines Systems zur Festigkeitsanalyse sicherheitskritischer Bauteile im Fahrzeug

In der Wöhleranalyse werden eine Reihe von gleichen Bauteilen mit unterschiedlicher Last beaufschlagt. Gemessen wird die Anzahl der Lastwechselspiele bis zum Bruch. Aus diesen Messwerten wird über ein statistisch sehr aufwändiges Verfahren eine Aussage über das Ausfallverhalten der Bauteile im Einsatz gewonnen. Einige Schlagworte zur implementierten Mathematik sind:

 

  • Inverse lineare Regression
  • Treppenstufenverfahren
  • Maximum Likelihood Methode
  • Kaplan Meier Methode
  • Einbinden von Lastkollektiven
  • Berechnen von Sicherheitsfaktoren

 

Die statistischen Ergebnisse werden in Form von 2D Diagrammen und charakteristischen Kennwerten in Wertefeldern dargestellt.

Als Container wird hierzu Excel verwendet.

So können die Testwerte in Excel Tabellen gehalten werden, und sind dynamisch mit der Analyse verknüpft. (Ähnlich wie Excel Diagramme) Statistische Kennwerte werden wieder zu Excel übertragen, und können dort als Ausgangsdaten für weitere Berechnungen verwendet werden.

Zur Berechnung der sehr komplexen statistischen Zusammenhänge wurde die boost library verwendet.

C++ boost library MFC ATL XLL Named-Pipe prozessübergreifend zugängliche Speicherblöcke Microsoft .NET Office Tools Excel Automation Interface
Kunde aus der Automobilbranche
Wolfsburg
2 Jahre 7 Monate
2007-04 - 2009-10

diverse Projekte

System Entwicklung einer Bediensoftware zur Ansteuerung von Mess-Sensoren über ein Windows Mobile

 

Beschreibung:

Ziel der Aufgabe war die Erstellung einer Software, die mit einem Messwert-Erfassungssystem kommuniziert. Die Software soll den momentan anliegenden Messwert anzeigen, die Sensoren konfigurieren und Messwerte einzelner Sensoren in zugeordneten Messwertdateien abspeichern.

 

Verwendete Technologien:

  • C# .NET Compact Framework für Windows Mobile Devices
  • Kommunikation über Bluetooth

 

Entwicklung einer API zur Messwerterfassung

 

Beschreibung:

Ziel der Aufgabe war die Erstellung einer C++ Dynamic Link Library, die folgende Aufgaben übernimmt.

  • CAN Bus Kommunikation zu verschiedenen Mess-Sensoren herstellen.
  • Für die Kommunikation notwendige Parametrierungen dieser Sensoren vornehmen.
  • Messungen starten/stoppen und Messwerte in Echtzeit empfangen, puffern und auf Anfrage herausreichen.

 

Die Schnittstelle ist in ein ATL Objekte eingebettet, damit die Funktionalität auch von C# Projekten aus genutzt werden kann.

 

Verwendete Technologien:

  • CAN Bus Kommunikation
  • C++, ATL, STL
  • C#
  • Multithreading

 

Software-Assistent für digitale Ladungsverstärker

 

Beschreibung:

Ziel der Aufgabe ist die Erstellung einer Software, die mit einem digitalen Ladungsverstärker über TCP/IP kommuniziert. Die Software soll die Konfigurierung des verbundenen Gerätes ermöglichen, den momentan anliegenden Messwert anzeigen (Einzelwert und als Linienschreiber), und die Messwerte mit einer festen Frequenz in Messwert-Dateien abspeichern.

 

Verwendete Technologien:

  • C#, WPF
  • TCP/IP, UDP
  • Multithreading
Messtechnik
Darmstadt
6 Jahre 10 Monate
2003-01 - 2009-10

diverse Projekte

Für diesen Kunden war ich insgesamt 7 Jahren in diversen Projekten im Einsatz. Für Entwicklungen im Bereich Medizintechnik (gerade auch für den amerikanischen Markt) gelten strenge Vorgaben der FDA. Sämtliche Projekte, die ich hier durchgeführt habe, unterlagen der Zertifizierung als Medizinprodukte, und sind daher an einen entsprechenden QM Prozess gebunden.

 

Exemplarisch seien hier die folgenden Projekte gesondert erwähnt:

  • Mitarbeit an der hauseigenen Automatisierungssoftware zur Definition und Durchführung von komplexen

biochemischen Analyseverfahren.

  • Im Rahmen der Entwicklung konnte ich mein Know-How in der Automatisierungstechnik und auch in der

Entwicklung von komplexen GUI Komponenten mit der MFC einbringen.

 

Verwendete Technologien:

  • MS Visual C++
  • MFC
  • XML

 

3D Simulation der Pipettier-Roboter

 

Beschreibung:

Diese wird, wie der echte Roboter, von der Automatisierungssoftware  über RS-232 Kommandos angesteuert und reagiert in allen Details identisch. Nur so war es möglich, die Automatisierungssoftware auf effiziente Weise zu entwickeln und zu testen.

Die Simulation wurde ursprünglich unter MCF mittels OpenGL entwickelt, sie wurde aber inzwischen von mir  auf C# portiert, wobei als Grafikengine jetzt WPF (Direct-X) verwendet wurde.

 

Verwendete Technologien:

  • C#
  • WPF
  • Direct-X
  • C++
  • MFC
  • RS-232
  • TCP/IP
  • Named Pipe
  • OpenGL

 

Einbindung von ca. 40 verschiedenen Laborgeräten von Fremdfirmen in die Automatisierungssoftware

 

Beschreibung:

Um komplizierte biochemische Analysen durchzuführen, ist es je nach Aufgabenstellung oftmals unumgänglich, Spezialgeräte auch von Fremdfirmen in den Prozessablauf zu integrieren.

Unter anderem wurde von mir die Ansteuerung sämtlicher Analysegeräte zur vollautomatischen Erstellung eines genetischen Fingerabdrucks realisiert. (Inclusive der Ansteuerung der Roboter, die die Proben  zu den verschiedenen Arbeitsstationen transportieren)

 

Hierzu bedurfte es eines vielfältigen Wissens über die unterschiedlichsten Kommunikationsprotokolle wie beispielsweise:

  • Direkte Einbettung einer C++ oder C# DLL als Beistellung des Hardwarelieferanten
  • TCP/IP
  • RS 232 / 485
  • USB
  • COM, DCOM, COM+, Remoting

 

Weiterhin wurden von mir Mitarbeiter aus den USA geschult, um selber solche Integrationsaufgaben vornehmen zu können.

 

Verwendete Technologien:

  • C#
  • Diverse Kommunikationstechnologien
  • Zertifizierung der Treiber als sogenannte „General Purpose“ Anwendungen für den medizinischen Sektor
Medizintechnik
Wiesbaden
2 Jahre 2 Monate
2002-01 - 2004-02

diverse Projekte

Erstellen einer Rainflow-Engine

 

Beschreibung:

Erstellt wird eine Software, die über mehrere Kanäle Rainflow - Matrizen berechnet und die Berechnungsergebnisse in Form von Files auf den Datenträger schreibt.

 

Verwendete Technologien:

  • C++
  • ATL

 

Erstellen eines Programmes zur Durchführung von Koordinatentransformationsberechnungen

 

Beschreibung:

Gegeben sind die Beschleunigungskurven a1(t), a2(t), a3(t) von drei in einer Ebene liegenden Sensoren.

Berechnet werden die Beschleunigungskurven für n beliebige auf dieser Ebene liegenden Punkten.

Um Schwingungen eines Motors zu simulieren, soll ein im Motorschwerpunkt angebrachtes Koordinatensystem um eine seiner Achsen oszillieren. Diese Schwingung ergibt bezogen auf ein anderes Koordinatensystem, welches an anderer Stelle beliebig im Raum liegt (z.B. an der Motoraufhängung angebracht ist) eine Schwingung um alle 6 Freiheitsgrade. Diese 6 Schwingungsanteile sollen berechnet werden, wenn die Lage der beiden Koordinatensysteme zueinander vorgegeben ist

 

Verwendete Technologien:

  • C++
  • MFC

 

Modul zur Berechnung der Stellkurven der Hydraulikzylinder eines Prüfstandes um eine Masse (Fahrzeug) in vorgegebener Weise zu beschleunigen.

 

Beschreibung:

Bei der Iteration an einem realen Katapult wird die Soll - Ist Abweichung über einen tatsächlichen Testlauf am Katapult ermittelt. Bei der Iteration am Modell wird das Katapult durch ein mathematisches Modell beschrieben, und der Ist - Wert wird über dieses Modell bestimmt. In beiden Fällen wird aus dem Soll - Wert über ein inverses Modell ein Drive - File berechnet.

Das eigentliche Rechenmodell wird in Matlab (Simulink) definiert. Matlab erzeugt für das Modell C Sourcen, die in das Modul eingebunden werden. Dieses Rechenmodell berücksichtigt alle maschinendynamisch relevanten Faktoren von Katapult und Prüfkörper. Dazu notwendige variable Parameter werden aus einem File ausgelesen und an das Rechenmodell übergeben.

 

Verwendete Technologien:

  • C++
  • MFC
  • Einbindung von MathLab Code
Automobilbranche
Darmstadt

Aus- und Weiterbildung

Aus- und Weiterbildung

Dipl. -Ing TU Maschinenbau (und für die Suchmaschine: Dipling, Studium, Ingenieur, Engineer, Master, Elektronik, Elektrotechnik, Elektrik, Physik, Technik)

Kompetenzen

Kompetenzen

Top-Skills

C# c++ WPF Qt Framework XML Industrie 4.0 IoT

Produkte / Standards / Erfahrungen / Methoden

.NET Framework
ATL
boost library
Bugzilla
CAN Bus, RS 232 / 485, TCP/IP, ISA Bus
COM
Direct-X (3D Animationen unter WPF)
EtherCAT: Acontis / Beckhoff / König
Excel Automation Interface
GUI Entwicklungen (WPF/XAML, Forms, Qt, MFC)
HMI Entwicklungen
Interfaces
Internationalisierung
Interprozesskommunikation über Tcp/Ip
MFC
Microsoft .NET Office Tools
Microsoft Chart Modul
Microsoft Exchange Server
Microsoft Foundation Classes
Microsoft Solver Foundation
MS Visual C++
Multi-Threading
Named-Pipe
OLE, ActiveX, COM, DCOM, ATL, Remoting
oo-Technologien
OPC Automation
Open-GL
Open-GL (3D Animationen unter C++)
Print Routine
PRISM
prozessübergreifend zugängliche Speicherblöcke
Qt
Qt Animationen
Qt QDesignerCustomWidgetInterface
Qt Stylesheets
Qualitätsmanagement für Medizinprodukte
Reflection
SqLite, MySQL
Steuerung der Bedienoberfläche über Gestures (Touch)
STL
Systementwurf / Systemarchitektur
Team Foundation Server
Visual SourceSafe, PVCS, Tortoise, Source Anywhere
WCF
WCF, WF
Windows Embedded
Windows Forms, WPF
WPF
XAML
XML
XML, XSD, WPF (XAML), ASP (HTML)

Zusammen mit meinem Bruder habe ich 1995 eine Firma ( Name auf Anfrage) gegründet. Seit dieser Zeit sind wir beide im Bereich ?Technisch anspruchsvolle Softwareentwicklung unter Windows? tätig. Insofern können wir bei Bedarf auch kurzfristig zwei Ressourcen zur Verfügung stellen.

Natürlich haben wir auch oft auf Tagesbasis bei unseren Kunden vor Ort entwickelt, meist aber handelte es sich bei den Projekten um abgeschlossene Aufgaben, die wir in unserem Büro hier in Darmstadt in Eigenregie durchführten. So konnten wir neben der eigentlichen Softwareentwicklung unsere Qualitäten im Systementwurf, Projektmanagement und im Qualitätsmanagement ausspielen. Wir sind in den nunmehr mehr als 20 Jahren unseres Bestehens nur für wenige ausgesuchte Kunden tätig geworden. Das daher, weil diese Kunden uns über den gesamten Zeitraum unseres Bestehens in unzähligen Einzelprojekten voll ausgelastet haben. Insofern kann ich im Rahmen des Profils nur einen unvollständigen Überblick über die durchgeführten Projekte geben.

Betriebssysteme

Plattformübergreifende Entwicklungen
Windows
Windows CE

Programmiersprachen

C#
C++
Linq
Qt

Datenbanken

MS Sql Server 2008
MySQL
SQLite
SqLite

Datenkommunikation

Bus
CAN
Ethernet
Tcp/Ip UDP
RS232
TCP/IP
Winsock

Hardware

Bus
CAN
embedded Systeme
Mobile, CE, Qt
EtherCAT
Industrie-Roboter
Bosch Rexroth
Messgeräte
PC

Branchen

Branchen

Industrie
Medizintechnik
Avionik, Luftfahrt
Automotive, Automobil
Maschinenbau

 

Einsatzorte

Einsatzorte

Deutschland

Deutschland: Bevorzugt in der Rhein Main Neckar Region

nicht möglich

Projekte

Projekte

5 Monate
2017-05 - 2017-09

Anbindung einer Maschine an die ThingWorx IOT-Plattform von PTC

Ein vollautomatisiertes Hochregallager soll seinen Zustand in der Cloud widerspiegeln. Dafür müssen ca. 200 verschiedene Parameter an die Plattform übertragen werden. Weiterhin soll es einem Servicetechniker über die Cloud ermöglicht werden, Fernwartung, Diagnose und Software-Updates durchzuführen. Hierzu wurde von mir eine Anbindung der Maschinen an die Iot-Plattform entwickelt. Die Kommunikation erfolgt über eine bidirektionale REST Kommunikationsschnittstelle. Somit wurde sowohl ein REST-Service implementiert, als auch eine REST-Client Schnittstelle. Die ausgetauschten Datenpakete sind Json formatiert.

Verwendete Technologien:

  • C#
  • REST-Full Kommunikation
  • Json, Newtonsoft
  • ThingWorx IOT Platform
  • Tunneling VPN, SSH
  • Git
  • Confluence
Industrie
Germersheim
7 Monate
2016-10 - 2017-04

Entwicklung einer Auswertesoftware zur grafischen Darstellung von Messreihen in 2D Diagrammen und zur Durchführung von Berechnungen auf diesen Datenreihen

Eine Chromatografie-Anlage liefert im Rahmen einer Messung unterschiedliche Datenreihen. Diese Daten werden unter Verwendung eines OPC Servers von den Micro-Controllern der Anlage entgegengenommen, und in einer SQ-Lite Datenbank gespeichert.

Verschiedene Kurvenzüge von Messungen auf einer Messanlage können dann anderen Messreihen in einem XY Diagramm gegenübergestellt werden.

Messreihen werden numerisch differenziert oder integriert, um zum Beispiel die Flächen zwischen verschiedenen Kurvenzügen zu ermitteln.

Aufgrund dieser Datenbasis werden Berechnungen durchgeführt wie:

Peak Integration, Konzentrationsbestimmung, HETP-Bestimmung oder Transitionsanalyse.

 

Verwendete Technologien:

  • C#
  • WPF, XAML, PRISM, Controls für WPF
  • XML
  • SCI Chart Modul für WPF
  • OPC Server
  • Sq-Lite Datenbank
  • Kommunikation über Tcp/Ip mit der C++ Software eines Embedded Systems
Medizintechnik
Hofheim
4 Monate
2016-06 - 2016-09

Entwicklung eines graphischen Editors, um beliebige XML Files zu editieren

Um eine komplexe Software zur Maschinensteuerung zu parametrieren, müssen Einträge in ca. 60 verschiedenen XML Files vorgenommen werden. Die Files unterliegen dabei keinem Schema. Entwickelt wurde eine XML basierte Beschreibungssprache, um die Struktur der verschiedenen Files aufzuschlüsseln, und ein graphischer Editor, der es ermöglicht, die verschiedenen Inhalte über Bedienelemente verschiedenen Typs zu editieren. Hierfür mussten WPF Editoren (Controls) geschaffen werden, um Eingaben verschiedenen Typs zu ermöglichen

 

Folgende Bedienelemente wurden angeboten:

  • Texteingabe
  • numerische Eingabe, (double, int) mit Range-Definition
  • Checkbox
  • Combobox
  • File Selector
  • Liste
  • Tabelle

 

Über die Software ist es möglich, ausgewählte Inhalte aller XML-Files auszulesen, zu editieren und die Änderungen zurückzuschreiben.

 

Verwendete Technologien:

  • C#
  • WPF, XAML, PRISM
  • XML
Industrie
Rödermark
3 Monate
2016-03 - 2016-05

Entwicklung einer Client-Server Applikation, um hereinkommende E-Mails und Faxe in den kundeneigenen Workflow der Dokumentenverarbeitung zu integrieren

Es wurde eine klassische Client-Server Anwendung entwickelt, die hereinkommende Mails entgegennimmt, und nach Ansicht durch die Benutzer entsprechend weiterverarbeitet.

Anhänge wurden aus sämtlichen gängigen Image-  sowie Office-  Formaten in PDFs und in Tiffs gewandelt.

Eine beliebige Anzahl von Clients kann sich an dem Server anmelden, um hereinkommende Mail zu analysieren, und eine Abarbeitungsregel festzulegen.

Entsprechend dieser Regel verarbeitet der Server dann die jeweilige Mail, und protokolliert sie in einer SQL Datenbank.

C# WPF XAML PRISM WCF MS Sql Server 2008 Microsoft Exchange Server
Kunde aus der Versicherungsbranche
Frankfurt Main
3 Monate
2016-01 - 2016-03

Machbarkeitsstudie, um wechselnde Slaves, die an einem EtherCAT Bus hängen zu erkennen, und dynamisch in das Gesamtsystem zu integrieren

C# EtherCAT Acontis / Beckhoff / König
Kunde aus der Automobilbranche
Darmstadt
2 Monate
2015-11 - 2015-12

Entwicklung einer Software, um Unit Tests von PLCs durchzuführen

Es wurde eine Software entwickelt, um für beliebige PLCs Unit Tests durchführen zu können. Dazu wird die Schnittstellenbeschreibung zur SPS aus AWL Dateien ausgelesen. Es können Sequenzen mit einer beliebigen Anzahl von Steps definiert werden. In jedem Step werden auf der SPS Variablen gesetzt, und es wird überprüft, ob andere Variablen ihren Wert daraufhin wie vorgesehen ändern

C# WPF XAML PRISM Linq OPC Automation
Kunde aus der Automobilbranche
Bietigheim-Bissingen
11 Monate
2014-12 - 2015-10

Entwicklung einer Software, um Regelkreise zu optimieren

Es wurde eine Software entwickelt, um in einem Regelkreis Soll-Signale mit Ist-Signalen zu vergleichen. Aus den gemessenen Signalströmen wurden über eine in MatLab entwickelte Komponente die Übertragungsfunktion ermittelt und in einem Bode-Diagramm (Amplituden-Phasen Diagramm) dargestellt. Durch Veränderung der PID Anteile des Reglers, kann dieser Regler nun so getunt werden, dass dieser in der Lage ist, über einen hohen Frequenzbereich hinweg das Sollsignal mit entsprechender Güte nachzufahren.

C# WPF Linq COM Team Foundation Server Internationalisierung Bugzilla
Kunde aus der Automobilbranche
Darmstadt
5 Monate
2014-07 - 2014-11

Entwicklung einer Software um Belastungen, die während einer Messfahrt auf einer Teststrecke an verschiedenen Sensoren auftreten, miteinander zu vergleichen

Es werden die Datenströme der verschiedenen Kanäle analysiert, und aus ihnen werden Belastungskennziffern für verschiedene Fahrabschnitte ermittelt.

Die Ergebnisse der Messfahrt werden in einer SQLite Datenbank abgelegt.

 

Die Datenströme werden in einem Diagrammmodul visualisiert.

Über Whisker-Plots können die Ergebnisse der neuesten Messfahrt mit bestehenden Ergebnissen anderer Fahrten verglichen werden. Dadurch ist es möglich, die im Rahmen der Testfahrt aufgezeichneten Ergebnisse sofort auf ihre Plausibilität hin zu untersuchen.

C# Linq SQLite Microsoft Chart Modul Microsoft Solver Foundation
Kunde aus der Automobilbranche
Wolfsburg
3 Jahre 3 Monate
2011-05 - 2014-07

Mitarbeit bei der Erstellung einer Steuerungssoftware für Automobilprüfstände

Im Rahmen dieser Aufgabe habe ich diverse Module einer komplexen Software entwickelt, über welche Automobilprüfstände konfiguriert und betrieben werden.

Einige Aufgaben waren:

  • Erstellung einer Fernbedienung auf einem Windows Embedded CE System zur Fernsteuerung der Prüfstandssoftware über Tcp/Ip.
  • Erstellung einer WPF basierten Software zur Erstellung von Prüfstandsdefinitionen. (Eigenverantwortliche Komplettentwicklung)
  • Erstellen eines Modules, um die Datenströme der Anlage entgegenzunehmen, aufzubereiten (downsamplen, filtern), an andere Applikationen weiterzureichen und zu speichern.
  • Entwicklung einer Kommunikationsschnittstelle, um verschiedene Prozesse (auch rechnerübergreifend) miteinander zu vernetzen. (Ähnlich WCF)
  • Einbindung von externen Signalquellen, die Signale über CAN oder über EtherCAT liefern

C# WPF Linq COM CAN / EtherCAT Windows Embedded Interprozesskommunikation über Tcp/Ip Team Foundation Server Internationalisierung Bugzilla
Kunde aus der Automobilbranche
Darmstadt
8 Monate
2010-09 - 2011-04

Entwicklung einer Bediensoftware zur Ansteuerung und Parametrierung von Mess-Sensoren über den CAN Bus

Ziel der Aufgabe war die Erstellung einer Software, die mit einem Messwert-Erfassungssystem kommuniziert. Die Software soll den momentan anliegenden Messwert anzeigen, die Sensoren konfigurieren und Messwerte einzelner Sensoren in zugeordneten Messwertdateien abspeichern.

Großen Wert wurde bei dieser Aufgabe auf die Entwicklung einer allgemeingültigen (abstrakten) Schnittstelle gelegt, weil am CAN Bus die unterschiedlichsten Gerätetypen angeschlossen sein können, die alle angesprochen werden sollen.

C# WPF Linq Kommunikation mit CAN Bus über PCan Internationalisierung Reflection Interfaces Print Routine
Kunde aus der Messtechnik
Darmstadt
7 Monate
2010-04 - 2010-10

Entwicklung eines Navigationssystems für Piloten

Im Rahmen der Aufgabe wurde eine Applikation als HMI Interface entwickelt, die mit einer Hintergrundanwendung kommuniziert, welche OpenGL Grafiken und diverse weitere für die jeweilige Flugphase relevante Informationen bereitstellt.

Bei diesem Projekt konnte ich meine Erfahrungen in Systementwurf, Systemarchitektur und anspruchsvoller Gui Entwicklung (HMI) voll ausspielen, wurde doch die Aufgabe von mir umfassend und eigenverantwortlich bearbeitet.

C++ Qt Qt Stylesheets Qt QDesignerCustomWidgetInterface Qt Animationen XML Open-GL Multithreading Steuerung der Bedienoberfläche über Gestures Tortoise
Kunde aus der Avionik
Neu Isenburg
2 Jahre 1 Monat
2008-04 - 2010-04

Entwicklung eines Systems zur Festigkeitsanalyse sicherheitskritischer Bauteile im Fahrzeug

In der Wöhleranalyse werden eine Reihe von gleichen Bauteilen mit unterschiedlicher Last beaufschlagt. Gemessen wird die Anzahl der Lastwechselspiele bis zum Bruch. Aus diesen Messwerten wird über ein statistisch sehr aufwändiges Verfahren eine Aussage über das Ausfallverhalten der Bauteile im Einsatz gewonnen. Einige Schlagworte zur implementierten Mathematik sind:

 

  • Inverse lineare Regression
  • Treppenstufenverfahren
  • Maximum Likelihood Methode
  • Kaplan Meier Methode
  • Einbinden von Lastkollektiven
  • Berechnen von Sicherheitsfaktoren

 

Die statistischen Ergebnisse werden in Form von 2D Diagrammen und charakteristischen Kennwerten in Wertefeldern dargestellt.

Als Container wird hierzu Excel verwendet.

So können die Testwerte in Excel Tabellen gehalten werden, und sind dynamisch mit der Analyse verknüpft. (Ähnlich wie Excel Diagramme) Statistische Kennwerte werden wieder zu Excel übertragen, und können dort als Ausgangsdaten für weitere Berechnungen verwendet werden.

Zur Berechnung der sehr komplexen statistischen Zusammenhänge wurde die boost library verwendet.

C++ boost library MFC ATL XLL Named-Pipe prozessübergreifend zugängliche Speicherblöcke Microsoft .NET Office Tools Excel Automation Interface
Kunde aus der Automobilbranche
Wolfsburg
2 Jahre 7 Monate
2007-04 - 2009-10

diverse Projekte

System Entwicklung einer Bediensoftware zur Ansteuerung von Mess-Sensoren über ein Windows Mobile

 

Beschreibung:

Ziel der Aufgabe war die Erstellung einer Software, die mit einem Messwert-Erfassungssystem kommuniziert. Die Software soll den momentan anliegenden Messwert anzeigen, die Sensoren konfigurieren und Messwerte einzelner Sensoren in zugeordneten Messwertdateien abspeichern.

 

Verwendete Technologien:

  • C# .NET Compact Framework für Windows Mobile Devices
  • Kommunikation über Bluetooth

 

Entwicklung einer API zur Messwerterfassung

 

Beschreibung:

Ziel der Aufgabe war die Erstellung einer C++ Dynamic Link Library, die folgende Aufgaben übernimmt.

  • CAN Bus Kommunikation zu verschiedenen Mess-Sensoren herstellen.
  • Für die Kommunikation notwendige Parametrierungen dieser Sensoren vornehmen.
  • Messungen starten/stoppen und Messwerte in Echtzeit empfangen, puffern und auf Anfrage herausreichen.

 

Die Schnittstelle ist in ein ATL Objekte eingebettet, damit die Funktionalität auch von C# Projekten aus genutzt werden kann.

 

Verwendete Technologien:

  • CAN Bus Kommunikation
  • C++, ATL, STL
  • C#
  • Multithreading

 

Software-Assistent für digitale Ladungsverstärker

 

Beschreibung:

Ziel der Aufgabe ist die Erstellung einer Software, die mit einem digitalen Ladungsverstärker über TCP/IP kommuniziert. Die Software soll die Konfigurierung des verbundenen Gerätes ermöglichen, den momentan anliegenden Messwert anzeigen (Einzelwert und als Linienschreiber), und die Messwerte mit einer festen Frequenz in Messwert-Dateien abspeichern.

 

Verwendete Technologien:

  • C#, WPF
  • TCP/IP, UDP
  • Multithreading
Messtechnik
Darmstadt
6 Jahre 10 Monate
2003-01 - 2009-10

diverse Projekte

Für diesen Kunden war ich insgesamt 7 Jahren in diversen Projekten im Einsatz. Für Entwicklungen im Bereich Medizintechnik (gerade auch für den amerikanischen Markt) gelten strenge Vorgaben der FDA. Sämtliche Projekte, die ich hier durchgeführt habe, unterlagen der Zertifizierung als Medizinprodukte, und sind daher an einen entsprechenden QM Prozess gebunden.

 

Exemplarisch seien hier die folgenden Projekte gesondert erwähnt:

  • Mitarbeit an der hauseigenen Automatisierungssoftware zur Definition und Durchführung von komplexen

biochemischen Analyseverfahren.

  • Im Rahmen der Entwicklung konnte ich mein Know-How in der Automatisierungstechnik und auch in der

Entwicklung von komplexen GUI Komponenten mit der MFC einbringen.

 

Verwendete Technologien:

  • MS Visual C++
  • MFC
  • XML

 

3D Simulation der Pipettier-Roboter

 

Beschreibung:

Diese wird, wie der echte Roboter, von der Automatisierungssoftware  über RS-232 Kommandos angesteuert und reagiert in allen Details identisch. Nur so war es möglich, die Automatisierungssoftware auf effiziente Weise zu entwickeln und zu testen.

Die Simulation wurde ursprünglich unter MCF mittels OpenGL entwickelt, sie wurde aber inzwischen von mir  auf C# portiert, wobei als Grafikengine jetzt WPF (Direct-X) verwendet wurde.

 

Verwendete Technologien:

  • C#
  • WPF
  • Direct-X
  • C++
  • MFC
  • RS-232
  • TCP/IP
  • Named Pipe
  • OpenGL

 

Einbindung von ca. 40 verschiedenen Laborgeräten von Fremdfirmen in die Automatisierungssoftware

 

Beschreibung:

Um komplizierte biochemische Analysen durchzuführen, ist es je nach Aufgabenstellung oftmals unumgänglich, Spezialgeräte auch von Fremdfirmen in den Prozessablauf zu integrieren.

Unter anderem wurde von mir die Ansteuerung sämtlicher Analysegeräte zur vollautomatischen Erstellung eines genetischen Fingerabdrucks realisiert. (Inclusive der Ansteuerung der Roboter, die die Proben  zu den verschiedenen Arbeitsstationen transportieren)

 

Hierzu bedurfte es eines vielfältigen Wissens über die unterschiedlichsten Kommunikationsprotokolle wie beispielsweise:

  • Direkte Einbettung einer C++ oder C# DLL als Beistellung des Hardwarelieferanten
  • TCP/IP
  • RS 232 / 485
  • USB
  • COM, DCOM, COM+, Remoting

 

Weiterhin wurden von mir Mitarbeiter aus den USA geschult, um selber solche Integrationsaufgaben vornehmen zu können.

 

Verwendete Technologien:

  • C#
  • Diverse Kommunikationstechnologien
  • Zertifizierung der Treiber als sogenannte „General Purpose“ Anwendungen für den medizinischen Sektor
Medizintechnik
Wiesbaden
2 Jahre 2 Monate
2002-01 - 2004-02

diverse Projekte

Erstellen einer Rainflow-Engine

 

Beschreibung:

Erstellt wird eine Software, die über mehrere Kanäle Rainflow - Matrizen berechnet und die Berechnungsergebnisse in Form von Files auf den Datenträger schreibt.

 

Verwendete Technologien:

  • C++
  • ATL

 

Erstellen eines Programmes zur Durchführung von Koordinatentransformationsberechnungen

 

Beschreibung:

Gegeben sind die Beschleunigungskurven a1(t), a2(t), a3(t) von drei in einer Ebene liegenden Sensoren.

Berechnet werden die Beschleunigungskurven für n beliebige auf dieser Ebene liegenden Punkten.

Um Schwingungen eines Motors zu simulieren, soll ein im Motorschwerpunkt angebrachtes Koordinatensystem um eine seiner Achsen oszillieren. Diese Schwingung ergibt bezogen auf ein anderes Koordinatensystem, welches an anderer Stelle beliebig im Raum liegt (z.B. an der Motoraufhängung angebracht ist) eine Schwingung um alle 6 Freiheitsgrade. Diese 6 Schwingungsanteile sollen berechnet werden, wenn die Lage der beiden Koordinatensysteme zueinander vorgegeben ist

 

Verwendete Technologien:

  • C++
  • MFC

 

Modul zur Berechnung der Stellkurven der Hydraulikzylinder eines Prüfstandes um eine Masse (Fahrzeug) in vorgegebener Weise zu beschleunigen.

 

Beschreibung:

Bei der Iteration an einem realen Katapult wird die Soll - Ist Abweichung über einen tatsächlichen Testlauf am Katapult ermittelt. Bei der Iteration am Modell wird das Katapult durch ein mathematisches Modell beschrieben, und der Ist - Wert wird über dieses Modell bestimmt. In beiden Fällen wird aus dem Soll - Wert über ein inverses Modell ein Drive - File berechnet.

Das eigentliche Rechenmodell wird in Matlab (Simulink) definiert. Matlab erzeugt für das Modell C Sourcen, die in das Modul eingebunden werden. Dieses Rechenmodell berücksichtigt alle maschinendynamisch relevanten Faktoren von Katapult und Prüfkörper. Dazu notwendige variable Parameter werden aus einem File ausgelesen und an das Rechenmodell übergeben.

 

Verwendete Technologien:

  • C++
  • MFC
  • Einbindung von MathLab Code
Automobilbranche
Darmstadt

Aus- und Weiterbildung

Aus- und Weiterbildung

Dipl. -Ing TU Maschinenbau (und für die Suchmaschine: Dipling, Studium, Ingenieur, Engineer, Master, Elektronik, Elektrotechnik, Elektrik, Physik, Technik)

Kompetenzen

Kompetenzen

Top-Skills

C# c++ WPF Qt Framework XML Industrie 4.0 IoT

Produkte / Standards / Erfahrungen / Methoden

.NET Framework
ATL
boost library
Bugzilla
CAN Bus, RS 232 / 485, TCP/IP, ISA Bus
COM
Direct-X (3D Animationen unter WPF)
EtherCAT: Acontis / Beckhoff / König
Excel Automation Interface
GUI Entwicklungen (WPF/XAML, Forms, Qt, MFC)
HMI Entwicklungen
Interfaces
Internationalisierung
Interprozesskommunikation über Tcp/Ip
MFC
Microsoft .NET Office Tools
Microsoft Chart Modul
Microsoft Exchange Server
Microsoft Foundation Classes
Microsoft Solver Foundation
MS Visual C++
Multi-Threading
Named-Pipe
OLE, ActiveX, COM, DCOM, ATL, Remoting
oo-Technologien
OPC Automation
Open-GL
Open-GL (3D Animationen unter C++)
Print Routine
PRISM
prozessübergreifend zugängliche Speicherblöcke
Qt
Qt Animationen
Qt QDesignerCustomWidgetInterface
Qt Stylesheets
Qualitätsmanagement für Medizinprodukte
Reflection
SqLite, MySQL
Steuerung der Bedienoberfläche über Gestures (Touch)
STL
Systementwurf / Systemarchitektur
Team Foundation Server
Visual SourceSafe, PVCS, Tortoise, Source Anywhere
WCF
WCF, WF
Windows Embedded
Windows Forms, WPF
WPF
XAML
XML
XML, XSD, WPF (XAML), ASP (HTML)

Zusammen mit meinem Bruder habe ich 1995 eine Firma ( Name auf Anfrage) gegründet. Seit dieser Zeit sind wir beide im Bereich ?Technisch anspruchsvolle Softwareentwicklung unter Windows? tätig. Insofern können wir bei Bedarf auch kurzfristig zwei Ressourcen zur Verfügung stellen.

Natürlich haben wir auch oft auf Tagesbasis bei unseren Kunden vor Ort entwickelt, meist aber handelte es sich bei den Projekten um abgeschlossene Aufgaben, die wir in unserem Büro hier in Darmstadt in Eigenregie durchführten. So konnten wir neben der eigentlichen Softwareentwicklung unsere Qualitäten im Systementwurf, Projektmanagement und im Qualitätsmanagement ausspielen. Wir sind in den nunmehr mehr als 20 Jahren unseres Bestehens nur für wenige ausgesuchte Kunden tätig geworden. Das daher, weil diese Kunden uns über den gesamten Zeitraum unseres Bestehens in unzähligen Einzelprojekten voll ausgelastet haben. Insofern kann ich im Rahmen des Profils nur einen unvollständigen Überblick über die durchgeführten Projekte geben.

Betriebssysteme

Plattformübergreifende Entwicklungen
Windows
Windows CE

Programmiersprachen

C#
C++
Linq
Qt

Datenbanken

MS Sql Server 2008
MySQL
SQLite
SqLite

Datenkommunikation

Bus
CAN
Ethernet
Tcp/Ip UDP
RS232
TCP/IP
Winsock

Hardware

Bus
CAN
embedded Systeme
Mobile, CE, Qt
EtherCAT
Industrie-Roboter
Bosch Rexroth
Messgeräte
PC

Branchen

Branchen

Industrie
Medizintechnik
Avionik, Luftfahrt
Automotive, Automobil
Maschinenbau

 

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.