MC_PositionCorrectionLimiter
Der Funktionsbaustein MC_PositionCorrectionLimiter schreibt einen Korrekturwert (PositionCorrectionValue) auf die Istposition einer Achse. Abhängig vom Korrekturmodus werden die Daten entweder unmittelbar oder gefiltert in die Achse eingespeist.
VAR_INPUT
VAR_INPUT
Enable : BOOL;
PositionCorrectionValue : LREAL;
CorrectionMode : E_AxisPositionCorrectionMode;
Acceleration : LREAL;
CorrectionLenght : LREAL;
END_VAR
Enable |
Das kontinuierliche Schreiben des PositionCorrectionValue wird durch diesen Eingang aktiviert. Er muss TRUE sein, solange neue Korrekturwerte akzeptiert werden sollen. |
PositionCorrectionValue |
Der Korrekturwert, der zum Istwert der Achse addiert werden soll. |
CorrectionMode |
Abhängig von diesem Modus wird der PositionCorrectionValue entweder unmittelbar oder gefiltert geschrieben. Für eine ausführliche Beschreibung siehe E_AxisPositionCorrectionMode. |
Acceleration |
Abhängig vom CorrectionMode wird hier die maximale Beschleunigung zum Erreichen des neuen Korrekturwerts vorgegeben. Bei PositionCorrectionMode_Fast hat dieser Wert einen unmittelbaren Einfluss auf das Positionsdelta per PLC-Tick. |
CorrectionLength |
Wenn der CorrectionMode mit PositionCorrectionMode_FullLength übereinstimmt, wird dieser Parameter aktiv. Eine Änderung beim PositonCorrectionValue wird auf dieser Korrekturlänge aufgeteilt. |
VAR_OUTPUT
VAR_OUTPUT
Busy : LREAL;
Error : BOOL;
ErrorId : UDINT;
Limiting : BOOL;
ND_VAR
Busy |
Wird TRUE, sobald der Funktionsbaustein aktiv ist und FALSE, wenn er in den ursprünglichen Zustand zurückgekehrt. |
Error |
Wird TRUE, sobald ein Fehler auftritt. |
ErrorId |
Wenn der Fehlerausgang gesetzt ist, liefert dieser Parameter die Fehlernummer. |
Limiting |
Wird TRUE, wenn der geforderte PositionCorrectionValue noch nicht vollständig akzeptiert ist. |
![]() | Um diesen Funktionsbaustein erfolgreich zu nutzen, muss der Parameter Positionskorrektur im System Manager aktiviert werden. |