Starttypen

Das Positioning Interface bietet verschiedene Arten der Positionierung. Die folgende Tabelle enthält alle unterstützten Kommandos, diese sind in vier Gruppen aufgeteilt.

Unterstützte Start Types des Positioning Interfaces

Name

Kommando

Gruppe

Beschreibung

ABSOLUTE

0x0001

Standard

Absolute Positionierung auf eine vorgegebene Zielposition

RELATIVE

0x0002

Relative Positionierung auf eine berechnete Zielposition, ein vorgegebener Positionsunterschied wird zur aktuelle Position addiert

ENDLESS_PLUS

0x0003

Endlos fahren in positiver Drehrichtung (direkte Vorgabe einer Geschwindigkeit)

ENDLESS_MINUS

0x0004

Endlos fahren in negativer Drehrichtung (direkte Vorgabe einer Geschwindigkeit)

ADDITIVE

0x0006

Additive Positionierung auf eine berechnete Zielposition, ein vorgegebener Positionsunterschied wird zur letzten Zielposition addiert

ABSOLUTE_CHANGE

0x1001

Standard Ext.

Dynamische Änderung der Zielposition währen eines Fahrauftrages auf eine neue, absolute Position

RELATIVE_CHANGE

0x1002

Dynamische Änderung der Zielposition währen eines Fahrauftrages auf eine neue, relative Position (es wird hier ebenfalls der aktuelle, sich verändernde Positionswert verwendet)

ADDITIVE_CHANGE

0x1006

Dynamische Änderung der Zielposition währen eines Fahrauftrages auf eine neue, additive Position (es wird hier die letzte Zielposition verwendet)

MODULO_SHORT

0x0105

Modulo

Modulo Positionierung auf kürzestem Weg zur Moduloposition (positiv oder negativ), berechnet durch den konfigurierten "Modulo factor" (Index 0x8020:0E)

MODULO_SHORT_EXT

0x0115

Modulo Positionierung auf kürzestem Weg zur Moduloposition, das "Modulo tolerance window" (Index 0x8020:0F) wird ignoriert

MODULO_PLUS

0x0205

Modulo Positionierung in positiver Drehrichtung auf die berechnete Moduloposition

MODULO_PLUS_EXT

0x0215

Modulo Positionierung in positiver Drehrichtung auf die berechnete Moduloposition, das "Modulo tolerance window" wird ignoriert

MODULO_MINUS

0x0305

Modulo Positionierung in negativer Drehrichtung auf die berechnete Moduloposition

MODULO_MINUS_EXT

0x0315

Modulo Positionierung in negativer Drehrichtung auf die berechnete Moduloposition, das "Modulo tolerance window" wird ignoriert

MODULO_CURRENT

0x0405

Modulo Positionierung mit der letzten Drehrichtung auf die berechnete Moduloposition

MODULO_CURRENT_EXT

0x0415

Modulo Positionierung mit der letzten Drehrichtung auf die berechnete Moduloposition, das "Modulo tolerance window" wird ignoriert

CALI_PLC_CAM

0x6000

Calibration

Starten einer Kalibrierung mit Nocke (digitale Eingänge)

CALI_HW_SYNC

0x6100

Starten einer Kalibrierung mit Nocke und HW-Sync-Impuls (C-Spur)

SET_CALIBRATION

0x6E00

Manuelles Setzen der Klemme auf "Kalibriert"

SET_CALIBRATION_AUTO

0x6E01

Automatisches Setzen der Klemme auf "Kalibriert" bei der ersten steigenden Flanke von "Enable"

CLEAR_CALIBRATION

0x6F00

Manuelles Löschen der Kalibrierung

ABSOLUTE

Die absolute Positionierung stellt den einfachsten Fall einer Positionierung dar. Es wird eine Position B vorgegeben, welche vom Startpunkt A aus angefahren wird.

Starttypen 1:
Absolute Positionierung

RELATIVE

Bei der relativen Positionierung gibt der Anwender ein Positionsdelta S vor, welches zur aktuellen Position A addiert wird und die Zielposition B ergibt.

Starttypen 2:
Relative Positionierung

ENDLESS_PLUS / ENDLESS_MINUS

Die beiden Starttypen ENDLESS_PLUS und ENDLESS_MINUS bieten im Positioning Interface die Möglichkeit dem Motor eine direkte Geschwindigkeit vorzugeben, um endlos in positiver oder negativer Richtung, mit den vorgegebenen Beschleunigungen, zu fahren.

Starttypen 3:
Endlos fahren

ADDITIVE

Für die additive Positionierung wird, zur Berechnung der Zielposition B, das vom Anwender vorgegebene Positionsdelta S mit der beim letzten Fahrauftrag verwendeten Zielposition E addiert.

Diese Art der Positionierung ähnelt der relativen Positionierung, hat aber doch einen Unterschied. Wurde der letzte Fahrauftrag mit Erfolg abgeschlossen, ist die neue Zielposition gleich. Gab es aber einen Fehler, sei es dass der Motor in eine Stallsituation geraten ist oder ein Emergency stop ausgelöst wurde, ist die aktuelle Position beliebig und nicht vorausschaubar. Der Anwender hat jetzt den Vorteil, dass er die letzte Zielposition für die Berechnung der folgenden Zielposition nutzen kann.

Starttypen 4:
Additive Positionierung

ABSOLUTE_CHANGE / RELATIVE_CHANGE / ADDITIVE_CHANGE

Diese drei Positionierarten sind komplett identisch zu den oben beschrieben. Der wichtige Unterschied dabei ist, dass der Anwender während eines aktiven Fahrauftrags diese Kommandos nutzt, um dynamisch eine neue Zielposition vorzugeben.

Es gelten dabei die gleichen Regeln und Voraussetzungen, wie bei den "normalen" Starttypen. ABSOLUTE_CHANGE und ADDITIVE_CHANGE sind in der Berechnung der Zielposition eindeutig d.h. bei der absoluten Positionierung wird eine absolute Position vorgegeben und bei der additiven Positionierung wird ein Positionsdelta zu der gerade aktiven Zielposition addiert.

Hinweis

Vorsicht bei der Verwendung der Positionierung RELATIVE_CHANGE

Die Änderung per RELATIVE_CHANGE muss mit Vorsicht angewendet werden, da auch hier die aktuelle Position des Motors als Startposition verwendet wird. Durch Laufzeiten des Systems stimmt die im PDO angezeigte Position nie mit der realen Position des Motors überein! Daher wird sich bei der Berechnung des übergebenen Positionsdeltas immer eine Differenz zur gewünschten Zielposition einstellen.

Starttypen 5:

Zeitpunkt der Änderung der Zielposition

Eine Änderung der Zielposition kann nicht zu jedem beliebigen Zeitpunkt erfolgen. Falls die Berechnung der Ausgabeparameter ergibt, dass die neue Zielposition nicht ohne weiteres erreicht werden kann, wird das Kommando von der Klemme abgewiesen und das Bit Command rejected gesetzt. Dies ist z. B. im Stillstand (da die Klemme hier eine Standard Positionierung erwartet) und in der Beschleunigungsphase (da zu diesem Zeitpunkt der Bremszeitpunkt noch nicht berechnet werden kann) der Fall.

CALI_PLC_CAM / CALI_HW_SYNC / SET_CALIBRATION / SET_CALIBRATION_AUTO / CLEAR_CALIBRATION

Der einfachste Fall einer Kalibrierung ist der, nur per Nocke (an einem dig. Eingang angeschlossen) zu kalibrieren.

Hier bei fährt der Motor im 1. Schritt mit der Geschwindigkeit 1 (Index 0x8020:09) in Richtung 1 (Index 0x8021:13) auf die Nocke. Anschließend im 2. Schritt mit der Geschwindigkeit 2 (Index 0x8020:0A) in Richtung 2 (Index 0x8021:14)) von der Nocke herunter. Nachdem das In-Target timeout (Index 0x8020:0C) abgelaufen ist wird die Kalibrierposition (Index 0x8020:08) als aktuelle Position von der Klemme übernommen.

Hinweis

Schalthysterese des Nockenschalters beachten

Bei dieser einfachen Kalibrierung muss beachtet werden, dass die Positionserfassung der Nocke nur bedingt genau ist. Die digitalen Eingänge sind nicht Interrupt gesteuert und werden "nur" gepollt. Durch die internen Laufzeiten kann sich deshalb eine systembedingte Positionsdifferenz ergeben.

Starttypen 6:
Kalibrierung mit Nocke

Für eine genauere Kalibrierung wird zusätzlich zu der Nocke ein HW-Sync-Impuls (C-Spur) verwendet. Der Ablauf dieser Kalibrierung erfolgt genau wie oben beschrieben, bis zu dem Zeitpunkt, an dem der Motor von der Nocke herunterfährt. Jetzt wird nicht sofort gestoppt, sondern erst auf den Sync-Impuls gewartet. Anschließend läuft wieder das In-Target timeout ab und die Kalibrierposition wird als aktuelle Position von der Klemme übernommen.

Starttypen 7:
Kalibrierung mit Nocke und C-Spur

Falls eine Kalibrierung per Hardware, aufgrund der applikatorischen Umstände, nicht möglich ist, kann der Anwender das Bit Calibrated auch manuell bzw automatisch setzen. Das manuelle Setzen bzw. Löschen erfolgt mit den Kommandos SET_CALIBRATION und CLEAR_CALIBRATION.

Einfacher ist es aber, wenn man den Standard-Starttypen (Index 0x8021:01)) auf SET_CALIBRATION_AUTO konfiguriert. Jetzt wird bei der ersten steigenden Flanke von Enable das Bit Calibrated automatisch gesetzt. Das Kommando ist nur für diesen Zweck konzipiert, daher ist es nicht sinnvoll es über den synchronen Datenaustausch zu benutzen.