FANUC's Standard SCA Sealing Programming (Version4.0)
FANUC's Standard SCA Sealing Programming (Version4.0)
PAN Projects
Robot to SCA Sealing Programming
Standard
for
FANUC’s R30iB Controller
Robot To SCA Sealing
Standard Programming
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
2
Controller
Robot To SCA Sealing
Standard Programming
Contents
1. Introduction ....................................................................................................................... 4
2. Safety................................................................................................................................ 5
3. Robot Configuration .......................................................................................................... 5
4. IO Interface ....................................................................................................................... 6
5. Seal Schedules ................................................................................................................. 8
6. Command Programs ....................................................................................................... 10
6.1 Pre-Dispense............................................................................................................. 10
6.2 Pre-Dispense On ....................................................................................................... 11
6.3 Post-Dispense ........................................................................................................... 11
6.4 Dock to Fill................................................................................................................. 12
6.5 Purge......................................................................................................................... 12
6.6 Fill Doser – Pedestal Mounted................................................................................... 13
7.0 Quiss Interface.............................................................................................................. 14
7.1 Quiss On ................................................................................................................... 14
7.2 Quiss Start................................................................................................................. 14
7.3 Quiss Pause .............................................................................................................. 14
7.3 Quiss End.................................................................................................................. 15
7.4 Quiss Check Repair................................................................................................... 15
7. Bead and Segments........................................................................................................ 16
Appendix 1 – Example Prog 1 Dispense ............................................................................. 18
Appendix 2 – Example Dispense Program .......................................................................... 19
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
3
Controller
Robot To SCA Sealing
Standard Programming
1. Introduction
This document only specifies the “SCA SYS6000 Dispensing Standard” within Fanuc’s
R30iB Robot 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 robot “SCA SYS6000 Dispensing Standard” can control 2 SCA SYS6000 systems per
robot, with each system having up to 2 nozzles with 255 programs and 255 different
segments numbers. It caters for 1 component (1C) and 2 component (2C) systems, or a
mixture of the two and can handle robot carried nozzles, pedestal nozzles and dock to fill
systems.
One SCA program number should be used to complete the whole dispensing sequence
(PreDispense to PostDispense) using different segment numbers to change bead flow/sizes.
The robot must have the option ‘H590 – SpotTool+’ or ‘H953 - DispenseTool’ installed and
setup correctly.
The document should be read and understood by the end user before any commissioning
and or programming is started.
IF IN DOUBT ASK
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
4
Controller
Robot To SCA Sealing
Standard Programming
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
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.
All safety systems must be fully functional without any manual overrides to ensure
the end user is fully protected from all hazards.
3. Robot Configuration
Along with the standard package loaded into every JLR robot, as discussed in the ‘Robot to
PLC Standard Programming’ manual, every Dispensing Robot will have another package
loaded into it. This will contain the following:
Dispensing 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. All the Dispensing
TP programs will have Dispense selected as their Application Process within the
‘Detail’ of the program (Program Detail explained later in the manual).
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 dispensing 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
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
5
Controller
Robot To SCA Sealing
Standard Programming
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 Dispensing Robot has already been configured in a
Controlled Start. If they robot has been configured to be a Dispensing Robot and a Handling
Robot you can Toggle between the 2 Application Tools by:-
4. IO Interface
The fieldbus communication is EthernetIP and the robot acts as the master for all the SCA
SYS6000 controllers fitted.
The integrator/end user must set the IP address of the SCA SYS6000 controller with 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 SCA unit within Fanuc’s EtherNetIP settings:-
The interface is made up of 10 Bytes of Input Data and 10 Bytes of Output Data, all these
signals are pre-defined and should not be altered by the integrator/End User.
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
6
Controller
Robot To SCA Sealing
Standard Programming
The interface also interacts with the PLC via the Robots PMC so that the process is
monitored and decisions can be made as and when necessary.
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
7
Controller
Robot To SCA Sealing
Standard Programming
5. Seal Schedules
Within the SpotTool+ software there are as standard 100 Seal Schedules. These schedules
contain all the relevant settings for robot control over the dispensing and contain the
following information:-
Item Description
This item defines how the flow of the material is going to be
Flow Type
measured. As standard this should be Volts.
This item specifies the kind of flow model applied on the current
Flow Model schedule. Linear and
Square flow models are available.
This item specifies the desired rate of material flow. The units
used correspond to the flow type you have selected. This
Flow Rate
information is displayed on the DETAIL screen as "Flow Rate"
and on the LISTING screen as "Value."
Equip. Ant-time This item indicates the anticipation time between when the robot
Default:0ms reaches the taught position and when material is dispensed from
Min: 0ms the gun. This information is displayed only on the DETAIL
Max: 1000ms screen.
Eq.Additin ant-time This item indicates the additional anticipation time of the
Default:0ms equipment. Additional anticipation times might be required when
Min: -1000ms equipment receives a decreasing flow rate command signal. This
Max: 1000ms item only applies to the flow type of TCPP or PROG.
This item indicates the anticipation time between when the robot
reaches the destination position and when the gun is turned on. If
Gun on ant-time
you want the gun to turn on before the robot reaches the
Default:0ms
destination position, set Gun on ant-time to a positive number. If
Min: -1000ms
you want the gun to turn on after the robot reaches the
Max: 1000ms
destination position, set Gun on ant-time to a negative number.
This information is displayed only on the DETAIL screen.
This item indicates the anticipation time between when the robot
reaches the destination position and when the gun is turned off. If
Gun off ant-time
you want the gun to turn off before the robot reaches the
Default:0ms
destination position, set Gun off ant-time to a positive number. If
Min: -1000ms
you want the gun to turn off after the robot reaches the
Max: 1000ms
destination position, set Gun off ant-time to a negative number.
This information is displayed only on the DETAIL screen.
Pre-pressure time This item is used to adjust the invoking time of the pre-pressure
Default:0ms signal.
De-pressure time This item is used to adjust the invoking time of the de-pressure
Default:0ms signal.
Correction Factor This item allows you to fine tune material flow. This is especially
Default:1.0 useful when dispensing material around corners. This information
Min: 0.1 is displayed only on the DETAIL screen.
Max: 10.0
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
8
Controller
Robot To SCA Sealing
Standard Programming
This item allows you to adjust the bead width of corners which
reside within the seal segment. This value does not affect the
Correction Bias bead width of any straight line paths. When the Square flow
model is enabled, this item is used to adjust the bead width of
whole seal segment.
This item allows you to adjust the time interval between the gun
SS Time offset
on signal and the flow rate signal.
This item allows you to adjust the time interval between the gun
SE Time Offset
off signal and flow rate signal.
Schedule number 1 (SS[1]) will be the datum schedule with some predefined values, these
values can be changed by the integrator/end user using the table above. It is also possible to
use any of the other schedules within the robot for certain beads that require different
settings to get the desired results. As standard when a new schedule is going to be use it is
recommended that the data with SS[1] is copied into the new SS[x] and then modified to suit
the application. Then to activate the new schedule in the program on the Seal Start point you
would specify the new schedule number not 1.
Example:- Schedule’s
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
9
Controller
Robot To SCA Sealing
Standard Programming
6. Command Programs
The command routines are used by the integrator/end user to sequence with the PLC, all the
command programs are contained within the FANUC R30iB controller. These programs
should not be altered by the integrator/end user. See Appendix 1 for Example sealing
program.
6.1 Pre-Dispense
Used to check that the SCA equipment is ready and send the required program and
bead number over on Group Outputs
Program Name:- PRE_DISPENSE
TP usage/notation – CALL PRE_DISPENSE(1,1,1,1) – Argument Values
o Argument 1:- Program Number
o Argument 2:- Bead Number
o Argument 3:- Robot Mounted or Ped Mounted Gun
o Argument 4:- Check Purge Allowed
Associated I/O GO[12-13] and GI[12-13]
The PRE_DISPENSE program is used independent of which program and bead number is
required. To do this arguments, of integer type, are passed into the program and the values
of these arguments dictate which program and bead are selected within the SCA controller.
The SCA controller then sends an acknowledge back via the group inputs and the robot
checks these match what has been requested.
Within the Pre-Dispense program the robot will automatically check to see if the gun needs
filling/purging and if it does the robot will Dock and Fill/Purge before carrying on. (For Dock
to fill systems Argument 3 =1) For the Fill/Purge to happen the Check Purge Allowed
(Argument 4) must be a 1 (Set by the programmer when the PRE_DISPENSE program is
called).
This program should be called at the start of each dispensing program before any sealing
begins. If the PLC is controlling the robot to go into an area the PRE_DISPENSE should be
after the “CALL AREA_IN_REQ” else if executed before the SCA controller may not be
ready and the PLC holds the robot at Area request due to the gun requiring purging etc.
The third argument indicates whether the robot is a Dock and Fill type or Ped-mounted Type.
With the argument value set to a 1 it indicates to the program that this robot is a Dock and
Fill system and allows the robot to enter into the DOCKFILLSTAND Routine when the Doser
needs filling.
The forth argument indicates if the robot is allowed to Fill/Purge at the point the
PRE_DISPENSE program was called. There will be times that at the point the
PRE_DISPENSE program is called that it isn’t possible for a Dock-to-Fill system to move to
the docking stand or for a Pedestal Gun to Purge if the part is located under the nozzle.
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
10
Controller
Robot To SCA Sealing
Standard Programming
Example Program:-
6.2 Pre-Dispense On
Used to check that the SCA equipment is ready and send the required program and
bead number over on Group Outputs
Program Name:- PRE_DISP_ON
TP usage/notation – CALL PRE_DISP_ON(1,1) – Argument Values
o Argument 1:- Program Number
o Argument 2:- Bead Number
Associated I/O GO[12-13] and GI[12-13]
This program works in the same manner as Pre-Dispense outlined in section 6.1. the
difference here is that this program is used to change SCA program numbers in cycle and
doesn’t check to see if the Doser needs filling as in cycle filling is not possible.
6.3 Post-Dispense
Used to issue the SCA cycle complete as well as checking for and handling any
errors that have occurred during the dispensing operation.
Program Name:- POST_DISPENSE
TP usage/notation – CALL POST_DISPENSE
Associated I/O DO[708], DI[697-701] and DI[709]
The POST_DISPENSE also does all the Error Handling for the end of sequence such as
Low/High Material Limit.
Example Program:-
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
11
Controller
Robot To SCA Sealing
Standard Programming
The DOCKFILLSTAND program uses to other programs call within to complete the action of
docking and filling the gun, these are:-
1. CHECK_READY_TO_DOCK
a. This program checks that the I/O associated with the docking stand is in the
correct state to allow docking procedure to happen successfully. If any of the
condition aren’t met the DCP faults are handled within this program.
2. PURGEFILL
a. This program initiates either the filling routine of the purging routine of the gun
depending on which action has been requested from the SCA controller or
PLC. It checks and monitors all the relevant I/O and if anytime the conditions
aren’t met the DCP faults are handled within this program
The robot checks for Filling and Purging before each dispensing operation within the
PRE_DISPENSE program and then checks for only purging with the POST_DISPENSE
program.
Example Program:-
6.5 Purge
Used to Purge the gun, Docked and Pedestal
Program name:- PURGE
TP usage/notation:- CALL PURGE(1) – Argument Values
Used within PRE_DISPENSE and DOCKFILLSTAND
This program is used to initiate a Purge Routine for the SCA gun whether it is a Pedestal
mounted gun or a Dock and Fill type gun. This program can be called from within the
PRE_DISPENSE program based on Digital Inputs 71/706.
The Argument value passed into the Purge program indicates whether it is a Pedestal
mounted gun or a Dock and Fill Gun, where a 0 indicates a Pedestal and a 1 indicates and
dock to fill. The reasoning for this is that with a Dock and Fill gun control is required over the
Mandrill on the docking station during a purging cycle, where as it is isn’t during a Pedestal
mounted cycle.
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
12
Controller
Robot To SCA Sealing
Standard Programming
This program is used to Fill the Doser with a Pedestal mounted gun. It has two arguments
passed into the program.
With Argument 2 it sets whether the robot waits for the filling off the doser to be full before
carrying on. If the filling doser is executed after a bead has been put down and the robots
next operation is to go and put the part down somewhere, it will save time for the robot not to
wait for the doser to finishing filling before carrying on to its next task. However if its next
task is to do a bead the robot would have to wait for the doser to finish filling before carrying
on.
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
13
Controller
Robot To SCA Sealing
Standard Programming
7.1 Quiss On
Used to turn the Quiss system/interface to the robot on.
Program name:- QUISS_ON
TP usage/notation:- CALL QUISS_ON(1) – Argument Values
Used within the main sealing program.
The program is used to turn on the Quiss system and should be called at the beginning of
the sealing program, a good distance before the first Seal Start Command (SS[]) and the
PRE_DISPENSE. The argument value that is passed in is the Program number within the
Quiss that is to be ran in conjunction with the bead the robot will run.
When a Bead Repair signal has been issued by the Quiss and the robot is in the ‘Repair
Loop’ the robot will run this program again and Automatically reset any errors that the Quiss
has and turn on the ‘Release Bead Repair’ Output which will then put the Quiss in control of
opening and closing the Dispense Nozzle on the next run.
The program is used to start the Quiss system monitoring the current bead that the robot is
dispensing. The program should be Called/Ran on the line before the Seal Start Command
(SS[]). The argument value that is passed in is the Program number within the Quiss that is
to be ran in conjunction with the bead the robot will run.
This program is used to pause the monitoring of the bead, this is need when the robot is
using air moves to get from the end of one segment to the beginning of another. The progam
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
14
Controller
Robot To SCA Sealing
Standard Programming
should be ran after the Seal End Command (SE[]). Then when the monitoring of the bead is
needed to be started again the QUISS_START would be used again as described in section
7.2.
This program is used to end the monitoring of the bead and imitates the Quiss system to
review the data it has just recorded to determine if the bead was of good quality or not.
This program is used to check the results of the Quiss System after it has monitored the
bead that has been laid down. If the result of the Quiss is OK then the robot will continue
through the program and end the Dispense program as normal. If however the Quiss has
detected a fault with the bead that has just been laid down it will set a Flag so the robot will
repeat the Dispense program but give the control of the Nozzle opening to the Quiss
System. At this point the robot will automatically reset any faults on the SCA System, in JLR
Spec this is the only time that the robot is allowed to automatically reset the SCA system.
After the Quiss has tried to repair the bead it still fails the robot will not be allowed to try
again. At this point the robot will display a DCP fault, once this has been acknowledged by
the operated the PLC will send the robot to Glue Inspect.
This program should be ran when the robot has moved to a position where it is possible to
either redo the gluing path or get the Glue Inspect.
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
15
Controller
Robot To SCA Sealing
Standard Programming
It is possible for the Segment value to be changed in process without needing to stop the
robot or close the gun. To do this the robot can use Distance/Time before commands on the
end of a position within a teach pendant (TP) program. This distance/time before command
can then issue an I/O command, in this case Group Output (GO), to change the current
segment in the SCA Controller. See example below of the notation used:-
Example:-
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
16
Controller
Robot To SCA Sealing
Standard Programming
In this above example the robot starts with Bead 1, Segment 1 for move P[1] to P[2] then
1.0mm before reaching P[2] the robot requests that Segment 2 is activated using the DB
(Distance Before) command 1.0mm before. This distance can be changed by the
integrator/End user to get the new segment activating exactly where they need to. Instead of
using DB you could use TB (Time Before) and specify and time in seconds before the robot
reaches P[2] that the SCA controller is sent the request for a new segment.
The robot uses a Background TP program which scales the amount of material sent to the
SCA controller based on the current TCP speed of the robot and the maximum dispense
speed. This program is constantly running and looping while the robot is turn on and
automatically restarts running after a robot is turn on after being off.
Example:-
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
17
Controller
Robot To SCA Sealing
Standard Programming
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
18
Controller
Robot To SCA Sealing
Standard Programming
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
19
Controller
Robot To SCA Sealing
Standard Programming
53: ;
54: CALL COLL_ZONE_REL(1) ;
55: ;
56: UFRAME_NUM=0 ;
57: ;
58:J PR[3:Area 2 Pounce] 25% CNT100 ;
59: ;
60: --eg:Check for Bead Repair ;
61: CALL QUISS_CHK_REPAIR ;
62: ;
63: IF (F[2:Bead Repair]=ON),JMP LBL[1] ;
Jaguar Land Rover : Robot to SCA Sealing Programming Standard for FANUC’s R30iB
20
Controller