Bewegen des Carriers an die Zielposition unter Einhaltung der definierten Abstände zu den Carriern davor und dahinter.
Mit der Methode IF_MoveGapControl - Start wird der Carrier unter Einhaltung der definierten Abstände zu den Carriern davor und dahinter an eine angegebene Zielposition bewegt. Der Carrier wird mit der Geschwindigkeit, der Beschleunigung und dem Ruck, die mit der Methode SetMotionParameter definiert wurden, an das Ziel bewegt.
Wenn sich der Carrier nicht an die definierte Zielposition bewegen kann, da diese Position oder der Weg dahin blockiert ist, bewegt sich der Carrier zur nächstmöglichen temporären Zielposition, die abhängig vom Zielabstand berechnet wird. Der Carrier bewegt sich automatisch (zur nächstmöglichen temporären Zielposition oder zur Endzielposition) weiter, sobald sich der nächste Carrier in Bewegungsrichtung bewegt.
Jeder Carrier hat eine interne Zielposition. Wenn die Methode IF_MoveGapControl - Start ausgeführt wird oder wenn der Carrier davor oder dahinter einen neuen Zielbefehl erhält, berechnet der Carrier seine neue interne Zielposition abhängig von der Zielposition des Carriers davor oder dahinter.
Für die Bewegung des Carriers an die Zielposition kann ein Zielabstand definiert werden, um die Bewegung des Carriers zu stoppen, wenn sich ein anderer Carrier bereits an der Zielposition befindet. Wenn der Wert des Parameters i_lrTargetGap geringer ist als der durch die Parameter SetRefMinGapToCarrierInFront und/oder SetRefMinGapToCarrierBehind definierte Mindestabstand, wird der Zielabstand intern auf diesen Mindestabstand gesetzt.
Vorwärtsbewegung: Ein Master-Carrier mit verbundenen Carriern davor kann nicht mit dem Fahrbefehl MoveGapControl vorwärts bewegt werden.
Rückwärtsbewegung: Ein Master-Carrier mit verbundenen Carriern dahinter kann nicht mit dem Fahrbefehl MoveGapControl rückwärts bewegt werden.
Bei einem offenen Track könnten die Carrier den Track an den Enden verlassen. Aus diesem Grund müssen an beiden Enden eines offenen Tracks mechanische Endblöcke montiert werden.
WARNUNG | |
---|---|
Die Methode IF_MoveGapControl - Start basiert auf drei Prinzipien:
Prinzip |
Beschreibung |
|
---|---|---|
Temporäres Ziel |
Wenn die Endzielposition i_IrTarget blockiert ist, bewegt sich der Carrier zur nächstmöglichen temporären Zielposition. Der Carrier bewegt sich automatisch zur nächstmöglichen temporären Zielposition, bis er das Endziel erreicht. Zusätzliche Aufrufe sind nicht erforderlich. Falls sich die Zielposition in einem offenen Track-System (siehe Beispiel für einen offenen Track) außerhalb der Start- oder Endbegrenzungen der Hardware des Tracks befinden, bewegt sich der Carrier zur maximalen Position innerhalb der Hardware-Begrenzungen (temporäres Ziel). |
Für eine visuelle Darstellung siehe die Videosequenz Temporäres Ziel. |
Einhalten des Abstands |
Wenn die Positionierung des Carriers nicht gestartet werden kann (beispielsweise wenn sich ein anderer Carrier innerhalb des Mindestabstands befindet), dann wird der Befehl intern gespeichert und ausgeführt, sobald sich der andere Carrier in Bewegungsrichtung außerhalb des Mindestabstands befindet. |
— |
Geschwindigkeitsregelung |
Wenn der nächste Carrier in Bewegungsrichtung langsamer ist als der ausgewählte Carrier, dann verzögert der ausgewählte Carrier automatisch, um den Mindestabstand einzuhalten. Wenn der nächste Carrier beschleunigt, dann beschleunigt auch der ausgewählte Carrier entsprechend bis zur konfigurierten maximalen Geschwindigkeit. |
Für eine visuelle Darstellung siehe die Videosequenz Geschwindigkeitsregelung. |
Rückmeldungen stehen in der Schnittstelle IF_CarrierFeedbackMoveGapControl zur Verfügung.
Eingang |
Datentyp |
Wertebereich |
Einheit |
Beschreibung |
---|---|---|---|---|
i_lrTarget |
LREAL |
0,0 ≤ i_lrTarget ≤ lrTrackLength (1) |
mm |
Definiert den Abstand zum Endziel. Die Länge des Fahrwegs zum Ziel ist vom Positioniermodus abhängig, der im Parameter i_etPosMode definiert ist. |
i_lrTargetGap |
LREAL |
0,0 ≤ i_lrTargetGap ≤ lrTrackLength (1) |
mm |
Definiert den Mindestabstand zum nächsten Carrier in der Zielposition. Wenn der Wert des Parameters i_lrTargetGap geringer ist als der durch die Parameter SetRefMinGapToCarrierInFront und/oder SetRefMinGapToCarrierBehind definierte Mindestabstand, wird der Zielabstand intern auf diesen Mindestabstand gesetzt. |
i_etPosMode |
ET_PosMode |
– |
– |
Informationen zu den verfügbaren Positioniermodi finden Sie in der Enumeration ET_PosMode.
HINWEIS: Die Positioniermodi Relative und Absolute sind für den Fahrbefehl MoveGapControl nicht zulässig.
|
(1) Weitere Informationen zur Track-Länge finden Sie im Parameter lrTrackLength. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_xError |
BOOL |
Mit TRUE wird angegeben, ob ein Fehler erkannt wurde. Für weitere Informationen siehe q_etResult und q_sResultMsg. |
q_etResult |
Gibt Diagnose- und Statusinformationen als numerischen Wert an. |
|
q_sResultMsg |
STRING [255] |
Stellt zusätzliche Diagnose- und Statusinformationen in Form von Textmeldungen bereit. |
Vor der Ausführung der Methode IF_MoveGapControl - Start muss die Methode SetMotionParameter mindestens einmal aufgerufen werden.
Um einen neuen Mindestabstand zu definieren, müssen die Methoden SetRefMinGapToCarrierBehind und/oder SetRefMinGapToCarrierInFront vor dem Aufruf von IF_MoveGapControl - Start mindestens einmal aufgerufen werden. Der angegebene Wert für den Mindestabstand bleibt unverändert, bis die Methoden SetRefMinGapToCarrierBehind und/oder SetRefMinGapToCarrierInFront erneut aufgerufen werden.
Beispiel 1:
...ifMotion.SetMotionParameter(...)
...ifMoveGapControl.Start(...)
Beispiel 2:
...ifMotion.SetMotionParameter(...)
...ifMoveGapControl.Start(...)
...ifMoveGapControl.Start(...)
Beispiel 3:
...ifMotion.SetMotionParameter(...)
...ifMotion.SetRefMinGapToCarrierBehind (...)
...ifMoveGapControl.Start(...)