MC_PhasingRelative
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.
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 |
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.
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 |