MC_MoveModulo

MC_MoveModulo 1:

Mit dem Funktionsbaustein MC_MoveModulo wird eine Positionierung durchgeführt, die sich auf die Modulo-Position einer Achse bezieht. Grundlage für eine Modulo-Umdrehung ist dabei der einstellbare Parameter „Modulo-Faktor“ der AXIS_REF-Struktur(Axis.Parameter.ModuloFactor z. B. 360°). Abhängig vom Eingang „Direction“ werden drei mögliche Starttypen unterschieden.

Start einer Achse aus dem Stillstand

Wird eine Achse mit MC_MoveModulo aus dem Stillstand gestartet, so können auch Positionen größer oder gleich 360° angegeben werden, um zusätzliche volle Umdrehungen auszuführen.

Sonderfälle

Besonders zu beachten ist das Verhalten bei Anforderung einer oder mehrerer vollständiger Modulo‑Umdrehungen. Befindet sich die Achse auf einer exakten Sollposition von beispielsweise 90° und wird sie auf 90° positioniert, wird keine Bewegung ausgeführt. Bei Anforderung von 450° in positiver Richtung fährt sie eine Umdrehung. Nach einem Achs-Reset kann das Verhalten anders sein, weil durch den Reset die aktuelle Istposition in die Sollposition übernommen wird. Damit steht die Achse nicht mehr exakt bei 90°, sondern ein wenig darunter oder darüber. In diesen beiden Fällen wird entweder nur eine minimale Positionierung auf 90° oder aber eine ganze Umdrehung ausgeführt.

Je nach Anwendungsfall kann es für volle Modulo-Umdrehungen günstiger sein, die gewünschte Zielposition auf Grund der aktuellen absoluten Position zu berechnen und mit dem Baustein MC_MoveAbsolute zu positionieren.

Siehe auch: Die Modulo-Positionierung

MC_MoveModulo 2: Eingänge

VAR_INPUT
    Execute      : BOOL;
    Position     : LREAL; 
    Velocity     : LREAL; 
    Acceleration : LREAL; 
    Deceleration : LREAL; 
    Direction    : MC_Direction;
    Options      : ST_MoveOptions;
END_VAR 

Name

Typ

Beschreibung

Execute

BOOL

Mit einer steigenden Flanke wird das Kommando ausgeführt.

Position

LREAL

Modulo-Zielposition, auf die positioniert werden soll. Falls die Achse aus dem Stillstand gestartet wird, führen Positionen ab 360° zu zusätzlichen Umdrehungen. Negative Positionen sind nicht zulässig.

Velocity

LREAL

Maximale Geschwindigkeit mit der gefahren werden soll (>0).

Acceleration

LREAL

Beschleunigung (≥0)

Deceleration

LREAL

Verzögerung (≥0)

Direction

MC_Direction

Positive oder negative Fahrtrichtung (Typ: MC_Direction). Falls die Achse aus der Bewegung heraus gestartet wird, darf die Richtung nicht umgekehrt werden.

Options

ST_MoveOptions

Datenstruktur (ST_MoveOptions), die zusätzliche selten benötigte Parameter enthält. Im Normalfall kann der Eingang unbelegt bleiben.

MC_MoveModulo 3:

Siehe auch: Allgemeine Regeln für MC-Funktionsbausteine.

MC_MoveModulo 4: Ein-/Ausgänge

VAR_IN_OUT
    Axis : AXIS_REF;
END_VAR

Name

Typ

Beschreibung

Axis

AXIS_REF

Achsdatenstruktur, welche eine Achse eindeutig im System adressiert. Sie enthält unter anderem den aktuellen Status der Achse, wie Position, Geschwindigkeit oder Fehlerzustand.

MC_MoveModulo 5: Ausgänge

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

Name

Typ

Beschreibung

Done

BOOL

TRUE, wenn die Zielposition erreicht wurde.

Busy

BOOL

TRUE, sobald das Kommando mit „Execute“ gestartet wird und solange der Fahrbefehl abgearbeitet wird. Wenn „Busy“ FALSE ist, ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge „Done“, „CommandAborted“ oder „Error“ gesetzt.

Active

BOOL

Zeigt an, dass das Kommando ausgeführt wird. Wenn das Kommando gepuffert wurde, wird es evtl. erst aktiv, nachdem ein laufendes Kommando beendet ist.

CommandAborted

BOOL

TRUE, wenn das Kommando nicht vollständig ausgeführt werden konnte. Die Achse wurde gestoppt oder das laufende Kommando wurde durch ein weiteres Move-Kommando abgelöst.

Error

BOOL

TRUE, wenn ein Fehler auftritt.

ErrorID

UDINT

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

MC_MoveModulo 6:

Siehe auch: Allgemeine Regeln für MC-Funktionsbausteine.