You are on page 1of 29

Jaguar Land Rover

PAN Projects
Manual Handling Standard
for
FANUC’s R30iB Controller
Robot To Manual Handling
Programming

Issue No. Details of the Update Author


1.0 Initial Standard Release JP
2.0 Updated IO Interface JP
3.0 Added in Vacuum On/Off Program Examples and Information JP
(5.2)
4.0 Updated Examples and DCP Fault Numbering List JP
5.0 Part On Board added to Gripper Part Present routines, See JP
Appendix 7 and 8

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

For more information refer to the Safety section in the:-

• FANUC Corporation SYSTEM R-30iB and R-30iB Mate HandlingTool and LR


HandlingTool Setup and Operations Manual MAROBHT8203131E REV C
The Robot E-Stop out is wired into some Allen Bradley Safe Point I/O which is then
monitored by the Line PLC. The safety of the robot is all run over Ethernet I/P safe and
utilises the Robots Safe I/O connect feature. This can make logical decision’s on Safe Inputs
on whether to issue a robot E-Stop or fence output.

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:-

FCTN (Key) 0(Next)5(Change Appl-Tool)

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:-

1. Press the Menu Key


2. Cursor down to I/O (5) and Press Enter
3. Press F1 (Type) and Select EtherNetIP
4. Cursor Down to all the Festo/Allen Bradley IO Blocks you want to setup, it will be
commented up as Handling 1/2/3 etc, then cursor across to the Enable Column
Press F5(False)
5. Cursor back onto the Description Column and Press F4(Config)
6. Press Enter on the IP Address and enter in the correct IP address using the Key pad
on the Teach Pendant followed by enter,
7. Press the previous key on the Teach Pendant, cursor back to the enable column of
the Festo IO Blocks required and press F4(True)
The interface for each Festo IO block is made up of 2 Bytes of Input Data and 5 Bytes of
Output Data. The Interface for the Allen Bradley IO Blocks are made up of 2 bytes of input
data and 2 bytes of Output Data. The Integrator/End User is responsible for select and
creating new Ethernet IP connections dependant on how many are require on the gripper for
the particular robot.

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.

5.1 Gripper Examples


GRIP_1_CLOSE and GRIP_2_CLOSE are examples of closing sequences for 1 and 2
cylinder grippers. The program is broken down into sections, first being turning on the IO for
the first cylinder and then waiting for the corresponding IO from the read switches. Then
same again for the second cylinder and so on until all the cylinders for that gripper have
been activated. The last input to check once all cylinders have been actuated is the Part
Present sensor therefore this will always be found as the last digital input to be checked.

GRIP_1_OPEN and GRIP_2_OPEN are examples of opening sequences for 1 and 2


cylinder grippers. Then program is broken down into the same sections and format as the
Close gripper programs.

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

5.11 DCP Fault Handling


All the DCP Faults are also looked after in these programs so if the number of cylinders
increases therefore increasing the number of sensors to check the number of DCP faults
need to increase. There is a format on how the DCP Faults are looked after, the first stage is
before checking an IO signal (e.g. WAIT DI[1]=ON) a label is placed above the signal, with
label 1 being place above the first signal checked then label 2 and so on. The WAIT
statement used to check the status of the IO signal will have a TIMEOUT command on the
end and if the IO signal doesn’t switch to the expected state within the pre-defined time it will
timeout to a label. The TIMEOUT label will relate to the label number that was placed above
the “WAIT DI”.

Example:-

LBL[1:Read Switch 1]
WAIT DI[1:Read Switch 1] = OFF TIMEOUT LBL[101]

LBL[1] = TIMEOUT LBL[101]


LBL[2] = TIMEOUT LBL[102]

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

Example; DCP Fault Code

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.

5.12 Eplan References


Each Manual Handling robot must display the Eplan reference for the sensor that has
caused the DCP fault. To do this a file has to be created and loaded into each robot. The file
will have 4 columns one which will be 4 digits long and represent the Physical Digital Input
Number within the robot, the second column will be the Eplan reference for the senor that
that Digital Input represents, the third being the page number and forth will be whether it’s a
‘Clamp’ or a ‘Pin’.

Example Row in Eplan File:- Digital Input 1

0001 +060G1.5-S616A 0001 Clamp

Example Row in Eplan File:- Digital Input 1025

1025 +060G1.5-S680A 0134 Pin

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

5.13 Expanding Gripper Programs


To expand the gripper programs to contain more cylinders is straight forward you just copy
the logic that already exists and change the IO/label/DCP Fault numbers.

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

Timeout Label +100


Wait DI-1 = OFF

LBL[102] – Label + 100


CLRUSER
DCPFAULT_MH(????,2)
WAIT DI-2 = ON TIMEOUT LBL[102]
DCPCLEAR
Label ‘2’ JMPLBL[2] –Original Label

Timeout Label +100


Wait DI-2 = ON

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.2 Vacuum Example


GR_1_VAC1ON and GRIPVACOFF_1 are examples of vacuum program examples.

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

Appendix 1.0 - Gripper IO Lisiting

Output Comment Input Comment


DO2001 Gripper 1 Output 1 DI2001 Gripper 1 Input 1
DO2002 Gripper 1 Output 2 DI2002 Gripper 1 Input 2
DO2003 Gripper 1 Output 3 DI2003 Gripper 1 Input 3
DO2004 Gripper 1 Output 4 DI2004 Gripper 1 Input 4
DO2005 Gripper 1 Output 5 DI2005 Gripper 1 Input 5
DO2006 Gripper 1 Output 6 DI2006 Gripper 1 Input 6
DO2007 Gripper 1 Output 7 DI2007 Gripper 1 Input 7
DO2008 Gripper 1 Output 8 DI2008 Gripper 1 Input 8
DO2009 Gripper 1 Output 9 DI2009 Gripper 1 Input 9
DO2010 Gripper 1 Output 10 DI2010 Gripper 1 Input 10
DO2011 Gripper 1 Output 11 DI2011 Gripper 1 Input 11
DO2012 Gripper 1 Output 12 DI2012 Gripper 1 Input 12
DO2013 Gripper 1 Output 13 DI2013 Gripper 1 Input 13
DO2014 Gripper 1 Output 14 DI2014 Gripper 1 Input 14
DO2015 Gripper 1 Output 15 DI2015 Gripper 1 Input 15
DO2016 Gripper 1 Output 16 DI2016 Gripper 1 Input 16
DO2017 Gripper 1 Output 17 DI2017 Gripper 1 Input 17
DO2018 Gripper 1 Output 18 DI2018 Gripper 1 Input 18
DO2019 Gripper 1 Output 19 DI2019 Gripper 1 Input 19
DO2020 Gripper 1 Output 20 DI2020 Gripper 1 Input 20
DO2021 Gripper 1 Output 21 DI2021 Gripper 1 Input 21
DO2022 Gripper 1 Output 22 DI2022 Gripper 1 Input 22
DO2023 Gripper 1 Output 23 DI2023 Gripper 1 Input 23
DO2024 Gripper 1 Output 24 DI2024 Gripper 1 Input 24
DO2025 Gripper 1 Output 25 DI2025 Gripper 1 Input 25
DO2026 Gripper 1 Output 26 DI2026 Gripper 1 Input 26
DO2027 Gripper 1 Output 27 DI2027 Gripper 1 Input 27
DO2028 Gripper 1 Output 28 DI2028 Gripper 1 Input 28
DO2029 Gripper 1 Output 29 DI2029 Gripper 1 Input 29
DO2030 Gripper 1 Output 30 DI2030 Gripper 1 Input 30
DO2031 Gripper 1 Output 31 DI2031 Gripper 1 Input 31
DO2032 Gripper 1 Output 32 DI2032 Gripper 1 Input 32
DO2033 Gripper 1 Output 33 DI2033 Gripper 1 Input 33
DO2034 Gripper 1 Output 34 DI2034 Gripper 1 Input 34
DO2035 Gripper 1 Output 35 DI2035 Gripper 1 Input 35
DO2036 Gripper 1 Output 36 DI2036 Gripper 1 Input 36
DO2037 Gripper 1 Output 37 DI2037 Gripper 1 Input 37
DO2038 Gripper 1 Output 38 DI2038 Gripper 1 Input 38
DO2039 Gripper 1 Output 39 DI2039 Gripper 1 Input 39
DO2040 Gripper 1 Output 40 DI2040 Gripper 1 Input 40

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 13
Robot To Manual Handling
Programming

DO2041 Gripper 1 Output 41 DI2041 Gripper 1 Input 41


DO2042 Gripper 1 Output 42 DI2042 Gripper 1 Input 42
DO2043 Gripper 1 Output 43 DI2043 Gripper 1 Input 43
DO2044 Gripper 1 Output 44 DI2044 Gripper 1 Input 44
DO2045 Gripper 1 Output 45 DI2045 Gripper 1 Input 45
DO2046 Gripper 1 Output 46 DI2046 Gripper 1 Input 46
DO2047 Gripper 1 Output 47 DI2047 Gripper 1 Input 47
DO2048 Gripper 1 Output 48 DI2048 Gripper 1 Input 48
DO2049 Gripper 1 Output 49 DI2049 Gripper 1 Input 49
DO2050 Gripper 1 Output 50 DI2050 Gripper 1 Input 50
DO2051 Gripper 1 Output 51 DI2051 Gripper 1 Input 51
DO2052 Gripper 1 Output 52 DI2052 Gripper 1 Input 52
DO2053 Gripper 1 Output 53 DI2053 Gripper 1 Input 53
DO2054 Gripper 1 Output 54 DI2054 Gripper 1 Input 54
DO2055 Gripper 1 Output 55 DI2055 Gripper 1 Input 55
DO2056 Gripper 1 Output 56 DI2056 Gripper 1 Input 56
DO2057 Gripper 1 Output 57 DI2057 Gripper 1 Input 57
DO2058 Gripper 1 Output 58 DI2058 Gripper 1 Input 58
DO2059 Gripper 1 Output 59 DI2059 Gripper 1 Input 59
DO2060 Gripper 1 Output 60 DI2060 Gripper 1 Input 60
DO2061 Gripper 1 Output 61 DI2061 Gripper 1 Input 61
DO2062 Gripper 1 Output 62 DI2062 Gripper 1 Input 62
DO2063 Gripper 1 Output 63 DI2063 Gripper 1 Input 63
DO2064 Gripper 1 Output 64 DI2064 Gripper 1 Input 64
DO2065 Gripper 1 Output 65 DI2065 Gripper 1 Input 65
DO2066 Gripper 1 Output 66 DI2066 Gripper 1 Input 66
DO2067 Gripper 1 Output 67 DI2067 Gripper 1 Input 67
DO2068 Gripper 1 Output 68 DI2068 Gripper 1 Input 68
DO2069 Gripper 1 Output 69 DI2069 Gripper 1 Input 69
DO2070 Gripper 1 Output 70 DI2070 Gripper 1 Input 70
DO2071 Gripper 1 Output 71 DI2071 Gripper 1 Input 71
DO2072 Gripper 1 Output 72 DI2072 Gripper 1 Input 72
DO2073 Gripper 1 Output 73 DI2073 Gripper 1 Input 73
DO2074 Gripper 1 Output 74 DI2074 Gripper 1 Input 74
DO2075 Gripper 1 Output 75 DI2075 Gripper 1 Input 75
DO2076 Gripper 1 Output 76 DI2076 Gripper 1 Input 76
DO2077 Gripper 1 Output 77 DI2077 Gripper 1 Input 77
DO2078 Gripper 1 Output 78 DI2078 Gripper 1 Input 78
DO2079 Gripper 1 Output 79 DI2079 Gripper 1 Input 79
DO2080 Gripper 1 Output 80 DI2080 Gripper 1 Input 80
DO2081 Gripper 1 Output 81 DI2081 Gripper 1 Input 81
DO2082 Gripper 1 Output 82 DI2082 Gripper 1 Input 82
DO2083 Gripper 1 Output 83 DI2083 Gripper 1 Input 83
DO2084 Gripper 1 Output 84 DI2084 Gripper 1 Input 84

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 14
Robot To Manual Handling
Programming

DO2085 Gripper 1 Output 85 DI2085 Gripper 1 Input 85


DO2086 Gripper 1 Output 86 DI2086 Gripper 1 Input 86
DO2087 Gripper 1 Output 87 DI2087 Gripper 1 Input 87
DO2088 Gripper 1 Output 88 DI2088 Gripper 1 Input 88
DO2089 Gripper 1 Output 89 DI2089 Gripper 1 Input 89
DO2090 Gripper 1 Output 90 DI2090 Gripper 1 Input 90
DO2091 Gripper 1 Output 91 DI2091 Gripper 1 Input 91
DO2092 Gripper 1 Output 92 DI2092 Gripper 1 Input 92
DO2093 Gripper 1 Output 93 DI2093 Gripper 1 Input 93
DO2094 Gripper 1 Output 94 DI2094 Gripper 1 Input 94
DO2095 Gripper 1 Output 95 DI2095 Gripper 1 Input 95
DO2096 Gripper 1 Output 96 DI2096 Gripper 1 Input 96
DO2097 Gripper 2 Output 1 DI2097 Gripper 2 Input 1
DO2098 Gripper 2 Output 2 DI2098 Gripper 2 Input 2
DO2099 Gripper 2 Output 3 DI2099 Gripper 2 Input 3
DO2100 Gripper 2 Output 4 DI2100 Gripper 2 Input 4
DO2101 Gripper 2 Output 5 DI2101 Gripper 2 Input 5
DO2102 Gripper 2 Output 6 DI2102 Gripper 2 Input 6
DO2103 Gripper 2 Output 7 DI2103 Gripper 2 Input 7
DO2104 Gripper 2 Output 8 DI2104 Gripper 2 Input 8
DO2105 Gripper 2 Output 9 DI2105 Gripper 2 Input 9
DO2106 Gripper 2 Output 10 DI2106 Gripper 2 Input 10
DO2107 Gripper 2 Output 11 DI2107 Gripper 2 Input 11
DO2108 Gripper 2 Output 12 DI2108 Gripper 2 Input 12
DO2109 Gripper 2 Output 13 DI2109 Gripper 2 Input 13
DO2110 Gripper 2 Output 14 DI2110 Gripper 2 Input 14
DO2111 Gripper 2 Output 15 DI2111 Gripper 2 Input 15
DO2112 Gripper 2 Output 16 DI2112 Gripper 2 Input 16
DO2113 Gripper 2 Output 17 DI2113 Gripper 2 Input 17
DO2114 Gripper 2 Output 18 DI2114 Gripper 2 Input 18
DO2115 Gripper 2 Output 19 DI2115 Gripper 2 Input 19
DO2116 Gripper 2 Output 20 DI2116 Gripper 2 Input 20
DO2117 Gripper 2 Output 21 DI2117 Gripper 2 Input 21
DO2118 Gripper 2 Output 22 DI2118 Gripper 2 Input 22
DO2119 Gripper 2 Output 23 DI2119 Gripper 2 Input 23
DO2120 Gripper 2 Output 24 DI2120 Gripper 2 Input 24
DO2121 Gripper 2 Output 25 DI2121 Gripper 2 Input 25
DO2122 Gripper 2 Output 26 DI2122 Gripper 2 Input 26
DO2123 Gripper 2 Output 27 DI2123 Gripper 2 Input 27
DO2124 Gripper 2 Output 28 DI2124 Gripper 2 Input 28
DO2125 Gripper 2 Output 29 DI2125 Gripper 2 Input 29
DO2126 Gripper 2 Output 30 DI2126 Gripper 2 Input 30
DO2127 Gripper 2 Output 31 DI2127 Gripper 2 Input 31
DO2128 Gripper 2 Output 32 DI2128 Gripper 2 Input 32

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 15
Robot To Manual Handling
Programming

DO2129 Gripper 2 Output 33 DI2129 Gripper 2 Input 33


DO2130 Gripper 2 Output 34 DI2130 Gripper 2 Input 34
DO2131 Gripper 2 Output 35 DI2131 Gripper 2 Input 35
DO2132 Gripper 2 Output 36 DI2132 Gripper 2 Input 36
DO2133 Gripper 2 Output 37 DI2133 Gripper 2 Input 37
DO2134 Gripper 2 Output 38 DI2134 Gripper 2 Input 38
DO2135 Gripper 2 Output 39 DI2135 Gripper 2 Input 39
DO2136 Gripper 2 Output 40 DI2136 Gripper 2 Input 40
DO2137 Gripper 2 Output 41 DI2137 Gripper 2 Input 41
DO2138 Gripper 2 Output 42 DI2138 Gripper 2 Input 42
DO2139 Gripper 2 Output 43 DI2139 Gripper 2 Input 43
DO2140 Gripper 2 Output 44 DI2140 Gripper 2 Input 44
DO2141 Gripper 2 Output 45 DI2141 Gripper 2 Input 45
DO2142 Gripper 2 Output 46 DI2142 Gripper 2 Input 46
DO2143 Gripper 2 Output 47 DI2143 Gripper 2 Input 47
DO2144 Gripper 2 Output 48 DI2144 Gripper 2 Input 48
DO2145 Gripper 2 Output 49 DI2145 Gripper 2 Input 49
DO2146 Gripper 2 Output 50 DI2146 Gripper 2 Input 50
DO2147 Gripper 2 Output 51 DI2147 Gripper 2 Input 51
DO2148 Gripper 2 Output 52 DI2148 Gripper 2 Input 52
DO2149 Gripper 2 Output 53 DI2149 Gripper 2 Input 53
DO2150 Gripper 2 Output 54 DI2150 Gripper 2 Input 54
DO2151 Gripper 2 Output 55 DI2151 Gripper 2 Input 55
DO2152 Gripper 2 Output 56 DI2152 Gripper 2 Input 56
DO2153 Gripper 2 Output 57 DI2153 Gripper 2 Input 57
DO2154 Gripper 2 Output 58 DI2154 Gripper 2 Input 58
DO2155 Gripper 2 Output 59 DI2155 Gripper 2 Input 59
DO2156 Gripper 2 Output 60 DI2156 Gripper 2 Input 60
DO2157 Gripper 2 Output 61 DI2157 Gripper 2 Input 61
DO2158 Gripper 2 Output 62 DI2158 Gripper 2 Input 62
DO2159 Gripper 2 Output 63 DI2159 Gripper 2 Input 63
DO2160 Gripper 2 Output 64 DI2160 Gripper 2 Input 64
DO2161 Gripper 2 Output 65 DI2161 Gripper 2 Input 65
DO2162 Gripper 2 Output 66 DI2162 Gripper 2 Input 66
DO2163 Gripper 2 Output 67 DI2163 Gripper 2 Input 67
DO2164 Gripper 2 Output 68 DI2164 Gripper 2 Input 68
DO2165 Gripper 2 Output 69 DI2165 Gripper 2 Input 69
DO2166 Gripper 2 Output 70 DI2166 Gripper 2 Input 70
DO2167 Gripper 2 Output 71 DI2167 Gripper 2 Input 71
DO2168 Gripper 2 Output 72 DI2168 Gripper 2 Input 72
DO2169 Gripper 2 Output 73 DI2169 Gripper 2 Input 73
DO2170 Gripper 2 Output 74 DI2170 Gripper 2 Input 74
DO2171 Gripper 2 Output 75 DI2171 Gripper 2 Input 75
DO2172 Gripper 2 Output 76 DI2172 Gripper 2 Input 76

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 16
Robot To Manual Handling
Programming

DO2173 Gripper 2 Output 77 DI2173 Gripper 2 Input 77


DO2174 Gripper 2 Output 78 DI2174 Gripper 2 Input 78
DO2175 Gripper 2 Output 79 DI2175 Gripper 2 Input 79
DO2176 Gripper 2 Output 80 DI2176 Gripper 2 Input 80
DO2177 Gripper 2 Output 81 DI2177 Gripper 2 Input 81
DO2178 Gripper 2 Output 82 DI2178 Gripper 2 Input 82
DO2179 Gripper 2 Output 83 DI2179 Gripper 2 Input 83
DO2180 Gripper 2 Output 84 DI2180 Gripper 2 Input 84
DO2181 Gripper 2 Output 85 DI2181 Gripper 2 Input 85
DO2182 Gripper 2 Output 86 DI2182 Gripper 2 Input 86
DO2183 Gripper 2 Output 87 DI2183 Gripper 2 Input 87
DO2184 Gripper 2 Output 88 DI2184 Gripper 2 Input 88
DO2185 Gripper 2 Output 89 DI2185 Gripper 2 Input 89
DO2186 Gripper 2 Output 90 DI2186 Gripper 2 Input 90
DO2187 Gripper 2 Output 91 DI2187 Gripper 2 Input 91
DO2188 Gripper 2 Output 92 DI2188 Gripper 2 Input 92
DO2189 Gripper 2 Output 93 DI2189 Gripper 2 Input 93
DO2190 Gripper 2 Output 94 DI2190 Gripper 2 Input 94
DO2191 Gripper 2 Output 95 DI2191 Gripper 2 Input 95
DO2192 Gripper 2 Output 96 DI2192 Gripper 2 Input 96
DO2193 Gripper 3 Output 1 DI2193 Gripper 3 Input 1
DO2194 Gripper 3 Output 2 DI2194 Gripper 3 Input 2
DO2195 Gripper 3 Output 3 DI2195 Gripper 3 Input 3
DO2196 Gripper 3 Output 4 DI2196 Gripper 3 Input 4
DO2197 Gripper 3 Output 5 DI2197 Gripper 3 Input 5
DO2198 Gripper 3 Output 6 DI2198 Gripper 3 Input 6
DO2199 Gripper 3 Output 7 DI2199 Gripper 3 Input 7
DO2200 Gripper 3 Output 8 DI2200 Gripper 3 Input 8
DO2201 Gripper 3 Output 9 DI2201 Gripper 3 Input 9
DO2202 Gripper 3 Output 10 DI2202 Gripper 3 Input 10
DO2203 Gripper 3 Output 11 DI2203 Gripper 3 Input 11
DO2204 Gripper 3 Output 12 DI2204 Gripper 3 Input 12
DO2205 Gripper 3 Output 13 DI2205 Gripper 3 Input 13
DO2206 Gripper 3 Output 14 DI2206 Gripper 3 Input 14
DO2207 Gripper 3 Output 15 DI2207 Gripper 3 Input 15
DO2208 Gripper 3 Output 16 DI2208 Gripper 3 Input 16
DO2209 Gripper 3 Output 17 DI2209 Gripper 3 Input 17
DO2210 Gripper 3 Output 18 DI2210 Gripper 3 Input 18
DO2211 Gripper 3 Output 19 DI2211 Gripper 3 Input 19
DO2212 Gripper 3 Output 20 DI2212 Gripper 3 Input 20
DO2213 Gripper 3 Output 21 DI2213 Gripper 3 Input 21
DO2214 Gripper 3 Output 22 DI2214 Gripper 3 Input 22
DO2215 Gripper 3 Output 23 DI2215 Gripper 3 Input 23
DO2216 Gripper 3 Output 24 DI2216 Gripper 3 Input 24

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 17
Robot To Manual Handling
Programming

DO2217 Gripper 3 Output 25 DI2217 Gripper 3 Input 25


DO2218 Gripper 3 Output 26 DI2218 Gripper 3 Input 26
DO2219 Gripper 3 Output 27 DI2219 Gripper 3 Input 27
DO2220 Gripper 3 Output 28 DI2220 Gripper 3 Input 28
DO2221 Gripper 3 Output 29 DI2221 Gripper 3 Input 29
DO2222 Gripper 3 Output 30 DI2222 Gripper 3 Input 30
DO2223 Gripper 3 Output 31 DI2223 Gripper 3 Input 31
DO2224 Gripper 3 Output 32 DI2224 Gripper 3 Input 32
DO2225 Gripper 3 Output 33 DI2225 Gripper 3 Input 33
DO2226 Gripper 3 Output 34 DI2226 Gripper 3 Input 34
DO2227 Gripper 3 Output 35 DI2227 Gripper 3 Input 35
DO2228 Gripper 3 Output 36 DI2228 Gripper 3 Input 36
DO2229 Gripper 3 Output 37 DI2229 Gripper 3 Input 37
DO2230 Gripper 3 Output 38 DI2230 Gripper 3 Input 38
DO2231 Gripper 3 Output 39 DI2231 Gripper 3 Input 39
DO2232 Gripper 3 Output 40 DI2232 Gripper 3 Input 40
DO2233 Gripper 3 Output 41 DI2233 Gripper 3 Input 41
DO2234 Gripper 3 Output 42 DI2234 Gripper 3 Input 42
DO2235 Gripper 3 Output 43 DI2235 Gripper 3 Input 43
DO2236 Gripper 3 Output 44 DI2236 Gripper 3 Input 44
DO2237 Gripper 3 Output 45 DI2237 Gripper 3 Input 45
DO2238 Gripper 3 Output 46 DI2238 Gripper 3 Input 46
DO2239 Gripper 3 Output 47 DI2239 Gripper 3 Input 47
DO2240 Gripper 3 Output 48 DI2240 Gripper 3 Input 48

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 18
Robot To Manual Handling
Programming

Appendix 1.1 - DCP Fault Code List – Gripper 1


6351 Gripper 1 : Number of cylinders is out of range
6352 Gripper 1 : Cylinder 1 at work not on
6353 Gripper 1 : Cylinder 2 at work not on
6354 Gripper 1 : Cylinder 3 at work not on
6355 Gripper 1 : Cylinder 4 at work not on
6356 Gripper 1 : Cylinder 5 at work not on
6357 Gripper 1 : Cylinder 6 at work not on
6358 Gripper 1 : Cylinder 7 at work not on
6359 Gripper 1 : Cylinder 8 at work not on
6360
6361
6362 Gripper 1 : Cylinder 1 at work not off
6363 Gripper 1 : Cylinder 2 at work not off
6364 Gripper 1 : Cylinder 3 at work not off
6365 Gripper 1 : Cylinder 4 at work not off
6366 Gripper 1 : Cylinder 5 at work not off
6367 Gripper 1 : Cylinder 6 at work not off
6368 Gripper 1 : Cylinder 7 at work not off
6369 Gripper 1 : Cylinder 8 at work not off
6370
6371
6372 Gripper 1 : Cylinder 1 at rest not on
6373 Gripper 1 : Cylinder 2 at rest not on
6374 Gripper 1 : Cylinder 3 at rest not on
6375 Gripper 1 : Cylinder 4 at rest not on
6376 Gripper 1 : Cylinder 5 at rest not on
6377 Gripper 1 : Cylinder 6 at rest not on
6378 Gripper 1 : Cylinder 7 at rest not on
6379 Gripper 1 : Cylinder 8 at rest not on
6380
6381
6382 Gripper 1 : Cylinder 1 at rest not off
6383 Gripper 1 : Cylinder 2 at rest not off
6384 Gripper 1 : Cylinder 3 at rest not off
6385 Gripper 1 : Cylinder 4 at rest not off
6386 Gripper 1 : Cylinder 5 at rest not off
6387 Gripper 1 : Cylinder 6 at rest not off
6388 Gripper 1 : Cylinder 7 at rest not off
6389 Gripper 1 : Cylinder 8 at rest not off
6390
6391
6392
6393

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

Appendix 2 - Example eplan.dt


The following is the layout of the eplan.dt file. The first column represents the Digital Input
Number inside the robot controller the second column represents the eplan reference, the
third being the Page Number and the forth being whether it’s a ‘Clamp’ or ‘Pin’. Any digital
input number or page number that is less than 4 characters needs to be padded out with 0’s.

Example:- Digital Input 1 = 0001, Digital Input 125 = 0125

2001 +060G1.5-S611A 0001 Clamp


2002 +060G1.5-S612A 0002 Clamp
2003 +060G1.5-S613A 4523 Clamp
2004 +060G1.5-S614A 2345 Clamp
2005 +060G1.5-S615A 2223 Clamp
2006 +060G1.5-S616A 0099 Clamp
2007 +060G1.5-S617A 0089 Clamp
2008 +060G1.5-S618A 0564 Clamp
2009 +060G1.5-S619A 1123 Clamp
2010 +060G1.5-S620A 0001 Clamp
2011 +060G1.5-S621A 0002 Clamp
2012 +060G1.5-S622A 4523 Clamp
2013 +060G1.5-S623A 2345 Clamp
2014 +060G1.5-S624A 2223 Clamp
2015 +060G1.5-S625A 0099 Clamp
2016 +060G1.5-S626A 0089 Clamp
2017 +060G1.5-S627A 0564 Clamp
2018 +060G1.5-S628A 1123 Clamp
2019 +060G1.5-S629A 0001 Clamp
2020 +060G1.5-S630A 0002 Clamp
2021 +060G1.5-S631A 4523 Clamp
2022 +060G1.5-S632A 2345 Pin
2023 +060G1.5-S633A 2223 Pin
2024 +060G1.5-S634A 0099 Pin
2025 +060G1.5-S635A 0089 Pin
2026 +060G1.5-S636A 0564 Pin
2027 +060G1.5-S637A 1123 Pin
2028 +060G1.5-S638A 0001 Pin
2029 +060G1.5-S639A 0002 Pin
2030 +060G1.5-S640A 4523 Pin
2031 +060G1.5-S641A 2345 Pin
2032 +060G1.5-S642A 2223 Pin
2033 +060G1.5-S643A 0099 Pin
2034 +060G1.5-S644A 0089 Pin
2035 +060G1.5-S645A 0564 Pin
2036 +060G1.5-S646A 1123 Pin
2037 +060G1.5-S647A 0001 Pin
2038 +060G1.5-S648A 0002 Pin
2039 +060G1.5-S649A 4523 Pin
2040 +060G1.5-S650A 2345 Pin

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 21
Robot To Manual Handling
Programming

Appendix 3 – Gripper to Rest (GR_1_60_REST)


1: --eg:Actuate required outputs ;
2: DO[2001:GR_Y60A_WORK]=OFF ;
3: DO[2002:GR_Y60B_REST]=ON ;
4: ;
5: --eg:Wait for reed switches ;
6: ;
7: LBL[1:Gr1ClS601AWrk] ;
8: WAIT DI[2018:CLAMP_Y601_WORK]=OFF TIMEOUT,LBL[101] ;
9: ;
10: LBL[2:Gr1ClS602AWrk] ;
11: WAIT DI[2020:CLAMP_Y602_WORK]=OFF TIMEOUT,LBL[102] ;
12: ;
13: LBL[3:Gr1ClS603AWrk] ;
14: WAIT DI[2022:CLAMP_Y603_WORK]=OFF TIMEOUT,LBL[103] ;
15: ;
16: LBL[4:Gr1ClS604AWrk] ;
17: WAIT DI[2024:CLAMP_Y604_WORK]=OFF TIMEOUT,LBL[104] ;
18: ;
19: ;
20: LBL[5:Gr1ClS601BRst] ;
21: WAIT DI[2017:CLAMP_Y601_REST]=ON TIMEOUT,LBL[105] ;
22: ;
23: LBL[6:Gr1ClS602BRst] ;
24: WAIT DI[2019:CLAMP_Y602_REST]=ON TIMEOUT,LBL[106] ;
25: ;
26: LBL[7:Gr1ClS603BRst] ;
27: WAIT DI[2021:CLAMP_Y603_REST]=ON TIMEOUT,LBL[107] ;
28: ;
29: LBL[8:Gr1ClS604BRst] ;
30: WAIT DI[2023:CLAMP_Y604_REST]=ON TIMEOUT,LBL[108] ;
31: ;
32: END ;
33: ;
34: --eg:DCP Fault Handling ;
35: ;
36: --eg:2018+200G7.5-S601A ;
37: LBL[101:Seq1Cyl1WrkNtOff] ;
38: CALL DCPFAULT_MH(6362,2018) ;
39: WAIT R[56:Karel F-Key]>0 ;
40: WAIT DI[2018:CLAMP_Y601_WORK]=OFF TIMEOUT,LBL[101] ;
41: CALL DCPCLEAR ;
42: JMP LBL[1] ;
43: ;
44: --eg:2020+200G7.5-S602A ;
45: LBL[102:Seq1Cyl2WrkNtOff] ;
46: CALL DCPFAULT_MH(6363,2020) ;
47: WAIT R[56:Karel F-Key]>0 ;
48: WAIT DI[2020:CLAMP_Y602_WORK]=OFF TIMEOUT,LBL[102] ;
49: CALL DCPCLEAR ;
50: JMP LBL[2] ;

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

Appendix 4 – Gripper to Work (GR_1_60_WORK)


1: --eg:Actuate required outputs ;
2: DO[2002:GR_Y60B_REST]=OFF ;
3: DO[2001:GR_Y60A_WORK]=ON ;
4: ;
5: --eg:Wait for reed switches ;
6: ;
7: LBL[1:Gr1ClS601BRst] ;
8: WAIT DI[2017:CLAMP_Y601_REST]=OFF TIMEOUT,LBL[101] ;
9: ;
10: LBL[2:Gr1ClS602BRst] ;
11: WAIT DI[2019:CLAMP_Y602_REST]=OFF TIMEOUT,LBL[102] ;
12: ;
13: LBL[3:Gr1ClS603BRst] ;
14: WAIT DI[2021:CLAMP_Y603_REST]=OFF TIMEOUT,LBL[103] ;
15: ;
16: LBL[4:Gr1ClS604BRst] ;
17: WAIT DI[2023:CLAMP_Y604_REST]=OFF TIMEOUT,LBL[104] ;
18: ;
19: ;
20: LBL[5:Gr1ClS601AWrk] ;
21: WAIT DI[2018:CLAMP_Y601_WORK]=ON TIMEOUT,LBL[105] ;
22: ;
23: LBL[6:Gr1ClS602AWrk] ;
24: WAIT DI[2020:CLAMP_Y602_WORK]=ON TIMEOUT,LBL[106] ;
25: ;
26: LBL[7:Gr1ClS603AWrk] ;
27: WAIT DI[2022:CLAMP_Y603_WORK]=ON TIMEOUT,LBL[107] ;
28: ;
29: LBL[8:Gr1ClS604AWrk] ;
30: WAIT DI[2024:CLAMP_Y604_WORK]=ON TIMEOUT,LBL[108] ;
31: ;
32: END ;
33: ;
34: --eg:DCP Fault Handling ;
35: ;
36: --eg:2017+200G7.5-S601B ;
37: LBL[101:Seq1Cyl1RstNtOff] ;
38: CALL DCPFAULT_MH(6382,2017) ;
39: WAIT R[56:Karel F-Key]>0 ;
40: WAIT DI[2017:CLAMP_Y601_REST]=OFF TIMEOUT,LBL[101] ;
41: CALL DCPCLEAR ;
42: JMP LBL[1] ;
43: ;
44: --eg:2019+200G7.5-S602B ;
45: LBL[102:Seq1Cyl2RstNtOff] ;
46: CALL DCPFAULT_MH(6383,2019) ;
47: WAIT R[56:Karel F-Key]>0 ;
48: WAIT DI[2019:CLAMP_Y602_REST]=OFF TIMEOUT,LBL[102] ;
49: CALL DCPCLEAR ;
50: JMP LBL[2] ;

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

Appendix 5 – Grip Vacuum On(GR_1_VAC1ON)


1: --eg:Dual Vac gripper Example with Error Recovery ;
2: ;
3: R[136:MH Version]=1 ;
4: ;
5: IF DI[12:WITHOUT PANEL]=ON,JMP LBL[999] ;
6: ;
7: R[120:No Check]=(AR[1]) ;
8: R[121:CheckVacInput2]=(AR[2]) ;
9: ;
10: $WAITTMOUT=500 ;
11: ;
12: --eg:Actuate the required Outputs ;
13: DO[2023:GR1 Vac1off Com]=OFF ;
14: DO[2024:GR1 Vac1on Com]=ON ;
15: DO[2004:GR1 DisVac1 Com]=OFF ;
16: ;
17: IF R[120:No Check]=1,JMP LBL[999] ;
18: ;
19: LBL[1:Vac Switch 1] ;
20: WAIT DI[2064:GR1 Vac1on Com]=ON TIMEOUT,LBL[101] ;
21: ;
22: --eg:Check if it is a dual Vac generator ;
23: IF R[121:CheckVacInput2]=0,JMP LBL[999] ;
24: ;
25: LBL[2:Vac Switch 2] ;
26: WAIT DI[2064:GR1 Vac1on Com]=ON TIMEOUT,LBL[102] ;
27: ;
28: LBL[999] ;
29: ;
30: END ;
31: ;
32: --eg:DCP Fault Handling ;
33: ;
34: LBL[101:Vac Switch 1] ;
35: --eg:Vac 1 Not Off ;
36: ;
37: CALL DCPFAULT_MH(6424,2064) ;
38: WAIT R[56:Karel F-Key]>0 ;
39: WAIT DI[2064:GR1 Vac1on Com]=ON TIMEOUT,LBL[101] ;
40: CALL DCPCLEAR ;
41: ;
42: JMP LBL[1] ;
43: ;
44: LBL[102:Vac Switch 2] ;
45: --eg:Vac 2 Not Off ;
46: ;
47: CALL DCPFAULT_MH(6425,2064) ;
48: WAIT R[56:Karel F-Key]>0 ;
49: WAIT DI[2064:GR1 Vac1on Com]=ON TIMEOUT,LBL[102] ;
50: CALL DCPCLEAR ;
51: ;
52: JMP LBL[2] ;

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 26
Robot To Manual Handling
Programming

Appendix 6 – Grip Vacuum Off (GR_1_VAC1OFF)


1: --eg:Dual Vac gripper Example with Error Recovery ;
2: --eg:Version 1.0 ;
3: ;
4: --eg:Gripper ID: Test ;
5: ;
6: R[120:No Check]=(AR[1]) ;
7: R[122:Last Vac Off Seq]=AR[2] ;
8: ;
9: $WAITTMOUT=500 ;
10: ;
11: --eg:Actuate the required Outputs ;
12: DO[2004:GR1 DisVac1 Com]=ON ;
13: ;
14: IF R[120:No Check]=1,JMP LBL[999] ;
15: ;
16: LBL[1:Vac Switch 1] ;
17: WAIT DI[2064:GR1 Vac1on Com]=OFF TIMEOUT,LBL[101] ;
18: ;
19: LBL[50] ;
20: ;
21: IF R[122:Last Vac Off Seq]=1,JMP LBL[100] ;
22: ;
23: END ;
24: ;
25: --eg:Last Vac Sequence ;
26: LBL[100] ;
27: ;
28: DO[2004:GR1 DisVac1 Com]=ON ;
29: DO[2024:GR1 Vac1on Com]=OFF ;
30: DO[2023:GR1 Vac1off Com]=ON ;
31: ;
32: END ;
33: ;
34: --eg:DCP Fault Handling ;
35: ;
36: LBL[101:Vac Switch 1] ;
37: --eg:Vac 1 Not Off ;
38: ;
39: CALL DCPFAULT_MH(6422,2064) ;
40: WAIT R[56:Karel F-Key]>0 ;
41: WAIT DI[2064:GR1 Vac1on Com]=OFF TIMEOUT,LBL[101] ;
42: CALL DCPCLEAR ;
43: ;
44: JMP LBL[1] ;
45: LBL[999] ;

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 27
Robot To Manual Handling
Programming

Appendix 7 – Check Part Present On (GR_1_PP50_ON)


1: IF DI[12:WITHOUT PANEL]=ON,JMP LBL[999] ;
2: --eg:Wait for pp 50 ON ;
3: ;
4: LBL[1:Gr1PpS501] ;
5: WAIT DI[2009:MH Input 9]=ON TIMEOUT,LBL[101] ;
6: ;
7: LBL[2:Gr1PpS503] ;
8: WAIT DI[2010:MH Input 10]=ON TIMEOUT,LBL[102] ;
9: ;
10: --eg:Turn On Part On Board to PLC ;
11: DO[128:PART OBOARD]=ON ;
12: ;
13: END ;
14: ;
15: --eg:DCP Fault Handling ;
16: ;
17: --eg:2009+210G7.5-S5011 ;
18: LBL[101:PartPres1NtOff] ;
19: CALL DCPFAULT_MH(6411,2009) ;
20: WAIT R[56:Karel F-Key]>0 ;
21: WAIT DI[2009:MH Input 9]=ON TIMEOUT,LBL[101] ;
22: CALL DCPCLEAR ;
23: JMP LBL[1] ;
24: ;
25: --eg:2010+210G7.5-S5031 ;
26: LBL[102:PartPres3NtOn] ;
27: CALL DCPFAULT_MH(6413,2010) ;
28: WAIT R[56:Karel F-Key]>0 ;
29: WAIT DI[2010:MH Input 10]=ON TIMEOUT,LBL[102] ;
30: CALL DCPCLEAR ;
31: JMP LBL[2] ;
32: ;
33: LBL[999] ;

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 28
Robot To Manual Handling
Programming

Appendix 8 – Check Part Present Off (GR_1_PP50_OFF)


1: --eg:Wait for pp 50 OFF ;
2: ;
3: LBL[1:Gr1PpS501] ;
4: WAIT DI[2009:MH Input 9]=OFF TIMEOUT,LBL[101] ;
5: ;
6: LBL[2:Gr1PpS503] ;
7: WAIT DI[2010:MH Input 10]=OFF TIMEOUT,LBL[102] ;
8: ;
9: LBL[3:Gr1PpS502] ;
10: WAIT DI[2011:MH Input 11]=OFF TIMEOUT,LBL[103] ;
11: ;
12: LBL[4:Gr1PpS504] ;
13: WAIT DI[2012:MH Input 12]=OFF TIMEOUT,LBL[104] ;
14: ;
15: --eg:Turn Off Part On Board to PLC ;
16: DO[128:PART OBOARD]=OFF ;
17: ;
18: END ;
19: ;
20: --eg:DCP Fault Handling ;
21: ;
22: --eg:2009+210G7.5-S5011 ;
23: LBL[101:PartPres1NtOff] ;
24: CALL DCPFAULT_MH(6401,2009) ;
25: WAIT R[56:Karel F-Key]>0 ;
26: WAIT DI[2009:MH Input 9]=OFF TIMEOUT,LBL[101] ;
27: CALL DCPCLEAR ;
28: JMP LBL[1] ;
29: ;
30: --eg:2010+210G7.5-S5031 ;
31: LBL[102:PartPres3NtOff] ;
32: CALL DCPFAULT_MH(6403,2010) ;
33: WAIT R[56:Karel F-Key]>0 ;
34: WAIT DI[2010:MH Input 10]=OFF TIMEOUT,LBL[102] ;
35: CALL DCPCLEAR ;
36: JMP LBL[2] ;
37: ;
38: --eg:2011+210G7.5-S5021 ;
39: LBL[103:PartPres2NtOff] ;
40: CALL DCPFAULT_MH(6402,2011) ;
41: WAIT R[56:Karel F-Key]>0 ;
42: WAIT DI[2011:MH Input 11]=OFF TIMEOUT,LBL[103] ;
43: CALL DCPCLEAR ;
44: JMP LBL[3] ;
45: ;
46: --eg:2012+210G7.5-S5041 ;
47: LBL[104:PartPres4NtOff] ;
48: CALL DCPFAULT_MH(6404,2012) ;
49: WAIT R[56:Karel F-Key]>0 ;
50: WAIT DI[2012:MH Input 12]=OFF TIMEOUT,LBL[104] ;
51: CALL DCPCLEAR ;
52: JMP LBL[4] ;

Jaguar Land Rover : Robot to Manual Handling for FANUC’s R30iB Controller 29

You might also like