Hallo, Kai,
der Vorlaufzeiger bezieht sich auf $advance. Es werden soviel Punkte berechnet, wie $advance vorgibt, und darüber hinaus, bis der Vorlaufzeiger vor der Punktanweisung $advance+1 steht. Darauf muss man besonders bei der Abfrage von Sensoren achten, da bei einem zu großen Vorlauf beispielsweise der Sensor für einen Aktor bereits ausgewertet wird, bevor im Hauptlauf der Aktor überhaupt bewegt wird.
Beispiel: An einem bestimmten Punkt soll ein Zylinder ausgefahren werden, der Sensor dafür soll einen Punkt später abgefragt werden. Bei einem $advance=3 ist der Vorlaufzeiger bereits bei der Sensor-Abfrage, bevor im Hauptlauf der Zylinder ausgefahren wurde. Der Hauplauf ist das, was man auf dem KCP als Pfeil links neben den Programm-Zeilen sieht, der Vorlauf (wie beschrieben) entspricht $advance.
Für die Bahnplanung braucht der Roboter natürlich auch Geschwindigkeiten. Wie ich feststellen musste, sind deutliche Geschwindigkeits- bzw. Beschleunigungsdifferenzen zwischen 2 aufeinander folgenden Punkten problematisch. Besonders, wenn der 2. Punkt deutlich langsamer als der 1. Punkt ist, fährt der Roboter den 2. Punkt nicht so langsam wie vorgegeben. Das mag bei meinen Programmen daran liegen, dass ich einen $advance=1 wg. oben beschriebener Sensorik-Abfragen benutze. Wenn ich also einen Suchvorgang einleiten will, der mit langsamer Geschwindigkeit läuft, muss der letzte Punkt vor dem Suchen bereits entsprechend langsam sein. Wenn man das anders machen kann, ohne $advance>1 zu setzen, wäre ich für Hinweise dankbar.
Ist die Antwort passend auf die Frage?
Gruß
PA