MC_PhasingRelative

MC_PhasingRelative 1:

Mit dem Funktionsbaustein MC_PhasingRelative kann eine Phasenverschiebung zwischen einer Master- und einer Slaveachse eingestellt werden. Der Funktionsbaustein führt eine überlagerte Bewegung der Slaveachse aus und verändert dadurch die Positionsdifferenz zwischen Master und Slave um die Distanz „PhaseShift“.

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_PhasingRelative 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

Betrag, um den die Phasenverschiebung zwischen Master- und Slaveachse verändert wird.

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_PhasingRelative 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_PhasingRelative 4: Ausgänge

VAR_OUTPUT
    Done              : BOOL;
    Busy              : BOOL;
    Active            : BOOL;
    CommandAborted    : BOOL;
    Error             : BOOL;
    ErrorId           : UDINT;
    CoveredPhaseShift : 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. Gleichzeit 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.

CoveredPhaseShift

LREAL

Absolute Phasenverschiebung

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC oder CX (x86 oder x64)

Tc2_MC2