Anfang der Ordnerstruktur + Generale CLAUDE.md angelegt
This commit is contained in:
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.
|
||||
Reference in New Issue
Block a user