Hallo zusammen,
ich suche seit einer Zeit eine Lösung für mein Problem, vielleicht hat jemand eine Lösung?
Zuerst kurzes Info:
Unser Prozess ähnelt sich der Oberflächenlackirung, wir fahren mit dem Robi (ABB) einen Raster an der Oberfläche eines Bauteils hin und zurück. Nach jeder Bahn fahren wir mit dem Werkzeug raus, um den neue orientieren/positionieren. Jeder Ausfahrt kostet natürlich Zeit. Und als Lösung war natürlich die Verkürzung von diesen Ausfahrtabständen. Am Ende haben wir jetzt so ein Zustand, dass wenn der Robi sich neue orientiert/positioniert (zw. letzten und ersten Bahnpunkten), berührt der Spot den Bauteilrand. Und das ist immer noch OK. Das Problem fängt erst dann an, wenn der Bediener bei einem Prozessfehler den Robi stoppen muss, um den Werkzeug auszutauschen oder reparieren. Dabei versucht man den Prozess mit dem Robi gleichzeitig am Bahnende zu stoppen. Da kommt erstes Problem: nach dem Drücken der STOP-Taste fährt der Robi noch ca. 0,3 - 0,5s weiter (auf den Bauteil zurück, nächste Bahn) und bleibt am Bauteil stehen, was unschöne Spuren hinterlässt. Das ist noch akzeptabel, nur der Kunde stellt natürlich mehreren „WWWW“ Fragen...
Um den Bauteil weiter zu bearbeiten, wird der Robi an den letzten Punkt der Bahn gefahren (schrittweise oder bei 1%), der Werkzeug wird repariert/ausgetauscht. Und beim Start kommt das großes Problem: der Prozess wird gestartet, und solange bis die Nennwerte erreicht werden (zwei - drei Minuten), bleibt der Robi stehen. Dabei wird der Bauteil mit dem Spotrand die ganze Zeit berührt und fast zum Schrott gemacht...
Ich habe mir gedacht, dass ich am Ende einer Bahn, den Zustand eines DI (ein Schalter für den Bediener) kontrolliere und wenn der =1 ist, wird eine Interruptroutine aktiviert, die den letzten Bahnpunkt mit z.B. Offset z+100 anfährt und den Robi stoppt.
So weit so gut.
Und jetzt die Frage: wie kann man den Name vom letzten angefahrenen Punkt rausfinden, um diesen in Offset zu integrieren? Hat jemand eine Idee?
Unsere Programme sind groß, ca. 2000 – 3000 Punkten mit ca. 200 – 250 Bahnen. Mal mehr, mal weniger. Und für jede Bahn eine Interruptroutine mit dem bestimmten Punkt zu schreiben, habe ich keine Lust (die Programme werden immer geändert, einigen Punkten werden eingeführt oder gelöscht).