MC_TrackConveyorBelt

MC_TrackConveyorBelt 1:

TF5410
TwinCAT 3 Motion Collision Avoidance

TF5420
TwinCAT 3 Motion Pick-and-Place

 

MC Group with Pick-and-Place

MC Group Coordinated Motion

MC_TrackConveyorBelt 2:

MC_TrackConveyorBelt 3:

MC_TrackConveyorBelt 4:

Der Funktionsbaustein Mc_TrackConveyorBelt aktiviert ein in Bewegung befindliches Referenzsystem. Dabei synchronisiert er die AxesGroup mit dem ConveyorBelt in Bezug auf die Geschwindigkeit.

Die Synchronisation mit einer Position erfordert ein Bewegungskommando.

Somit hilft der Funktionsbaustein bei der Synchronisation mit einem Objekt, das sich auf einer Geraden durch den Raum bewegt. Ein Beispiel sind Produkte, die auf einem Förderband oder einem anderen Transportsystem laufen.

Der Ursprung des Förderbands wird mit einem Koordinatensystem parametriert (CoordTransform). X ist die Förderrichtung. Die erkannte Objektposition (InitialObjectPos) und die entsprechende Touch Probe-Position (MasterRefPos) werden in den Funktionsbaustein eingegeben.

Synchronisationsdynamik kann in den Funktionsbaustein eingegeben werden.

Bewegungen, die nach Active = TRUE ausgeführt werden, werden mit dem Förderband synchronisiert.

Die Ausführung von MC_TrackConveyorBelt mit einer weiteren Instanz bewirkt eine direkte Synchronisation mit einem zweiten Förderband.

Beim Ändern des Referenzsystems kann ein Förderband entkoppelt werden.

MC_TrackConveyorBelt 5:

Anwendungsfall für das Ändern des Referenzsystems

Durch Verwendung von MC_TrackConveyorBelt und Ändern des Referenzsystems kann die MC-Gruppe entkoppelt werden. Das Referenzsystem kann mit MC_SetCoordinateTransform geändert werden.

Neuheiten und Optimierungen bzgl. MC_TrackConveryorBelt mit TF5400 V3.2.27 für die MC Group Coordinated Motion

MC_TrackConveyorBelt 6: VAR_INPUT

VAR_INPUT
    Execute               : BOOL;
    CoordTransform        : MC_COORD_REF;
    InitialObjectPos      : POINTER TO MC_LREAL;
    InitialObjectPosCount : UDINT;
    MasterRefPos          : MC_LREAL;
    Velocity              : MC_LREAL := MC_DEFAULT;
    Acceleration          : MC_LREAL := MC_DEFAULT;
    Deceleration          : MC_LREAL := MC_DEFAULT;
    Jerk                  : MC_LREAL := MC_DEFAULT;
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Das Kommando wird durch eine steigende Flanke an diesem Eingang ausgelöst.

CoordTransform

MC_COORD_REF

Referenz auf ein Koordinatensystem (siehe MC_COORD_REF).

InitialObjectPos

POINTER TO MC_LREAL

Zeiger auf Array [1..InitialObjectPosCount].

InitialObjectPosCount

UDINT

Dimension des Vektors InitialObjectPos.

MasterRefPos

MC_LREAL

Touch Probe-Position.

Velocity

MC_LREAL

Die Geschwindigkeit für die Synchronisation. Die Geschwindigkeit muss die Förderbandgeschwindigkeit überschreiten. Die Geschwindigkeit ist nicht durch die maximale Achsgeschwindigkeit beschränkt.

Acceleration

MC_LREAL

Wird im Objekt Conveyor Tracking verwendet. Die Beschleunigung für die Synchronisation. Die Beschleunigung ist nicht durch die maximale Achsbeschleunigung beschränkt. Wird kein Wert eingegeben, dann wird die Standard-Beschleunigung des Conveyor Tracking Objekts verwendet.

Deceleration

MC_LREAL

Wird im Objekt Conveyor Tracking verwendet. Die Verzögerung für die Synchronisation. Die Verzögerung ist nicht durch die maximale Achsverzögerung beschränkt. Wird kein Wert eingegeben, dann wird die Standard-Verzögerung des Conveyor Tracking Objekts verwendet.

Jerk

MC_LREAL

Der Ruck für die Synchronisation. Wird kein Wert eingegeben, dann wird der Standard-Ruck des Conveyor Tracking Objekts verwendet. Der maximale Ruck ist nicht beschränkt.

MC_TrackConveyorBelt 7: MC_TrackConveyorBelt 8: VAR_IN_OUT

VAR_IN_OUT
    AxesGroup             : AXES_GROUP_REF;
    ConveyorBelt          : AXIS_REF;
END_VAR

Name

Typ

Beschreibung

AxesGroup

AXES_GROUP_REF

Referenz auf eine Gruppe von Achsen (siehe Zyklische Gruppenschnittstelle).

ConveyorBelt

AXIS_REF

Referenz auf eine Achse. Referenz auf die Fördererachse.

MC_TrackConveyorBelt 9: VAR_OUTPUT

VAR_OUTPUT
    InSync                : BOOL;
    Busy                  : BOOL;
    Active                : BOOL;
    CommandAborted        : BOOL;
    Error                 : BOOL;
    ErrorId               : UDINT;
END_VAR

Name

Typ

Beschreibung

InSync

BOOL

Der Ausgang InSync wird erstmals TRUE, sobald der Slave mit der Geschwindigkeit synchronisiert ist. Ist die Slave-Dynamik zu gering, um der Master-Bewegung zu folgen, könnte der Ausgang InSync auf FALSE zurückgesetzt werden, woraufhin die Slaveachse erneut mit der Synchronisation beginnt.

Hinweis Geschwindigkeitssynchronisation: Active und InSync - Der Funktionsbaustein MC_TrackConveyorBelt synchronisiert die AxesGroup mit der Geschwindigkeit der ConveyorBelt-Achse. Dabei verwendet der Funktionsbaustein die gege-benen Parameter für Acceleration, Deceleration und Jerk. Wenn diese Synchronisationsbewegung beginnt, wird Active auf TRUE gesetzt. Wenn die Geschwindigkeit des ConveyorBelt erreicht ist, wird InSync auf TRUE gesetzt. Der Synchronisationsstatus wird kontinuierlich überwacht und mit InSync angegeben.

Hinweis Fördererbewegung, Standard-Tracking-Verhalten und InSync - Nachdem das Ausgangssignal InSync gesetzt wurde, gibt es zwei Optionen, um die Synchronisation aufrechtzuerhalten. mcTrackingBehaviorDynLimited - Dieses Verhalten ist das standardmäßige (MC_Default) Tracking-Verhalten. Die Axes-Group erhält die Geschwindigkeitssynchronisation mit dem ConveyorBelt mit Hilfe der ge-gebenen Parameter für Acceleration, Deceleration und Jerk aufrecht. – mcTrackingBehaviorStayInSync - Die AxesGroup erhält die Geschwindigkeitssynchronisation mit dem ConveyorBelt mit unbegrenzten Parametern für Acceleration, Deceleration und Jerk aufrecht.

Hinweis Positionssynchronisation: MasterRefPos und InitialObjectPos - Die Funktionsbausteine MC_TrackConveyorBelt und MC_MovePath sollen für eine flexible Synchronisation mit einer beweglichen Zielposition zusammen verwendet werden. Nachdem MC_TrackConveyorBelt.Active auf TRUE gesetzt worden ist, werden Initia-lObjectPos und der Abstand zur MasterRefPos dem nächsten Aufruf von MC_MovePath angehängt. MC_TrackConveyorBelt.InSync = TRUE und MC_MovePath.Done = TRUE geben an, dass die synchronisierte Position erreicht ist.

Busy

BOOL

Dieser Ausgang wird TRUE, wenn das Kommando mit Execute gestartet wird, und bleibt es dann so lange, wie der Funktionsbaustein das Kommando ausführt. Wenn BUSY wieder FALSE wird, ist der Funktionsbaustein bereit für ein neues Kommando. Gleichzeitig wird einer der Ausgänge CommandAborted oder Error gesetzt.

Active

BOOL

Wenn Active TRUE ist, steuert der Funktionsbaustein die Gruppe.

CommandAborted

BOOL

Dieser Ausgang wird TRUE, wenn das Kommando durch ein anderes Kommando unterbrochen worden ist.

Error

BOOL

Dieser Ausgang wird TRUE, wenn bei der Ausführung des Kommandos ein Fehler aufgetreten ist.

ErrorId

UDINT

Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Kommandos. Der Fehlercode kann in der ADS-Fehlerdokumentation oder in der NC-Fehlerdokumentation (Fehlercodes 0x4nnn und 0x8nnn) nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende
SPS Bibliotheken

TwinCAT V3.1.4022.25
TF5400 Advanced Motion Pack V3.1.6.03

PC oder CX (x86 oder x64)

Tc3_McCoordinatedMotion, Tc2_MC2