Anfang der Ordnerstruktur + Generale CLAUDE.md angelegt
This commit is contained in:
37
CLAUDE.md
Normal file
37
CLAUDE.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# PROJEKT-KONTEXT: IHK-Abschlussprüfung - Kai Kröger
|
||||||
|
|
||||||
|
## 1. PROJEKT-STECKBRIEF
|
||||||
|
- **Projekttitel:** Optimierung der Auftragsverarbeitung eines Warehouse Control Systems mittels Prozesssteuerung in C#
|
||||||
|
- **Kunde/Abteilung:** Gebhardt Fördertechnik GmbH (Intralogistik)
|
||||||
|
- **Zeitraum:** Sommer 2026 (Durchführung: 04.05.2026 - 25.05.2026)
|
||||||
|
- **Gesamtstunden:** 80h
|
||||||
|
- **Status:** Planung (Antrag genehmigt mit Auflagen)
|
||||||
|
|
||||||
|
## 2. TECHNOLOGIEN & STACK
|
||||||
|
- **Infrastruktur:** WCS (Warehouse Control System)
|
||||||
|
- **Programmiersprache:** C#
|
||||||
|
- **Framework:** .NET Framework
|
||||||
|
- **Datenbank:** Zugriff auf Auftragstabellen (zyklisch/Echtzeit)
|
||||||
|
- **Schnittstellen:** SAP IDoc, TCP/IP, File, Webservices
|
||||||
|
|
||||||
|
## 3. AKTUELLE MEILENSTEINE & PRIORITÄTEN
|
||||||
|
1. [ ] **Auflagen der IHK erfüllen:** Hintergrund, Prozesse (ConveyorDispo/HostBooking), Ziele, Trigger & Schnittstellen detaillieren.
|
||||||
|
2. [ ] **Ist-Analyse:** Code-Analyse der beteiligten Prozesse zur Identifizierung der Race Condition.
|
||||||
|
3. [ ] **Soll-Konzept:** Zentralisierung des Auftragsstarts im ConveyorDispo.
|
||||||
|
4. [ ] **Wirtschaftlichkeitsbetrachtung:** Kosten/Nutzen der Code-Zentralisierung vs. Fehlermanagement.
|
||||||
|
5. [ ] **Technische Realisierung:** Refactoring der Start-Logik.
|
||||||
|
|
||||||
|
## 4. SPEZIFISCHE ARBEITSANWEISUNGEN FÜR HERMES
|
||||||
|
- **IHK-Fokus:** Fokus auf FIAE (Fachinformatiker Anwendungsentwicklung). Code-Qualität, Multithreading-Problematik (Race Condition) und Architektur-Entscheidungen hervorheben.
|
||||||
|
- **Wirtschaftlichkeit:** Dokumentiere, wie viel Zeit durch die Vermeidung von Fehlbuchungen/manuellen Eingriffen gespart wird.
|
||||||
|
- **Prüfungsrelevanz:** Erklärungen zu Race Conditions und Prozess-Scheduling müssen "prüferfest" sein.
|
||||||
|
|
||||||
|
## 5. DOKUMENTEN-STRUKTUR
|
||||||
|
- `/Dokumente`: Projektantrag, Auflagen, Antworten des Ausbilders
|
||||||
|
- `/doku`: Entwürfe für den Projektbericht
|
||||||
|
- `/src`: C# Scripte und Konfigurationsdateien (sobald vorhanden)
|
||||||
|
- `/planung`: Zeitplan, Kostenrechnung
|
||||||
|
- `README.md`: Technischer Überblick
|
||||||
|
|
||||||
|
## 6. WICHTIGE LINKS & REFERENZEN
|
||||||
|
- Gitea-Repo (Pfad noch zu ergänzen)
|
||||||
32
Dokumente/Antworten auf Auflagen IHK Projekt.md
Normal file
32
Dokumente/Antworten auf Auflagen IHK Projekt.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# Info
|
||||||
|
Hier sind die Antworten auf die Auflagen der IHK von meinem Ausbilder aufgelistet.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 1. Hintergrund Ihrer Arbeit
|
||||||
|
Es geht um einen Materialflussrechner. Die Aufgabe befasst sich mit der Auflösung einer Race Condition zwischen zwei Prozessen beim Starten von Transporten im System.
|
||||||
|
|
||||||
|
# 2. Welche Prozesse sind beteiligt? Beschreiben Sie diese kurz.
|
||||||
|
Beteiligt sind die Prozesse ConveyorDispo und HostBooking.
|
||||||
|
Der ConveyorDispo disponiert Transporte, prüft Zielressourcen und deren Verfügbarkeit und startet Transporte. Außerdem übernimmt er das Scheduling mehrerer Transporte für denselben Ladungsträger.
|
||||||
|
Der HostBooking verarbeitet Nachrichten eines übergeordneten Host-Systems. Dabei legt er Transporte an und startet in bestimmten Fällen auch direkt Aufträge, zum Beispiel beim Rücktransport eines Behälters vom Arbeitsplatz ins Lager.
|
||||||
|
|
||||||
|
# 3. Was ist das Ziel der Prozesse?
|
||||||
|
Die Prozesse sollen Transporte bzw. Aufträge automatisch starten, damit kein manueller Eingriff erforderlich ist. Zusätzlich sollen sie die Anlage möglichst effizient auslasten und auf Vorgaben des übergeordneten Host-Systems reagieren.
|
||||||
|
|
||||||
|
# 4. Wer startet die Prozesse?
|
||||||
|
Beide Prozesse laufen permanent als Services im Hintergrund.
|
||||||
|
Der ConveyorDispo wird zyklisch ausgeführt und prüft in Echtzeit die aktuellen Transportmöglichkeiten der Anlage.
|
||||||
|
Der HostBooking wird durch eingehende Host-Nachrichten ausgelöst, die ebenfalls zyklisch aus der Datenbank gelesen werden.
|
||||||
|
|
||||||
|
# 5. Über welche Schnittstellen werden die Prozesse angesprochen?
|
||||||
|
Die Anbindung an das Host-System erfolgt über verschiedene Schnittstellen, zum Beispiel SAP IDoc, TCP/IP, Dateischnittstellen oder Webservices. Die eingehenden Daten werden in einer Datenbank bereitgestellt.
|
||||||
|
Der HostBooking liest diese Daten zyklisch aus der Datenbank und legt daraus Auftragsdatensätze an. Der ConveyorDispo greift ebenfalls auf diese Datenbanktabellen zu und startet Transporte, sobald die Bedingungen erfüllt sind.
|
||||||
|
|
||||||
|
# 6. Welches Problem tritt auf?
|
||||||
|
Wenn ein Behälter einen Arbeitsplatz verlässt und kein Transport in der Datenbank vorhanden ist, legt der HostBooking einen Transport an und startet diesen direkt.
|
||||||
|
Gleichzeitig kann durch Multithreading ein neuer Host-Auftrag eintreffen, der vom ConveyorDispo verarbeitet und ebenfalls gestartet wird.
|
||||||
|
Dadurch entstehen zwei aktive Transporte für denselben Ladungsträger.
|
||||||
|
|
||||||
|
# 7. Wie soll das Problem gelöst werden?
|
||||||
|
Die Lösung besteht darin, alle Auftragsstarts zentral im ConveyorDispo zu bearbeiten. Dadurch können Überschneidungen an einer Stelle erkannt und aufgelöst werden.
|
||||||
10
Dokumente/Auflagen IHK Projekt.md
Normal file
10
Dokumente/Auflagen IHK Projekt.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Informationen
|
||||||
|
|
||||||
|
## Auflagen der IHK nach Abgabe des Projektantrags
|
||||||
|
Bitte beschreiben Sie den Hintergrund Ihrer Arbeit und die genannten Prozesse etwas genauer. - Was ist ein ConveyorDispo bzw. Orders Host Prozess? - Was ist das Ziel der Prozesse? - Wer startet die Prozesse? - Über welche Schnittstellen werden die Prozesse angesprochen?
|
||||||
|
|
||||||
|
## Ausbildung
|
||||||
|
Fachinformatiker/Fachinformatikerin Fachrichtung: Anwendungsentwicklung
|
||||||
|
|
||||||
|
## Termin
|
||||||
|
Sommer 2026
|
||||||
55
Dokumente/IHK Projektantrag.md
Normal file
55
Dokumente/IHK Projektantrag.md
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# Prüfung: Sommer 2026
|
||||||
|
|
||||||
|
### Ausbildungsberuf
|
||||||
|
### Fachinformatiker/Fachinformatikerin Fachrichtung: Anwendungsentwicklung
|
||||||
|
|
||||||
|
### Kai Kröger
|
||||||
|
|
||||||
|
### Ausbildungsbetrieb: Gebhardt Fördertechnik GmbH
|
||||||
|
### Betrieblicher Betreuer / Ausbilder: Sebastian Badour
|
||||||
|
|
||||||
|
### Thema der Projektarbeit
|
||||||
|
### Optimierung der Auȅragsverarbeitung eines Warehouse Control Systems mittels Prozesssteuerung in C#
|
||||||
|
|
||||||
|
|
||||||
|
# 1 Thema der Projektarbeit
|
||||||
|
Optimierung der Auȅragsverarbeitung eines Warehouse Control Systems mittels Prozesssteuerung in C#
|
||||||
|
|
||||||
|
# 2 Geplanter Bearbeitungszeitraum
|
||||||
|
Beginn: 4.5.2026
|
||||||
|
Ende: 25.5.2026
|
||||||
|
|
||||||
|
# 3 Ausgangssituation
|
||||||
|
Die Gebhardt Fördertechnik GmbH ist ein führendes Unternehmen im Bereich der Intralogistik. In den Förderanlagen kommt ein Warehouse Control
|
||||||
|
System (WCS) aus eigenem Haus zum Einsatz, das die Transportgüter auf der Anlage verwaltet und kontrolliert. Das WCS kommuniziert mit der
|
||||||
|
Fördertechnik mittels Telegrammen, die innerhalb des WCS durch unterschiedliche Prozesse, die parallel ablaufen, verarbeitet werden. Die Prozesse
|
||||||
|
des WCS sind mit dem .NET Framework von Microsoȅ realisiert und in der Programmiersprache C# programmiert. Einer dieser Prozesse ist
|
||||||
|
ConveyorDispo. Dieser ist dafür zuständig, OrdersHost-Auȅräge, die vom Warehouse Management System kommen, zu verarbeiten und zu starten.
|
||||||
|
Aktuell gibt es jedoch auch andere Prozesse, die in der Lage sind, unter bestimmten Bedingungen einen OrdersHost-Auȅrag zu starten. Aufgrund der
|
||||||
|
parallelen Abläufe kann es bei unglücklichem Timing dazu kommen, dass zwei OrdersHost-Auȅräge simultan gestartet werden. Da es für die
|
||||||
|
Auȅräge nur ein physisches Transportgut auf der Förderanlage gibt, bleibt ein OrdersHost-Auȅrag offen, der nicht abgeschlossen werden kann.
|
||||||
|
|
||||||
|
# 4 Projektziel
|
||||||
|
Die OrdersHost-Auȅräge sollen zukünȅig ausschließlich über den Prozess ConveyorDispo gestartet werden. Dafür müssen die Prozesse und ihr Code
|
||||||
|
analysiert und entsprechend angepasst werden.
|
||||||
|
|
||||||
|
# 5 Zeitplanung
|
||||||
|
Planung (22h)
|
||||||
|
Einarbeitung in das bestehende Projekt (6h)
|
||||||
|
Einarbeitung in die WCS Dokumentation (3h)
|
||||||
|
Identifizierung der betroffenen Prozesse (8h)
|
||||||
|
Konzeptionierung der Änderungen an den Prozessen (3h)
|
||||||
|
Planung der Umsetung (2h)
|
||||||
|
Implementierung (26h)
|
||||||
|
Anpassung der Prozesse (23h)
|
||||||
|
Anpassung der Auȅragstatus (3h)
|
||||||
|
Testing (12h)
|
||||||
|
Testfälle für alle Szenarien erstellen (4h)
|
||||||
|
Fehler beheben (6h)
|
||||||
|
Optimieren (2h)
|
||||||
|
Dokumentation (20h)
|
||||||
|
Projektdokumentation (16h)
|
||||||
|
Entwicklungsdokumentation (4h)
|
||||||
|
|
||||||
|
# 6 Präsentationsmittel
|
||||||
|
Laptop, USB-Stick, Powerpoint Präsentation
|
||||||
Reference in New Issue
Block a user