Bahngeschwindigkeit an Segmentübergängen
Im Folgenden soll die Reduzierung der Bahngeschwindigkeit anhand eines Beispiels näher erläutert werden. Dazu eignet sich besonders gut die Kontur eines Stadions. Ziel ist es, den Zustellwinkel eines Werkzeugs zur Bahntangente konstant zu halten.
Befindet man sich auf der Geraden des Stadions, so bleibt die Orientierung des Werkzeugs konstant, d.h. das Werkzeug wird nicht gedreht. Im Kreis dagegen muss die Orientierung in Bezug auf das Basiskoordinatensystem ständig geändert werden. Angenommen die Bahngeschwindigkeit wird im Geraden-Kreis-Übergang nicht bis auf null reduziert, so entsteht zwangsläufig ein Geschwindigkeitssprung für die Drehachse (nicht aber für die Bahnachsen!).
Dieser Geschwindigkeitssprung der Hilfsachse ist frei parametrierbar und von der Maschine abhängig. In den beiden Extremfällen wird einmal die Bahngeschwindigkeit an derartigen Segmentübergängen bis auf null reduziert oder im anderen Fall die Geschwindigkeit gar nicht reduziert.
Die Parametrierung erfolgt mit dem globalen Achsparameter 'VeloJumpFactor', der für jede Achse individuell eingestellt werden kann. Die daraus resultierende Geschwindigkeit und die Berechnung ist im TwinCAT NCI Anhang auf der Seite Parametrierung näher beschrieben.
Glättung der Geschwindigkeit an Segmentübergängen
Wie oben beschrieben, können an den Segmentübergängen Geschwindigkeitssprünge auftreten. Die Größe dieses Sprunges kann mit dem VeloJump-Parameter beeinflusst werden.
Zusätzlich kann für jede Hilfsachse eine Toleranzkugel bestimmt werden, die im Segmentübergang symmetrisch mit dem Bahnweg ist. Mit dem Eintritt in diese Kugel wird dann die Geschwindigkeit der Hilfsachse stetig in die neue Sollgeschwindigkeit am Kugelausgang überführt. D.h. die Geschwindigkeitssprünge werden damit eliminiert. Dabei wird innerhalb der Kugel eine Positionsabweichung für die Hilfsachse in Kauf genommen. Mit dem Eintritt in die Kugel wird schon damit begonnen die Achse auf die neue Zielgeschwindigkeit zu bringen. Damit wird ein Überschwingen der Position verhindert und an den Kugelgrenzen ist die Position dann wieder genau.
Für den Fall, dass die vorgegebene Kugel größer als 1/3 des Bahnweges ist, so wird der Radius automatisch auf diesen Wert begrenzt.
An- und Abwahl
Die Toleranzkugel der Hilfsachse ist ein Achsparameter (IO: 0x108). Sie kann im TwinCAT XAE Achsinterface via ADS eingestellt werden.
Parametrierung der Achsparameter Die hier beschriebenen Parameter wirken nur für Achsen, die sich als Hilfsachsen (Q1..Q5) in der Interpolationsgruppe befinden. Für Bahnachsen (x,y,z) haben die Parameter 'Geschw. Sprung Faktor' ('Velo Jump Factor')‚'Toleranzkugel Hilfsachse' ('Tolerance ball auxiliary axis') und 'Max. Positionsabweichung, Hilfsachse' ('Max. position deviation, aux. axis') keinen Einfluss. |
Diagnose
Zu Diagnosezwecken kann für jede Hilfsachse die Toleranzkugel und der sich ergebene Positionsfehler der Hilfsachse aufgezeichnet werden. Auf die Variablen kann ebenfalls via ADS zugegriffen werden und befinden sich im Gruppenzustand (IO: 0x54n und 0x56n).
Rückwirkung auf VeloJump, falls die Toleranzkugel verkleinert wird
Wenn aufgrund der gegebenen Geometrie die Toleranzkugel verkleinert werden muss, so wird nun auch für diesen Segmentübergang der VeloJump-Parameter automatisch angepasst. D.h. falls notwendig wird die Bahngeschwindigkeit im Übergang stärker reduziert. Damit wird erreicht, dass bei kleineren Toleranzkugel die Dynamik der Hilfsachse nicht überschritten wird.
Positionsabweichung der Hilfsachse, falls die Toleranzkugel verkleinert werden müsste
Der Parameter 'maximal erlaubte Positionsabweichung der Hilfsachse' wirkt nur dann, wenn die Toleranzkugel aufgrund der Geometrie verkleinert werden müsste.
Ziel ist es, dass die Bahngeschwindigkeit trotz der verkleinerten Toleranzkugel hoch gehalten werden kann, wenn der daraus resultierende Positionsfehler einen Schwellwert nicht überschreitet. Dafür wird die Geschwindigkeit der Hilfsachse konstant gehalten und der Positionsfehler berechnet. Ist dieser kleiner als die maximale Positionsabweichung, dann wird für diesen Segmentübergang die Geschwindigkeit beibehalten und der entstandene Positionsfehler im nächsten Segment wieder ausgefahren (die Toleranzkugel wird dann für diesen Segmentübergang überflüssig).
Für den Fall, dass der Positionsfehler die max. Abweichung überschreiten würde, greift die verkleinerte Toleranzkugel mit der Rückwirkung auf den VeloJump-Faktor. Dabei wird dann ggf. die Bahngeschwindigkeit reduziert.
Beispiel 1:
Anfangsbedinungen:
- eingestellte Toleranzkugel: 5
- max. Positionsabweichung: 1
- aufgrund der Geometrie ergibt sich z.B. eine effektive Toleranzkugel von 0.2
- die potenzielle Positionsabweichung beträgt 0.3
Resultierendes Verhalten:
- Bahngeschwindigkeit bleibt auf konstant hohen Niveau
- Geschwindigkeit der Hilfsachse wird konstant gehalten
- für diesen Übergang ist keine Toleranzkugel erforderlich
- die entstandene Positionsabweichung wird im darauffolgenden Segment ausgeglichen
Beispiel2:
Anfangsbedingungen:
- eingestellte Toleranzkugel: 5
- max. Positionsabweichung: 1
- aufgrund der Geometrie ergibt sich z.B. eine effektive Toleranzkugel von 1.2
- die potenzielle Positionsabweichung beträgt 1.1
Resultierendes Verhalten:
- Toleranzkugel wird angepasst
- VeloJump-Parameter wird angepasst
- die Bahngeschwindigkeit wird im Segmentübergang reduziert
- es entsteht keine Positionsabweichung, die ausgeglichen werden muss
Parametrierung
Die Parametrierung der maximal erlaubten Positionsabweichung ist ein Achsparameter. Standardmäßig ist diese Eigenschaft ausgeschaltet (Abweichung = 0.0)