Hallo Ihr KUKA Bändiger,
ich hatte exakt gleiche Problem wie Martl, dass der Robi beim Anfang des Überschleifbogens bereits anhält, wenn bis dann der Vorlauf nicht schon genug weit ist.
Das ist ziemlich ungünstig, wenn man den seltenen Fall hat, dass der Roboter in einer Zelle verschieden Stationen bedienen muss, die jeweils über Signale freigegeben werden. Und auch noch schnelle Fahrbewegungen gemacht werden sollen und für SPTP grosse Überschleifradien definiert werden... dann stockt die Roboterbewegung regelmässig.
Leider war es bei dieser Anlage (Softwarestand?) so, dass der Roboter immer einen Genauhalt machte bei PTP-LIN (oder war es LIN-PTP?), deshalb war ich gezwungen alles auf SLIN und SPTP umzubauen. Jetzt habe ich keine Genauhalte mehr, dafür Ruckler und spastische Bewegungen.
Nun das von euch bereits beschriebene Verhalten, verursacht mir aber noch ein anderes Problem. Falls die SPS einen "Stop bei Zyklusende" auslöst, dann wird die letzte "Stations-Home" Bewegung nicht fertig ausgeführt, sondern der Roboter bleibt beim Anfang des Überschleifbogens stehen. Weil ja die Überschleifbewegung (noch) nicht abgeschlossen werden kann. In meinem Freifahr/Grundstellungsfahr-Programm werte ich zuerst $POS_ACT aus um, fest zustellen wo ich gerade bin und welchen Weg ich nehmen muss. Hier liegt das Problem! In $POS_ACT steht die Position vom Anfang des Überschleifbogens. Ich bräuchte hier aber die (überschliffene) Zielposition. Denn wenn ich jetzt SPTP $POS_ACT mache, bewegt sich der Roboter zuerst zu dieser Zielposition und dann wieder zurück zum Anfang des Überschleifbogens. Ich habe $POS_RET, $POS_INT und $POS_FOR angeschaut, aber die bieten mir keine Lösung.
Weiss jemand einen Befehl um den Angefangenen Fahrbefehl abzubrechen und zum Zielpunkt zu fahren? Oder eine Variable in der ich den zu überschleifenden Zielpunkt finde?
gruss Drudge