MC_CalcTrafo
TF5410 | TF5420 | |
|---|---|---|
| MC Group with Pick-and-Place | MC Group Coordinated Motion |
|
|
|
Mit dem Funktionsbaustein MC_CalcTrafo wird die Vorwärts- oder Rückwärtstransformation der kinematischen Transformation berechnet. Entsprechend setzt der Funktionsbaustein zwingend voraus, dass der Coordinated Motion Gruppe eine kinematische Transformation zugewiesen ist.
Eingänge
VAR_INPUT
Execute : BOOL;
Forward : BOOL;
CheckPositionLimits : BOOL;
AxesPosIn : Pointer To LREAL;
AxesPosInCount : UDINT;
AxesPosOut : Pointer To LREAL;
AxesPosOutCount : UDINT;
END_VARName | Typ | Beschreibung |
|---|---|---|
Execute | BOOL | Das Kommando wird durch eine steigende Flanke an diesem Eingang ausgelöst. |
Forward | BOOL | Bestimmt, ob die Vorwärts- oder Rückwärtstransformation berechnet wird. |
CheckPositionLimits | BOOL | Ab Version 4.0.17 Zusätzlich zur Berechnung der Transformation wird auch auf eingestellte Software-Endlagen geprüft. Dabei werden AxesPosIn und AxesPosOut berücksichtigt. Befindet sich mindestens eine Komponente außerhalb der Software-Endlagen, wird der Ausgang Error = TRUE gesetzt. |
AxesPosIn | Pointer To LREAL | Pointer auf ein Array, das die Eingangspositionen der Transformation enthält. Bei der Berechnung einer Vorwärtstransformation stellen diese die Gelenkpositionen dar. Bei der Berechnung einer Rückwärtstransformation stellen diese die kartesischen Achspositionen dar. |
AxesPosInCount | UDINT | Anzahl der Eingangspositionen |
AxesPosOut | Pointer To LREAL | Pointer auf ein Array, das die Ergebnispositionen der Transformation enthält. Im Falle der Berechnung einer Vorwärtstransformation stellen diese die kartesischen Achspositionen dar. Im Falle der Berechnung einer Rückwärtstransformation stellen diese die Gelenkpositionen dar. |
AxesPosOutCount | UDINT | Anzahl der Ergebnispositionen |
/
Ein-/Ausgänge
VAR_IN_OUT
AxesGroup : AXES_GROUP_REF;
MetaInfoIn : U_CalcTrafoMetaInfo;
MetaInfoOut : U_CalcTrafoMetaInfo;
END_VARName | Typ | Beschreibung |
|---|---|---|
AxesGroup | AXES_GROUP_REF | Referenz auf eine Achsgruppe (siehe Zyklische Gruppenschnittstelle) |
MetaInfoIn | U_CalcTrafoMetaInfo | Wenn verschiedene Roboterkonfigurationen zu einer Lösung führen, kann die Lösung ausgewählt werden, die verwendet werden soll. Für Kinematiken, bei denen dieser Parameter nicht benötigt wird, kann dieser Eingang mit einer Dummy-Variablen belegt werden. |
MetaInfoOut | U_CalcTrafoMetaInfo | Wenn verschiedene Lösungen für eine Transformation möglich sind, wird die gefundene Lösung spezifiziert. Für Kinematiken, bei denen dieser Parameter nicht benötigt wird, kann dieser Eingang mit einer Dummy-Variablen belegt werden. |
Ausgänge
VAR_OUTPUT
Error : BOOL;
ErrorId : UDINT;
END_VARName | Typ | Beschreibung |
|---|---|---|
Error | BOOL | Dieser Ausgang wird TRUE, wenn bei der Ausführung des Kommandos ein Fehler aufgetreten ist. |
ErrorId | UDINT | Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Kommandos. Der Fehlercode kann in der ADS-Fehlerdokumentation oder in der NC-Fehlerdokumentation (Fehlercodes 0x4nnn und 0x8nnn) nachgeschlagen werden. |
![]() | Wird mit „CheckPositionLimit“ TRUE eine Verletzung der Software-Endlagen erkannt, dann wird der Fehlercode 33154 (0x8182) zurückgegeben. Die Berechnung der Transformation wird weiter ausgeführt und AxesPosOut beschrieben. Auf diese Weise kann die limitierende Komponente ermittelt werden. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende |
|---|---|---|
TF5400 Advanced Motion Pack V3.4.60 | PC oder CX (x64) | Tc3_McCoordinatedMotion, Tc2_MC2 |


