MC_MoveRelative_BkPlcMc (ab V3.0)

MC_MoveRelative_BkPlcMc (ab V3.0) 1:

Der Funktionsbaustein startet und überwacht die Bewegung einer Achse.

MC_MoveRelative_BkPlcMc (ab V3.0) 2: Eingänge

VAR_INPUT
    Execute:        BOOL;
    Distance:       LREAL;
    Velocity:       LREAL;
    Acceleration:   LREAL;
    Deceleration:   LREAL;
    Jerk:           LREAL;
    BufferMode:     MC_BufferMode_BkPlcMc:=Aborting_BkPlcMc;    (ab/from V3.0.8)
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Eine steigende Flanke an diesem Eingang startet die Bewegung.

Distance

LREAL

[mm] Die Entfernung zur Zielposition der Bewegung in Istwert-Einheiten der Achse.

Velocity

LREAL

[mm/s] Die geforderte Geschwindigkeit der Bewegung in Istwert-Einheiten der Achse pro Sekunde.

Acceleration

LREAL

[mm/s2] Die geforderte Beschleunigung in Istwert-Einheiten der Achse pro Quadrat-Sekunde.

Deceleration

LREAL

[mm/s2] Die geforderte Verzögerung in Istwert-Einheiten der Achse pro Quadrat-Sekunde.

Jerk

LREAL

[mm/s3] reserviert.

BufferMode

MC_BufferMode_BkPlcMc

reserviert. Dieser Eingang wurde vorbereitend ergänzt und sollte derzeit nicht oder mit der Konstanten Aborting_BkPlcMc belegt werden. (ab V3.0.8)

MC_MoveRelative_BkPlcMc (ab V3.0) 3: Ein-/Ausgänge

VAR_INOUT
    Axis:           Axis_Ref_BkPlcMc;
END_VAR

Name

Typ

Beschreibung

Axis

Axis_Ref_BkPlcMc

Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben.

MC_MoveRelative_BkPlcMc (ab V3.0) 4: Ausgänge

VAR_OUTPUT
    Busy:           BOOL;
    Done:           BOOL;
    CommandAborted: BOOL;
    Error:          BOOL;
    ErrorID:        UDINT;
END_VAR

Name

Typ

Beschreibung

Busy

BOOL

Hier wird signalisiert, dass ein Kommando abgearbeitet wird.

Done

BOOL

Hier wird die erfolgreiche Abarbeitung der Bewegung signalisiert.

CommandAborted

BOOL

Hier wird ein Abbruch der Bewegung signalisiert.

Error

BOOL

Hier wird das Auftreten eines Fehlers signalisiert.

ErrorID

UDINT

Hier wird eine codierte Fehlerursache bereitgestellt.

Verhalten des Bausteins

Auf eine steigende Flanke an Execute hin untersucht der Baustein das übergebene Achsinterface. Dabei können eine Reihe von Problemen erkannt und gemeldet werden:

Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten wird die Bewegung initiiert. Dazu werden die Parameter Distance, Velocity, Acceleration und Deceleration auf die maximal zulässigen Werte begrenzt und an den Bewegungsalgorithmus übergeben. Die Achse befindet sich ab jetzt im Zustand McState_DiscreteMotion und der Baustein beginnt mit der Überwachung der Bewegung.

Sollte während der Abarbeitung der Bewegung vom Bewegungsalgorithmus ein Fehlercode signalisiert werden, wird mit Error und ErrorID:=Bewegungsalgorithmus-Fehlercode reagiert. Wird die vollständige Bewegung durch die Aktivität eines anderen Bausteins verhindert, wird mit CommandAborted reagiert. Erreicht der Bewegungsalgorithmus die Zielbedingungen der Achse, wird mit Done reagiert.

Eine fallende Flanke an Execute löscht alle anstehenden Ausgangssignale. Wird Execute bereits bei noch aktiver Bewegung auf FALSE gesetzt, wird die eingeleitete Bewegung unbeeinflusst weiter bearbeitet. Die Signale am Ende der Bewegung (Error, ErrorID, CommandAborted, Done) werden für einen Zyklus gegeben.