MC_PhasingAbsolute

MC_PhasingAbsolute 1:

Mit dem Funktionsbaustein MC_PhasingAbsolute kann eine Phasenverschiebung zwischen einer Master- und einer Slaveachse eingestellt werden. Der Funktionsbaustein führt eine überlagerte Bewegung der Slaveachse aus und stellt dadurch eine Positionsdifferenz „PhaseShift“ zwischen Master und Slave ein.

Die Dynamikwerte „Velocity“, „Acceleration“ und „Decelaration“ beziehen sich auf die überlagerte Bewegung, mit der die Phasenverschiebung durchgeführt wird. Die Bewegung wird immer ruckbegrenzt mit dem in „Jerk“ eingestellten konstanten Ruck ausgeführt. Der Wert gilt sowohl für die Beschleunigung mit „Acceleration“ als auch für das Bremsen mit „Deceleration“.

Die Phasenverschiebung kann sowohl für eine einfache MC_GearIn-Kopplung, als auch für eine Kopplung mit dynamischem Koppelfaktor verwendet werden. Im letzteren Fall ist zu beachten, dass MC_GearInMultimaster mit Options.AdvancedSlaveDynamics = TRUE (Gearing) oder MC_CamIn_V2 (Camming) verwendet wird.

MC_GearInDyn wird nicht unterstützt.

MC_PhasingAbsolute 2: Eingänge

VAR_INPUT
    Execute            : BOOL;
    ContinuousUpdate   : BOOL;
    PhaseShift         : LREAL;
    Velocity           : LREAL;
    Acceleration       : LREAL;
    Deceleration       : LREAL;
    Jerk               : LREAL;
    BufferMode         : MC_BufferMode;
    Options            : ST_PhasingOptions;
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Mit einer steigenden Flanke wird das Kommando ausgeführt.

ContinuousUpdate

BOOL

Ist dieser Eingang TRUE bei der steigenden Flanke am Eingang „Execute“, so können während der Abarbeitung des Kommandos die Eingänge „PhaseShift“, „Velocity“, „Acceleration“, „Deceleration“ und „Jerk“ verändert und schnellstmöglich zur Wirkung gebracht werden.

PhaseShift

LREAL

Einzustellende Phasenverschiebung zwischen Master- und Slaveachse

Velocity

LREAL

Wert der maximalen Geschwindigkeit, die bei der Phasenverschiebung erreicht werden darf (>=0.01).

Acceleration

LREAL

Wert der maximalen Beschleunigung

Deceleration

LREAL

Wert der maximalen Verzögerung

Jerk

LREAL

Wert des maximalen Rucks

BufferMode

MC_BufferMode

Nur MC_Aborting

Options

ST_PhasingOptions

Nicht implementiert

MC_PhasingAbsolute 3: Ein-/Ausgänge

VAR_IN_OUT
    Master : AXIS_REF;
    Slave  : AXIS_REF;
END_VAR

Name

Typ

Beschreibung

Master

AXIS_REF

Achsdatenstruktur des Masters

Slave

AXIS_REF

Achsdatenstruktur des Slaves

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

MC_PhasingAbsolute 4: Ausgänge

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

Name

Typ

Beschreibung

Done

BOOL

TRUE, wenn die absolute Phasenverschiebung hergestellt ist.

Busy

BOOL

TRUE, sobald das Kommando mit Execute gestartet wird und solange die Phasenverschiebung erfolgt. 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.

AbsolutePhaseShift

LREAL

Absolute Phasenverschiebung

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC oder CX (x86 oder x64)

Tc2_MC2