Herunterladen Inhalt Inhalt Diese Seite drucken

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

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
STATE_MOVE2:
UINT
:= 3;
STATE_MOVE3:
UINT
:= 4;
STATE_MOVE4:
UINT
:= 5;
STATE_MOVE5:
UINT
:= 6;
END_VAR
Programmteil
CASE
uiState
OF
STATE_IDLE:
IF
bStartMove
THEN
bStartMove := FALSE;
uiState
:= STATE_MOVE1;
END_IF
STATE_MOVE1:
(* Verhalten nach einem Betriebsartenwechsel festlegen; muss bei
überschleifenden Bewegungen immer auf "NoAction" stehen *)
arKinCtrl_gb[1].Admin.ChangeOpMode := NoAction;
(* arPoint1 = Position P1 festlegen *)
arKinCtrl_gb[1].CoordMode.Point := arPoint1;
(* Grenzwerte festlegen *)
arKinCtrl_gb[1].CoordMode.Velocity
arKinCtrl_gb[1].CoordMode.Acceleration := 1000;
arKinCtrl_gb[1].CoordMode.Deceleration := 1000;
arKinCtrl_gb[1].CoordMode.Jerk
(* Koordinatensystem festlegen *)
arKinCtrl_gb[1].CoordMode.CoordSystem := CS_MACHINE_COORDINATES;
(* SetMode festlegen *)
arKinCtrl_gb[1].CoordMode.SetMode := SM_VIA;
(* SlopeType festlegen *)
arKinCtrl_gb[1].CoordMode.SlopeType := ST_CONTINUOUS_SLOPE;
(* Überschleifradius festlegen *)
arKinCtrl_gb[1].CoordMode.BlendingRadius := 100;
(* Lineares Verfahrkommando absetzen;
Satz wird in den Satzpuffer gestellt *)
arKinCtrl_gb[1].Admin._OpMode.en := ModeCoordPosLinAbs;
(* vor nächstem Schritt: Ausgang "InBuffer" abfragen *)
IF
arKinStatus_gb[1].Admin.InBuffer
uiState := STATE_MOVE2;
END_IF
STATE_MOVE2:
(* arPoint2 = Position P2 festlegen *)
arKinCtrl_gb[1].CoordMode.Point := arPoint2;
(* es müssen nur die Eingangsstrukturen beschrieben werden, welche
sich geändert haben *)
arKinCtrl_gb[1].CoordMode.Velocity := 20;
(* ein weiteres Absetzen eines linearen Verfahrkommandos ist
nicht notwendig, da dies durch die Änderung des
Positionswertes automatisch geschieht *)
(* vor nächstem Schritt: Ausgang "InBuffer" abfragen *)
IF
arKinStatus_gb[1].Admin.InBuffer
uiState := STATE_MOVE3;
END_IF
STATE_MOVE3:
(* arPoint3 = Position P3 festlegen *)
arKinCtrl_gb[1].CoordMode.Point := arPoint3;
(* vor nächstem Schritt: Ausgang "InBuffer" abfragen *)
IF
arKinStatus_gb[1].Admin.InBuffer
uiState := STATE_MOVE4;
END_IF
STATE_MOVE4:
(* arPoint4 = Position P4 festlegen *)
arKinCtrl_gb[1].CoordMode.Point := arPoint4;
(* vor nächstem Schritt: Ausgang "InBuffer" abfragen *)
IF
arKinStatus_gb[1].Admin.InBuffer
Bosch Rexroth AG
Anwendungsbeispiele
:= 100;
:= 10000;
THEN
THEN
THEN
THEN
339/401

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis