In einem Blocklager werden Behälter platzsparend gestapelt. Automatisierte Shuttlefahrzeuge besorgen das Ein- und Auslagern. Die meisten Behälter sind nur durch Umstellungen erreichbar. Zur Durchsatzsteigerung arbeiten viele Shuttlefahrzeuge parallel, was Multi Threading und Parallel Computing erfordert. Die Herausforderung besteht darin, alle Shuttlefahrzeuge so zu koordinieren, dass sie sich nicht in die Quere kommen, dabei den Überblick zu behalten, wo welcher Lagerbehälter sich gerade befindet und gleichzeitig eine maximale Durchsatzleistung beim Ein- und Auslagern zu erreichen. Die Simulation dient der Entwicklung durchsatzsteigernder Strategien für die Steuerung der Shuttlefahrzeuge.
Eine wichtige Baustelle ist die statistische Analyse von Auftragslisten insbesondere mit Pareto-Verteilungen.
Eine Versuchsanlage mit echten Shuttles kann anstatt der Simulation angeschlossen werden. Die Ansteuerung der Shuttle-SPS erfolgt über WLAN und proprietäre Protokolle. Mittels gRPC/protobuf wurden 3d Party Softwareprodukte eingebunden.
Emulate 3D dient der Visualisierung der Simulation und der Analyse.
Die Wasserhaltung der Braunkohletagebaue wird mit einer komplexen Client-Server-Software verwaltet. Backend ist ein Oracle Server mit ca. 500 Tabellen und PL/SQL Packages. Das Frontend ist eine .NET-Software, welche mit C# und WPF realisiert wurde. Es werden eigene Bibliotheken für Steuerelemente und Datenzugriff verwendet. Die Architektur mit MVVM, IoC und DI ermöglichte eine umfangreiche Unit-Testbarkeit.
Der Hersteller von Lötsystemen produziert Maschinen mit unterschiedlicher Größe und unterschiedlichem Automatisierungsgrad. Alle Maschinen sollen von der gleichen Software bedient werden. Generalisierung und Spezialisierung sind hier zwei Architekturziele, welche umgesetzt werden müssen. Die WPF-Benutzeroberfläche wurde durch intensive Nutzung des Task-based Asynchronous Pattern freigehalten. Entwurfsmuster wie MVVM und DI/IoC sorgten für gute Unit-Testbarkeit.
Die Positionierung der integrierten Schaltkreise zum Ein- und Auslöten erfolgt mit Kameras und Bildauswertung.
Für die Anbindung an ein MES wurde ein Interface entwickelt.
Die Lötsysteme verfügen auch über einen Embedded Device (C++) für die Echtzeitaufgaben. Die Kommunikation erfolgt per UDP und ein proprietäres Protokoll.
Diverse Softwareapplikationen wie ERP, MES, LIMS und Maschinen/Roboter müssen miteinander kommunizieren. Der Datenaustausch erfolgt über Datenbanken, Dateien, mit der WCF und über Protokolle.
Typisch für die Pharmaindustrie gelten hohe Qualitätsanforderungen, welche durch regulatorisch konforme Entwicklungsprozesse und spezielle Softwarearchitekturen erfüllt werden.
Besonders gefragt ist eine hohe Code Coverage durch Unitteste, welche durch Entwurfsmuster wie Dependency Injection und Inversion of Control erreicht wird.
Die Verwendung von Windows Services und MS Message Queues soll die Kommunikation zusätzlich stabilisieren.
Als Application Lifecycle Managementtool wird Team Foundation Server eingesetzt.
Projektsprache: Englisch
Die Benutzeroberfläche wurde mit WPF, MVVM und DevExpress realisiert. Die Eyeshot-CAD-Bibliothek von devDept unterstützte die 3D-Features.
Für die Simulation des Biegeprozesses wurden 3D-CAD-Dateien der Biegemaschinen aus dem Konstruktionsbüro importiert, welches mit wenig Programmieraufwand eine millimetergenaue Simulation und Visualisierung des Biegeprozesses und eventueller Kollisionen ermöglichte. Die Fertigung der Biegeteile kann somit ohne Versuch am PC bei der Konstruktion optimiert werden.
Die Maschinen werden mit einer Microsoft Windows Touchscreen Software bedient. Es gibt Use Cases für Kalibrierung, Hand- und verschiedene Automatikbetriebe. Die zu produzierenden Werkstücke werden aus einer Datenbank geholt, wo sie zuvor von der Konstruktion mit simulierten und optimierten Produktionsanweisungen abgelegt wurden. Der Bediener wird durch 3D-Graphiken bei der Werkstückplatzierung unterstützt. Echtzeitaufgaben erledigt eine Beckhoff TwinCAT Soft-SPS. Für die Stanzmaschine wird CNC-Code generiert. Es konnten sehr viele Komponenten der CAD-Software wiederverwertet werden.
Es wurde eine schlanke Architektur gewählt. Üblicherweise sind mehrere hundert Zeitreihentabellen erforderlich, welche nun von einer einzigen und einem Katalog gehostet werden. Die Datenbank ist jetzt sehr übersichtlich. Performanz wurde durch Partitionierung und Indexierung sichergestellt. Ausführung zunächst in Oracle, nach Evaluierung von PostgreSQL und MySQL aus Kostengründen Portierung nach MySQL. Data Feeds in Python mit SQL-Alchemie.
Backend der Software war eine Oracle Datenbank mit ca. 500 Tabellen mit bis zu 1 Mrd. Zeilen und ca. 200.000 Zeilen PL/SQL Code, welche gewartet und erweitert werden musste. Hohe Datenmengen, Performance and superkomplexe Queries waren eine ständige Herausforderung.
Projektsprache: Englisch
Modernisierung einer Siemens WinCC Control Center Software für die Steuerung und Überwachung der untertägigen Maschinen. Erweiterung der WinCC Plattform um Datenbank- und Graphik Features mit WPF und ActiveX User Controls, insbesondere:
Ein Diagnostikanalyzer besteht wie eine Fabrik aus mehreren Arbeitsstationen, an denen die Proben bearbeitet werden (Pipettierroboter, Inkubatoren, Messzellen, etc.). Jede Probe kommt mit eigenen Auftragslisten und Assayprotokollen daher. Die Möglichkeit für Warteschlangen ist eher beschränkt. Für einen optimalen Durchsatz muß die Arbeit so organisiert weden, dass alle Arbeitsstationen bestmöglich ausgelastet sind.
Die Aufgabenstellung lässt sich anhand von Beispielauftragslisten recht einfach numerisch simulieren. Mit der Simulation lassen sich Bottlenecks der Hardware finden oder der Erfolg von kleinen Änderungen in den Assayprotokollen, z. B. durch Einführung eines Zeitrasters bewerten.
Entwicklung und Simulation in C#, später Umsetzung in C++ unter RT Linux, Visualisierung in Qt
In einer automatisierten Laborumgebung müssen Analyzer mit Hostcomputern, Laborstraßen, Beladerobotern, Fernwartungsplattformen und Befundungssystemen kommunizieren. Die Kommunikation findet über Netzwerk oder RS232 bei Altenvironments, mit standardisierten oder proprietären Protokollen oder auch mit RPC und Webservices statt. Üblicherweise muss Kompatibilität zu Vorgängersystemen sichergestellt werden.
Ausführung State of the Art in C#.Net und SQL-Server, ältere Projekte in VB.Net, VB 6 und MS Access.
Entwicklung der Middleware Datenbankanwendung Production Planning Extended, eine Art Leitsystem für Diagnostiklabore mit Workflow Management, Patientenverwaltung und postanalytischem Expertensystem mit Reporting.
Die generische Umsetzung bei Connectivity, Workflow Management, Expertensystem und Reporting erlaubt Anpassung an die individuellen Bedürfnisse der Kunden.
Die Entwicklung wurde mit einem externen Entwicklerteam, interner Verifizierung und internationalem Betatest durchgeführt.
Leitung der Arbeitsgruppe hydraulischer Transport
Entwicklung von computergesteuerten Messsystemen wie Rohrviskosimetern für nicht-Newtonsche Suspensionen und der Automatisierungslösung für hydraulische Baustoffförderanlagen mit SCADA/HMI, SPS und Regelungstechnik.
Bearbeitung von Projekten auf dem Gebiet der Fördertechnik und Schüttguttechnik (hydraulischer und pneumatischer Transport), numerische Simulation nicht-Newtonscher Strömungen, Durchführung von Experimenten, Anlagenengineering
Numerische Simulation und Optimierung von Aufbereitungsanlagen mit Methoden des Operation Research. Optimierung von Mischungsrezepturen.
Durchführung wissenschaftlicher Untersuchungen, Softwareprogrammierung für die Auswertung der Ergebnisse, Anfertigung einer Dissertationsschrift
Numerische Simulationen in der Strömungsmechanik (instationäre Gasströmungen, Tropfenwachstum im Submikronbereich, Mie-Streuung von Laserlicht)
Im Rahmen einer Studienarbeit wurde ein Computerprogramm für die statistische Auswertung von Partikelgrößenanalysen auf einem IBM PC entwickelt. Die Software war in GW-Basic. Folgeversionen bis 1999 in QB, VB 4-VB6, Wartung und Vermarktung mit eigenem Nebenerwerbsbetrieb bis 2013
Zu allen Projekten liefere ich Ihnen auf Wunsch Zeugnisse und Referenzen.
Energie- und Verfahrenstechnik
2000-2012 Senior Software Engineer Siemens Healthcare DX
1993 Promotion RWTH Aachen
1988 Dipl.-Ing. Maschinenbau (Fachrichtung Energie- und Verfahrenstechnik) Universität Essen
1985 Vordiplom Maschinenbau Universität Essen
1983 Abitur
Diverse Tools wie SVN Subversion, PVCS, GIT, Bugzilla, Teamtrack, Resharper, nUnit, nCover, TFS, Borland Caliber, Enterprise Architect, objectiF, Atlassian Confluence, Jira, .
Datenmodellierung, Entity Relationship
Database Performance Tuning mit Indexing, Partitioning, Query Optimierung, Schema Optimierung und Materialized Views
In einem Blocklager werden Behälter platzsparend gestapelt. Automatisierte Shuttlefahrzeuge besorgen das Ein- und Auslagern. Die meisten Behälter sind nur durch Umstellungen erreichbar. Zur Durchsatzsteigerung arbeiten viele Shuttlefahrzeuge parallel, was Multi Threading und Parallel Computing erfordert. Die Herausforderung besteht darin, alle Shuttlefahrzeuge so zu koordinieren, dass sie sich nicht in die Quere kommen, dabei den Überblick zu behalten, wo welcher Lagerbehälter sich gerade befindet und gleichzeitig eine maximale Durchsatzleistung beim Ein- und Auslagern zu erreichen. Die Simulation dient der Entwicklung durchsatzsteigernder Strategien für die Steuerung der Shuttlefahrzeuge.
Eine wichtige Baustelle ist die statistische Analyse von Auftragslisten insbesondere mit Pareto-Verteilungen.
Eine Versuchsanlage mit echten Shuttles kann anstatt der Simulation angeschlossen werden. Die Ansteuerung der Shuttle-SPS erfolgt über WLAN und proprietäre Protokolle. Mittels gRPC/protobuf wurden 3d Party Softwareprodukte eingebunden.
Emulate 3D dient der Visualisierung der Simulation und der Analyse.
Die Wasserhaltung der Braunkohletagebaue wird mit einer komplexen Client-Server-Software verwaltet. Backend ist ein Oracle Server mit ca. 500 Tabellen und PL/SQL Packages. Das Frontend ist eine .NET-Software, welche mit C# und WPF realisiert wurde. Es werden eigene Bibliotheken für Steuerelemente und Datenzugriff verwendet. Die Architektur mit MVVM, IoC und DI ermöglichte eine umfangreiche Unit-Testbarkeit.
Der Hersteller von Lötsystemen produziert Maschinen mit unterschiedlicher Größe und unterschiedlichem Automatisierungsgrad. Alle Maschinen sollen von der gleichen Software bedient werden. Generalisierung und Spezialisierung sind hier zwei Architekturziele, welche umgesetzt werden müssen. Die WPF-Benutzeroberfläche wurde durch intensive Nutzung des Task-based Asynchronous Pattern freigehalten. Entwurfsmuster wie MVVM und DI/IoC sorgten für gute Unit-Testbarkeit.
Die Positionierung der integrierten Schaltkreise zum Ein- und Auslöten erfolgt mit Kameras und Bildauswertung.
Für die Anbindung an ein MES wurde ein Interface entwickelt.
Die Lötsysteme verfügen auch über einen Embedded Device (C++) für die Echtzeitaufgaben. Die Kommunikation erfolgt per UDP und ein proprietäres Protokoll.
Diverse Softwareapplikationen wie ERP, MES, LIMS und Maschinen/Roboter müssen miteinander kommunizieren. Der Datenaustausch erfolgt über Datenbanken, Dateien, mit der WCF und über Protokolle.
Typisch für die Pharmaindustrie gelten hohe Qualitätsanforderungen, welche durch regulatorisch konforme Entwicklungsprozesse und spezielle Softwarearchitekturen erfüllt werden.
Besonders gefragt ist eine hohe Code Coverage durch Unitteste, welche durch Entwurfsmuster wie Dependency Injection und Inversion of Control erreicht wird.
Die Verwendung von Windows Services und MS Message Queues soll die Kommunikation zusätzlich stabilisieren.
Als Application Lifecycle Managementtool wird Team Foundation Server eingesetzt.
Projektsprache: Englisch
Die Benutzeroberfläche wurde mit WPF, MVVM und DevExpress realisiert. Die Eyeshot-CAD-Bibliothek von devDept unterstützte die 3D-Features.
Für die Simulation des Biegeprozesses wurden 3D-CAD-Dateien der Biegemaschinen aus dem Konstruktionsbüro importiert, welches mit wenig Programmieraufwand eine millimetergenaue Simulation und Visualisierung des Biegeprozesses und eventueller Kollisionen ermöglichte. Die Fertigung der Biegeteile kann somit ohne Versuch am PC bei der Konstruktion optimiert werden.
Die Maschinen werden mit einer Microsoft Windows Touchscreen Software bedient. Es gibt Use Cases für Kalibrierung, Hand- und verschiedene Automatikbetriebe. Die zu produzierenden Werkstücke werden aus einer Datenbank geholt, wo sie zuvor von der Konstruktion mit simulierten und optimierten Produktionsanweisungen abgelegt wurden. Der Bediener wird durch 3D-Graphiken bei der Werkstückplatzierung unterstützt. Echtzeitaufgaben erledigt eine Beckhoff TwinCAT Soft-SPS. Für die Stanzmaschine wird CNC-Code generiert. Es konnten sehr viele Komponenten der CAD-Software wiederverwertet werden.
Es wurde eine schlanke Architektur gewählt. Üblicherweise sind mehrere hundert Zeitreihentabellen erforderlich, welche nun von einer einzigen und einem Katalog gehostet werden. Die Datenbank ist jetzt sehr übersichtlich. Performanz wurde durch Partitionierung und Indexierung sichergestellt. Ausführung zunächst in Oracle, nach Evaluierung von PostgreSQL und MySQL aus Kostengründen Portierung nach MySQL. Data Feeds in Python mit SQL-Alchemie.
Backend der Software war eine Oracle Datenbank mit ca. 500 Tabellen mit bis zu 1 Mrd. Zeilen und ca. 200.000 Zeilen PL/SQL Code, welche gewartet und erweitert werden musste. Hohe Datenmengen, Performance and superkomplexe Queries waren eine ständige Herausforderung.
Projektsprache: Englisch
Modernisierung einer Siemens WinCC Control Center Software für die Steuerung und Überwachung der untertägigen Maschinen. Erweiterung der WinCC Plattform um Datenbank- und Graphik Features mit WPF und ActiveX User Controls, insbesondere:
Ein Diagnostikanalyzer besteht wie eine Fabrik aus mehreren Arbeitsstationen, an denen die Proben bearbeitet werden (Pipettierroboter, Inkubatoren, Messzellen, etc.). Jede Probe kommt mit eigenen Auftragslisten und Assayprotokollen daher. Die Möglichkeit für Warteschlangen ist eher beschränkt. Für einen optimalen Durchsatz muß die Arbeit so organisiert weden, dass alle Arbeitsstationen bestmöglich ausgelastet sind.
Die Aufgabenstellung lässt sich anhand von Beispielauftragslisten recht einfach numerisch simulieren. Mit der Simulation lassen sich Bottlenecks der Hardware finden oder der Erfolg von kleinen Änderungen in den Assayprotokollen, z. B. durch Einführung eines Zeitrasters bewerten.
Entwicklung und Simulation in C#, später Umsetzung in C++ unter RT Linux, Visualisierung in Qt
In einer automatisierten Laborumgebung müssen Analyzer mit Hostcomputern, Laborstraßen, Beladerobotern, Fernwartungsplattformen und Befundungssystemen kommunizieren. Die Kommunikation findet über Netzwerk oder RS232 bei Altenvironments, mit standardisierten oder proprietären Protokollen oder auch mit RPC und Webservices statt. Üblicherweise muss Kompatibilität zu Vorgängersystemen sichergestellt werden.
Ausführung State of the Art in C#.Net und SQL-Server, ältere Projekte in VB.Net, VB 6 und MS Access.
Entwicklung der Middleware Datenbankanwendung Production Planning Extended, eine Art Leitsystem für Diagnostiklabore mit Workflow Management, Patientenverwaltung und postanalytischem Expertensystem mit Reporting.
Die generische Umsetzung bei Connectivity, Workflow Management, Expertensystem und Reporting erlaubt Anpassung an die individuellen Bedürfnisse der Kunden.
Die Entwicklung wurde mit einem externen Entwicklerteam, interner Verifizierung und internationalem Betatest durchgeführt.
Leitung der Arbeitsgruppe hydraulischer Transport
Entwicklung von computergesteuerten Messsystemen wie Rohrviskosimetern für nicht-Newtonsche Suspensionen und der Automatisierungslösung für hydraulische Baustoffförderanlagen mit SCADA/HMI, SPS und Regelungstechnik.
Bearbeitung von Projekten auf dem Gebiet der Fördertechnik und Schüttguttechnik (hydraulischer und pneumatischer Transport), numerische Simulation nicht-Newtonscher Strömungen, Durchführung von Experimenten, Anlagenengineering
Numerische Simulation und Optimierung von Aufbereitungsanlagen mit Methoden des Operation Research. Optimierung von Mischungsrezepturen.
Durchführung wissenschaftlicher Untersuchungen, Softwareprogrammierung für die Auswertung der Ergebnisse, Anfertigung einer Dissertationsschrift
Numerische Simulationen in der Strömungsmechanik (instationäre Gasströmungen, Tropfenwachstum im Submikronbereich, Mie-Streuung von Laserlicht)
Im Rahmen einer Studienarbeit wurde ein Computerprogramm für die statistische Auswertung von Partikelgrößenanalysen auf einem IBM PC entwickelt. Die Software war in GW-Basic. Folgeversionen bis 1999 in QB, VB 4-VB6, Wartung und Vermarktung mit eigenem Nebenerwerbsbetrieb bis 2013
Zu allen Projekten liefere ich Ihnen auf Wunsch Zeugnisse und Referenzen.
Energie- und Verfahrenstechnik
2000-2012 Senior Software Engineer Siemens Healthcare DX
1993 Promotion RWTH Aachen
1988 Dipl.-Ing. Maschinenbau (Fachrichtung Energie- und Verfahrenstechnik) Universität Essen
1985 Vordiplom Maschinenbau Universität Essen
1983 Abitur
Diverse Tools wie SVN Subversion, PVCS, GIT, Bugzilla, Teamtrack, Resharper, nUnit, nCover, TFS, Borland Caliber, Enterprise Architect, objectiF, Atlassian Confluence, Jira, .
Datenmodellierung, Entity Relationship
Database Performance Tuning mit Indexing, Partitioning, Query Optimierung, Schema Optimierung und Materialized Views