Deutschland: Bevorzugt in der Rhein Main Neckar Region
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:
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:
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:
Über die Software ist es möglich, ausgewählte Inhalte aller XML-Files auszulesen, zu editieren und die Änderungen zurückzuschreiben.
Verwendete Technologien:
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.
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
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.
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.
Im Rahmen dieser Aufgabe habe ich diverse Module einer komplexen Software entwickelt, über welche Automobilprüfstände konfiguriert und betrieben werden.
Einige Aufgaben waren:
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.
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.
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:
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.
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:
Entwicklung einer API zur Messwerterfassung
Beschreibung:
Ziel der Aufgabe war die Erstellung einer C++ Dynamic Link Library, die folgende Aufgaben übernimmt.
Die Schnittstelle ist in ein ATL Objekte eingebettet, damit die Funktionalität auch von C# Projekten aus genutzt werden kann.
Verwendete Technologien:
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:
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:
biochemischen Analyseverfahren.
Entwicklung von komplexen GUI Komponenten mit der MFC einbringen.
Verwendete Technologien:
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:
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:
Weiterhin wurden von mir Mitarbeiter aus den USA geschult, um selber solche Integrationsaufgaben vornehmen zu können.
Verwendete Technologien:
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:
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:
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:
4/2007 - 10/2009
Kunde aus der Messtechnik, Darmstadt
Entwicklung einer Bediensoftware zur Ansteuerung von Mess-Sensoren über ein Windows Mobile System.
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:
Entwicklung einer API zur Messwerterfassung
Ziel der Aufgabe war die Erstellung einer C++ Dynamic Link Library, die folgende Aufgaben übernimmt.
Die Schnittstelle ist in ein ATL Objekte eingebettet, damit die Funktionalität auch von C# Projekten aus genutzt werden kann.
Verwendete Technologien:
Software-Assistent für digitale Ladungsverstärker
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:
1/2003 - 10/2009
Kunde aus der Medizintechnik, Wiesbaden
Für diesen Kunden war ich insgesamt 7 Jahren in diversen Projekten im Einsatz. Als Entwickler im Bereich Medizinprodukte (gerade auch für den amerikanischen Markt) ist der Kunde an einen FDA konformen Entwicklungsprozess gebunden. 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
3D Simulation der Pipettier-Roboter
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
Einbindung von ca. 40 verschiedenen Laborgeräten von Fremdfirmen in die Automatisierungssoftware
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:
Weiterhin wurden von mir Tecan Mitarbeiter aus den USA geschult, um selber solche Integrationsaufgaben vornehmen zu können.
Verwendete Technologien
1/2002 - 2/2004
Kunde aus der Automobiltechnik, Darmstadt
Erstellen einer Rainflow-Engine
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
Erstellen eines Programmes zur Durchführung von Koordinatentransformationsberechnungen
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
Modul zur Berechnung der Stellkurven der Hydraulikzylinder eines Prüfstandes um eine Masse (Fahrzeug) in vorgegebener Weise zu beschleunigen.
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
1/2001 - 12/2002
Kunde aus der Telekommunikationsbranche, Frankfurt
Mitarbeit am Multimedia Terminal
In diesem Projekt habe ich Teilmodule für das Multi
Media Terminal "WEB 4000" entwickelt.
einige Teilbereiche der Aufgabe sind:
Das Terminal ist schon in der zweiten Generation fertiggestellt, die erste Version wurde für die Telekom Deutschland entwickelt.
Auch da war ich für die entsprechenden Module zuständig.
Verwendete Technologien
7/1999 - 7/2003
Kunde aus der Industrie, Darmstadt
Ansteuerung von Karten-Personalisierungs-Maschinen
Es wurde von mir für drei Produktlinien der Chipkartenpersonalisierungsmaschinen die komplette PC Programmierung realisiert.
Die entwickelte Software besteht aus 6 verschiedenen Modulen, die auf unterschiedlichen PCs laufen und über TCP/IP kommunizieren und synchronisiert werden müssen.
einige Teilaufgaben der Software sind:
Verwendete Technologien
Entwicklung eines Layoutsystems für Chipkartenlayouts
Entwickelt wurde ein CAD-ähnliches Layoutsystem.
Mit diesem System können Kartenlayouts auf komfortable Weise erstellt, und mit den für den Personalisierungsprozess notwendigen individuellen Daten verbunden werden.
Verwendete Technologien
Dipl. -Ing TU Maschinenbau (und für die Suchmaschine: Dipling, Studium, Ingenieur, Engineer, Master, Elektronik, Elektrotechnik, Elektrik, Physik, Technik)
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.
Deutschland: Bevorzugt in der Rhein Main Neckar Region
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:
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:
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:
Über die Software ist es möglich, ausgewählte Inhalte aller XML-Files auszulesen, zu editieren und die Änderungen zurückzuschreiben.
Verwendete Technologien:
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.
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
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.
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.
Im Rahmen dieser Aufgabe habe ich diverse Module einer komplexen Software entwickelt, über welche Automobilprüfstände konfiguriert und betrieben werden.
Einige Aufgaben waren:
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.
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.
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:
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.
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:
Entwicklung einer API zur Messwerterfassung
Beschreibung:
Ziel der Aufgabe war die Erstellung einer C++ Dynamic Link Library, die folgende Aufgaben übernimmt.
Die Schnittstelle ist in ein ATL Objekte eingebettet, damit die Funktionalität auch von C# Projekten aus genutzt werden kann.
Verwendete Technologien:
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:
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:
biochemischen Analyseverfahren.
Entwicklung von komplexen GUI Komponenten mit der MFC einbringen.
Verwendete Technologien:
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:
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:
Weiterhin wurden von mir Mitarbeiter aus den USA geschult, um selber solche Integrationsaufgaben vornehmen zu können.
Verwendete Technologien:
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:
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:
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:
4/2007 - 10/2009
Kunde aus der Messtechnik, Darmstadt
Entwicklung einer Bediensoftware zur Ansteuerung von Mess-Sensoren über ein Windows Mobile System.
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:
Entwicklung einer API zur Messwerterfassung
Ziel der Aufgabe war die Erstellung einer C++ Dynamic Link Library, die folgende Aufgaben übernimmt.
Die Schnittstelle ist in ein ATL Objekte eingebettet, damit die Funktionalität auch von C# Projekten aus genutzt werden kann.
Verwendete Technologien:
Software-Assistent für digitale Ladungsverstärker
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:
1/2003 - 10/2009
Kunde aus der Medizintechnik, Wiesbaden
Für diesen Kunden war ich insgesamt 7 Jahren in diversen Projekten im Einsatz. Als Entwickler im Bereich Medizinprodukte (gerade auch für den amerikanischen Markt) ist der Kunde an einen FDA konformen Entwicklungsprozess gebunden. 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
3D Simulation der Pipettier-Roboter
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
Einbindung von ca. 40 verschiedenen Laborgeräten von Fremdfirmen in die Automatisierungssoftware
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:
Weiterhin wurden von mir Tecan Mitarbeiter aus den USA geschult, um selber solche Integrationsaufgaben vornehmen zu können.
Verwendete Technologien
1/2002 - 2/2004
Kunde aus der Automobiltechnik, Darmstadt
Erstellen einer Rainflow-Engine
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
Erstellen eines Programmes zur Durchführung von Koordinatentransformationsberechnungen
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
Modul zur Berechnung der Stellkurven der Hydraulikzylinder eines Prüfstandes um eine Masse (Fahrzeug) in vorgegebener Weise zu beschleunigen.
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
1/2001 - 12/2002
Kunde aus der Telekommunikationsbranche, Frankfurt
Mitarbeit am Multimedia Terminal
In diesem Projekt habe ich Teilmodule für das Multi
Media Terminal "WEB 4000" entwickelt.
einige Teilbereiche der Aufgabe sind:
Das Terminal ist schon in der zweiten Generation fertiggestellt, die erste Version wurde für die Telekom Deutschland entwickelt.
Auch da war ich für die entsprechenden Module zuständig.
Verwendete Technologien
7/1999 - 7/2003
Kunde aus der Industrie, Darmstadt
Ansteuerung von Karten-Personalisierungs-Maschinen
Es wurde von mir für drei Produktlinien der Chipkartenpersonalisierungsmaschinen die komplette PC Programmierung realisiert.
Die entwickelte Software besteht aus 6 verschiedenen Modulen, die auf unterschiedlichen PCs laufen und über TCP/IP kommunizieren und synchronisiert werden müssen.
einige Teilaufgaben der Software sind:
Verwendete Technologien
Entwicklung eines Layoutsystems für Chipkartenlayouts
Entwickelt wurde ein CAD-ähnliches Layoutsystem.
Mit diesem System können Kartenlayouts auf komfortable Weise erstellt, und mit den für den Personalisierungsprozess notwendigen individuellen Daten verbunden werden.
Verwendete Technologien
Dipl. -Ing TU Maschinenbau (und für die Suchmaschine: Dipling, Studium, Ingenieur, Engineer, Master, Elektronik, Elektrotechnik, Elektrik, Physik, Technik)
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.
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.