Thema

Titel: Entwicklung einer Kommunikationsebene zwischen einer TwinCAT Seilrobotersteuerung und Clouddiensten
Typ:
  • Bachelorarbeit
  • Studienarbeit
  • Masterarbeit
Betreuer:
Status: offen

Hintergrund

Industrie 4.0 und Internet of Thing sind zwei Stichworte, die seit einigen Jahren mehr und mehr an Bedeutung gewinnen. Dabei geht es zum einem um die digitale Vernetzung von Produktionseinheiten, aber auch die digitale Erfassung und Analyse von Prozessdaten. Entscheidener Punkt ist hier meist die rechtzeitige Verfügbarkeit dieser Daten an einem zentralen Platz zur on-line Analyse um bestimmte Trends rechtzeitig erkennen zu können. Manche der Daten werden aber auch zur Langzeitbeobachtung verwendet und sind daher nicht zeitkritisch.

Die Seilroboter am ISW und am Fraunhofer-Institut für Produktionstechnik und Automatisierung IPA basieren auf der selben Steuerung und bieten ein interessantes Gebiet für maschinelles Lernen gerade um Effekte wie Alterung der Seile zu erkennen. Daher sollen diese Seilrobter nun ebenfalls in die vernetzte Produktion integriert werden. Dabei sollen die aktuellen Systemparameter an einen zentralen Server geschickt werden, welcher anschließend Datenanalyse durchführen kann um zum Beispiel altersschwache Seile frühzeitig zu erkennen.

Problemstellung

Die Seilrobotersteuerungen am ISW und Fraunhofer IPA sind zur Zeit vollständig autonom. Lediglich die Steuerungssoftware ist zentral abgelegt und kann über eine Versionskontrolle aktualisiert werden. Änderungen an der Codebasis können einfach auch auf andere Seilroboter übertragen werden. Im Bereich der Bereitstellung von Daten aus den laufenden Experimenten hingegen besitzt keiner der Seilroboter eine entsprechende Kommunkationsebene. Daher ist es bisher nicht möglich, die aktuellen Systemzustände aus der Ferne zu lesen geschweigedenn eine Aussage über den Zustand der Steuerung und des Seilroboters zu treffen.

Aufgabe

Die Kommunkation zwischen der TwinCat 3 Steuerung und einem ebenfalls zu entwickelnden Server soll konzeptionell entworfen und als proof-of-concept implementiert werden. Auf Seiten der Steuerung soll idealerweise ein TcComobjekt erstellt werden, welches dediziert die gesammelten Daten an einen Server verschickt. Dabei muss sowohl darauf geachtet werden die Echtzeitfähigkeit der Steuerung nicht zu beeinflussen als auch ebenfalls die Datenleitung durch zu große Datenpakete nicht zu sehr auszulasten. Neben den essentiellen Systemparametern soll dem Benutzer die Möglichkeit gegeben werden, weitere PLC Variablen oder Achsvariablen an den Server zu senden. Eventuell lässt sich der zu erzeugende Payload sogar zwischen Server und Client aushandeln lassen.

Auf Seiten des Servers muss sowohl der Datenempfang und die Abspeicherung in einer Datenstruktur (z.B. einer Datenbank) implementiert werden. Hierfür eigent sich ein REST-Server auf Basis von PHP oder Python. Eine spätere Implementierung über C/C++ Websockets wäre ebenfalls denkbar. Nach der Zwischenspeicherung der Daten sollen diese aufbereitet werden und in einer für große Datensätze optimierten Datenbank gespeichert werden (z.B. Apache Hadoop oder Google's Bigtable).

Anforderung

  • Interesse in einer modernen und interessanten Thematik zu arbeiten
  • Kenntnisse in RESTful Kommunikation
  • Programmierkenntnisse - C++, TwinCat, Python o. PHP, SQL/noSQL
  • Gute Kenntnisse in LaTeX und English (Thesis sollte in LaTeX und auf English verfasst werden)

Kenntnisgewinn

  • Vertiefte Programmierkenntnisse
  • Client-Server Kommunikation
  • TwinCat-Programmierung
  • Projektmanagement- und Zeitplanungsfähigkeiten