Der Einsatz dieses FBs wird empfohlen, wenn hochgenaue Positionierungen durchgeführt werden müssen, bei denen der Positionsfehler einer Achse in Abhängigkeit von der Position zweier anderen Achsen kompensiert werden muss.
WARNUNG!
Die Kombination der Flächenkompensation mit einer Lageregelung auf einen externen Geber ist nicht zulässig. Der FB L_CT1P_PlaneComp unterstützt keine Modulo-Achsen.
Bitte beachten Sie bei der Verwendung dieses sollwertkorrigierenden FBs:
In den PLCopen-Status "Standstill" wird eingetreten, sobald die unkompensierte Sollwertvorgabe den Stillstand erreicht hat. Ebenso schalten die Motion-FBs (z. B. MC_MoveAbsolute, MC_MoveVelocity, L_MC1P_AxisBasicControl) ihre Statusausgänge (x)Busy, (x)Done etc. auf Basis der unkompensierten Sollwerte.
Die Kompensation wirkt additiv auf den Sollwert und wird im Istwert wieder herausgerechnet.
Die korrigierten Sollwerte werden zu Analyse-Zwecken am FB ausgegeben. Diese müssen nicht applikativ verschaltet werden.
|
|
|
|
L_CT1P_PlaneComp |
|
|
|
|
|---|---|---|---|---|---|---|---|
|
AXIS_REF |
- |
|
Axis |
xBusy |
|
- |
BOOL |
|
BOOL |
- |
|
xEnable |
xActive |
|
- |
BOOL |
|
- |
|
eExecutionIndex |
xError |
|
- |
BOOL |
|
|
AXIS_REF |
- |
|
Base1 |
eErrorID |
|
- |
L_IE1P_Error |
|
AXIS_REF |
- |
|
Base2 |
lrSetPosOut |
|
- |
LREAL |
|
ARRAY[*] OF LREAL |
- |
|
alrBase1Position |
lrSetVelOut |
|
- |
LREAL |
|
ARRAY[*] OF LREAL |
|
|
alrBase2Position |
lrSetAccOut |
|
- |
LREAL |
|
ARRAY[*,*] OF LREAL |
|
|
alrAxisCorrection |
lrSetTorqueOut |
|
- |
LREAL |
|
|
|
|
|
lrActCorrection |
|
- |
LREAL |
|
|
|
|
|
|
|
|
|
Eingänge
|
Name Datentyp |
Info/Einstellmöglichkeiten |
|
|---|---|---|
|
Axis AXIS_REF |
Übergabe der Achsdatenstruktur der zu korrigierenden Achse. |
|
|
xEnable BOOL |
FALSE -> TRUE |
Aktivierung des FBs |
|
Die Aktivierung oder Deaktivierung (TRUE <-> FALSE) kann nur bei gesperrter Achse (Zustand "Disabled") erfolgen. |
||
|
eExecutionIndex
|
Ausführungsindex Es können max. zwei sollwertkorrigierende FBs an eine Achse angeschlossen werden. Über diesen Eingang wird die Aufrufreihenfolge festgelegt. Auswahl: L_MC1P_ExecutionIndex.First := 1, L_MC1P_ExecutionIndex.Second := 2
|
|
|
Base1 AXIS_REF |
Übergabe der Achsdatenstruktur der Base1-Achse |
|
|
Base2 AXIS_REF |
Übergabe der Achsdatenstruktur der Base2-Achse |
|
|
alrBase1Position ARRAY[*] OF LREAL |
Positionsvektor der AxisRef Base1 zur Ermittlung der Positionskorrektur |
|
|
alrBase1Position ARRAY[*] OF LREAL |
Positionsvektor der AxisRef Base2 zur Ermittlung der Positionskorrektur
|
|
|
alrAxisCorrection ARRAY[*,*] OF LREAL |
Korrekturwerte der AxisRef Axis an den Positionen alrBase1Position, alrBase2Position Die Anzahl der Werte in alrBase1Position, alrBase2Position und alrAxisCorrection muss zueinander konsistent sein |
|
Ausgänge
|
Name Datentyp |
Wert/Bedeutung |
|
|---|---|---|
|
xBusy BOOL |
TRUE |
Der FB wurde in den Sollwertpfad der AXIS_REF eingehängt. |
|
xActive BOOL |
TRUE |
Die Flächenkompensation ist aktiv. |
|
xError BOOL |
TRUE |
Es ist ein Fehler aufgetreten. Details siehe eErrorID . |
|
eErrorID |
Wenn xError = TRUE: Fehlernummer zum aufgetretenen Fehler. |
|
|
lrSetPosOut LREAL |
Modifizierte Sollposition Dieser Ausgang dient zur Analyse. Das Verschalten des Ausgangs ist nicht erforderlich. |
|
|
lrSetVelOut LREAL |
Modifizierte Sollgeschwindigkeit Dieser Ausgang dient zur Diagnose. Das Verschalten des Ausgangs ist nicht erforderlich. |
|
|
lrSetAccOut LREAL |
Modifizierte Sollbeschleunigung Dieser Ausgang dient zur Diagnose. Das Verschalten des Ausgangs ist nicht erforderlich. |
|
|
lrSetTorqueOut LREAL |
Modifiziertes Sollmoment Dieser Ausgang dient zur Diagnose. Das Verschalten des Ausgangs ist nicht erforderlich. |
|
|
lrActCorrection LREAL |
Aktueller Korrekturwert Dieser Ausgang dient zur Diagnose. Das Verschalten des Ausgangs ist nicht erforderlich. |
|