IF_MovePureSmg - TakeJob (Methode)

Überblick

Typ:

Methode

Verfügbar ab:

V1.0.0.0

Aufgabe

Carrier-Bewegung mit einem Fahrauftrag, der dem SoMotionGenerator (SMG) zugewiesen ist.

Weitere Informationen zum SoMotionGenerator finden Sie in der PD_SoMotion Generator-Bibliothek.

Beschreibung

Mit der Methode IF_MovePureSmg - TakeJob werden dem SoMotionGenerator Fahraufträge zugewiesen. Der Carrier wird mit der Geschwindigkeit, Beschleunigung und dem Ruck, die im entsprechenden Fahrauftrag im SoMotionGenerator definiert sind, auf ein gegebenes Ziel bewegt. Die mit der Methode SetMotionParameter eingestellten Parameter werden nicht berücksichtigt.

HINWEIS: Der Fahrbefehl hebt nicht automatisch bereits laufende Fahrbefehle auf. Für Informationen zum Sicherstellen, dass keine anderen Fahrbefehle aktiv sind, siehe Aufrufbeispiele unten.
HINWEIS: In einem Lexium™ MC multi carrier-Track können Sie eine Kombination aus Fahrbefehlen wie MovePureSmg und MoveGapControl für verschiedene Carrier gleichzeitig verwenden. Beachten Sie, dass die MovePureSmg-Befehle auf Kanal B und C für den ausgewählten Carrier vom Carrier davor oder dahinter, der z. B. den Fahrbefehl MoveGapControl verwendet, nicht berücksichtigt werden.

Der Fahrbefehl MovePureSmg ermöglicht es Programmierern, die mit der Verwendung der SoMotionGenerator-Bibliothek vertraut sind, spezielle Bewegungen auszuführen.

Verglichen mit den standardmäßigen SoMotionGenerator-Funktionen, bietet der Fahrbefehl MovePureSmg die folgenden Funktionalitäten:
  • Verwendung des Carrier-Objekts.

  • Von den Setpos-Modi zur Definition von Sollpositionen (iq_stMotionJob.etSetposMode) kann nur der Setpos-Modus Relative verwendet werden. (Für weitere Informationen zur Enumeration ET_SetposMode siehe die PD_SoMotionGenerator-Bibliothek.)

  • Die möglichen Werte für Setpos (iq_stMotionJob.IrSetposValue) sind durch die Länge des Tracks begrenzt. (Weitere Informationen zur Track-Länge finden Sie unter lrTrackLength.)

Mit dem Fahrbefehl MovePureSmg verwendet der Carrier die Positionier- oder Cam-Befehle des SoMotionGenerator, ohne dass andere Carrier berücksichtigt werden. Berücksichtigen Sie dies bei der Pfad-Planung.

 VORSICHT
CARRIER-Kollision
Definieren Sie die Master-Bewegung und den Carrier-Pfad so, dass Kollisionen mit anderen Carriern vermieden werden.
Die Nichtbeachtung dieser Anweisungen kann Verletzungen oder Sachschäden zur Folge haben.
HINWEIS: Sie können den Funktionsbaustein FB_CrashPrevention als zusätzliche Schutzmaßnahme zur Vermeidung von Kollisionen verwenden.

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
GEFAHR BEIM GERÄTEBETRIEB
Montieren Sie an beiden Enden eines offenen Tracks mechanische Endblöcke.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben.

Verwenden Sie den MovePureSmg-Befehl nicht in Kombination mit anderen Move-Befehlen für den Carrier und stellen Sie sicher, dass für den Carrier kein anderer Fahrbefehl aktiv ist, bevor Sie die Methode IF_MovePureSmg - TakeJob aufrufen. Ausführliche Informationen finden Sie unter Aufrufbeispiele.

Rückmeldungen

Rückmeldungen stehen in der Schnittstelle IF_FeedbackMovePureSmg zur Verfügung.

Eingänge

Eingang

Datentyp

Beschreibung

i_etChannel

SMG.ET_Channel

SMG-Kanal, dem der Positionierauftrag zugewiesen werden soll.

Ein-/Ausgänge

Ein-/Ausgang

Datentyp

Beschreibung

iq_stMotionJob

SMG.ST_MotionJob

SMG-Auftragsstruktur mit den Daten des Positionierauftrags.

Ausgänge

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

ET_Result

Gibt Diagnose- und Statusinformationen als numerischen Wert an.
Wenn q_xError = FALSE, gibt q_etResult Statusinformationen an.
Wenn q_xError = TRUE, gibt q_etResult Diagnose-/Fehlerinformationen an.

q_sResultMsg

STRING [255]

Stellt zusätzliche Diagnose- und Statusinformationen in Form von Textmeldungen bereit.

Aufrufbeispiele

Um sicherzustellen, dass kein anderer Move-Befehl aktiv ist, müssen die folgenden Parameter TRUE sein, bevor die Methode IF_MovePureSmg - TakeJob aufgerufen wird:
stMotionJob.xClearBufferedJobs = TRUE
stMotionJob.xTerminateCurrentJob = TRUE
Beispiel 1:
...ifMovePureSmg.TakeJob(…)
Beispiel 2:
...ifMovePureSmg.TakeJob(…)
...ifMovePureSmg.TakeJob(…)