Profilbild von Stefan Rasch Sofwareentwickler / software developer (Fullstack) aus Bremen

Stefan Rasch

verfügbar

Letztes Update: 06.09.2022

Sofwareentwickler / software developer (Fullstack)

Firma: r n s - rasch net + software Inh. Stefan Rasch
Abschluss: nicht angegeben
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (gut)

Skills

Verfügbarkeit aktuell: 50%

Softwareentwicklung (Fullstack) Schwerpunkt:
- C#, .Net /.Net Core, C++/CLI, Visual Studio
- Delphi

Der Schwerpunkt meiner Arbeit hat sich in den letzten 15 – 20 Jahren hin zu Anwendungen im Bereich der Videotechnik, hardwarenah, Echtzeitverarbeitung und damit Multithreadding/Multiprocessing und Interprozesskommunikation (IPC) entwickelt. Durch die zumeist 24/7 Laufzeit dieser Anwendungen, ist die Erstellung von Windows Diensten/Services dabei obligatorisch.

Bei diesen Projekten gehörte immer wieder die Kommunikation mit Hardware und Schnittstellen aus anderen Bereichen zu meinen Aufgaben. Wie z.B. per RS232/RS485 Schnittstelle, OPC, TCP/UDP Schnittstellen, um Daten oder Befehle zu empfangen oder zu senden. Vom einfachen I/O-Modul über Kommunikation mit Leitsystemen/SCADA-Systemen bis hin zu komplexen asynchronen Kommunikationsprotokollen, z.B. mit einem Zutrittskontrollsystem oder einer Gefahren-/Störmeldeanlage.

Zudem habe ich Erfahrung im Bereich der Softwareentwicklung mit:
- C++
- SQL
- COBOL
- PHP
- JavaScript
- HTML

Technologien, Protokolle, Tools, Bibliotheken, SDKs, etc.:
- Streaming Media
- MS Windows Presentation Foundation (WPF)
- MS Windows Communication Foundation (WCF)
- Wix Toolset (incl. customized Bootstrapper)
- TCP, UDP, RTP, RTSP, RTCP u.a.
- OPC DA / OPC UA
- H.263, H.264, H.265
- ONVIF
- FFMPEG
- Boost Library
- RS-232 / RS-485
- MS SQL Management Studio
- Unit Testing
- SKDs von Milestone (MIP SDK), Genetec, Axis, Bosch, u.a.
- Bosch RCP+, Axis VAPIX und Protokolle andere Hersteller

Konzepte für, und Planung von Projekten, kann ich sowohl anforderungsorientiert autonom als auch im Team mit Mitarbeitern von Auftraggebern und Endkunden durchführen. Ich verstehe hierbei selbstverständlich die „Sprache“ der Informatiker, also auch weitgehend der Elektrotechniker und durch meine frühere Berufsausbildung zum Datenverarbeitungskaufmann (Programmierung/Organisation) auch von Verwaltung/Kaufleuten. Ich habe in der Vergangenheit mit Elektro-Technikern/Ingenieuren zusammengearbeitet und verfüge aufgrund eigener Interessen über elektrotechnisches Wissen und kann bis zu einem gewissen Grad elektrotechnische Pläne lesen. Testumgebungen kann ich somit in der Regel selbst einrichten und anschließen. Die den Normen und Vorschiften entsprechende Installation/Montage beim Kunden oder für Vorführungen, überlasse ich grundsätzlich den elektrotechnischen Fachleuten.

Bei Videoprojekten, sowohl im Security- als auch industriellen Bereich, hatte ich bereits mit dem Betriebsrat von Kunden bei Konzept/Planung als auch bei der Abnahme zu tun. Ich sehe mich hierbei zumeist als neutrale, ausgleichende Person im Prozess, ohne dabei das Projektziel des Kunden aus den Augen zu verlieren.

Durch ein Projekt auf einer Megayacht, bin ich zudem auch mit der Arbeit auf/für Schiffe vertraut. Zuletzt, bei einem Upgrade 2019, habe ich mehrere Wochen in Singapur gearbeitet, sowohl an der Marina liegend, in der Werft im Trockendock, als auch mit täglichen pendeln auf Reede.

Projekthistorie

01/2011 - bis jetzt
Aktualisierung, Bugfixing, Weiterentwicklung Video Management System

Seit 2011 führe ich Aktualisierungen, Softwarepflege, Bugfixing und Weiterentwicklung an einem Videomanagementsystem für ein australisches Unternehmen durch.

Der Programmcode aus C# und C++ mit Visual Studio wurde von einem anderen Softwareentwickler übernommen. Dieser Stand 2011 rund eine Woche zur Verfügung. Seither ist aus dem ursprünglichen Projektteam niemand mehr verfügbar. Mit zwei Softwareentwicklern haben wir uns in das Projekt mit über 80 Projektdateien (Anwendungen, Dienste, DLLs), in C++ (vorrangig im Backend) und C# (Frontend) eingearbeitet. Anfangs standen neben Einbindung neuer Kamera- und Encodermodelle vor allem das Bugfixing und Verbesserung der Stabilität im Vordergrund. Später kam auch das Hinzufügen neuer Funktionen und Einbinden neuer Gerätehersteller (Treiberentwicklung) hinzu.

Meine Arbeiten hierbei fallen jeweils nach Anforderung/Auftrag an.

Technologien: C#, C++, .Net Framework, H.263, H.264, H.265, RTSP, RTP, RTCP, TCP, UDP, Bosch RCP+, Axis VAPIX, ONVIF, DirectX, Visual Studio, Wix Toolset, MS SQL Server


09/2019 - 11/2020
Überwachung Kameras und Genetec Security Center mit PRTG Network Monitor

Das Programm zur Livedateneinblendung und Zustandssteuerung um Überwachung der Kameras, des Genetec Security Centers selbst als auch der Datenkommunikation mit dem SCADA System erweitert, um Statusmeldungen für PRTG Network Monitor bereit zu stellen. Hierbei wurde auch berücksichtigt, in welchem Zustand sich das System befindet und ob der Status der Aufzeichnung und Liveanzeige sich im Einklang mit der Zustandsschaltung befinden.

Projektdauer durch Corona bedingt und da bestimmte Tests nur bei mehrtägigen Produktionsstillstandzeiten durchgeführt werden konnten.

Technologie: C#, .Net-Framework, C++/CLI, PRTG, Genetec Security Center SDK

04/2019 - 09/2019
Modernisierung Security System Megayacht

Ein Projekt aus den Jahren 2008/2009, dass seither unverändert im 24/7-Betrieb lief, modernisiert.
 

Aus den Projektdaten von 2008/2009 und dem bis dahin einzigen nötigen Wartungseinsatz 2017, zusammen mit dem elektrotechnischen Projektpartner ein Konzept entworfen. Die Aufgabenverteilung sah vor, dass Softwareanpassungen und IT-Arbeiten, wie Servereinrichtung, Softwareinstallationen und -einrichtung, Datenübernahmen, Softwareupgrades, etc. von mir durchgeführt werden und Logistik, elektrotechnische Arbeiten wie Montagen, Kabelarbeiten, Hardwareupgrades von meinem Projektpartner.

 

  • Austausch der analogen, an Encoder angeschlossenen, PTZ Außenkameras durch IP PTZ Kameras. Diese Kameras werden auch zum Manövrieren benötigt.
  • Anpassung des 2008 in Delphi entwickelten Videotreibers (wird als DLL von Visualisierung geladen) für die Visualisierung und des 2008 im Projekt entwickelten ManoeuvringProgramms. Insbesondere PTZ-Steuerung von RS485 auf IP umgestellt, so wie Anpassungen RCP+ und BiCOM, z.B. für das Homeing der Kameras zur korrekten Blickwinkeldarstellung in Relation zum Schiff. Aktualisierung Bosch Video SKD Stand 2008 auf Stand 2019.
  • Austausch Server und Workstations (Windows 2003 Server / XP > Windows 2016 Server / 10)
  • Softwareanpassungen zur Kompatibilität mit Windows 2016 Server und Windows 10
  • Upgrade Zutrittskontrollsystem von Software/Versionstand 2008 auf 2019 in mehreren Schritten, unter Berücksichtigung der komplexen, intern konfigurierten, Funktionalität von Betriebsmodi, Türen, I/O-Modulen, etc..
  • Anpassung des 2008 entwickelten Treibers (wird von Visualisierung als DLL geladen) für das Socket Interface vom Zutrittskontrollsystem.
  • Anpassung des 2008 entwickelten NMEA-Treibers für die Visualisierung (wird von dieser als DLL geladen), an eine zum gleichen Zeitpunkt ausgetauschte, neue Brandmeldeanlage.
  • Softwareupgrade/Hardwareumstellung Videomanagementsystem/-recorder
  • Funktionale Verbesserungen
  • Dokumentation
  • Abnahme mit Chief Engineer und Eignervertretung.
  • Vorbereitung soweit möglich in Deutschland. Zwei Einsätze auf der Megayacht in Singapur (2 und 3 Wochen) an Marina liegend, im Trockendock, auf Reede mit täglichem pendeln per Wassertaxi.


Technologien: Delphi, BOSCH RCP+, BOSCH BiCom, BOSCH VideoSDK, IP-Kameras, RS485, NMEA, PVIS Visualisierung (Schille), NEDAP AEOS, AEOS Socket Interface, Windows 10, Windows 2016 Server, MS SQL Server

 


06/2017 - 10/2018
Zustandsschaltung Videosystem mit Genetec Security Center

Auf Basis einer von mir durchgeführten Machbarkeitsstudie von 2016, das Programm zu Livedateneinblendung im Walzwerk umgebaut zu einer Erweiterung des Genetec Security Centers und um Zustandsschaltung erweitert. Es können beliebig viele Zustände konfiguriert werden und dabei definiert werden welche Kameras im jeweiligen Zustand live angezeigt werden können und aufgezeichnet werden. Livebilder werden hierbei nicht abgelöscht, sondern zeigen keinen Stream mehr an, wird wieder ein Zustand geschaltet wo das Livebild gesehen werden darf, wird dieses auch automatisch wieder angezeigt. Es wurden vorerst die Zustände „Stillstand“ und „Produktion“ konfiguriert.

Tests und Teile der Entwicklung konnten nur während längerer Stillstandzeiten durchgeführt werden.

Technologien: C#, .Net-Framework, C++/CLI, Genetec Security Center SDK, TCP, Advantech ADAM 6066


07/2018 - 08/2018
Weiterentwicklung, Anpassung Stream-Client mit FFMPEG

Für einen Auftraggeber dessen Stream-Client weiterentwickelt, bzw. Anpassungen auf das aktuelle FFPMEG Library durchgeführt. Die Arbeiten erfolgten nach Vorgaben des Auftraggebers mit einer Demoanwendung. Die Implementierung meiner Arbeiten in den Sourcecode des Produktivsystems/Trunk erfolgte dann wieder durch Mitarbeiter des Auftraggebers.

Technologien: C#, .Net-Framework, C++/CLI, FFMPEG


04/2016 - 06/2016
Integration BOSCH und weiteres Protokoll Datenempfang in Programm Prozessdaten Live in Videostream einblenden

Da sich mein Auftraggeber komplett aus dem Projekt vor Ort zurückziehen wollte und einen neuen Partner vor Ort einbrachte, wurden auch Kameras von AXIS auf BOSCH umgestellt bzw. zukünftig Bosch-Kameras verbaut. Dadurch wurde es notwendig, dass Programm von 2010/2014 auf die Nutzung von Bosch-Kameras zu erweitern. Bisher wurden Kameras und Encoder von Axis eingesetzt. Planung und Vorbereitung seit Mitte 2015 sowie Programmierung und Einsatz vor Ort April bis Juni 2016.

Durch eine Umstellung/Erweiterung im Prozessleitsystem, werden zudem nun über ein weiteres Protokoll auch Daten für die Liveeinblendung von einem Teilstück der Produktionsstraße bereitgestellt, das vorher nicht berücksichtigt war. Dieses Protokoll in das Programm eingebunden. Hierbei wurde es notwendig den Kameras Koordinaten zuzuordnen.

Technologien: C#, .Net-Framework, C++/CLI, Bosch RCP+ Protokoll, Genetec Security Center SDK

07/2012 - 06/2014
Videowand für Tunnelleitzentralen mit Anbindung an Leitsystem

Konzept und Programmierung einer Videowandsoftware für zwei redundante Tunnelleitzentralen. Umstellung vom Hardwaredecoding aus einem Projekt von 2006, auf Softwaredecoding direkt auf den Videowandrechnern unter Berücksichtigung der vorhandenen Hardware in den Tunnelanlagen.

Die Steuerung des Videowand erfolgt über Befehle des Leitsystems, die Kommunikation zwischen Videowand und Leitsystem erfolgt per OPC. Die Videowandsoftware bietet virtuelle Kreuzschienen, mittels der über die SPS der Tunnelanlage und deren beliebig konzipierten Kreuzschiene, analoge Kameras auf eine begrenzte Anzahl von Encodern in der Tunnelanlage aufgeschaltet werden und zur Videowand gestreamt werden können. Andere Tunnelanlagen verfügen über IP-Kameras oder IP-Kanäle je analoger Kamera und werden direkt gestreamt. Die Videowand ist über mehrere Videowandrechner je Standort redundant ausgelegt, so dass ein Ausfall von einzelnen Videowandrechnern oder Monitoren zwar die Zahl der verfügbaren Monitore begrenzt, aber die generelle Funktionsfähigkeit der Wand bestehen bleibt. Funktionen wie Alarmaufschaltungen, Quad-Aufschaltung, vordefinierte Layouts, Touren über einzelne oder mehrere Tunnelanlagen, automatische Verteilung der Konfiguration auf die Systeme beider Leitstellen. Depacketizing, Decoding, Rendering erfolgt komplett auf den Videowandrechnern u.a. mit DirectX. Unterstützung von H.263 und H.264. Videohardware von Bosch, Axis, Siemens (SISTORE) wird unterstütz.

Die Umsetzung erfolgte in mehreren Schritten. Zeitweise, wegen der kurzfristig nötigen Verfügbarkeit und Inkompatibilität der alten Decoder-Hardware zu einer umgerüsteten Tunnelanlage, wurde eine frühe Alphaversion nur für H.264 auf nur einem Monitor der Wand eingesetzt und die alte Software angepasst Befehle an die neue zu senden.

Technologien: C#, .Net-Framework, C++/CLI, MS WCF, MS WPF, RTPS, RTP, RTCP, H.263, H.264, OPC DA 2.0, TCP, UDP, DirectX, BOSCH RCP+, Axis Vapix

10/2013 - 01/2014
Umstellung Prozessdaten Live in Videostream einblenden

Das Projekt aus 2010 im Walzwerk umgestellt. Durch den Wechsel des Videomanagementsystem zu Genetec Security Center, war es notwendig die Anbindung für das Livedatenprogramm auf das SDK von Genetec Security Center umzustellen. Planung, Einarbeitung in das Genetec SDK und Durchführung.

Technologien: C#, C++/CLI, .Net-Framework, Genetec Security Center SDK

07/2010 - 09/2010
Prozessdaten Live in Videostream einblenden

Für einen Auftraggeber eine Software entwickelt, Dienst mit Client für Konfiguration, die Prozessdaten vom SCADA System eines Warmbandwerks (Walzwerk/Stahlwerk) real time über eine TCP-Schnittstelle empfängt. Diese werden dann live/real time in die Videostreams von Encodern eingeblendet. Somit stehen die Prozessdaten sowohl im Userinterface der Encoder, im der Liveanzeige des Videomanagementsystems und in den Videoaufzeichnungen im Bild zur Verfügung. Zusätzlich werden die Daten noch in eine Datenbank geschrieben. Dadurch können über die Produktionsnummer automatisch die Videoaufzeichnungen an allen Stationen der Produktion zu einem Warmband gefunden und wiedergegeben werden. Durch die Einblendung im Bild ist erkennbar welches Warmband genau gerade die Kamera passiert. Die Software wurde als Add-On zum eingesetzten Videomanagementsystem konzipiert und ist eng über dessen SDK mit diesem verknüpft, wodurch doppelte Konfigurations- und Wartungsarbeiten vermieden werden.

Technologien: C#, C++/CLI, .Net-Framework, Axis VAPIX, TCP Server

07/2009 - 11/2009
Pförtnerprogramm (Doorman)

Video (over IP) und Klingelanlagen mit Gegensprechstellen (voice over IP) an den Eingängen und Zufahrten eines Werksgeländes kombiniert und die nötige Software erstellt, Server und Client.

An 8 Zugängen zum Werksgelände und Gebäuden ist eine Klingelanlage mit Gegensprechstelle installiert. Die Rufziele an den Klingelanlagen sind die einzelnen Abteilungen. Damit auch eine visuelle Kontrolle vor dem Öffnen eines Zugangs/einer Zufahrt vorgenommen werden kann, sollen die zuständigen Mitarbeiter in den Abteilungen jeweils das Videobild der Überwachungskamera an dem Zugang für den Zeitraum des Zutrittsvorgangs sehen können. Hierzu haben die Mitarbeiter die Clientsoftware auf ihren PCs installiert. Meldet sich der Mitarbeiter im Pförtnersystem an, werden von den Zugängen die Rufe für seine Abteilung nicht mehr zum Empfang geleitet, sondern zu seinem Telefon. Auf seinem PC öffnet sich automatisch das Videobild zum jeweiligen Zugang, wenn ein Ruf erfolgt. Der Mitarbeiter kann über die Clientsoftware den Zugang öffnen und danach das Videobild noch über eine vordefinierte Zeit einsehen. Zur Projektrealisierung werden die SIP-Telegramme der VoIP-Telefonanlage im Netzwerk von dem Dienst auf dem Server mitgelesen und ausgewertet, sowie die relevanten Rufweiterleitungen in der VoIP-Telefonanlage eingestellt.

Technologien: C#, C++/CLI, .Net-Framework, Video over IP, Voice over IP, SIP

Reisebereitschaft

Weltweit verfügbar

Sonstige Angaben

XING: https://www.xing.com/profile/Stefan_Rasch2/
Profilbild von Stefan Rasch Sofwareentwickler / software developer (Fullstack) aus Bremen Sofwareentwickler / software developer (Fullstack)
Registrieren