Hallo!
Habe mal wieder ein Problem und brauche eure Hilfe!
Ich simuliere eine Mehrmaschinenbedienung durch einen Werker. Er soll 4 Bearbeitungszentren unter anderem be- und entladen. Das Ganze läuft im 3- Schichtbetrieb.
Eine Skizze einer der 4 Maschinen findet ihr im Anhang.
Der Werker gibt die Teile von der Bereitstellungsfläche 1 in den Maschinenpuffer 2. In diesem soll immer ein Teil sein. Sobald ein Teil in die Maschine kommt muss der Werker eines in den Maschinenpuffer 2 nachfüllen, damit die Maschine nie zum Stillstand kommt. Das funktioniert auch alles soweit.
Damit der Werker Teile, die er gerade beim Schichtwechsel in der Hand hält ablegen kann, habe ich Puffer 3. Der Werker der nächsten Schicht holt es sich und bringt es hin, wo es hingehört. Das funktioniert auch noch.
Nun zum Problem: In genau dem Fall, dass der Werker ein Teil in Puffer 3 legt und der darauffolgende Werker es wieder in den Maschinenpuffer 2 legt, füllt der Werker in weiterer Folge den Maschinenpuffer 2 nicht mehr mit Teilen von der Bereitstellungsflche 1 auf. Er tut nichts mehr, obwohl Teile da wären und auch keine Teile in der Maschine sind.
Mit der Methode steuere ich den Ausgang der Bereitstellungsfläche 1, damit der Werker nicht mit einem Teil in der Hand vor dem vollen Maschinenpuffer steht und somit blockiert ist.
Die Methode sieht so aus:
is
do
waituntil (Einlegen_Hartner_5_12.leer and Einlegen_Hartner_5_12.bereit) prio 0;
if ?.AusStBug then
@.umlagern;
end;
end;
Einlegen_Hartner_5_12 entspricht dem Maschinenpuffer 2.
Hat jemand eine Idee, was falsch sein könnte? Es kommt nämlich auch keine Fehlermeldung. Der Werker kommt einfach nicht mehr zur Maschinen, obwohl er nicht von anderen Maschinen belegt ist.
Hoffe die Schilderung ist halbwegs verständlich. Danke im Voraus!
Lg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP