INSTALLATION AND OPERATING INSTRUCTIONS:
GEH6000IL/GED6000IL
INSTALLATION AND OPERATING INSTRUCTIONS:
GEH6000IL/GED6000IL
52
53
EN / 2021-07-28
DDOC00212 / 0
EN / 2021-07-22
DDOC00212 / 0
Zimmer GmbH
•
Am Glockenloch 2
•
77866 Rheinau, Germany
•
+49 7844 9138 0
•
www.zimmer-group.com
Zimmer GmbH
•
Am Glockenloch 2
•
77866 Rheinau, Germany
•
+49 7844 9138 0
•
www.zimmer-group.com
11.19 Starting the gripping movement
►
Send ControlWord 0x0200 so that the product moves towards the WorkPosition.
Ö
The gripper jaws move towards the inside.
►
Send ControlWord 0x0100 so that the product moves towards the BasePosition.
Ö
The gripper jaws move towards the outside.
•
The motion task must be pending for as long as it takes until the desired position is reached.
•
The current motion task is canceled as a result of a new handshake.
Ö
When the product reaches the corresponding position, this is displayed in the StatusWord as follows:
•
The product is at the BasePosition: StatusWord bit 8 = TRUE
•
The product is at the TeachPosition: StatusWord bit 9 = TRUE
•
The product is at the WorkPosition: StatusWord bit 10 = TRUE
•
The product is at none of the above-mentioned positions – StatusWord Bit 11 = TRUE
11.20 Repeated movement in the same direction
The StatusWord includes two static flag bits, each of which is set in alternation when the product moves in one direction.
This prevents uncontrolled movements of the product in case of faulty data transmission.
Depending on the location of the positions, it is possible that the product may move multiple times in the same direction.
For this purpose, the direction flags must be reset.
►
Send the ControlWord = 0x0004 to delete the direction flags.
Ö
The direction flag is reset when the product answers with Statusbit 13 AND 14 = FALSE.
Program example for repeated movements in the same direction:
// Multiple movement in one direction in Structured Text (ST)
// In this example, the motor is switched on,
// and valid process data parameters already transmitted.
// The gripper is at BasePosition 1000.
CASE iStep OF
10:
BasePosition
:= 100;
// Assignment of a new BasePosition
ControlWord
:= 1;
// Handshake is started
// (Bit DataTransfer = TRUE in the ControlWord)
iStep
:= 20;
// Jump to the next step
END_IF;
20:
IF StatusBit.12 THEN
// Queries the bit DataTransferOK = TRUE
// from StatusWord, is the response of the product
// to transmitted data
ControlWord
:= 0;
// Reset of the ControlWord
iStep
:= 30;
// Jump to the next step
END_IF;
30:
IF NOT StatusWord.12 THEN
// Query for completion of the data transfer,
// DataTransferOK = FALSE
ControlWord
:= 4;
// Reset of the direction flag
// (ResetDirectionFlag bit = TRUE in the ControlWord)
iStep
:= 40;
// Jump to the next step
END_IF;
40:
IF NOT StatusWord13 AND NOT StatusWord14 THEN
// Query whether both direction flags
// (Bit ControlWord0x0100 AND
// ControlWord 0x0200 = FALSE in the StatusWord)
ControlWord
:= 256;
// Moves back toward BasePosition
iStep
:= 50;
END_IF;
END_CASE;
11.21 Recipe examples
11.21.1 Saving the recipe
The following example code shows how process parameters can be stored in the internal workpiece recipe.
INFORMATION
The following example code applies to products with -03 in the part number.
For products with -31 in the part number, mode 82 must be used for operation instead of 85.
CASE iStep OF
10:
IF StatusBit.6 THEN
DeviceMode
:= 85;
// Assignment of desired process parameters
WorkpieceNo
:= 3;
// Recipe is to be stored as the third workpiece recipe
PositionTolerance
:= 50;
GripForce
:= 50;
DriveVelocity
:= 50;
BasePosition
:= 100;
ShiftPosition
:= 2000;
TeachPosition
:= 3800;
WorkPosition
:= 4000;
iStep
:= 20;
// Jump to the next step
END_IF;
20:
ControlWord
:= 1;
// Begins with the handshake
iStep
:= 30;
// Jump to the next step
30:
IF StatusWord.12 THEN
// Queries the DataTransferOK = TRUE bit from StatusWord,
// this is the response of the product to transmitted data
ControlWord
:= 0;
// Begins with the handshake
iStep
:= 40;
// Jump to the next step
END_IF;
40:
IF StatusWord.12 THEN
// Query for completion of the data transfer,
// DataTransferOK = FALSE
ControlWord
:= 2;
// Handshake is completed, storage begins here
// through WritePDU bit in the ControlWord
iStep
:= 50;
// Jump to the next step
END_IF;
50:
IF NOT StatusWord.12 THEN
// Queries the DataTransferOK = TRUE bit from StatusWord
ControlWord
:= 0;
// Reset of the ControlWord
iStep
:= 60;
// Jump to the next step
END_IF;
60:
IF NOT StatusWord.10 THEN
// Query for completion of the data transfer,
// DataTransferOK = FALSE, this process may last several seconds
// Do other things...
// Storage is complete
END_IF;
END_CASE;