FANUC's Standard Manual Handling Programming (Version 5.0)
FANUC's Standard Manual Handling Programming (Version 5.0)
PAN Projects
Manual Handling Standard
for
FANUC’s R30iB Controller
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 2
Robot To Manual Handling
Programming
Contents
1. Introduction ..................................................................................................................... 4
2. Safety ............................................................................................................................... 4
3. Robot Configuration ....................................................................................................... 5
4. IO Interface ...................................................................................................................... 6
5. Command Programs ......................................................................................................... 7
5.1 Gripper Examples........................................................................................................ 7
5.11 DCP Fault Handling ............................................................................................... 7
5.12 Eplan References................................................................................................... 8
5.13 Expanding Gripper Programs............................................................................... 11
5.2 Vacuum Example ...................................................................................................... 12
5.21 GRIPVACON_1 ................................................................................................... 12
5.22 GRIPVACOFF_1.................................................................................................. 12
Appendix 1.0 - Gripper IO Lisiting ....................................................................................... 13
Appendix 1.1 - DCP Fault Code List – Gripper 1 ................................................................. 19
Appendix 2 - Example eplan.dt ........................................................................................... 21
Appendix 3 – Gripper to Rest (GR_1_60_REST) ................................................................ 22
Appendix 4 – Gripper to Work (GR_1_60_WORK).............................................................. 24
Appendix 5 – Grip Vacuum On(GR_1_VAC1ON)................................................................ 26
Appendix 6 – Grip Vacuum Off (GR_1_VAC1OFF) ............................................................. 27
Appendix 7 – Check Part Present On (GR_1_PP50_ON) ................................................... 28
Appendix 8 – Check Part Present Off (GR_1_PP50_OFF) ................................................. 29
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 3
Robot To Manual Handling
Programming
1. Introduction
This document only specifies the “Robot Manual Handling Programming Standard” within
FANUC’s R30iB Controller with “EtherNetIP” bus communication.
It is only relevant for JLR PAN Project installations and should be used in conjunction with
“JLR PAN Robot to PLC Standard” documentation.
The document should be read and fully understood by the end user before any
commissioning and or programming is started.
IF IN DOUBT ASK
2. Safety
The safety of people is always of primary importance in any situation. When applying safety
measures to your robotic system, consider the following:
• External devices
• Robot(s)
• Tooling
• Workpiece
Only trained personnel should operate a Robot
Correct PPE must be worn when running the welding software in manual mode (whilst inside
the guard line), due to possible sparks or flash off caused by the weld process.
All tip dressing operations must be done from outside the guard line (safety gates must be
closed).
All safety systems must be fully functional without any manual overrides to ensure
the end user is fully protected from all hazards.
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 4
Robot To Manual Handling
Programming
3. Robot Configuration
Along with the standard package loaded into every JLR robot, as discussed in the ‘Robot to
PLC Standard Programming’ manual, every Manual Handling Robot will have another
package loaded into it. This will contain the following:
Manual Handling Teach Pendant (TP) Programs:- These are stored in the TPP
memory allocation on the SRAM (non-volatile) memory of the Robot. TP programs
are the routines the Robot runs when in automatic to complete a task.
Karel Programs are loaded in to the Robot to conduct certain tasks that are unable
to be done in TP language. The code for these programs isn’t visible and the
Integrator/End User are unable to edit these without the source code. Karel
programs can be called to run from TP programs just in the same way as any other
programs. For Spot Welding all the ‘DEBUG_TEXT’ and ‘DCP_FAULTS’ are dealt
with within Karel Programs.
PMC (Programmable Machine Controller) is ladder logic that runs in the
background of the robot and is used to the communicate with the PLC, TP
Programs and third party equipment around the cell. Fundamentally PMC is a PLC
built into the robot controller as standard. This has been written and proven by
FANUC UK Ltd and MUST not be changed by the Integrator/End User.
As all the robots are configured with FANUC’s standard software package “SpotTool+” they
are able to be configured to do:-
Spot Welding
Dispensing
Handling
Any robot that is going to be used as a Spot Welding Robot has already been configured in a
Controlled Start as a Handling robot. If the robot has been configured to be a SPOT Robot
and a Handling Robot you can Toggle between the 2 Application Tools by:-
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 5
Robot To Manual Handling
Programming
4. IO Interface
The fieldbus communication is EthernetIP and the robot acts as the master for the Festo IO
blocks or Allen Bradley IO Blocks that are used on the Manual Handling Grippers
The integrator/end user must set the IP address of all the Festo/Allen Bradley IO blocks
used within the EtherNetIP settings within the robot. This should be done in accordance with
the JLR Standard and Controls Department allocation Sheet. Follow the procedure below to
set the IP address for the IO Blocks unit within Fanuc’s EtherNetIP settings:-
As Standard the IO for the manual handling will start at DI/DO-2001. If more IO is needed
then it will be down to the Integrator/End User to expand the IO config. Instructions for this
will be provided by FANUC.
Within the SpotTool+ software there are also some pre-defined digital IO groupings:-
Cell Interface
Weld Interface
Spot Config
Dispense
Cell interface is used as the generic signals with the cell that aren’t specific to one particular
process. These will be setup by FANUC UK and will not need modifying by the
integrator/end user.
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 6
Robot To Manual Handling
Programming
5. Command Programs
Loaded into each of the Manual handling robots are example programs for a 1 or 2 cylinder
grippers and a vacuum gripper. The idea being is that these programs can be used as the
base for any gripper program that needs to be created by the integrator/end user. This
section will talk through what the different areas of the teach pendant programs do and how
they can be modified.
With the gripper open programs the Part Present Sensor (Proxy’s) need to be check back in
the main Manual Handling Program once the robot has move a little away from the part. See
Appendix 1.0
Example:-
LBL[1:Read Switch 1]
WAIT DI[1:Read Switch 1] = OFF TIMEOUT LBL[101]
At the bottom of the program you will find all the code for each DCP Fault starting at
LBL[101]. There is also a set sequence for how to call the DCP Fault, see following example.
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 7
Robot To Manual Handling
Programming
LBL[101:Read Switch 1]
--Cylinder 1 at rest not off
CALL CLRUSER
CALL DCPFAULT_MH(6362,1)
WAIT DI[1:Read Switch 1] = OFF TIMEOUT LBL[101]
CALL DCPCLEAR
JMPLBL[1]
LBL[102:Read Switch 2]
--Cylinder 1 at Work not On
CALL CLRUSER
CALL DCPFAULT_MH(6352,2)
WAIT DI[2:Read Switch 1] = ON TIMEOUT LBL[102]
CALL DCPCLEAR
JMPLBL[2]
A list for the DCP Fault codes can be found in Appendix 1.1.
For the Program DCPFAULT_MH there are 2 arguments that need to be passed in:-
DCPFAULT_MH(AR[1],AR[2])
AR[1] = The DCP Fault code that can be found in Appendix 1.
AR[2] = The Digital Input number that has cause the DCP Fault.
The Integrator/End user will need to generate this file and load it into the Robot as each
robot will have different Eplan references and Digital Input Numbers. The Eplan references
are to be supplied for each robot from JLR. The file that is generated must follow a set
layout (Appendix 2) and must be eplan.dt. This file can be create in Notepad or similar and
saved with the extension ‘.dt.’. The data from Appendix 2 can be copied into Notepad to give
the correct layout.
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 8
Robot To Manual Handling
Programming
Once the file has been created it needs to be copied into the Robot controller, to this follow
the procedure below.
1. Place the eplan.dt file onto a USB stick and insert the USB stick into the USB socket
on the side of the iPendant.
2. On the iPendant navigate to ‘File’.
a. Press Menu – 7 – Enter
3. Now the robot needs to be told to look at the USB drive plugged into the teach
pendant, to do this:-
a. Press F5 [UTIL]
b. Set Device and Select UT1
4. Now press enter on Line 1 to View all files on the USB Stick and cursor down to
eplan.dt.
5. To ‘COPY’ the file on to the robot press the next key on the iPendant so that the text
above the F1-F5 keys change.
6. Press Copy and a new screen appears where the directory on the Robot where the
file is to be copied to is selected.
a. Press F4, [CHOICE], and select FR:
b. Then Press F1 DO_COPY
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 9
Robot To Manual Handling
Programming
When a Manual Handling DCP Fault is now activated the operator should be displayed with
a message such as the following:-
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 10
Robot To Manual Handling
Programming
Turn On 1st
Cylinder IO
LBL[101] – Label + 100
CLRUSER
DCPFAULT_MH(????,1)
WAIT DI-1 = OFF TIMEOUT LBL[101]
DCPCLEAR
Label ‘1’ JMPLBL[1] –Original Label
From the flow chart above you can see what is required per cylinder in the way of teach
pendant code. All the building blocks required are in the example programs loaded into all
Manual Handling Robots, the relevant areas just need to be copied and pasted and then
information changed to make it relevant to a new cylinder.
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 11
Robot To Manual Handling
Programming
5.21 GR_1_VAC1ON
Used to activate the vacuum generator on and check the vacuum switches for a good
vacuum level.
Program Name:- GR_1_VAC1ON
TP Usage/Notation:- CALL GR_1_VAC1ON (1,1) – Argument values
o Argument 1 – No Check on vacuum Levels
o Argument 2 – Check Vacuum Input 2
The arguments in the ‘Vacuum On’ programs are used to ignore the inputs back from the
vacuum sensors and carry on through this program and with the process. A value of 1 in
argument 1 will ignore these switches a value of 0 will wait for the pre-set vacuum level to be
reached before carrying on. If the pre-set level isn’t detected after a set time the relevant
DCP fault will be displayed. The second argument is used if there are 2 vacuum inputs to
check once the vacuum has been turned on, if the argument is set to a 1 the program will
check the second input if it’s a 0 it will continue and only check input 1.
Example Appendix 5.
5.22 GR_1_VAC1OFF
Used to turn off the vacuum generator when the part is being put down, utilising the
Auto Blow-off function of the generator
Program Name:- GR_1_VAC1OFF
TP usage/notation:- CALL GR_1_VAC1OFF (1,1) – Argument Values
o Argument 1 – No Check on vacuum levels
o Argument 2 – Last Vacuum Sequence
The arguments on the ‘Vacuum Off’ programs are used to ignore the inputs back from the
vacuum switches and whether or not this is the last vacuum sequence before the robot goes
Home. A value of 1 in argument 1 will ignore these switches a value of 0 will wait for the
vacuum switch to go off before carrying on. Argument 2 is used to indicate the last vacuum
sequence before the robot goes home. A value of 1 indicates that it is the last sequence
before going home and a value of 0 means more vacuum sequences to come. The reason
for a last vacuum sequence is so that the vacuum air supply is switched of before it goes
home not just disabling the vacuum.
Example Appendix 6
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 12
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 13
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 14
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 15
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 16
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 17
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 18
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 19
Robot To Manual Handling
Programming
6394
6395
6396
6397
6398
6399
6400 Gripper 1 : Number of PP is out of range
6401 Gripper 1 : Part Present 1 not off
6402 Gripper 1 : Part Present 2 not off
6403 Gripper 1 : Part Present 3 not off
6404 Gripper 1 : Part Present 4 not off
6405 Gripper 1 : Part Present 5 not off
6406 Gripper 1 : Part Present 6 not off
6407 Gripper 1 : Part Present 7 not off
6408 Gripper 1 : Part Present 8 not off
6409 Gripper 1 : Part Present 9 not off
6410 Gripper 1 : Part Present 10 not off
6411 Gripper 1 : Part Present 1 not on
6412 Gripper 1 : Part Present 2 not on
6413 Gripper 1 : Part Present 3 not on
6414 Gripper 1 : Part Present 4 not on
6415 Gripper 1 : Part Present 5 not on
6416 Gripper 1 : Part Present 6 not on
6417 Gripper 1 : Part Present 7 not on
6418 Gripper 1 : Part Present 8 not on
6419 Gripper 1 : Part Present 9 not on
6420 Gripper 1 : Part Present 10 not on
6421
6422 Gripper 1 : Vacuum 1 not off
6423 Gripper 1 : Vacuum 2 not off
6424 Gripper 1 : Vacuum 1 not on
6425 Gripper 1 : Vacuum 2 not on
6426
6427
6428
6429
6430
6431 Gripper 1 : Not all PPs off
6432 Gripper 1 : Not all PPs on
6433 Gripper 1 : Not all cylinders at rest
6434 Gripper 1 : Not all cylinders at work
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 20
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 21
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 22
Robot To Manual Handling
Programming
51: ;
52: --eg:2022+200G7.5-S603A ;
53: LBL[103:Seq1Cyl3WrkNtOff] ;
54: CALL DCPFAULT_MH(6364,2022) ;
55: WAIT R[56:Karel F-Key]>0 ;
56: WAIT DI[2022:CLAMP_Y603_WORK]=OFF TIMEOUT,LBL[103] ;
57: CALL DCPCLEAR ;
58: JMP LBL[3] ;
59: ;
60: --eg:2024+200G7.5-S604A ;
61: LBL[104:Seq1Cyl4WrkNtOff] ;
62: CALL DCPFAULT_MH(6365,2024) ;
63: WAIT R[56:Karel F-Key]>0 ;
64: WAIT DI[2024:CLAMP_Y604_WORK]=OFF TIMEOUT,LBL[104] ;
65: CALL DCPCLEAR ;
66: JMP LBL[4] ;
67: ;
68: --eg:2017+200G7.5-S601B ;
69: LBL[105:Seq1Cyl1RstNtOn] ;
70: CALL DCPFAULT_MH(6372,2017) ;
71: WAIT R[56:Karel F-Key]>0 ;
72: WAIT DI[2017:CLAMP_Y601_REST]=ON TIMEOUT,LBL[105] ;
73: CALL DCPCLEAR ;
74: JMP LBL[5] ;
75: ;
76: --eg:2019+200G7.5-S602B ;
77: LBL[106:Seq1Cyl2RstNtOn] ;
78: CALL DCPFAULT_MH(6373,2019) ;
79: WAIT R[56:Karel F-Key]>0 ;
80: WAIT DI[2019:CLAMP_Y602_REST]=ON TIMEOUT,LBL[106] ;
81: CALL DCPCLEAR ;
82: JMP LBL[6] ;
83: ;
84: --eg:2021+200G7.5-S603B ;
85: LBL[107:Seq1Cyl3RstNtOn] ;
86: CALL DCPFAULT_MH(6374,2021) ;
87: WAIT R[56:Karel F-Key]>0 ;
88: WAIT DI[2021:CLAMP_Y603_REST]=ON TIMEOUT,LBL[107] ;
89: CALL DCPCLEAR ;
90: JMP LBL[7] ;
91: ;
92: --eg:2023+200G7.5-S604B ;
93: LBL[108:Seq1Cyl4RstNtOn] ;
94: CALL DCPFAULT_MH(6375,2023) ;
95: WAIT R[56:Karel F-Key]>0 ;
96: WAIT DI[2023:CLAMP_Y604_REST]=ON TIMEOUT,LBL[108] ;
97: CALL DCPCLEAR ;
98: JMP LBL[8] ;
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 23
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 24
Robot To Manual Handling
Programming
51: ;
52: --eg:2021+200G7.5-S603B ;
53: LBL[103:Seq1Cyl3RstNtOff] ;
54: CALL DCPFAULT_MH(6384,2021) ;
55: WAIT R[56:Karel F-Key]>0 ;
56: WAIT DI[2021:CLAMP_Y603_REST]=OFF TIMEOUT,LBL[103] ;
57: CALL DCPCLEAR ;
58: JMP LBL[3] ;
59: ;
60: --eg:2023+200G7.5-S604B ;
61: LBL[104:Seq1Cyl4RstNtOff] ;
62: CALL DCPFAULT_MH(6385,2023) ;
63: WAIT R[56:Karel F-Key]>0 ;
64: WAIT DI[2023:CLAMP_Y604_REST]=OFF TIMEOUT,LBL[104] ;
65: CALL DCPCLEAR ;
66: JMP LBL[4] ;
67: ;
68: --eg:2018+200G7.5-S601A ;
69: LBL[105:Seq1Cyl1WrkNtOn] ;
70: CALL DCPFAULT_MH(6352,2018) ;
71: WAIT R[56:Karel F-Key]>0 ;
72: WAIT DI[2018:CLAMP_Y601_WORK]=ON TIMEOUT,LBL[105] ;
73: CALL DCPCLEAR ;
74: JMP LBL[5] ;
75: ;
76: --eg:2020+200G7.5-S602A ;
77: LBL[106:Seq1Cyl2WrkNtOn] ;
78: CALL DCPFAULT_MH(6353,2020) ;
79: WAIT R[56:Karel F-Key]>0 ;
80: WAIT DI[2020:CLAMP_Y602_WORK]=ON TIMEOUT,LBL[106] ;
81: CALL DCPCLEAR ;
82: JMP LBL[6] ;
83: ;
84: --eg:2022+200G7.5-S603A ;
85: LBL[107:Seq1Cyl3WrkNtOn] ;
86: CALL DCPFAULT_MH(6354,2022) ;
87: WAIT R[56:Karel F-Key]>0 ;
88: WAIT DI[2022:CLAMP_Y603_WORK]=ON TIMEOUT,LBL[107] ;
89: CALL DCPCLEAR ;
90: JMP LBL[7] ;
91: ;
92: --eg:2024+200G7.5-S604A ;
93: LBL[108:Seq1Cyl4WrkNtOn] ;
94: CALL DCPFAULT_MH(6355,2024) ;
95: WAIT R[56:Karel F-Key]>0 ;
96: WAIT DI[2024:CLAMP_Y604_WORK]=ON TIMEOUT,LBL[108] ;
97: CALL DCPCLEAR ;
98: JMP LBL[8] ;
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 25
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 26
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 27
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 28
Robot To Manual Handling
Programming
Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 29