Herunterladen Inhalt Inhalt Diese Seite drucken

Bosch Rexroth IndraMotion MLC 13VRS Funktionsbeschreibung Seite 379

Vorschau ausblenden Andere Handbücher für Rexroth IndraMotion MLC 13VRS:
Inhaltsverzeichnis

Werbung

DOK-MLC***-FUNC****V13-AP06-DE-P
Rexroth IndraMotion MLC 13VRS Funktionsbeschreibung
PROGRAM PlcProg
VAR
OpMode:INT:=MODE_DRV_OFF; // selection operation mode and state machine
fbTON: TON;
rActPosition: REAL; // actual position as real
rActVelocity: REAL; // actual velocity as real
boError: BOOL;
// error flag from status word
boWarning: BOOL;
// warning flag from status word
END_VAR
VAR CONSTANT
// operation modes and state machine
MODE_DRV_OFF
:INT:=10;
ABS_POS_MODE
:INT:=20; ABS_POS_MODE_1 :INT:=21; ABS_POS_MODE_2 :INT:=22;
REL_POS_MODE
:INT:=30; REL_POS_MODE_1 :INT:=31; REL_POS_MODE_2 :INT:=32;
ADD_POS_MODE
:INT:=40; ADD_POS_MODE_1 :INT:=41; ADD_POS_MODE_2 :INT:=42;
VEL_MODE
:INT:=50; VEL_MODE_1
MODE_DRV_AH
:INT:=60;
// control word S-0-0134
CTRL_WORD_OFF:WORD
:=16#0000;
CTRL_WORD_AH:WORD
:=16#C000;
CTRL_AF_PRIMARY_OP_MODE:WORD
CTRL_AF_SECONDARY_OP_MODE:WORD:=16#E100;
// status word S-0-0135
MASK_STATUS_AF_OP_MODE:WORD
STATUS_AF_PRIMARY_OP_MODE:WORD
STATUS_AF_SECONDARY_OP_MODE:WORD:=16#C100;
// Weighting
WEIGHTING_FACTOR_POS: DINT:=10000;
WEIGHTING_FACTOR_VEL: DINT:=10000; // S-0-0046 = -4
END_VAR
CASE OpMode OF
MODE_DRV_OFF:
// Ab, switched OFF
wDriveX_ControlWord := CTRL_WORD_OFF; // all OFF...
ABS_POS_MODE:
// start absolute positioning to 42°
boDriveX_PosRelNotAbs:=FALSE;
//boDriveX_PosRelNotAdd;
udiDriveX_PositionVelocity:=DINT_TO_UDINT(4*WEIGHTING_FACTOR_VEL);
diDriveX_PositionCmdValue:=42*WEIGHTING_FACTOR_POS;
wDriveX_ControlWord := CTRL_AF_PRIMARY_OP_MODE; // AF and primary operation mode
boDriveX_PosToggel := NOT boDriveX_PosToggel; // start positioning
OpMode:=ABS_POS_MODE_1;
ABS_POS_MODE_1:
// check acknowledge power AND homed
IF (wDriveX_StatusWord AND MASK_STATUS_AF_OP_MODE) = STATUS_AF_PRIMARY_OP_MODE
AND boDriveX_Homed = TRUE
THEN
IF boDriveX_InPosition = FALSE THEN // in position can be set from last command
OpMode:=ABS_POS_MODE_2; // next
END_IF
END_IF
ABS_POS_MODE_2:
// check in position
IF boDriveX_InPosition THEN
// here we should be at 42°
7.
Variable "OpMode" auf den Wert 20 schreiben. Damit sollte der Ablauf
gestartet werden und die erste Bewegung bis zum Breakpoint ausge‐
führt werden.
8.
SPS Programm wieder starten bis zum nächsten Breakpoint und Bewe‐
gungsablauf prüfen. Wiederholen bis alle Schritte abgearbeitet sind.
9.
Variable "OpMode" auf die Werte 30, 40 oder 50 schreiben. Damit sollte
der Ablauf mit der jeweiligen Betriebsart gestartet werden.
10.
Aus diesem Programm können jetzt für die endgültige Programmumset‐
zung Teile kopiert und weiterverwendet werden.
Deklaration
:INT:=51;
:=16#E000;
:=16#C700;
:=16#C000;
// S-0-0078 = -4
Implementation
// S-0-0346.3 0=absolute Pos, 1=relative Pos
// S-0-0346.4 0=additive (last target), 1=rel. (actual pos.)
Bosch Rexroth AG
// 4 rpm * 10000
// 42 degree * 10000
377/607
Achsen

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis