NP5 CANopen Online 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.

Anmerkung: In diesem Modus sind die Endschalter und damit die Toleranzbänder aktiv. Für weitere Informationen zu den Endschaltern, siehe Begrenzung des Bewegungsbereichs.

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" übernommen.
  • 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. Die Referenzposition ist abhängig von den Bits 0 und 1 des Objekts 60F2h.
  • Bit 8 (Halt): Ist dieses Bit auf "1" gesetzt, bleibt der Motor stehen. 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, 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 momentane Zielposition wird nur durchfahren, danach wird die neue Zielposition mit den neuen Werten angefahren.

Siehe dazu das Bild in "Setzen von Fahrbefehlen".

Anmerkung: 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 11: Limit überschritten: Die Sollposition über- oder unterschreitet die in 607Dh eingegebenen Grenzwerte.
  • 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 erfüllt ist:

    • 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.
  • 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) auch 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 Profilgeschwindigkeit (6081h) gehalten, bis die Zielposition erreicht wurde; erst ab dann gelten die neuen Randbedingungen.



Mögliche Kombinationen von Fahrbefehlen

Um eine 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:

  • 607Ah (Target Position): vorgesehene Zielposition
  • 607Dh (Software Position Limit): Definition der Endanschläge (siehe Kapitel Software-Endschalter)
  • 607Ch (Home Offset): Gibt die Differenz zwischen Null-Position der Steuerung und dem Referenzpunkt der Maschine in benutzerdefinierten Einheiten an. (siehe "Homing")
  • 607Bh (Position Range 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 "CiA 402 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.
  • 60F2h (Positioning Option Code): definiert das Positionierverhalten

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 im Subindex :1h - 4h vom Objekt 60A4 gültig.

Nicht ruck-begrenzter Modus

Eine "nicht ruck-begrenzte" Rampe wird gefahren wenn der Eintrag im Objekt 6086h auf "0" gesetzt wird (Standard-Einstellung).

▶   next

Contents