Hallo!
Ich habe folgendes Problem und komme dort nicht so recht weiter:
Ich habe 4 Anlagen die über einen Roboter mit den entsprechenden Teilen versorgt werden sollen. Der Materialfluss sieht folgendermaßen aus:
Eingang -> Roboter -> Drehmaschine 1 oder Drehmaschine 2 -> Roboter Zwischenreinigung -> Roboter -> SPC Messplatz -> Roboter -> Ausgang
Wobei es immer der gleiche Roboter ist. Die SPC Messung muss erstmal nicht betrachtet werden.
Meine Werkstücke führen einen Arbeitsplan mit sich, der sich dynamisch anpassen lässt. Zusätzlich haben sie das Attribute vom Typ String das "NextDestination" heißt.
Meine Zielsteuerung lautet
Code:
is
do
if ?.leer then -- no parts?
return;
end;
inspect @.NextDestination
when "Turning_R1" then ?.setzeZiel (str_to_obj(@.NextDestination), false); --set Target
when "Turning_L1" then ?.setzeZiel (str_to_obj(@.NextDestination), false); --set Target
when "Inspection_1" then ?.setzeZiel (str_to_obj(@.NextDestination), false);
when "Ausgang" then ?.setzeZiel (str_to_obj(@.NextDestination), false);
when "Clean_1"
then if Clean_1.inhalt = Void
then ?.setzeZiel (str_to_obj(@.NextDestination), false);
else waituntil Clean_1.empty and R1.empty prio 1;
?.setzeZiel (str_to_obj(@.NextDestination), false)
end;
end;
An meinem "Eingang" habe ich weiterhin eine Ausgangssteuuerung programmiert, die verhindert das Teile eingeschleust werden, falls die Zielmaschine nicht frei ist.
Ausgangssteuerung lautet:
Code:
[if root.Turning_R1.inhalt= VOID and root.Turning_L1.inhalt = VOID --check if Turning_R1 or Turning_L1 is empty
then @.move;
elseif @.NextDestination = "Turning_R1" and root.Turning_R1.inhalt = VOID
then @.move;
elseif @.NextDestination = "Turning_L1" and root.Turning_L1.inhalt = VOID
then @.move;
elseif @.NextDestination = "Turning_L1" and root.Turning_L1.inhalt /= VOID
then waituntil root.Turning_L1.empty and root.R1.empty prio 1;
@.move;
elseif @.NextDestination = "Turning_R1" and root.Turning_R1.inhalt /= VOID
then waituntil root.Turning_R1.empty and root.R1.empty prio 1;
@.move;
Problem ist jetzt folgendes: Die Ausführung bricht ab, sobald der Roboter von einer Drehmaschine auf die Zwischenreinigung umlagert und die Zwischenreinigung besetzt ist... Kann mir da wer helfen? :/
Grüße Sparkie
[Diese Nachricht wurde von Sparkie99 am 15. Aug. 2016 editiert.]
[Diese Nachricht wurde von Sparkie99 am 15. Aug. 2016 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP