MC_MoveAbsoluteCA

MC_MoveAbsoluteCA 1:

Dieser Funktionsbaustein befiehlt einer einzelnen Achse, sich mit Collision Avoidance in die im Funktionsbaustein festgelegte absolute Position zu bewegen. Die Collision Avoidance hat eine höhere Priorität als das Bewegungskommando. Daher könnte die Achse während der Ausführung des Bewegungskommandos langsamer werden oder warten, um eine Kollision zu vermeiden. Der Funktionsbaustein gibt das Signal Done jedoch erst dann aus, wenn die Achse ihre Zielposition erreicht hat.

MC_MoveAbsoluteCA 2: VAR_INPUT

VAR_INPUT
    Execute               : BOOL;
    ContinuousUpdate      : BOOL;
    Position              : MC_LREAL := MC_INVALID;
    Velocity              : MC_LREAL := MC_INVALID;
    Acceleration          : MC_LREAL := MC_DEFAULT;
    Deceleration          : MC_LREAL := MC_DEFAULT;
    Jerk                  : MC_LREAL := MC_DEFAULT;
    Gap                   : MC_LREAL := MC_DEFAULT;
    BufferMode            : MC_BUFFER_MODE := mcAborting;
    Direction             : Tc3_Mc3Definitions.MC_DIRECTION;
    Options               : ST_MoveAbsoluteCAOptions;
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

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

ContinuousUpdate

BOOL

In dieser Version steht die kontinuierliche Aktualisierung nur für den Gap zur Verfügung.

Position

MC_LREAL

Vorgegebene absolute Zielposition für das Kommando.

Ab TF5400 V3.1.10.30:
Wenn mittels Modulo positioniert wird (Direction != mcDirectionNonModulo), muss die Zielposition im Interval[0, ModuloFaktor] liegen. Zusätzliche Umdrehungen werden über den Parameter ST_MoveAbsoluteCAOptions.AdditionalTurns kommandiert.

Wenn sich die Zielposition innerhalb des Tolerance Window befindet, so wird die Direction = mcDirectionPositive und Direction = mcDirectionNegative für die Position ohne zusätzliche Umdrehungen ignoriert.

Bis TF5400 V3.1.10.14 werden zusätzliche Umdrehungen kommandiert, indem größere Zielpositionen als der ModuloFaktor kommandiert werden.

Weitere Details in den Hinweisen zur Modulo-Positionierung.

Velocity

MC_LREAL

Die Geschwindigkeit (>0) ist durch die maximale Achsgeschwindigkeit beschränkt. Wird kein Wert (0) eingegeben, dann führt dies zu einem Fehler, weil es keine Standardgeschwindigkeit gibt.

Acceleration

MC_LREAL

Die Beschleunigung (≥1) ist durch die maximale Achsbeschleunigung beschränkt. Wird kein Wert (0) eingegeben, dann wird die Standardachsbeschleunigung verwendet.

Deceleration

MC_LREAL

Die Verzögerung (≥1) ist durch die maximale Achsverzögerung beschränkt. Wird kein Wert (0) eingegeben, dann wird die Standardachsverzögerung verwendet.

Jerk

MC_LREAL

Wird kein Wert (0) eingegeben, dann wird der Standardachsruck verwendet. Der minimale Ruck muss ≥100 sein, der maximale Ruck ist nicht beschränkt.

Gap

MC_LREAL

Dieser Wert bestimmt den Mindestabstand zum Vorgänger für die Collision Avoidance. Wird kein Wert eingegeben, dann wird der Standardwert der Gruppe verwendet.

Hinweis Bei Verwendung der Geo-Kompensation ist der Abstand besonders zu beachten. Der Mover-Abstand für die Collision Avoidance bezieht sich positionsmäßig und dynamisch immer auf die verschobene Bahngeometrie. Da sich der Abstand bei Verwendung der Geo-Kompensation auf die verschobene Bahn bezieht, können benachbarte Mover in den Kurven kollidieren, wenn er zu gering festgelegt wird. Achten Sie auf ausreichenden Abstand.

BufferMode

MC_BUFFER_MODE

In dieser Version stehen nur mcAborting und mcBuffered zur Verfügung (siehe MC_BUFFER_MODE).

Direction

(verfügbar ab V3.1.10.1)

Tc3_Mc3Definitions.MC_DIRECTION

Definiert die Richtung der Bewegung (default mcDirectionNonModulo), siehe MC_DIRECTION.

Optionen

ST_MoveAbsoluteCAOptions

Weitere Informationen über die verfügbaren Optionen (ab V3.1.2.47) finden Sie in der Dokumentation von ST_MoveAbsoluteCAOptions.

MC_MoveAbsoluteCA 3:

Die Achse erreicht nicht die Zielgeschwindigkeit, -beschleunigung oder -verzögerung

Die Werte für die Geschwindigkeit, Beschleunigung oder Verzögerung könnten automatisch auf die maximale Achsgeschwindigkeit, -beschleunigung und -verzögerung begrenzt werden. Prüfen Sie die Parameter Maximum Dynamics und Default Dynamics der Achse. Möglich ist auch, dass die Werte von Maximum Dynamics kleiner sind als die Default Dynamics.

MC_MoveAbsoluteCA 4: MC_MoveAbsoluteCA 5: VAR_IN_OUT

VAR_IN_OUT
    Axis                  : AXIS_REF;
END_VAR

Name

Typ

Beschreibung

Axis

AXIS_REF

Referenz auf eine Achse (siehe AXIS_REF).

MC_MoveAbsoluteCA 6: VAR_OUTPUT

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

Name

Typ

Beschreibung

Done

BOOL

Dieser Ausgang wird TRUE, wenn das Kommando erfolgreich ausgeführt worden 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 Done, CommandAborted oder Error gesetzt.

Active

BOOL

Wenn Active TRUE ist, steuert der Funktionsbaustein die Achse.

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.4018.26

TF5400 Advanced Motion Pack V3.1.1.17

PC oder CX (x86 oder x64)

Tc3_McCollisionAvoidance, Tc3_McCoordinatedMotion, Tc2_MC2