Bogdan Yaskiv teilweise verfügbar

Bogdan Yaskiv

Softwareentwickler C++

teilweise verfügbar
Profilbild von Bogdan Yaskiv Softwareentwickler C++ aus Trossingen
  • 78647 Trossingen Freelancer in
  • Abschluss: nicht angegeben
  • Stunden-/Tagessatz: nicht angegeben
  • Sprachkenntnisse: deutsch (verhandlungssicher) | englisch (gut) | russisch (gut) | ukrainisch (Muttersprache)
  • Letztes Update: 04.08.2020
SCHLAGWORTE
SKILLS
Fachlicher Schwerpunkt
Software-Entwickler, Schwerpunkt C++, REST, MQTT, IoT, IIoT

Technische Skills
Programmiersprachen
  • C++ (98/11/14/17)
  • C
  • Delphi
  • Pascal
  • Python
  • Java
  • JavaScript
  • Basic
  • PHP
Sonstige
  • NC-Programmierung/G-Code
  • WAMP
Bibliotheken/Frameworks/APIs
  • STL
  • Boost
  • Qt 4, Qt 5
  • libcurl
  • Segger emFile, emUSB, embOS, emWin
  • TinyXML
  • Mosquitto
  • Eclipse Paho (MQTT)
  • rapidJSON
  • VCL
  • CivetWeb
Dokumentbeschreibungssprachen
  • XML
  • (X)HTML & CSS
  • JSON
Datenbanken
  • MySQL
  • SQL
  • Access
  • ODBC
  • SQLite
  • OTL 4.0
Protokolle
  • HTTP
  • HTTPS
  • TLS
  • MQTT
  • Bluetooth/Bluetooth LE (BLE)
  • GATT
  • D-Bus
  • TCP/IP
  • RTP
Berechnung / Simulation
  • Berechnung von Verfahrbewegungen für CNC-Schleifenmaschinen an Hand von geometrischen Gegebenheiten
  • 3D-Simulation von Maschinenkinematik

Methodiken
  • REST
  • Microservices
  • IoT/IIoT
  • Methoden der agilen Entwicklung
  • Objektorientierte Analyse (OOA)
  • Objektorientiertes Design (OOD)
  • Objektorientierte Programmierung (OOP)
  • Interprozesskommunikation (IPC)
  • Multithreading
  • Prozedurale Programmierung
  • UML2
  • State machine
Tools
  • Jira
  • Confluence
  • Bitbucket
  • PTXdist
  • Doxygen
  • PC-lint
  • Cppcheck
  • Uncrustify
  • BugZilla
  • Scons
  • PuTTY
  • Wireshark
  • Tera Term
  • WinSCP
IDEs
  • Microsoft Visual Studio 2005/2008/2010/2013/2015
  • Eclipse & Eclipse CDT
  • Borland Delphi 5/7
  • Turbo Pascal
  • IAR Embedded Workbench (6.x)
  • Keil µVision 5
Build & Compiler
  • make/nmake
  • SCons
  • CMake
  • MSBuild
  • gcc
Revision Control Systeme
  • git
  • Subversion (svn)
  • Visual Source Safe 6.0 (VSS)
Unit tests
  • Boost.Test
  • googletest
Bildverarbeitungssysteme
  • Keyence XG 7000
  • Keyence XG Vision Editor
PROJEKTHISTORIE
  • 03/2015 - bis jetzt

  • Multiplattformentwicklung für ein Gebäudekommunikationssystem
  • Beschreibung
    Für den auf einer ARM-Hardware unter Linux laufenden Server eines Gebäudekommunikationssystems wurden verschiedene Software-Module gepflegt und erweitert welche für die Verteilung, Überwachung und Umsetzung von Benutzer- und Systemanforderungen zuständig sind (z.B. Konfiguration, Management, Rufe, Audio- und Videoübertragung).

    Außerdem wurde eine plattformübergreifende Client-Bibliothek (ARM, x86, Blackfin) gepflegt und erweitert, welche die Grundlage für verschiedene unter Windows und Linux laufende Software- und Hardware-Clients des Gebäudekommunikationssystems bildet.
    Im Fokus standen hierbei die Skalierbarkeit (Parallelisierung, Multithreading: bei Einsatz auf leistungsfähigerer Hardware sollte diese auch genutzt werden können), Stabilität, Testbarkeit und Wartbarkeit der Software.

    Verschiedene Software-Komponenten wurden modularisiert und überarbeitet. Dabei stand unter anderem die Überarbeitung des Multithreading-Konzepts unter Einbeziehung aktueller Methoden aus C++11/C++14 im Fokus. Eine weitere Aufgabe bestand in der Umsetzung des Umstiegs von einer monolithischen zu einer Microservices-Architektur. Gleichzeitig wurden neue Module geschaffen, um neu dazugekommene Anforderungen aus den Bereichen Telefonie und Kommunikation server- und clientseitig umzusetzen.
    Es wurden REST- und MQTT-Schnittstellen zur Kommunikation mit verschiedenen in C++ und Java geschriebenen Microservices
    implementiert.

    Die Client-Bibliothek wurde bei der Entwicklung eines neuen mobilen Hardware-Clients umfassend überarbeitet und deutlich erweitert. Große Teile der davon wurden danach nach C++03 zurückportiert, um die Entwicklung eines anderen, auf Blackfin basierenden, Hardware-Clients vorzubereiten.

    Als nächstes folgte die Erstellung der Software für eine neue Innenstation. Die Anbindung der Innenstation, die via WLAN ans lokale Netz angeschlossen wird, an den Cloud-Dienst, wurde ebenso umgesetzt. Die Inbetriebnahme des Geräts erfolgt über Bluetooth Low Energy (Bluetooth LE, BLE) und einer GATT-API. Hierfür wurde zum einen auf Geräteseite BlueZ eingesetzt (D-Bus API, Management API).


    Projektmetrik
    Laufzeit: > 5 Jahre
    Umfang: > 50 Personenjahre
    Position: Entwickler
    Teamgröße: 10+

    Technologien

    Sprachen
    - C++ (C++11, C++14)
    - Python
    - C
    - Java

    Bibliotheken/Frameworks/API
    - STL/C++-Standardbibliothek
    - googletest
    - Linux Programming Interface
    - Boost
    - rapidjson
    - libcurl
    - Eclipse Paho (mqtt)
    - Mosquitto
    - OTL
    - BlueZ
    - CivetWeb

    Tools
    - Eclipse CDT
    - Visual Studio 2015
    - Wireshark
    - git
    - Subversion
    - Bitbucket
    - valgrind
    - Tera Term
    - putty
    - Confluence
    - Jira
    - Postman
    - mqtt-spy
    - PhonerLite

    Sonstiges
    - SCons
    - gcc
    - gdb (Debugging und Remote Debugging)

    Besonderheiten
    - Multithreading
    - Microservice Architecture
    - Internet of Things (IoT)
    - REST
    - MQTT
    - Netzwerk (TCP/IP, UDP, Sockets)
    - RTP
    - H.264, MJPEG
    - HTTP, HTTPS
    - Scrum
    - JSON
    - Bluetooth/Bluetooth LE, GATT
    - Microservices
    - D-Bus
    - WLAN
    - TFTP

    Plattform
    - Zielplattform: Embedded Linux, x86 Linux, Windows
    - Entwicklungsplattform: Debian Linux, Fedora Linux, Windows

  • 03/2015 - 12/2015

  • Wartung und Weiterentwicklung von Gebäudekommunikationssystemen. Entwicklung eines plattformunabhängigen Testautomatisierungs-Frameworks für Software von Gebäudekommunikationssystemen
  • Beschreibung
    Für ein Gebäudekommunikationssystem wurde für eine Systemkomponente, die zur Anbindung des Kommunikationssystems an IPbasierte Netzwerke dient, ein Software-Modul entwickelt, das für die Verteilung und Überwachung von Benutzer- und Systemanforderungen zuständig ist (z.B. Konfiguration, Management, Rufe).

    Hauptaufgaben waren die Wartung, Überarbeitung und Weiterentwicklung von zentralen Komponenten des Servers. So wurde die für die Anbindung an das proprietäre Bus-System sowie Verteilung von Audio- und Videoströmen zuständige Komponente überarbeitet. Viele Komponenten wurden im Hinblick auf die Threadsicherheit umgestaltet. Die Anbindung an die MySQL-Datenbank wurde stetig erweitert.
    Es wurden neue Komponenten entwickelt, zum Beispiel eine zur Kommunikation mit einem STUN-Server oder eine zur Anbindung eines Relais zur Test-Automatisierung.

    Eine größere Teilaufgabe war die Entwicklung eines plattformunabhängigen Testautomatisierungs-Frameworks in C++. Dieses Framework beinhaltet Test-Server und Test-Clients. Ein Test-Server steuert parallel auf verschiedenen Plattformen laufende Test-Clients an, welche mit Python-Skripten in C++ geschriebene Software-Komponenten des Gebäudekommunikationssystems und ihr Zusammenspiel testen.

    Projektmetrik
    Laufzeit: >2 Jahre
    Umfang: 15 Personenjahre
    Position: Entwickler
    Teamgröße: 7

    Technologien

    Sprachen
    - C++ / C++11
    - Python

    Bibliotheken/Frameworks/APIs
    - STL
    - Boost
    - Boost Python
    - Rapidjson

    Tools
    - Eclipse 4.X
    - Tera Term
    - WinSCP
    - Subversion
    - Confluence
    - Jira
    - Doxygen
    - Scons
    - Wireshark

    Sonstiges
    - State machine
    - WAMP
    - Stun
    - REST

    Besonderheiten
    - Multithreadig
    - Netzwerk (TCP/IP, UDP, Sockets)
    - Portables Test-Framework
    - C++ 11
    - Embedded Linux
    - “Extending Python with C++, extending C++ with Python”
    - RTP
    - H.264, MJPEG

    Plattform
    - Zielplattform: Windows und Embedded Linux
    - Entwicklungsplattform: Debian Linux, Windows (Client)

  • 02/2015 - 02/2015

  • Embedded Entwicklung für ein medizintechnisches Gerät
  • Beschreibung
    Ergänzend für das Projekt aus dem Zeitraum 01/2013-09/2014 wurden folgende Entwicklungen vorgenommen:
    • Implementieren eines proprietär Protokolls zum Empfangen und Versenden von Datenpaketen
    • Implementieren einer Anwendung (mit optionalem Einzelschrittbetrieb) zum Ausführen von Sequenz-Dateien (Dateien mit
    • Befehlen, die via Protokoll vom Windows zum embedded System übertragen werden)
    • Senden und Empfangen von Datenpaketen via UART
    • Integration der Implementierung des proprietär Protokolls in die bestehende Applikation
    • Erstellung von Screenshots und Speichern dieser auf USB-Stick/Übertragung via UART
    • Erweiterung der Update-Applikation um eine Benutzeroberfläche zum Anzeigen des Update-Fortschritts

    Projektmetrik
    Laufzeit: 2 Jahre
    Umfang: 6 Personenjahre
    Position: Entwickler
    Teamgröße: 4

    Technologien

    Sprachen
    - C

    Bibliotheken/Frameworks/APIs
    - Segger emFile, emUSB, embOS, emWin
    - STL

    Tools
    - IAR Embedded Workbench 6.4, 6.5
    - Hercules
    - Jira
    - Subversion
    - Doxygen
    - Cppcheck
    - Uncrustify
    - Segger J-Link

    Sonstiges
    - UART
    - GUI

    Besonderheiten
    - ISO/IEC 62304
    - EN/IEC 60601

    Plattform
    - Zielplattform: ARM 9 und ARM Cortex-M3, teilweise ohne Betriebssystem, teilweise mit embOS
    - Entwicklungsplattform: Windows 7, Ubuntu Linux 12.04

  • 10/2014 - 01/2015

  • Embedded Entwicklung für ein medizintechnisches Gerät
  • Beschreibung
    Für ein medizintechnisches Gerät mit mehreren Controllern (ARM9, Cortex-M4) mussten folgende Funktionalitäten entworfen und neu
    entwickelt werden:
    • 1st und 2nd Level Bootloader
    • Protokoll für die Kommunikation mehrerer Controller über SPI
    • Miteinander kommunizierende Update-Applikationen
    • Ansprechen verschiedener Komponenten über den I²C Datenbus
    • Überwachung des Geräts mit einem externen Watchdog

    Projektmetrik
    Laufzeit: 1 Jahre
    Umfang: 2 Personenjahre
    Position: Entwickler
    Teamgröße: 6

    Technologien

    Sprachen
    - C

    Bibliotheken/Frameworks/APIs
    - STMCube
    - STM HAL drivers

    Tools
    - Keil μVision 5
    - PC lint
    - ST-LINK utility
    - Hercules
    - Subversion
    - Doxygen
    - Cppcheck

    Sonstiges
    - STM32
    - NOR-Flash
    - SPI
    - I²C
    - EEPROM
    - RS-232
    - Bootloader
    - Watchdog

    Besonderheiten
    - ISO/IEC 62304
    - EN/IEC 60601

    Plattform
    - Zielplattform ARM Cortex-M4, ohne Betriebssystem
    - Entwicklungsplattform: Windows 7

  • 01/2014 - 09/2014

  • Neuentwicklung Software-Framework
  • Beschreibung
    Die Kernfunktionalität des Frameworks ist die Bereitstellung einer grundlegenden Typenwelt. Mit Hilfe dieser Typenwelt kann das Software-System als Graph abgebildet werden. Dieser Graph kann wiederum traversiert werden. Während der Traversierung können auf den einzelnen „Items“ Algorithmen ausgeführt werden. Dies umschließt z.B. die Persistierung und Darstellung der Daten (GUI).

    Meine Hauptaufgabe bestand in der Implementierung der Basiskomponenten des Frameworks. Weiterhin habe ich die Algorithmen zur Persistierung im XML-Format entwickelt. Ebenso habe ich Teile des dynamischen, aus dem Modell „automatisch“ generierten, GUI unter Anwendung von Qt5 implementiert.

    Projektmetrik
    Laufzeit: 0,5 Jahre
    Umfang: 2 Personenjahre
    Position: Entwickler
    Teamgröße: 3

    Technologien

    Sprachen
    - C++ (C++11)

    Bibliotheken/Frameworks/APIs
    - STL
    - Boost
    - Qt 5.3
    - TinyXML

    Tools
    - Visual Studio 2013
    - Subversion

    Sonstiges
    - XML

    Besonderheiten
    - Traversierung und Ausführung von Algorithmen
    - Persistenz
    - „Automatisches“, dynamisches GUI

    Plattform
    - Microsoft Windows XP/7/8

  • 01/2013 - 09/2014

  • Embedded Entwicklung für ein medizintechnisches Gerät
  • Beschreibung
    Für ein medizintechnisches Gerät mit zwei Controllern (ARM9 und Cortex M3) mussten folgende Funktionalitäten neu entwickelt werden:
    • 2nd und 3rd Level Bootloader
    • Treiber für NAND- und SPI-Flashs
    • Anbindung für USB-Massenspeichergeräte
    • Protokoll für die Kommunikation der beiden Controller über SPI
    • Miteinander kommunizierende Update-Applikationen
    • GUI-Entwicklung mit emWin
    • Backend zur Internationalisierung des GUI
    • Kalibrieren des Touch-Screens
    • Ansprechen verschiedener Komponenten über den I²C Datenbus
    • Sound-Ausgabe über DMA und I²S
    • Überwachung des Geräts mit einem externen Watchdog
    Zum Testen des Systems wurden folgende Entwicklungen getätigt:
    • Installer für das System
    • Unit-Tests unter Windows mit Boost.Test
    • Windows-Applikation, die für die SPI-Kommunikation einen der beiden Controller simuliert
    • Integrationstests für Teilsysteme, z.B. NAND-Flash-Schnittstelle (mit Stubbing von Schnittstellen)
    • Test-Suite für den vollautomatischen Test des Systems
    • Definition von verschiedenen Testfällen (Good und Bad Tests)
    • Installation des Systems
    • Preparieren des Systems für den Test (z.B. markieren von NAND-Flash Blöcken als "bad", um Fehler zu simulieren)
    • Starten des Systems
    • Überprüfung des korrekten Verhaltens anhand von Logging-Ausgaben (Vergleich gegen Referenzdurchlauf)

    Projektmetrik
    - Laufzeit: 2 Jahre
    - Umfang: 6 Personenjahre
    - Position: Entwickler
    - Teamgröße: 4

    Technologien

    Sprachen
    - C
    - C++

    Bibliotheken/Frameworks/APIs
    - Segger emFile, emUSB, embOS, emWin
    - STL
    - DirectC
    - Boost, Boost.Test
    - LibMPSSE
    - TinyXML
    - DirectC

    Tools
    - IAR Embedded Workbench 6.4, 6.5
    - Visual Studio 2010/2013
    - Sourcery CodeBench Lite
    - Hercules
    - Jira
    - Subversion
    - Doxygen
    - Cppcheck
    - Uncrustify
    - Segger J-Link

    Sonstiges
    - SPI
    - I²C
    - I²S
    - DMA
    - A/D-Wandler
    - EEPROM
    - NAND Flash
    - SPI Flash
    - Bootloader
    - GUI

    Besonderheiten
    - ISO/IEC 62304
    - EN/IEC 60601

    Plattform
    - Zielplattform: ARM 9 und ARM Cortex-M3, teilweise ohne Betriebssystem, teilweise mit embOS
    - Entwicklungsplattform: Windows 7, Ubuntu Linux 12.04

  • 03/2010 - 12/2012

  • Projekt: Erkennen der Position und des Winkels von Werkstückrohlingen mit Hilfe eines Keyence Bildverarbeitungssystems beim automatisierten Bestücken einer Produktionsanlage
  • Beschreibung
    Einem CNC-Schleifzentrum aus eigener Produktion werden von einem Fanuc Roboter Werkstückrohlinge zugeführt. Damit der Roboter weiß, wo er die zuzuführenden Rohlinge abgreifen kann, müssen sich diese an definierten Positionen befinden. Da dies nicht immer gewährleistet werden kann, wurde die Anlage mit einem Keyence Kamerasystem ausgestattet. Dieses Kamerasystem erkennt die Lage der zuzuführenden Rohlinge und kann dem Fanuc Roboter die Abgreifposition mitteilen.

    Die Programmierung des eingesetzten Keyence Kamerasystems XG 7000 erfolgte mit Hilfe des Keyence XG Vision Editor. Nachdem zum Anwendungsfall passende Kameras, Kameraobjektive und Beleuchtungen ausgewählt waren, wurden im Keyence XG Vision Editor Programme zur Lageerkennung von einigen ausgewählten Werkstückrohlingen geschrieben. Dabei musste auf besondere Gegebenheiten der Automatisierungslösung Rücksicht genommen werden, zum Beispiel auf die Beschaffenheit der Robotergreifer.

    Im nächsten Schritt wurde für die Kamerasteuerung eine leicht zu bedienende Oberfläche entwickelt. Diese sollte den Bedienern des CNC-Schleifzentrum die Möglichkeit bieten, auf der Kamerasteuerung vorhandene Programm zur Lagererkennung abzuwandeln und für neue Arten von Werkstückrohlingen anzupassen, ohne dabei ein tieferes Verständnis für die Funktionsweise des Bildverarbeitungssystems zu besitzen oder den Keyence XG Vision Editor nutzen zu müssen. Dabei sollen Stück für Stück Programme zur Lagererkennung von über 5000 Arten von Werkstückrohlingen entstehen.

    Projektmetrik
    - Laufzeit: 2 Jahre
    - Umfang: 0,5 Personenjahre
    - Position: Entwickler
    - Teamgröße: 2

    Technologien

    Programmiersoftware
    - Keyence XG Vision Editor

    Kamerasystem
    - Keyence XG 7000

    Besonderheiten
    - nahtlose Integration in eine bereits vorhandene Automationslösung
    - intuitive Bedienbarkeit
    - leicht anzupassen
    - Maschinen für Medizintechnik

    Plattform
    - Windows NT 4.0 (Embedded), Windows XP (Embedded) auf PCU50
    - Sinumerik 840D CNC Power Line

  • 10/2007 - 12/2012

  • Neuentwicklung einer datenbankbasierten Anwendung zur Verwaltung der in einem CNC-Schleifzentrum eingesetzten Werkzeuge
  • Beschreibung
    Mit dieser Software werde alle in einem CNC-Schleifzentrum verwendeten Werkzeuge (zum Beispiel Schleifscheiben, Schleifstifte, Fräser) verwaltet.

    Die Werkzeuge sowie deren Flansche können angelegt und Grupen zugewiesen werden. Die Eigenschaften der Werkzeuge können der Werkzeugart entsprechend definiert werden. Die Software erstellt anhand dieser Parameter 3D-Ansichten dieser Werkzeuge. Die Software bietet die Möglichkeit, Werkzeuge oder ganze Werkzeuggruppen zu exportieren und zu importieren, für den Fall, dass die Werkzeuge an einem anderen Schleifzentrum verwendet werden soll.

    Die Software verwendet eine Microsoft Access Datenbank zur Datenspeicherung. Der Import und Export der Daten erfolgt über XMLDateien. Obwohl die Software alleine verwendbar ist, ist sie gleichzeitig ein wesentlicher Bestandteil eines großen übergeordneten Anlagensteuerungs-Frameworks. Sie bietet Schnittstellen, über welche das Framework die in der Software gehaltenen Werkzeuge verwenden kann. Ausserdem können die in Folge dieser Verwendung entstandenen Änderungen von Eigenschaften der Werkzeuge mitgeteilt werden.

    Die Neuentwicklung der Software erfolgte zu dem Zweck einen Ersatz für ein altes Programm mit ähnlichen Aufgaben zu schaffen. Dabei wurde besonderer Wert auf die Stabilität der Software sowie auf deren saubere Integration in das übergeordneten Anlagensteuerungs-Frameworks gelegt. Die Gestaltung der Oberfläche der Software ist an die des alten Programms angelehnt, um den Bestandkunden den Umstieg zu erleichtern. Gleichzeitig bietet die Oberfläche eine starke Verbesserung der Bedienbarkeit und der Ergonomie.

    Projektmetrik
    - Laufzeit: 5 Jahre
    - Umfang: 1 Personenjahr
    - Position: Entwickler
    - Teamgröße: 3

    Technologien

    Sprachen
    - Object Pascal
    - Bibliotheken/Frameworks/APIs
    - VCL
    - SINUMERIK HMI programming package

    Datenbanken
    - Access
    - SQL
    - ADO
    - Jet

    Tools
    - Delphi 7
    - Visual SourceSafe 6.0
    - Subversion

    Sonstiges
    - OpenGL
    - XML

    Besonderheiten
    - nahtlose Integration in ein übergeordnetes Framework
    - Vollständiger Ersatz für die alten, gewachsenen Schnittstellen
    - Anpassung aller Abnehmer
    - Persistenz
    - Verbesserung der Usability
    - Maschinen für Medizintechnik

    Plattform
    - Windows NT 4.0 (Embedded), Windows XP (Embedded) auf PCU50
    - Sinumerik 840D CNC Power Line

  • 03/2007 - 12/2012

  • Neuentwicklung einer konfigurierbaren Scheduling-Software zur Zuführungssteuerung und Produktionsanlagenbestückung
  • Branche: Maschinenbau, Sondermaschinen, Automation, Zuführungssysteme

    Beschreibung
    Mit dieser Software wird in einem GUI grafisch die Belegung von unterschiedlichen Paletten mit verschiedenen Werkstücken und den entsprechenden Bearbeitungsprogrammen konfiguriert.

    Von den Paletten werden die Werkstücke via Roboter in die Schleifmaschine geladen und nach der Bearbeitung wieder entladen. Die Software kommuniziert mit dem Fanuc Roboter und der Siemens Sinumerik 840D und steuert damit den vollautomatischen Beladungsund Fertigungsprozess. Dabei wird erreicht, dass der Großteil der Automatisierungsvorgänge hauptzeitparallel abläuft.

    Zusätzlich kann in der Software die Abarbeitungsreihenfolge definiert werden und auch Besonderheiten wie das Weitertakten von Werkstücken in Zusammenarbeit von Maschine und Roboter, wenn die Teile nicht in einer Aufspannung bearbeitet werden können, werden abgebildet.

    Die Software gibt es in einer Ausführung für einkanalige und zweikanalige NCs. Die zweikanalige Variante ist in der Lage, noch mehr Vorgänge zu parallelisieren. In diesem Fall benutzt das steuernde System mehrere Threads, um die parallelen Vorgänge optimal bedienen zu können.
    Die Steuerungslogik wird durch State Machines abgebildet.

    Projektmetrik
    - Laufzeit: 6 Jahre
    - Umfang: 3 Personenjahre
    - Position: Entwickler
    - Teamgröße: 5

    Technologien

    Sprachen
    - Object Pascal
    - G-Code

    Bibliotheken/Frameworks/APIs
    - VCL
    - SINUMERIK HMI programming package

    Kommunikation
    - DDE
    - COM
    - OPC

    Datenbanken
    - Access
    - SQL
    - ADO
    - Jet

    Tools
    - Delphi 5
    - Delphi 7
    - Visual SourceSafe 6.0
    - Subversion

    Besonderheiten
    - Fanuc Roboter
    - State Machine
    - 1- und mehrkanalige Variante
    - Multithreading

    Plattform
    - Windows NT 4.0 (Embedded), Windows XP (Embedded) auf PCU50
    - Sinumerik 840D CNC Power Line
    - Simatik SPS

  • 01/2007 - 12/2012

  • Neuentwicklung Anlagensteuerungs-Framework
  • Beschreibung
    Die Kernfunktionalität der Software ist die Erzeugung von NC-Code für 5- und 6-achsige CNC-Maschinen (mit Siemens Sinumerik 840D
    und Siemens S7). Auf der Bedienerseite sind die Anlagen mit einem Industrie-PC (PCU 50) mit Windows Embedded-Betriebssystem
    ausgestattet. Anwendung findet die Software ebenso auf externen Arbeitsplatz-PCs zur Arbeitsvorbereitung und zur Simulation.
    Weitere Details siehe „Weiterentwicklung und Pflege Anlagensteuerungs-Framework“ weiter unten.

    Meine Hauptaufgabe bestand in der Implementierung von mit C++ entwickelten Komponenten des Frameworks. Ebenso wurden Teile
    des dynamischen, aus dem Modell generierten GUI, unter Anwendung von Qt4 implementiert.

    Projektmetrik
    - Laufzeit: 5 Jahre
    - Umfang: 20 Personenjahr
    - Position: Entwickler
    - Teamgröße: 5

    Technologien

    Sprachen
    - C++

    Bibliotheken/Frameworks/APIs
    - Boost
    - STL
    - Qt 4
    - SINUMERIK HMI programming package

    Kommunikation
    - COM
    - OPC

    Tools
    - Visual Studio 2005
    - Visual Studio 2008
    - Visual Studio 2010
    - Subversion

    Besonderheiten
    - State machines
    - Persistenz
    - Adynerisches GUI

    Plattform
    - Windows XP (Embedded) auf PCU50
    - Sinumerik 840D CNC Power/Solution Line
    - Simatik SPS

  • 06/2006 - 12/2012

  • Weiterentwicklung und Pflege Anlagensteuerungs-Framework
  • Beschreibung
    Die Kernfunktionaliät der Software ist die Erzeugung von NC-Code für die 5- und 6-achsigen CNC-Schleifzentren aus eigener Produktion. Dabei wird auf eine Drei-Säulen-Strategie gesetzt: Die Produkte, die geschliffen werden können, kommen aus den drei Bereichen Werkzeuge (z.B. Stufenbohrer, Fräser, Abwälzfräser, Schnecken), Medizinaltechnik (z.B. Knieimplantate, Hüftimplantate, Raspeln) und Sonderanwendungen (z.B. Automobil, Luftfahrt, Abrichtschleifscheiben).

    An die Software werden höchste Ansprüche an Stabilität, Usability und Genauigkeit gestellt. Oft werden vom Kunden Toleranzen im Mikrometerbereich gefordert. Plattform für die Anwendungen sind Steuerungen aus dem Hause Siemens, die auf Bedienerseite mit einem Industrie-PC mit Windows-Betriebssystem ausgestattet sind. Anwendung findet die Software ebenso auf externen Arbeitsplatz-PCs zur Arbeitsvorbereitung und zur Simulation.

    Um das Kernprodukt zur NC-Code-Erzeugung mit ca. 200 Plug-Ins existiert ein breites Umfeld von Tools. Darunter sind unter anderem eine Datenbankanwendung zur Verwaltung der eingesetzten Werkzeuge (z.B. Schleifscheiben und Fräser), ein 2,5D-CAD-System, eine 2D-Grafik für die Nutprogrammierung, das Kinematikdefinitionsmodul, ein NC-Code-Editor und diverse Konfigurationsprogramme vorhanden.

    Ein weiteres Highlight der Software-Palette ist die eigenentwickelte 3D-Simulation, mit welcher die Kinematik der Maschine, der Abtrag am Werkstück sowie Kollisionsproblematiken betrachtet werden können.

    Ebenso wird die Software zur Steuerung von Automatisierungslösungen für den mannlosen Betrieb der Anlagen entwickelt. Automatisierungen umfassen z.B. Lösungen mit Robotern, Stößel-Handlings oder Kettenmagazinen.
    Großer Wert wird auch auf die Automatisierung der Software-Entwicklung selbst gelegt.
    Es existiert eine breitgefächerte Tool-Chain zur Qualitätssicherung, zur Erstellung der Software und von Installern.

    Projektmetrik
    - Laufzeit: 10+ Jahre
    - Umfang: 30+ Personenjahre
    - Position: Entwickler
    - Teamgröße: ca. 10

    Technologien

    Sprachen
    - Object Pascal
    - G-Code

    Bibliotheken/Frameworks/APIs
    - VCL
    - SINUMERIK HMI programming package

    Kommunikation
    - DDE
    - COM
    - OPC

    Datenbanken
    - Access
    - SQL
    - ADO
    - Jet

    Tools
    - Delphi 5
    - Delphi 7
    - Visual SourceSafe 6.0
    - Subversion

    Sonstiges
    - Import der Daten via COM-Schnittstellen von Excel

    Besonderheiten
    - Reimplementieren alter und Integrieren neuer Kommunikationsschnittstelle
    - Code-Generierung (G-Code)
    - Plug-in basiertes Framework
    - Erweiterung des Plug-in-Systems
    - Maschinen für Medizintechnik

    Plattform
    - WIndows 95, Windows NT 4.0 (Embedded), Windows XP (Embedded) auf PCU50
    - Sinumerik 840D CNC Power Line
    - Simatik SPS

ZEITLICHE UND RÄUMLICHE VERFÜGBARKEIT
Bundesweit.
KONTAKTANFRAGE VERSENDEN

Nachricht:

Absenderdaten:

WEITERE PROFILE IM NETZ