CL3-E CANopen/USB Technisches Handbuch

Profile Position

Übersicht

Beschreibung

Der Profile Position Mode dient dazu, Positionen relativ zur letzten Zielposition oder absolut zur letzten Referenzposition anzufahren. Während der Bewegung werden Grenzwerte für die Geschwindigkeit, Anfahr- und Bremsbeschleunigung und Rucke berücksichtigt.

Hinweis
In diesem Modus sind die Endschalter - und damit die Toleranzbänder - aktiv. Für weitere Information zu den Endschalter schlagen Sie das Kapitel "Toleranzbänder der Endschalter" nach.

Aktivierung

Zum Aktivieren des Modus muss im Objekt 6060h (Modes Of Operation) der Wert "1" gesetzt werden (siehe "DS402 Power State machine").

Controlword

Folgende Bits im Objekt 6040h (Controlword) haben eine gesonderte Funktion:

  • Bit 4 startet einen Fahrauftrag. Dieser wird bei einem Übergang von "0" nach "1" ausgeführt.
  • Bit 5: Ist dieses Bit auf "1" gesetzt, wird ein durch Bit 4 ausgelöster Fahrauftrag sofort ausgeführt. Ist es auf "0" gesetzt, wird der gerade ausgeführte Fahrauftrag zu Ende gefahren und erst im Anschluss der nächste Fahrauftrag gestartet.
  • Bit 6: Bei "0" ist die Zielposition (607Ah) absolut und bei "1" ist die Zielposition relativ zur aktuellen Position. Die Referenzposition ist abhängig von den Bits 0 und 1 des 60F2h.
  • Bit 8 (Halt): Bei einem Übergang von "1" auf "0" beschleunigt der Motor mit der eingestellten Startrampe bis zur Zielgeschwindigkeit. Bei einem Übergang von "0" auf "1" bremst der Motor ab und bleibt stehen. Die Bremsbeschleunigung ist dabei abhängig von der Einstellung des "Halt Option Code" im Objekt 605Dh.
  • Bit 9 (Change on setpoint): Ist dieses Bit gesetzt, so wird die Geschwindigkeit erst beim Erreichen der ersten Zielposition geändert. Das bedeutet, dass vor Erreichen des ersten Ziels keine Bremsung durchgeführt wird, da der Motor auf dieser Position nicht stehen bleiben soll.

Controlword 6040h
Bit 9 Bit 5 Definition
X 1 Die neue Zielposition wird sofort angefahren.
0 0 Das Positionieren wird erst vollständig abgeschlossen, bevor die nächste Zielposition mit den neuen Limitierungen angefahren wird.
1 0 Die aktuelle Geschwindigkeit wird bis zum Erreichen der momentanen Zielposition gehalten, erst dann wird die neue Zielposition mit den neuen Werten angefahren.

Siehe dazu das Bild in "Setzen von Fahrbefehlen".

VORSICHT
Das Bit 9 im Controlword wird ignoriert wenn die Rampengeschwindigkeit im Zielpunkt unterschritten wird. In diesem Fall müsste die Steuerung zurücksetzen und Anlauf nehmen, um die Vorgabe zu erreichen.

Statusword

Folgende Bits im Objekt 6041h (Statusword) haben eine gesonderte Funktion:

  • Bit 10 (Target Reached): Dieses Bit ist auf "1" gesetzt, wenn das letzte Ziel erreicht wurde und der Motor eine vorgegebene Zeit (6068h) innerhalb eines Toleranzfensters (6067h) steht.
  • Bit 12 (Set-point acknowledge): Dieses Bit bestätigt den Erhalt eines neuen und gültigen Zielpunktes. Es wird synchron zu dem Bit "New set-point" im Controlword gesetzt und zurückgesetzt.

    Eine Ausnahme besteht, wenn eine neue Fahrt gestartet wird, während eine andere noch nicht abgeschlossen ist und die nächste Fahrt erst nach dem Abschluss der ersten Fahrt ausgeführt werden soll. In diesem Fall wird das Bit erst zurückgesetzt, wenn der Befehl angenommen wurde und die Steuerung bereit ist, neue Fahrbefehle auszuführen. Wird ein neuer Fahrauftrag gesendet, obwohl dieses Bit noch gesetzt ist, wird der neueste Fahrauftrag ignoriert.

    Das Bit wird nicht gesetzt, wenn eine der folgenden Bedingungen auftritt:

    • Die neue Zielposition kann unter Einhaltung aller Randbedingungen nicht mehr erreicht werden.
    • Es wird bereits eine Zielposition angefahren und zudem ist bereits eine Zielposition vorgegeben. Eine neue Zielposition lässt sich erst vorgeben, nachdem die aktuelle Positionierung abgeschlossen ist.
    • Die neue Position ist außerhalb des gültigen Bereichs (607Dh (Software Position Limit)).
  • Bit 13 (Following Error): Dieses Bit wird im Closed-Loop-Betrieb gesetzt, wenn der Schleppfehler größer als die eingestellten Grenzen ist (6065h (Following Error Window) und 6066h (Following Error Time Out)).

Setzen von Fahrbefehlen

Fahrbefehl

In Objekt 607Ah (Target Position) wird die neue Zielposition in Benutzereinheiten angegeben (siehe "Benutzerdefinierte Einheiten"). Anschließend wird mit dem Setzen von Bit 4 im Objekt 6040h (Controlword) der Fahrbefehl ausgelöst. Wenn die Zielposition gültig ist, antwortet die Steuerung mit Bit 12 im Objekt 6041h (Statusword) und beginnt die Positionierfahrt. Sobald die Position erreicht ist, wird im Statusword das Bit 10 auf "1" gesetzt.

Die Steuerung kann das Bit 4 im Objekt 6040h (Controlword) aus selbstständig zurücksetzen. Das wird mit den Bits 4 und 5 des Objektes 60F2h eingestellt.

Weitere Fahrbefehle

Bit 12 im Objekt 6041h (Statusword, Set-point acknowledge) fällt auf "0", falls ein weiterer Fahrbefehl zwischengespeichert werden kann (siehe Zeitpunkt 1 im nachfolgenden Bild). Solange eine Zielposition angefahren wird, lässt sich eine zweite Zielposition vorbereitend an die Steuerung übergeben. Dabei können alle Parameter - wie Geschwindigkeit, Beschleunigung, Bremsbeschleunigung usw. - neu gesetzt werden (Zeitpunkt 2). Ist der Zwischenspeicher wieder leer, lässt sich der nächste Zeitpunkt einreihen (Zeitpunkt 3).

Sollte der Zwischenspeicher schon voll sein, wird ein neuer Zielpunkt ignoriert (Zeitpunkt 4). Wird Bit 5 im Objekt 6040h (Controlword, Bit: "Change Set-Point Immediately") gesetzt, arbeitet die Steuerung ohne den Zwischenspeicher, neue Fahrbefehle werden direkt umgesetzt (Zeitpunkt 5).

Zeitpunkte



Übergangsprozedur für zweite Zielposition

Die folgende Grafik zeigt die Übergangsprozedur für die zweite Zielposition, während die erste Zielposition angefahren wird. In dieser Abbildung ist Bit 5 von Objekt 6040h (Controlword) auf "1" gesetzt, der neue Zielwert wird demnach sofort übernommen.



Möglichkeiten zum Anfahren einer Zielposition

Ist Bit 9 in Objekt 6040h (Controlword) gleich "0", wird die momentane Zielposition erst vollständig angefahren. In diesem Beispiel ist die Endgeschwindigkeit (6082h) der ersten Zielposition gleich Null. Wird Bit 9 auf "1" gesetzt, wird die Endgeschwindigkeit gehalten, bis die Zielposition erreicht wurde; erst ab dann gelten die neuen Randbedingungen.



Mögliche Kombinationen von Fahrbefehlen

Um ein bessere Übersicht für die Fahrbefehle zu bekommen werden in diesem Kapitel Kombinationen von Fahrbefehlen aufgelistet und dargestellt.

Die nachfolgenden Bilder setzen voraus:
  • Ein Doppelpfeil markiert einen neuen Fahrbefehl.
  • Der erste Fahrbefehl am Start ist immer ein absoluter Fahrbefehl auf die Position 1100.
  • Die zweite Bewegung wird mit einer niedrigeren Geschwindigkeit durchgeführt um einen übersichtlicher dargestellten Graphen zu erhalten.

Genauigkeitsverlust bei Relativbewegungen

Beim Verketten von relativen Bewegungen kann es zu einem Verlust an Genauigkeit kommen, sollte die Endgeschwindigkeit nicht auf Null gesetzt sein. Die folgende Grafik zeigt, aus welchen Grund.

Die aktuelle Position wird einmal pro Millisekunde abgetastet. Es kann passieren, dass die Zielposition zwischen zwei Abtastungen erreicht wird. Im Falle einer Endgeschwindigkeit ungleich null wird die Abtastung nach Erreichen der Zielposition als Grundlage für die nachfolgende Bewegung als Offset herangezogen. Demzufolge kann die nachfolgende Bewegung etwas weiter gehen, als erwartet.

Randbedingungen für eine Positionierfahrt

Objekteinträge

Die Randbedingungen für die gefahrene Position lassen sich in folgenden Einträgen des Objektverzeichnisses einstellen:

  • 6064h (Position Actual Value): derzeitige Position des Motors
  • 607Ah (Target Position): vorgesehene Zielposition
  • 607Bh (Position Range Limit): Definition der Endanschläge (siehe Kapitel weiter unten)
  • 607Ch (Home Offset): Verschiebung des Maschinen-Nullpunkts (siehe "Homing")
  • 607Dh (Software Position Limit): Grenzen einer modulo-Operation zur Nachbildung einer endlosen Rotationsachse
  • 607Eh (Polarity): Drehrichtung
  • 6081h (Profile Velocity): maximale Geschwindigkeit, mit der die Position angefahren werden soll
  • 6082h (End Velocity): Geschwindigkeit beim Erreichen der Zielposition
  • 6083h (Profile Acceleration): gewünschte Anfahrbeschleunigung
  • 6084h (Profile deceleration): gewünschte Bremsbeschleunigung
  • 6085h (Quick Stop Deceleration): Nothalt-Bremsbeschleunigung im Falle des Zustandes "Quick stop active" der "DS402 Power State machine"
  • 6086h (Motion Profile Type): Typ der zu fahrenden Rampe; ist der Wert "0", wird der Ruck nicht limitiert, ist der Wert "3", werden die Werte von 60A4h:1h- 4h als Limitierungen des Rucks gesetzt.
  • 60C5h (Max Acceleration): die maximale Beschleunigung, die beim Anfahren der Endposition nicht überschritten werden darf
  • 60C6h (Max Deceleration): die maximale Bremsbeschleunigung, die beim Anfahren der Endposition nicht überschritten werden darf
  • 60A4h (Profile Jerk), Subindex 01h bis 04h: Objekte zur Beschreibung der Grenzwerte für den Ruck. Dieser Ruck wird vom "Real Jerk Limit" begrenzt (siehe 2067h für weitere Informationen).
  • 2067h (Jerk Limit (internal)): Objekt für die Limitierung des Rucks.

Objekte für die Positionierfahrt

Die nachfolgende Grafik zeigt die beteiligten Objekte für die Randbedingungen der Positionierfahrt.

Parameter für die Zielposition

Nachfolgende Grafik zeigt eine Übersicht über die Parameter, die für das Anfahren einer Zielposition angewendet werden (Abbildung nicht maßstabsgerecht).

Ruck-begrenzter und nicht ruck-begrenzter Modus

Beschreibung

Es wird grundsätzlich zwischen den Modi "ruck-begrenzt" und "nicht ruck-begrenzt" unterschieden.

Ruck-begrenzter Modus

Eine ruck-begrenzte Positionierung lässt sich erreichen, indem das Objekt 6086h auf "3" gesetzt wird. Damit werden die Einträge für die Rucke in Objekt 60A4h:1h - 4h gültig.

Nicht ruck-begrenzter Modus

Eine "0" in einem Eintrag bedeutet keine Ruck-Limitierung an der jeweiligen Stelle im Profil.

Sind alle vier Einträge von Objekt 60A4h auf "0" gesetzt, wird eine "nicht ruck-begrenzte" Rampe gefahren.

Eine "nicht ruck-begrenzte" Rampe wird gefahren, indem entweder alle Werte des Rucks in den Einträgen 60A4h:1h bis 60A4h:4h auf "0" und das Objekt 6086h auf "3" gesetzt werden oder der Eintrag im Objekt 6086h auf "0" gesetzt wird.

▶   weiter

Inhalt