MC_MoveContinuousAbsolute

Mit diesem FB lässt sich eine Positionierung auf eine absolute Zielposition durchführen. Im Unterschied zum Kommando MC_MoveAbsolute wird die Zielposition mit der definierten Endgeschwindigkeit angefahren. Ist kein weiteres Bewegungskommando im Buffer vorhanden, verfährt die Achse weiter mit der definierten Endgeschwindigkeit.

Hinweis!

Für absolute Positionierungen muss die Referenzposition bekannt sein!

 

 

 

MC_MoveContinuousAbsolute

 

 

 

AXIS_REF

-

Axis

InEndVelocity

-

BOOL

BOOL

-

Execute

Busy

-

BOOL

BOOL

-

ContinuousUpdate

Active

-

BOOL

LREAL

-

Position

CommandAborted

-

BOOL

LREAL

-

EndVelocity

Error

-

BOOL

LREAL

-

Velocity

ErrorID

-

L_IE1P_Error

LREAL

-

Acceleration

LREAL

-

Deceleration

LREAL

-

Jerk

MC_DIRECTION

-

Direction

MC_BUFFER_MODE

-

BufferMode

 

 

 

 

 

 

 

 

Eingänge

Name

Datentyp

Info/Einstellmöglichkeiten

Axis

AXIS_REF

Übergabe der Achsdatenstruktur

Motion-Achsen (AXIS_REF)

Execute

BOOL

FALSE ä TRUE

Positionierung starten.

ContinuousUpdate

BOOL

Kontinuierliche Übernahme der Profilparameter

Steuereingang ContinuousUpdate

FALSE

Die Profilparameter ( Position , Velocity , Acceleration , ...) werden mit einer steigenden Flanke an Execute übernommen.

TRUE

Die Profilparameter werden kontinuierlich übernommen, d. h. während der Abarbeitung ist eine Änderung des Bewegungsprofils möglich.

Hinweis: Nach Erreichen der Position und Endgeschwindigkeit ( InEndVelocity = TRUE) werden die Profilparameter nicht mehr kontinuierlich übernommen.

Position

LREAL

Absolute Zielposition in [Units]

  • Bezug für die absolute Position ist die Nullposition.

EndVelocity

LREAL

Endgeschwindigkeit in [Units/s] für das Anfahren der Zielposition. Die Endgeschwindigkeit wirkt absolut. Das bedeutet, bei positiver Vorgabe fährt der Antrieb in positive Richtung und bei negativer Vorgabe in negative Richtung.

Velocity

LREAL

Maximale Geschwindigkeit in [Units/s] für das Anfahren der Zielposition

  • In Abhängigkeit der Profilparameter Position , Acceleration, Deceleration und Jerk kann es sein, dass der Antrieb die maximale Geschwindigkeit gar nicht erreicht.

Sonderfall :

Velocity = 0: Es wird der in Subindex 40 vorgegebene Default-Wert zur Geschwindigkeit verwendet.

Acceleration

LREAL

Maximale Beschleunigung in [Units/s 2 ]

Sonderfall :

Acceleration = 0: Es wird der in Subindex 41 vorgegebene Default-Wert zur Beschleunigung verwendet.

Deceleration

LREAL

Maximale Verzögerung in [Units/s 2 ]

Sonderfall :

Deceleration = 0: Es wird der in Subindex 41 vorgegebene Default-Wert zur Beschleunigung verwendet.

Jerk

LREAL

Maximaler Ruck in [Units/s 3 ]

Sonderfall :

Jerk = 0: Es wird der in Subindex 43 vorgegebene Default-Wert zum Ruck verwendet.

Direction

MC_DIRECTION

Die Auswahl der Verfahrrichtung wird nur im Verfahrbereich "Modulo" ausgewertet.

SubIndex 135, ToleranceWindowModuloPositioning

Verfahrrichtung:

  • mcCurrentDirection: Aktuelle Richtung beibehalten
  • mcPositiveDirection: Positive Richtung
  • mcNegativeDirection: Negative Richtung
  • mcShortestWay: Kürzester Weg
  • mcPositiveCycle
  • mcNegativeCycle

MC_DIRECTION

BufferMode

MC_BUFFER_MODE

Modus für die Abarbeitung aufeinanderfolgender Bewegungskommandos

BufferMode

Ausgänge

Name

Datentyp

Wert/Bedeutung

InEndVelocity

BOOL

TRUE

Positionierung erfolgreich beendet.

  • Die absolute Zielposition ist erreicht.
  • Wird die angegebene Zielposition bereits vor dem Erreichen der Endgeschwindigkeit überfahren,
    • wird bereits zu diesem Zeitpunkt das Signal "InEndVelocity" gesetzt
    • verfährt die Achse weiter mit der definierten Endgeschwindigkeit, wenn kein weiteres Bewegungskommando im Buffer vorhanden ist.

Busy

BOOL

TRUE

Abarbeitung läuft.

Active

BOOL

TRUE

Das Kommando des FBs wird aktuell ausgeführt.

  • Der Ausgang Active ist dann von Bedeutung, wenn eine Bewegungssteuerung durch mehrere FBs (BufferMode) erfolgt.

CommandAborted

BOOL

TRUE

Das Kommando wurde durch einen anderen FB abgebrochen.

Error

BOOL

TRUE

Es ist ein Fehler aufgetreten. Details siehe ErrorID .

ErrorID

L_IE1P_Error

Wenn Error = TRUE: Fehlernummer zum aufgetretenen Fehler.

Anwendungsbeispiel "Laserschneidmaschine":

Ein Anwendungsfall für den MC_MoveContinuousAbsolute ist eine lineare Laserschneidemaschine. Auf einer Linearachse ist ein Laser zum Schneiden von Werkstücken montiert.

  • Während des Schneidens muss der Laser mit einer konstanten Geschwindigkeit verfahren werden, d. h. in dieser Phase darf keine Beschleunigung oder Verzögerung stattfinden.
  • Nach dem Schneiden ist der Laser wieder in seine Ruheposition zu verfahren.

Arbeitsablauf

Ausgehend von einer Ruheposition ( lrIdlePos ) für den Laser ist der Arbeitsablauf folgender:

  1. Ausgeschalteten Laser mit hoher Geschwindigkeit ( lrFastVelocity ) zur Schneidestartposition ( lrStartCutPos ) und darüber hinweg verfahren.
  1. Umkehren und hierbei sicherstellen, dass der Laser an der Schneidestartposition ( lrStartCutPos ) die Schnittgeschwindigkeit ( lrCutVelocity ) hat. An der Schneidestartposition den Laser einschalten.
  1. Eingeschalteten Laser mit konstanter Schnittgeschwindigkeit ( lrCutVelocity ) über das Werkstück bewegen.
  1. An der Schneideendposition ( lrEndCutPos ) den Laser wieder ausschalten und mit hoher Geschwindigkeit ( lrFastVelocity ) zurück in die Ruheposition ( lrIdlePos ) verfahren.

Der zuvor beschriebene Arbeitsablauf kann auf folgende Weise realisiert werden:

Prinzipielle Verschaltung und Zeitdiagram für Anwendungsbeispiel "Laserschneidmaschine"

Mit einer FALSE-TRUE-Flanke an xStart wird ein Schneidetakt gestartet. Die Instanz "mca" des MC_MoveContinuousAbsolute verfährt die Achse mit hoher Geschwindigkeit lrFastVelocity zur Position lrStartCutPos . Da die beauftragte Endgeschwindigkeit negativ ist, wird die Position lrStartCutPos zunächst überfahren und anschließend erfolgt eine Drehrichtungsumkehr. Beim erneuten Erreichen von lrStartCutPos hat die Achse dann die beauftragte niedrigere Endgeschwindigkeit. Der Ausgang InEndVelocity wird auf TRUE gesetzt und mit diesem Signal der Laser eingeschaltet. Solange kein anderer Motion-FB das Bewegungskommando MC_MoveContinuousAbsolute abbricht, wird die Achse weiter mit konstanter Geschwindigkeit in negativer Richtung verfahren. Bei Erreichen der Position lrEndCutPos wird der Laser ausgeschaltet und die Instanz "ma" des MC_MoveAbsolute übernimmt das schnelle Verfahren des Lasers in seine Ruheposition.