# MC_SetCartTrans

Dieser Funktionsblock aktiviert eine kartesische Koordinatentransformation. Mit einer solchen Transformation kann das PCS gegen das MCS verschoben und verdreht werden. Die Angaben zur Verschiebung und Drehung werden relativ zum Ursprung des augenblicklich aktiven PCS wirksam.

Blockdiagramm

Parameter des FB

VAR_IN_OUT
Variablenname | Datentyp | Beschreibung
AxesGroup | AXES_GROUP_REF | Achsgruppenreferenz
VAR_INPUT
Variablenname | Datentyp | Beschreibung
Execute | BOOL | Eine steigende Flanke aktiviert eine kartesische Transformation.
TransX | LREAL | X-Koordinate des Verschiebungsvektors (Vx)
TransY | LREAL | Y-Koordinate des Verschiebungsvektors (Vy)
TransZ | LREAL | Z-Koordinate des Verschiebungsvektors (Vz)
RotAngle1 | LREAL | Drehwinkel um X-Achse (j1).
RotAngle2 | LREAL | Drehwinkel um Y-Achse (j2).
RotAngle3 | LREAL | Drehwinkel um Z-Achse (j3)
ExecutionMode | UDINT | mcQueued = 2
VAR_OUTPUT
Variablenname | Datentyp | Beschreibung
Done | BOOL | Die kartesische Koordinatentransformation wurde aktiviert.
Busy | BOOL | TRUE zeigt an, dass der FB mit einem Auftrag beschäftigt ist.
Active | BOOL | TRUE zeigt an, dass der FB den Auftrag an den MC gegeben hat.
CommandAborted | BOOL | TRUE zeigt an, dass der über diesen FB abgesetzte und noch aktive Auftrag durch einen anderen Auftrag für die Achsgruppe abgebrochen wurde.
Error | BOOL | TRUE zeigt an, dass ein Fehler aufgetreten ist.
ErrorID | WORD | Fehlerkennung
JobID | UDINT | Ordnungsnummer des letzten über den FB abgesetzten Auftrages.

Für die Festlegung der Drehungen j1, j2 und j3 gilt, dass diese in der nachfolgend aufgeführten Reihenfolge jeweils in mathematisch positiver Drehrichtung durchgeführt werden:

1. Drehung mit Winkel j3 um die z-Achse
2. Drehung mit Winkel j2 um die neue y-Achse (y´)
3. Drehung mit Winkel j1 um die neue x-Achse (z.B. x´´)

Abb.: Zusammensetzung der Rotation