Herunterladen Inhalt Inhalt Diese Seite drucken

Bosch REXROTH MLC 13VRS Robot-Control V2 Referenz-Anleitung Seite 339

Vorschau ausblenden Andere Handbücher für REXROTH MLC 13VRS Robot-Control V2:
Inhaltsverzeichnis

Werbung

DOK-MLC***-ROCO****V13-RE03-DE-P
Rexroth IndraMotion MLC 13VRS Robot-Control V2
(***************
compute angles
***************)
dphi11
:=
ACS[1] * GRAD_RAD_FAKTOR;
dphi12 := ( ACS[2] * GRAD_RAD_FAKTOR ) + dphi11;
(************
Get the MID
************)
MIDx := dL1 * COS( dphi11 );
MIDy := dL1 * SIN( dphi11 );
(************
Get the TCP
************)
TCPx := ( dL1 * COS( dphi11 ) ) + ( dL2 * COS( dphi12 ) );
TCPy := ( dL1 * SIN( dphi11 ) ) + ( dL2 * SIN( dphi12 ) );
MID2TCPx := TCPx - MIDx;
MID2TCPy := TCPy - MIDy;
IF NOT(UpdateOnly) THEN
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_CREATE_SPHERE, 'BASE', 0.0, 0.0, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_CREATE_SPHERE, 'MID', 0.0, 0.0, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_CREATE_SPHERE, 'TCP', 0.0, 0.0, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_CREATE_ROD, 'ROD1', 0.0, 0.0, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_CREATE_ROD, 'ROD2', 0.0, 0.0, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_SIZE, 'BASE', fSphereSize, fSphereSize, fSphereSize);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_SIZE, 'MID', fSphereSize, fSphereSize, fSphereSize);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_SIZE, 'TCP', fSphereSize, fSphereSize, fSphereSize);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_SIZE, 'ROD1', fRodRadius, fRodRadius, dL1);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_SIZE, 'ROD2', fRodRadius, fRodRadius, dL2);
END_IF
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_POSITION, 'TCP', TCPx, TCPy, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_POSITION, 'MID', MIDx, MIDy, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_POSITION, 'ROD2', MIDx, MIDy, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_DIRECTION, 'ROD1', MIDx, MIDy, 0.0);
ML_AddMechanicData(MechanicData, MechanicDataSize, MechanicDataRetSize,
KIN_MECH_CMD_DIRECTION, 'ROD2', MID2TCPx, MID2TCPy, 0.0);
Anmelden der Transformation an
eine Kinematik
PROGRAM PlcProg
VAR
myDeltaSlide
setKinTrafo
: MC_SetKinTransform;
initTransformation
: BOOL;
END_VAR
IF(initTransformation) THEN
setKinTrafo.KinTransform := myDeltaSlide;
setKinTrafo.Execute
setKinTrafo(AxisGroup := K1);
IF(setKinTrafo.Done) THEN
initTransformation
Es wird angenommen, dass eine Kinematik mit dem Namen "K1" existiert.
Für diese soll die Transformation "Scara" angemeldet werden.
Zu beachten ist, dass die Instanz myScara an der Kinematik angemeldet wird
und nicht der Funktionsbausteintyp Scara.
Auch für jede weitere Kinematiken ist immer eine eigene Instanz des Funk‐
tionsbaustein Scara zu verwenden.
Verwendung
: DeltaSlide;
:= TRUE;
:= FALSE;
Bosch Rexroth AG
337/401
Anwendungsbeispiele

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis