You are on page 1of 52

Art.

no 3HAC 7802-1 DispenseWare


CONTENTS
Page

1 DispenseWare ................................................................................................................. 3
1.1 Dispensing features................................................................................................. 3
1.2 Programming principles ......................................................................................... 4
1.3 Dispensing instructions........................................................................................... 4
1.4 Dispensing data....................................................................................................... 4
2 Programming DispenseWare ......................................................................................... 5
2.1 Dispense instructions.............................................................................................. 5
2.2 Dispense data.......................................................................................................... 6
2.3 Programming dispense instructions........................................................................ 7
2.4 Editing dispense instructions .................................................................................. 9
2.5 Testing dispense instructions without dispensing................................................... 9
2.6 Manual gun control................................................................................................. 9
2.7 Programming when short beads are used ............................................................... 10
2.8 Using the Dispense Restart function ...................................................................... 12
3 DispL/DispC..................................................................................................................... 15
3.1 Example 1 ............................................................................................................... 15
3.2 Arguments .............................................................................................................. 16
3.3 Program execution.................................................................................................. 17
3.4 Flow Control Types ................................................................................................ 18
3.5 Calculation of flow values...................................................................................... 19
3.6 Example 2 ............................................................................................................... 20
3.7 Example 3 ............................................................................................................... 21
3.8 Instruction by instruction execution ....................................................................... 22
3.9 Simulated dispensing.............................................................................................. 22
3.10 Error handling....................................................................................................... 22
3.11 Stop and restart during the dispensing process..................................................... 23
3.12 Customizing.......................................................................................................... 26
3.13 Syntax ................................................................................................................... 26
3.14 Related information .............................................................................................. 27
4 beaddata - Dispensing Bead Data .................................................................................. 29
4.1 Description.............................................................................................................. 29
4.2 Components ............................................................................................................ 29
4.3 Limitations.............................................................................................................. 30
4.4 Predefined data ....................................................................................................... 30
4.5 Customizing............................................................................................................ 30
4.6 Default structure ..................................................................................................... 31
4.7 Related information ................................................................................................ 31

DispenseWare 1
DispenseWare Art.no 3HAC 7802-1

Page

5 equipdata - Dispensing Equipment Data ...................................................................... 33


5.1 Description ............................................................................................................. 33
5.2 Components............................................................................................................ 33
5.3 Time component description .................................................................................. 36
5.4 Limitations.............................................................................................................. 37
5.5 Recommendations for best accuracy...................................................................... 37
5.6 Predefined data ....................................................................................................... 37
5.7 Customizing............................................................................................................ 38
5.8 Default structure ..................................................................................................... 38
5.9 Related information ................................................................................................ 38
6 System Module DPUSER ............................................................................................... 39
6.1 Contents.................................................................................................................. 39
7 System Parameters DispenseWare ................................................................................ 45
7.1 I/O Configuration ................................................................................................... 45
7.2 Default defined signals ........................................................................................... 45
7.3 Analog output scaling............................................................................................. 47
8 Customizing DispenseWare............................................................................................ 49
8.1 The customizing process ........................................................................................ 49
8.2 Example of customizing possibilities..................................................................... 50
8.3 Packaging the result from the customizing process ............................................... 51

2 DispenseWare
DispenseWare DispenseWare

1 DispenseWare
The DispenseWare package provides support for different types of dispensing
processes such as gluing and sealing.

The DispenseWare application provides fast and accurate positioning combined with a
flexible process control.

Communication with the dispensing equipment is carried out by means of digital and
analog outputs.

DispenseWare is a package that can be extensively customized. The intention is that


the user adapts some user data and routines to suit a specific dispensing equipment and
the environmental situation.

1.1 Dispensing features


The DispenseWare package contains the following features:

- Fast and accurate positioning.


- Handling of on/off guns as well as proportional guns.
- Speed proportional or constant analog outputs.
- Up to five different guns can be handled simultaneously, controlled by 1 - 5
digital output signals (for gun on/off control) and 1 - 2 analog output signals
(for flow control).
- Four different gun equipment, each controlled by 1 - 5 digital output signals
and 1 - 2 analog output signals, can be handled in the same program.
- Possibility to use different anticipated times for the digital and analog signals.
- Possibility to use equipment delay compensation for the TCP speed
proportional analog signals.
- Global or local flow rate correction factors.
- Dispensing instructions for both linear and circular paths.
- Dispensing in wet or dry mode.
- Wide opportunities of customizing the functionality to adapt to different types
of dispensing equipment.
- Possibility to restart an interrupted dispense sequence.

DispenseWare 3
DispenseWare DispenseWare

1.2 Programming principles


Both the robot’s movement and the dispensing process control are embedded in the
instructions, DispL and DispC respectively.

The gluing process is specified by:

- Bead specific dispensing data. See Data types - beaddata.


- Equipment specific dispensing data. See Data types - equipdata.
- RAPID routines and global data for customizing purposes. See Predefined Data
and Programs - System Module DPUSER.
- The I/O configuration. See System Parameters - DispenseWare

1.3 Dispensing instructions


Instruction Used to:
DispL Move the TCP along a linear path and perform dispensing with
the given data
DispC Move the TCP along a circular path and perform dispensing
with the given data

1.4 Dispensing data


Data type Used to define:
beaddata Dispensing data for the different beads.
equipdata Dispensing data for the equipment in use.

4 DispenseWare
DispenseWare Programming DispenseWare

2 Programming DispenseWare
The DispenseWare package is added to the base system and is ready to use with a
default functionality. However, to adapt the package to a specific dispensing equip-
ment, the functionality can be customized.

But the main subject of this description is the default setup.

2.1 Dispense instructions


A dispense instruction includes both motion and process. It basically contains the same
types of information as a positioning instruction. However, each dispense instruction
also includes further arguments for the dispensing process.

For further details see Instructions - DispL/DispC.

Switch (On or Off) to start or stop the dispensing process

Bead data
Pre-action distance

DispL \On p1, v100, bead1 \D:=10, z10, tool1 \wobj \corr

Arguments as in
L = Linear the MoveL instruction
C = Circular

Figure1 The DispL Instruction.

DispenseWare 5
Programming DispenseWare DispenseWare

2.2 Dispense data


Before starting to program the instructions, you should define the dispense data. The
data is divided into two types of data, beaddata and equipdata.

Equipdata is used to hold equipment specific data. This is dispensing data which nor-
mally does not vary between different beads. Equipdata is used when DispL and DispC
instructions are executed. Equipdata for equipment 1 - 4 are located in an array (equipd)
in the system module DPUSER.

Equipdata has the following default contents:

- Information string (80 char).


- Reference speed for the scale calculations.
- Anticipated times for the digital (gun on and off) signals.
- Anticipated times for the analog flow signals.
- Equipment delay compensation times.
- Flow rate correction factors.

• Change the data in the equipd array so it corresponds to the equipment used.
The data is correctly calibrated when the bead is started/changed/ended in the pro-
grammed positions and when the bead width is constant in a corner zone.

For further details see Datatypes - equipdata.

Beaddata is used to hold bead specific data. This is the dispensing data which deter-
mines the appearance of the bead and which normally varies between different beads.
One beaddata (bead1) is defined as default in the dispensing system module DPUSER.

Beaddata has the following default contents:

- Information string (80 char).


- Flow rates for flow1 and flow2.
- Flow types for flow1 and flow2.
- Equipment number.
- Gun number.

• It is recommended that a beaddata is defined for each bead type used and then stored
in DPUSER before the instruction sequence is programmed.

For further details see Datatypes - beaddata.

6 DispenseWare
DispenseWare Programming DispenseWare

2.3 Programming dispense instructions


• Jog the robot to the desired destination position for the dispensing start.
• Call up the instruction pick list by choosing IPL1: Motion & Process.
• Select the desired instruction DispL\On or DispC\On. The instruction will be added
directly to the program. The arguments are set in relation to the latest dispense
instruction programmed.

File Edit View IPL1 IPL2


Program Instr PROG1/main
1(1)
DispL p60,v100,bead1,z10, 1 ActUnit
2 DeactUnit
3 DispC
4 DispC/Off
5 DispC/On
6 DispL
7 DispL/Off
8 DispL/On
9 More
Copy Paste OptArg ModPos Test
Figure2 A dispense instruction is added directly to the program.

• Select desired beaddata and change other arguments if necessary.


• Jog to next position on the bead (normally a point where the path is changed or a posi-
tion where the bead size is changed).
• Select the desired instruction DispL or DispC.
• Change the arguments if necessary.
• Continue in a similar way until the last position on the bead is reached.
• Select the desired instruction DispL\Off or DispC\Off.
• Change the arguments if necessary.

Limitations

One equipment is controlled by 1-5 gun on/off signals and 1-2 analog flow signals.

It is possible to use up to four different pieces of equipment.

It is not possible to use different pieces of equipment or flow types within one sequence
of dispensing instructions (between Displ\On and \Off).

DispenseWare 7
Programming DispenseWare DispenseWare

Programming example

MoveL p6
DispL\On
DispL

p5 MoveL
p1 p2
bead5 p3 DispL\Off
bead2 10 mm
p4

Direction of movement Movement without dispensing


Movement with dispensing

bead5 equipd{1}
info = “equipment 1..”
info = “width 5mm” on_time = 0.05
flow1 = 80 off_time = 0.15
flow2 = 0 ref_speed = 800
flow1_type = 2
flow2_type = 0 fl1_on_time = 0.2
equip_no = 1 fl1_off_time = 0.2
gun_no = 1 fl1_inc_time = 0.12
fl1_dec_time = 0.2
bead2 fl1_delay = 0.05
fl1_corr = 100
info = “width 2mm”
flow1 = 35 fl2_on_time = 0.4
flow2 = 0 fl2_off_time = 0
flow1_type = 2 fl2_inc_time = 0.12
flow2_type = 0 fl2_dec_time = 0.1
equip_no = 1 fl2_delay = 0.1
gun_no = 1 fl2_corr = 100

Figure3 Programming example.

RAPID code sequence:

MoveL p1, v600, fine, tool1;


DispL \On, p2, v400, bead5, z10, tool1;
DispL p3, v400, bead2, z10, tool1;
DispL p4, v500, bead2, z10, tool1;
DispL \Off, p5, v500, bead2 \D:=10, z10, tool1;
MoveL p6, v600, fine, tool1;

8 DispenseWare
DispenseWare Programming DispenseWare

2.4 Editing dispense instructions


Change current beaddata:

• Mark current beaddata in the instruction.


• Call up the data by choosing Edit : Value.
• Change desired value.
• Press OK.

Change to another beaddata:

• Mark current beaddata in the instruction.


• Press Enter.
• Select desired beaddata from the list.
• Press OK.

2.5 Testing dispense instructions without dispensing


There are two possibilities to run dispense instructions without dispensing.

• Run the program stepwise forward or backward.


• Run the program in simulation mode. This can be done by setting the DPUSER data
dp_dry to TRUE.

2.6 Manual gun control


The gun control is done by digital and analog outputs.

To obtain fast manual access to the gun, make sure you design the most common I/O
list with the gun control on top.

E.g.

doEqu1Gun1 for closing and opening gun1.

aoEqu1F1 for setting the flow1 values.

aoEqu1F2 for setting the flow2 values.

DispenseWare 9
Programming DispenseWare DispenseWare

2.7 Programming when short beads are used

Example 1

In this example a number of short beads are programmed. The On and Off argument is
used for all beads that will terminate the dispensing process between the beads.

DispL\On DispL\Off
DispL\Off DispL\On DispL\Off MoveL
MoveL DispL\On
p4 bead5 p5
p3
p2 bead5 p6 bead5 p7 p8
p1

Direction of movement Movement without dispensing


Movement with dispensing

bead5
info = “width 5mm”
flow1 = 80
flow2 = 40
flow1_type = 2
flow2_type = 2
equip_no = 1
gun_no = 1

RAPID code sequence:

MoveL p1, v600, fine, tool1;


DispL \On, p2, v600, bead5, z50, tool1;
DispL \Off, p3, v600, bead5, z50, tool1;
DispL \On, p4, v600, bead5, z50, tool1;
DispL \Off, p5, v600, bead5, z50, tool1;
DispL \On, p6, v600, bead5, z50, tool1;
DispL \Off, p7, v600, bead5, z50, tool1;
MoveL p8, v600, fine, tool1;

In this example the analog flow signals are deactivated between every bead, but often
it is desired to run short bead interrupts without deactivating the analog flow signals.
Only the digital gun signal (or signals) is deactivated during the interrupt. This can be
done as shown in the next example.

10 DispenseWare
DispenseWare Programming DispenseWare

Example 2

The same beads as in the previous example are programmed but now a separate bead
data, “nobead”, is created for the interrupt. In this beaddata the data component gun_no
is set to zero and all other components are set as in the previous beaddata. The process
is started with the On argument at the beginning of the first bead, and terminated with
the Off argument at the end of the last bead.

DispL DispL
DispL MoveL
MoveL DispL\On DispL DispL\Off
p4 bead5 p5
p3
p2 bead5 p6 bead5 p7 p8
p1
nobead

Direction of movement Movement without dispensing


Movement with dispensing

bead5 nobead
info = “width 5mm” info = “no bead”
flow1 = 80 flow1 = 80
flow2 = 40 flow2 = 40
flow1_type = 2 flow1_type = 2
flow2_type = 2 flow2_type = 2
equip_no = 1 equip_no = 1
gun_no = 1 gun_no = 0

RAPID code sequence:

MoveL p1, v600, fine, tool1;


DispL \On, p2, v600, bead5, z50, tool1;
DispL p3, v600, nobead, z50, tool1;
DispL p4, v600, bead5, z50, tool1;
DispL p5, v600, nobead, z50, tool1;
DispL p6, v600, bead5, z50, tool1;
DispL \Off, p7, v600, bead5, z50, tool1;
MoveL p8, v600, fine, tool1;

Limitations

When short beads or bead interrupts are used in combination with high process speeds,
it is not possible to use shorter beads than the difference between the on and off time
components in equipdata. If the beads are shorter, the signals are deactivated before
they are activated, i.e. the beads are not dispensed. If this situation arises, the process
speed must be reduced.

DispenseWare 11
Programming DispenseWare DispenseWare

2.8 Using the Dispense Restart function

Activating the Dispense Restart function

• Select desired restart type by changing dp_restart_type in DPUSER.

0: Restart is disconnected. (Default)


1: Restart of current bead with possibilities to select wet or dry.
2: Restart of current bead in a no query mode (without questions).

For further details see Instructions - DispL/DispC.

Set up desired Restart behaviour

• Test a common restart situation and adjust the following DPUSER data to obtain the
desired restart behaviour:
dp_stop_bwddist: The backward distance before restart after a program stop.

dp_qstop_bwddist: The backward distance before restart after a quick stop (if used).
dp_rest_flow1: The preflow value for the analog signal 1.

dp_rest_flow2: The preflow value for the analog signal 2.

dp_rest_fl_time: The preflow time for the analog signals.

dp_rest_on_time: The preaction time for the digital gun signal.

For further details see System Module - DPUSER.

Using a programmable key for the BWD on path function.

Normally the TCP is moved a predefined distance backwards on the path before the
process is restarted. But if restart type 1 is selected it is also possible to use one of the
programmable keys for activation of the movement. The backward movement will con-
tinue as long as the key is pressed. This is only possible during some steps in the restart
dialogue.

To activate this function:

• Select the desired key for the BWD on path function by changing dp_bwd_key in
DPUSER.
0: No key is used. (Default)
1- 5: Desired key number

If this function is activated, the selected key must be configured as a programmable


key, see next paragraph.

12 DispenseWare
DispenseWare Programming DispenseWare

Configure a key for the BWD on path function:

• Open the System Parameters window.


• Choose Topics: Teach Pendant.
• Choose Types: Programmable Keys.
• Select the key to be used.
• Set following parameters for the key:
- Type: Output
- Connection: doBwdOnPath
- Key Pressed: Press/Release
- Allow in Auto: Yes

DispenseWare 13
Programming DispenseWare DispenseWare

14 DispenseWare
DispenseWare DispL/DispC

3 DispL/DispC
DispL/DispC is used in dispensing applications to control the robot motion, gun open-
ing, and the dispensing process. DispL moves the TCP linearly to the end position.
DispC moves the TCP circularly to the end position.

3.1 Example 1
In this example a bead starts at point p1, changes to another bead at p2, and then ends
at point p3.

DispL \On, p1, v250, bead1, z30, tool7;


DispL p2, v250, bead2, z30, tool7;
DispL \Off, p3, v250, bead2, z30, tool7;

MoveJ

DispL\On DispL MoveL


xx
xx

p3
xx
xx

Pre-actions p1 bead1 p2 bead2


DispL\Off
Direction of movement
Movement without dispensing
xxxxxx Pre-actions
Dispensing and pre-action at
end of dispensing

Figur 4 Dispensing example 1.

1. The TCP for tool7 is moved on a linear path to the position p1 with the speed
given in v250. Due to the \On argument the gun opens and the dispense flow is
started in advance on its way to p1. The flow rates and the times when the signals
are activated, are specified in beaddata bead1 and in current equipdata in the
equipdata array in DPUSER (See Predefined Data and Programs - System Mod-
ule DPUSER).

2. The TCP is then moved from p1 towards p2 with the flow values given by
beaddata bead1 activated in the preceding dispensing instruction. Before p2 is
reached, the flow values are changed according to the data specified in bead2.
The time when this is performed is specified in current equipdata.

3. The TCP is then moved from p2 towards p3 with the flow values specified by
beaddata bead2 activated in the preceding dispensing instruction. Due to the Off
argument the outputs will be reset, according to the times specified in current
equipdata connected to bead2, before p3 is reached.

DispenseWare 15
DispL/DispC DispenseWare

3.2 Arguments
DispL [\On]|[\Off] ToPoint Speed Bead [\D] Zone Tool [\WObj]
[\Corr]
DispC [\On]|[\Off] CirPoint ToPoint Speed Bead [\D] Zone Tool
[\WObj] [\Corr]
[\On] Data type: switch

The argument \On is used in the first dispensing instruction in a sequence, to start
the dispensing process (see Figur 4).
The argument may only be used in the first dispense instruction to perform the
necessary gun opening and setting of the flow in advance. Executing two consec-
utive instructions with the \On argument will result in an error message.

[\Off] Data type: switch

The argument \Off is used in the last dispense instruction in a sequence, to termi-
nate the process when the programmed position is reached. On the way to the end
position the output for opening the gun as well as the flow outputs will be reset
according to the given time within the specified data.

CirPoint Data type: robtarget

This argument is only used in DispC.

The circle point of the robot. The circle point is a point on the circle between the
start point and the destination point. To obtain the best accuracy it should be
placed about halfway between the start and destination points. If it is placed too
close to the start or end point, the robot may give a warning. The circle point is
defined as a named position or stored directly in the instruction (if marked with
an * in the instruction).

ToPoint Data type: robtarget

The destination point of the robot and the external axes. It is defined as a named
position or stored directly in the instruction (if marked with an * in the instruct-
ion).

Speed Data type: speeddata

The speed data that applies to movements. Speed data defines the velocity for the
tool centre point, the tool reorientation, and external axes.

Bead Data type: beaddata

Bead specific data, e.g. the flow rates and flow types.

16 DispenseWare
DispenseWare DispL/DispC

[\D] (Distance) Data type: num

The optional argument \D gives the possibility to perform all pre-actions at spec-
ified times plus given distance (mm) in advance of the programmed position.

Zone Data type: zonedata

Zone data for the movement. Zone data describes the size of the generated corner
path.

Tool Data type: tooldata

The tool in use when the robot moves. The tool centre point is the point moved
to the specified destination position.

[ \WObj] (Work Object) Data type: wobjdata

The work object (coordinate system) to which the robot position in the instruc-
tion is related.

This argument can be omitted, and if it is, the position is related to the world
coordinate system. If, on the other hand, a stationary tool or coordinated external
axes are used, this argument must be specified in order to perform a linear move-
ment relative to the work object.

[ \Corr] (Correction) Data type: switch

Correction data written to a corrections entry by the instruction CorrWrite will


be added to the path and destination position, if this argument is present.

3.3 Program execution


Internal sequence in a DispL/DispC instruction:

- The gun starts to move towards the position.


- If the argument \On is used, the output signal doDPActive is set and the user
routine dp_predisp is executed.
- The gun opening output (or outputs) and the analog outputs are set (or changed)
at the specified time before the position is reached. (See Data Types - equip-
data).
- If the argument \Off is used the gun opening output (or outputs) and the analog
outputs are reset at the specified times before the position is reached. The out-
put signal doDPActive is reset at the end position. The user routine dp_postdisp
is executed at the same time.
- If the argument \D is used, all pre-actions are performed at specified times (in
equipdata) plus given distance (mm) in advance of the programmed position.
- When the programmed position is reached, the program execution continues
with the next instruction.

DispenseWare 17
DispL/DispC DispenseWare

3.4 Flow Control Types


There are two different Flow Control Types for the analog signals (See also Data Types
- beaddata):

- Speed independent (1):


The analog flow is directly proportional to the flow rate specified in the current
bead data.
- TCP speed proportional (2):
The analog flow is directly proportional to the actual robot velocity. When e.g.
the speed is reduced in a corner path, the flow will also be reduced correspond-
ingly.

18 DispenseWare
DispenseWare DispL/DispC

3.5 Calculation of flow values


The following data is used when the logical flow1 value is calculated. (The logical
flow2 is calculated in same way):

flow1 flow rate from current bead data (See Data Types- beaddata)

dp_fl1_corr global flow rate correction factor (See Predefined Data and
Programs - System Module DPUSER)

Default: 100

fl1_corr flow rate correction factor (See Data Types


equipdata)

Default: 100

current speed current robot speed (mm/s).

ref_speed reference speed (mm/s). (See Data Types- equipdata)

Calculation of logical flow1 when flow1_type = Speed independent (1):

logical flow1 = flow1 * dp_fl1_corr * fl1_corr/ 1000

Calculation of logical flow1 when flow1_type = TCP speed proportional (2):

logical flow1 = (flow1 * dp_fl1_corr * fl1_corr/ 1000) * current speed/ref_speed

The physical values of the signals are then determined by how the analog signals are
configured in the system parameters (relationship between physical and logical val-
ues).

E.g.

With the default values above and with the default setup for logical max. and min. for
the analog outputs (See System Parameters - DispenseWare), the following result is
obtained:

If flow1_type = Speed independent (1):


Physical max. value is activated if flow1 = 100 in current bead data.

or

If flow1_type = TCP speed proportional (2):


Physical max. value is activated if flow1 = 100 in current bead data and the actual
speed is the same as ref_speed in current equipdata.

DispenseWare 19
DispL/DispC DispenseWare

3.6 Example 2
In this example everything is the same as in example 1 except that all bead changes are
performed at an additional distance (50 mm) before the programmed positions are
reached.

DispL \On, p1, v250, bead1\D:=50, z30, tool7;


DispL p2, v250, bead2 \D:=50, z30, tool7;
DispL \Off, p3, v250, bead2 \D:=50, z30, tool7;

MoveJ

DispL\On DispL MoveL


xx
xx
xx

p1
xx

p2 p3
Pre-actions

bead1 DispL\Off
bead2
Direction of movement

Start of dispensing is per- End of dispensing is per-


formed 50 mm before the formed 50 mm before the po-
position is reached. sition is reached.
Movement without dispensing
xxxxxx Pre-actions
Dispensing and pre-actions at
end of the bead
Figur 5 Dispensing example 2.

20 DispenseWare
DispenseWare DispL/DispC

3.7 Example 3
In this example DispC is used:

DispL \On, p1, v250, bead1, z30, tool7;


DispC p2, p3, v250, bead2, z30, tool7;
DispL \Off, p4, v250, bead2, z30, tool7;

MoveJ

DispL\On DispC MoveL


xx

bead1
xx

p4
xx
xx

Pre-actions p1 p3 bead2 DispL\Off


p2
Cir point

Direction of movement Movement without dispensing


xxxxxx Pre-actions
Dispensing and pre-action at
end of dispensing

Figur 6 Dispensing example 3.

DispenseWare 21
DispL/DispC DispenseWare

3.8 Instruction by instruction execution

Forwards

The gun is closed and motion without dispensing is done.

Backwards

The gun is closed and the motion is performed backwards without dispensing.

3.9 Simulated dispensing


Activated by setting the variable dp_dry to TRUE. This will inhibit the gun opening
and the flow signals. (See Predefined Data and Programs - System Module DPUSER)

3.10 Error handling


The following error situations are handled:

- Instruction argument error.


- Wrong data values.
- Start without \On argument.
- Start with two instructions with \On argument.
- One sequence of Disp instructions cannot use different equipment.
- End with \Off argument without having started with \On argument.
- Stop during execution of dispense instructions.

Error actions:

- The digital on/off signals are cleared.


- The flow signals are cleared.
- The digital signal doDPErr is set.
- The program execution is interrupted.
- An error text is displayed on the teach pendant.

The faulty instruction or data must be changed and the current set of dispensing
instructions must be restarted from the beginning.

22 DispenseWare
DispenseWare DispL/DispC

3.11 Stop and restart during the dispensing process


There are three restart levels possible to set with a RAPID variable (dp_restart_type)
in DPUSER:

Restart type 0 (Default):

The process is restarted in next Disp\On instruction.

Restart type 1:

Restart of current bead with possibilities to select wet or dry.

Restart type 2:

Restart of current bead in a no query mode (without questions).

Stop sequences:

The stop sequence when a Program Stop occurs during the dispensing process:

- The dispensing process is active during the stop phase. If analog signals pro-
portional to the TCP speed are used, the analog flow values will be automati-
cally reduced during the retardation.
- The robot is halted on the path.
- The digital gun signals (for gun on/off) are set to zero.
- An information text is printed out on the teach pendant advising whether it is
possible to restart the process or not.
- If it not is possible to restart the process the error signal doDPErr is activated.

The stop sequence when a quick stop (e.g. Emergency Stop) occurs during the dispens-
ing process:

- The robot is halted as soon as possible, probably with a deviation from the pro-
grammed path.
- The gun signals are set to zero as soon as possible during the retardation.
- An information text is printed out on the teach pendant advising whether it is
possible to restart the process or not.
- If it not is possible to restart the process the error signal doDPErr is activated.

DispenseWare 23
DispL/DispC DispenseWare

Restart sequences:

The Restart sequence with Restart type 0 (Default):

- The remaining instructions in the current set of dispense instructions are per-
formed as normal positioning instructions. The dispensing is restarted in the
next Disp instruction with an \On argument.

The Restart sequence with Restart type 1:

- A regain motion back to the interrupted position on the path is done (after a
quick stop).
- If it is possible to restart, a text is shown on the display asking whether the
restart shall be “Wet” or “Dry”. It is also possible to select “Bwd”.
- “Dry” means restarting without activating the digital gun signals. If “Dry” is
selected the process is restarted in the next Disp\On instruction.
- If “Wet” is pressed, the process is restarted directly from the current position.
- If “BWD” is selected, a new dialogue is activated with the possibility to move
the robot backwards on the path. This function is useful if the bead is interrupted
before the stop position. When the backward movement is ready, the previous
dialogue appears again. (“Wet” or “Dry”).
- When “Wet” is selected, the digital gun signals and the analog flow signals are
activated user defined times before the robot motion starts. (dp_rest_on_time
and dp_rest_fl_time).
- Before the signals are activated the user routine dp_restart_proc (in DPUSER)
is executed with possibilities to add some user actions in the restart sequence.

The Restart sequence with Restart type 2:

- A regain motion back to the interrupted position on the path is done (after a
quick stop).
- If it is possible to restart, the robot is automatically moved backwards on the
path a user defined distance. Different distances after program stop and quick
stop (dp_stop_bwddist or dp_qstop_bwddist).
- The digital gun signals and the analog flow signals are activated user defined
times before the robot motion starts. (dp_rest_on_time and dp_rest_fl_time).
- Before the signals are activated the user routine dp_restart_proc (in DPUSER)
is executed with possibilities to add some user actions in the restart sequence.

24 DispenseWare
DispenseWare DispL/DispC

Note:

- The bead quality when the process is restarted after a quick stop will not be the
same as after a program stop, mainly because that the robot deviates from the
programmed path during the retardation and also because during emergency
stop it is not possible to compensate for delays in the dispensing equipment.
This sometimes results in too much material in the stop position.
To avoid this problem, safeguarded stops can be configured smooth by using
the function “delayed safeguarded space stop”, which gives a smooth stop on
the path in these cases.

- The possibility to move the robot backwards on the path is limited to the current
segment and two older segments. After a quick stop it is normally only possible
to go backwards on the current segment.

- It is not possible to restart current bead if a Power Failure occurs during the dis-
pensing process. After Power On an error text is written on the display. The
process is restarted in the next Disp\On instruction.

DispenseWare 25
DispL/DispC DispenseWare

3.12 Customizing
The DispenseWare package provides opportunities for the user to customise the func-
tionality to adapt to different types of dispensing equipment:

- by user defined data and routines which affect the internal behaviour in DispL/
DispC. (See Predefined Data and Programs - System Module DPUSER).
- by changing the I/O configuration. (See System Parameters - Dispensing).

However, the main subject of this instruction description is the default setup.

3.13 Syntax
DispL
[[‘\’On ’,’]|[‘\’Off ’,’]]
[ToPoint‘:=’]<expression (IN) of robtarget>‘,’
[Speed‘:=’]<expression (IN) of speeddata>’,’
[Bead‘:=’]<persistent (PERS) of beaddata>
[ ’\’D’:=’<expression (IN) of num >]’,’
[Zone‘:=’]<expression (IN) of zonedata>’,’
[Tool‘:=’]<persistent (PERS) of tooldata>
[’\’WObj’:=’]<persistent (PERS) of wobjdata>]
[’\’Corr]’;’

DispC
[[‘\’On ’,’]|[‘\’Off ’,’]]
[CirPoint‘:=’]<expression (IN) of robtarget>‘,’
[ToPoint‘:=’]<expression (IN) of robtarget>‘,’
[Speed‘:=’]<expression (IN) of speeddata>’,’
[Bead‘:=’]<persistent (PERS) of beaddata>
[ ’\’D’:=’<expression (IN) of num >]’,’
[Zone‘:=’]<expression (IN) of zonedata>’,’
[Tool‘:=’]<persistent (PERS) of tooldata>
[’\’WObj’:=’]<persistent (PERS) of wobjdata>]
[’\’Corr]’;’

26 DispenseWare
DispenseWare DispL/DispC

3.14 Related information


Described in:
Definition of velocity Data types - speeddata
Definition of zone data Data types - zonedata
Definition of tool Data types - tooldata
Definition of work objects Data types - wobjdata
Definition of beaddata Data types - beaddata
Definition of equipdata Data types - equipdata
Customizing the functionality Customizing DispenseWare
System module DPUSER Predefined data and programs -
System Module DPUSER
I/O configuration System parameters - DispenseWare
Motion in general Motion and I/O Principles
Other positioning instructions RAPID Summary - Motion

DispenseWare 27
DispL/DispC DispenseWare

28 DispenseWare
DispenseWare beaddata Dispensing Bead Data

4 beaddata Dispensing Bead Data


Beaddata is used to hold bead specific data. This is the dispensing data which deter-
mines the appearance of the bead and which normally varies between different beads.

4.1 Description
Beaddata is used in DispL and DispC instructions and has the following default con-
tents:

Information string (80 char).


Flow rates for flow1 and flow2.
Flow types for flow1 and flow2.
Equipment number.
Gun number (if multiple guns are used).

4.2 Components
info (data information) Data type: string

String for external use, max. 80 characters.

flow1 (flow rate) Data type: num

Flow rate for the flow1 signal. Normal values: 0-100

flow2 (flow rate) Data type: num

Flow rate for the flow2 signal. Normal values: 0-100

fl1_type (type of flow1) Data type: num

Flow control type for flow1. Permitted values:

0 - Flow1 signal not used


1 - Fixed
2 - Speed proportional

fl2_type (type of flow2) Data type: num

Flow control type for flow2. Permitted values:

0 - Flow2 signal not used


1 - Fixed
2 - Speed proportional

DispenseWare 29
beaddata Dispensing Bead Data DispenseWare

equip_no (equipment number) Data type: num

Used equipment for this bead. Permitted values: 1-4

gun_no (gun number) Data type: num

Gun selection. Permitted values:

0- No on/off signal is activated

1- Gun 1 is activated (single gun)

> 1 - Selected guns when multiple guns are used:


e.g. 135 -> guns 1, 3, and 5 are activated.

Max 5 guns can be activated (gun_no = 12345).

4.3 Limitations
Max number of guns for each piece of equipment when multiple guns are used: 5

Max number of pieces of equipment: 4

It is not possible to change equipment number or flow control type within the same
sequence of dispense instructions (from Disp\On to Disp\Off).

4.4 Predefined data


PERS beaddata bead1 := [“ “,100,100,2,2,1,1];

Defined in module DPUSER.

The predefined data bead1 defines flow rate 100 for flow1 and flow2 both of type 2,
i.e. speed proportional flows are used. Only one gun is activated. Equipment number 1
is used. This equipment is defined in equipment data number 1 in the array equipd in
DPUSER.

Bead1 is used as default in the first programmed DispL or DispC instruction.

4.5 Customizing
The DispenseWare package provides opportunities for the user to customise the func-
tionality to adapt to different types of dispensing equipment. It is possible to delete
components for this data type, if they are not used. It is also possible to give the com-
ponents own user defined names.

However, the main subject of this description is the default setup.

For further details, see Customizing DispenseWare.

30 DispenseWare
DispenseWare beaddata Dispensing Bead Data

4.6 Default structure


< dataobject of beaddata>
<info of string>
<flow1 of num>
<flow2 of num>
<fl1_type of num>
<fl2_type of num>
<equip_no of num>
<gun_no of num>

4.7 Related information


Described in:
Dispensing instructions Instructions - DispL / DispC
Definition of equipdata Data types - equipdata
Customizing the functionality Customizing DispenseWare
System module DPUSER Predefined data and programs -
System Module DPUSER

DispenseWare 31
beaddata Dispensing Bead Data DispenseWare

32 DispenseWare
DispenseWare equipdata Dispensing Equipment Data

5 equipdata Dispensing Equipment Data


Equipdata is used to hold equipment specific data. This is dispensing data which does
not normally vary between different beads.

Equipdata for each piece of equipment used is stored in the array equipd in the system
module DPUSER.

5.1 Description
Equipdata has the following default contents:

- Information string (80 char).


- Reference speed for the scale calculations.
- Anticipated times for the digital (gun on and off) signals.
- Anticipated times for the analog flow signals.
- Equipment delay compensation.
- Flow rate correction factor.

5.2 Components
info (data information) Data type: string

String for external use, max. 80 characters.

on_time (gun on anticipate) Data type: num

Time in seconds needed for the gun to open.

off_time (gun off anticipate) Data type: num

Time in seconds needed for the gun to close.

ref_speed (reference speed) Data type: num

Reference speed in mm/s. Normally 10 - 20% more than the max. dispensing
speed used for the equipment in question. Is used in the scale calculation for
speed proportional signals. This value must be > 0.

DispenseWare 33
equipdata Dispensing Equipment Data DispenseWare

fl1_on_time (flow1 on anticipate) Data type: num

Anticipated time in seconds for the activation of the flow1 signal when the dis-
pensing instruction is programmed with the \On argument.

fl1_off_time (flow1 off anticipate) Data type: num

Anticipated time in seconds for the deactivation of the flow1 signal when the dis-
pensing instruction is programmed with the \Off argument.

fl1_inc_time (flow1 increase anticipate) Data type: num

Anticipated time in seconds for increasing the flow1 signal at positions where the
bead is changed to another (i.e. time needed to change the flow from one specific
value to another).

fl1_dec_time (flow1 decrease anticipate) Data type: num

Anticipated time in seconds for decreasing the flow1 signal at positions where the
bead is changed to another (i.e. time needed to change the flow from one specific
value to another).

fl1_delay (equipment delay) Data type: num

Time in seconds to compensate the flow1 signal for the lag in the dispensing
equipment when the TCP speed dips, e.g. at corners.

fl1_corr (flow1 correction) Data type: num

Flow rate correction factor used in the scale calculations for flow1.
Normal value: 100 (%)

fl2_on_time (flow2 on anticipate) Data type: num

Anticipated time in seconds for the activation of the flow2 signal when the dis-
pensing instruction is programmed with the \On argument.

34 DispenseWare
DispenseWare equipdata Dispensing Equipment Data

fl2_off_time (flow2 off anticipate) Data type: num

Anticipated time in seconds for the deactivation of the flow2 signal when the dis-
pensing instruction is programmed with the \Off argument.

fl2_inc_time (flow2 increase anticipate) Data type: num

Anticipated time in seconds for increasing the flow2 signal at positions where the
bead is changed to another (i.e. time needed to change the flow from one specific
value to another).

fl2_dec_time (flow2 decrease anticipate) Data type: num

Anticipated time in seconds for decreasing the flow2 signal at positions where
the bead is changed to another (i.e. time needed to change the flow from one spe-
cific value to another).

fl2_delay (equipment delay) Data type: num

Time in seconds to compensate the flow2 signal for the lag in the dispensing
equipment when the TCP speed dips, e.g. at corners.

fl2_corr (flow2 correction) Data type: num

Flow rate correction factor used in the scale calculations for flow2.
Normal value: 100 (%)

DispenseWare 35
equipdata Dispensing Equipment Data DispenseWare

5.3 Time component description

DispL\On DispL DispL DispL\Off

p1 p2 p3 p4

On/Off
on_time off_time

Analog 1
fl1_on_time fl1_inc_time fl1_dec_time fl1_off_time

Analog 2 fl2_off_time
fl2_on_time fl2_inc_time fl2_dec_time

TCP speed

Analog 1

fl1_delay
Analog 2

fl2_delay

36 DispenseWare
DispenseWare equipdata Dispensing Equipment Data

5.4 Limitations
Max equipment delay compensation (fl1_delay and fl2_delay) is 0.5 seconds but to get
a larger compensation than 56 ms the system parameter EventPresetTime must be
increased to a corresponding level. Max EventPresetTime is 0.5 s. A run time error is
generated if the EventPresetTime is too small.

Normally all time components have positive values but it is also possible to use nega-
tive values for the time components except for the fl1_delay and fl2_delay. For the neg-
ative values, the minimum limit is set to -100 ms.
If a time component value is larger than the time needed for the robot to move from the
previous position to the current, the action is activated when passing the previous posi-
tion.

5.5 Recommendations for best accuracy


As described above, it is necessary to change the EventPresetTime when large equip-
ment delays are compensated. This system parameter also influences the accuracy
when the analog flow signals are activated, changed, or deactivated.

To get the best accuracy, e.g. when high process speeds are used or many accelerations
and retardations, it is necessary to set up the EventPresetTime.
Recommended value: 150 ms.
If some time components are larger than 56 ms, set the EventPresetTime to the largest
time component value + 90 ms.

5.6 Predefined data


PERS equipdata equipd{4} :=

[[“ “,0,0,1000,0,0,0,0,0,100,0,0,0,0,0,100]
[“ “,0,0,1000,0,0,0,0,0,100,0,0,0,0,0,100]
[“ “,0,0,1000,0,0,0,0,0,100,0,0,0,0,0,100]
[“ “,0,0,1000,0,0,0,0,0,100,0,0,0,0,0,100]];

This array of equipdata is predefined in the module DPUSER but the data components
are intended to be changed by the user to define the actual equipment.

DispenseWare 37
equipdata Dispensing Equipment Data DispenseWare

5.7 Customizing
The DispenseWare package provides opportunities for the user to customise the func-
tionality to adapt to different types of dispensing equipment. It is possible to delete data
types for this data type, if they are not used. It is also possible to give the components
own user defined names.

However, the main subject of this description is the default setup.

For further details, see Customizing DispenseWare.

5.8 Default structure


< dataobject of equipdata>
<info of string>
<on_time of num>
<off_time of num>
<ref_speed of num>
<fl1_on_time of num>
<fl1_off_time of num>
<fl1_inc_time of num>
<fl1_dec_time of num>
<fl1_delay of num>
<fl1_corr of num>
<fl2_on_time of num>
<fl2_off_time of num>
<fl2_inc_time of num>
<fl2_dec_time of num>
<fl2_delay of num>
<fl2_corr of num>

5.9 Related information


Described in:
Dispensing instructions Instructions - DispL / DispC
Definition of beaddata Data types - beaddata
Customizing the functionality Customizing DispenseWare

System module DPUSER Predefined data and programs -


System Module DPUSER

38 DispenseWare
DispenseWare System Module DPUSER

6 System Module DPUSER


The system module DPUSER contains data and routines for the purpose of customiz-
ing the behaviour of the DispenseWare application.

6.1 Contents

Data types

The following data types are predefined in DPUSER. This is the default structure of
the data types. It is possible to reduce the data types by deleting data components that
are not used and it is also possible to change the names of the components.

N.B. If the definition of the data types are changed, the routine dp_set_int_data must
also be changed. See Routines.

Name Declaration Description

beaddata RECORD beaddata See beaddata description


string info;
num flow1;
num flow2;
num flow1_type;
num flow2_type;
num equip_no;
num gun_no;
ENDRECORD
equipdata RECORD equipdata See equipdata description
string info;
num on_time;
num off_time;
num ref_speed;
num flow1_on_time;
num flow1_off_time;
num flow1_inc_time;
num flow1_dec_time;
num flow1_delay;
num flow1_corr;
num flow2_on_time;
num flow2_off_time;
num flow2_inc_time;
num flow2_dec_time;
num flow2_delay;
num flow2_corr;
ENDRECORD

DispenseWare 39
System Module DPUSER DispenseWare

Data

The following global data are predefined in DPUSER. The names of the described data
are predefined and used internally when a DispL or DispC instruction is used. The
names must therefore not be changed.

Name Declaration Description

dp_fl1_corr CONST num dp_fl1_corr := 100 Global override for flow1 signal
Range: 0-200%
dp_fl2_corr CONST num dp_fl2_corr := 100 Global override for flow2 signal
Range: 0-200%
dp_dry CONST bool dp_dry := FALSE Used for test in dry mode.
If TRUE: No dispense signals are
activated.
bead1 PERS beaddata bead1 := [““,100,100,2,2,1,1]; Predefined beaddata with default
values. Used as default in the first
programmed DispL (or DispC)
instruction.
equipd PERS equipdata equipd{4} := Predefined array of equipdata
[[“ “,0,0,1000,0,0,0,0,0,100,0,0,0,0,0,100] with equipdata for equipment 1 -
[“ “,0,0,1000,0,0,0,0,0,100,0,0,0,0,0,100] 4. Used when DispL/DispC
[“ “,0,0,1000,0,0,0,0,0,100,0,0,0,0,0,100] instructions are executed.
[“ “,0,0,1000,0,0,0,0,0,100,0,0,0,0,0,100];

40 DispenseWare
DispenseWare System Module DPUSER

Data for the Dispense Restart function:

Name Declaration Description

dp_restart_type CONST num dp_restart_type := 0 Selected restart type


0: Restart is disconnected.
1: Restart with queries
2: Restart in a no query mode.
dp_rest_on_time CONST num dp_rest_on_time := 0 Time (s) before start of motion when the
digital gun signals are activated at proc-
ess restart. Negative values can also be
used.
dp_rest_fl_time CONST num dp_rest_fl_time := 0.5 Time (s) before start of motion when the
analog gun signals are activated at proc-
ess restart.
dp_rest_flow1 CONST num dp_rest_flow1 := 50; Preflow value for the analog gun signal
1when the signal is proportional to the
TCP speed and activated before the start
of motion. Range 0 - 100%
dp_rest_flow2 CONST num dp_rest_flow2 := 50; Preflow value for the analog gun signal
2 when the signal is proportional to the
TCP speed and activated before the start
of motion. Range 0 - 100%
dp_stop_bwddist CONST num dp_stop_bwddist := 0; Backwards on the path distance (mm)
after program stop.
dp_qstop_bwddist CONST num dp_qstop_bwddist := 0; Backwards on the path distance (mm)
after quick stop.
dp_bwd_key CONST num dp_bwd_key := 0; Key number, if a programmable key is
used for the backward function when
restart type 1 is active.
0: No key is used.
1-5: Key number.
dp_bwd_speed CONST num dp_bwd_speed := 20; Speed (mm/s) used for the bwd on the
path function. Range: 0 - 20

DispenseWare 41
System Module DPUSER DispenseWare

Routines

There are some predefined routines installed with the application. They are all called
from the system and the names must therefore not be changed. Some of the routines
have no default functionality:

IO setup routine:

PROC dp_init_signals
This routine is used to connect user defined signal names to names used internally. It is
automatically called from the Start event routine.
The routine must be changed when signal names for signals used internally are
changed.

Data setup routine:

PROC dp_set_int_data
This routine is used to connect user defined data component names to names used inter-
nally. The routine is called when a DispL or DispC instruction is executed.
The routine must be changed if the definition of the dispensing data types is changed.

Flow calculation routines:

FUNC dp_calcf1_type1

This routine is used to calculate the flow1 logical value when flow type = 1.

FUNC dp_calcf1_type2

This routine is used to calculate the flow1 logical value when flow type = 2.

FUNC dp_calcf2_type1

This routine is used to calculate the flow2 logical value when flow type = 1.

FUNC dp_calcf2_type2

This routine is used to calculate the flow2 logical value when flow type = 2.

42 DispenseWare
DispenseWare System Module DPUSER

User event routines:

PROC dp_err_actions

This routine is executed when an error detected by the DispenseWare occurs.

PROC dp_predisp_actions

This routine is executed when the dispense phase is started. (When the digital gun sig-
nal is activated in a Disp \On instruction).

PROC dp_postdisp_actions

This routine is executed when the dispense phase is ended. (When the digital gun sig-
nal is deactivated in a Disp \Off instruction).

PROC dp_power_on

This routine is executed each time the system is switched on.

PROC dp_start

The routine is executed each time the execution of a program is started from the begin-
ning. (From Main)

PROC dp_restart

The routine is executed each time the execution of a stopped program is continued.

PROC dp_restart_proc

The routine is executed during restart of an interrupted dispense sequence, just before
the process signals are activated.

DispenseWare 43
System Module DPUSER DispenseWare

PROC dp_stop

This routine is executed when a normal stop is performed during program execution.

PROC dp_qstop

This routine is executed when an emergency stop is performed during program execu-
tion.

N.B. The routines dp_predisp_actions and dp_postdisp_actions and the flow calcula-
tion routines are executed during the motion phase. If there is too much time consuming
code in these routines, the maximum possible dispensing speed will be reduced.

44 DispenseWare
DispenseWare System Parameters DispenseWare

7 System Parameters DispenseWare


The digital and analog signals used for DispenseWare are configured in the System
Parameters.

• Choose Topics: I/O Signals


• Choose Types: User Signals

See System Parameters.

7.1 I/O Configuration


The DispenseWare package can be configured to suit different types of equipment.
This chapter describes the default defined signals used by DispenseWare and their
dependency on the equipment. This signal configuration is enough for running the
default version of the DispenseWare package.

7.2 Default defined signals


There is one predefined board, a simulated board named DP_SIMBOARD (type
eip000). The default defined signals are connected to this board. The signals in use
must be connected to the desired physical signals.

In this default version all the signals needed for four pieces of equipment are prede-
fined. If other signal names are required it is possible to change the names. If signal
names used internally are changed, the corresponding connection description in the
routine dp_init_outputs must also be changed. (See Predefined data and programs -
System module DPUSER)

Output signals controlling dispensing equipment 1:

doEqu1Gun1 digital output 1 Signal to open gun 1 when the signal is set, or to
close the gun when the signal is reset.

doEqu1Gun2 digital output 2 Signal to open gun 2 (if used) when the signal is
set, or to close the gun when the signal is reset.

doEqu1Gun3 digital output 3 Signal to open gun 3 (if used) when the signal is
set, or to close the gun when the signal is reset.

doEqu1Gun4 digital output 4 Signal to open gun 4 (if used) when the signal is
set, or to close the gun when the signal is reset.

doEqu1Gun5 digital output 5 Signal to open gun 5 (if used) when the signal is
set, or to close the gun when the signal is reset.

DispenseWare 45
System Parameters DispenseWare DispenseWare

goEqu1Guns output 1-5 Group used to activate the digital gun signals for
equipment 1. Internally activated. This output
group must be connected to the physical signals for
guns 1 - 5.

aoEqu1F1 analog output 1 Signal for setting the value of flow1. Internally
activated.

aoEqu1F2 analog output 2 Signal for setting the value of flow2. Internally
activated.

Output signals controlling dispensing equipment 2-4:

doEqu2Gun1 digital output 6 Signal to open gun 1 when the signal is set, or to
close the gun when the signal is reset.

doEqu2Gun2 digital output 7 Signal to open gun 2 (if used) when the signal is
set, or to close the gun when the signal is reset.

doEqu2Gun3 digital output 8 Signal to open gun 3 (if used) when the signal is
set, or to close the gun when the signal is reset.

doEqu2Gun4 digital output 9 Signal to open gun 4 (if used) when the signal is
set, or to close the gun when the signal is reset.

doEqu2Gun5 digital output 10 Signal to open gun 5 (if used) when the signal is
set, or to close the gun when the signal is reset.

goEqu2Guns output 6-10 Group with the digital gun signals for equipment 2.
Internally activated. This output group must be
connected to the physical signals for guns 1 - 5.

aoEqu2F1 analog output 3 Signal for setting the value of flow1. Internally
activated.

aoEqu2F2 analog output 4 Signal for setting the value of flow2. Internally
activated.

doEqu3Gun1 digital output 6 Signal to open gun 1 when the signal is set, or to
close the gun when the signal is reset.

46 DispenseWare
DispenseWare System Parameters DispenseWare

Error signals

doDPErr digital output 11 This signal is activated when an internal Dispense-


Ware error is generated. Internally activated.

doDPOvrSpd digital output 12 A high signal indicates that the calculated value for
one analog output signal exceeds the logical max-
imum value. Internally activated.

Other signals

doDPActive digital output 13 A high signal indicates that the dispensing process
is active. Internally activated and used.

doBwdOnPath digital output 14 Used for the bwd on path function, if restart type 1
is activated and dp_bwd_key > 0. This signal is
cross connected to the digital input diBwdOnPath.

diBwdOnPath digital input 1 Used for the bwd on path function, if restart type 1
is activated and dp_bwd_key > 0. Used internally.

7.3 Analog output scaling


The analog output signals above are defined with the following default values:

Logical Min: 0

Logical Max: 1000

Physical Min: 0V

Physical Max: 10 V

Normally, the user only needs to adapt the Physical Min and Max to the equipment in
use. See Calculation of the glue flow values in RAPID Reference Manual, Instructions
- DispL/DispC.

DispenseWare 47
System Parameters DispenseWare DispenseWare

48 DispenseWare
DispenseWare Customizing DispenseWare

8 Customizing DispenseWare
The DispenseWare package provides opportunities to customise the functionality to
adapt to different types of dispensing equipment. One of the purposes of this custom-
izing process is to minimise the amount of data and number of variables presented to
the operator.

8.1 The customizing process

DispenseWare Option
Customizing files

System module DPUSER


Data

UDDT Routines

System module DPTEXT


Data

eio
dpeio.cfg

Figur 7 Files aimed for customizing.

The customizing is done by changing the following modules and configuration files:

DPUSER

Global data and routines affecting the entire program (see RAPID Reference Manual,
Predefined Programs and Data.)

The module also contains the definition of the dispensing data types.

DPTEXT

Module containing text strings. In the default version there are only text strings for the
error handling in the dispense kernel.

DispenseWare 49
Customizing DispenseWare DispenseWare

I/O configuration

Default dispensing outputs for four pieces of equipment are defined but all signals are
connected to a simulated board. The glue outputs used must be connected to physical
signals. Signals not used must remain on the simulated board (see System Parameters).

8.2 Example of customizing possibilities


(See also Predefined Data and Programs - System Module DPUSER)

- Adapt the number of data components in beaddata and equipdata to the dispens-
ing equipment in use. (This depends on e.g. the number of guns used and the
number of analog signals used.)
- Adapt the names of the data components in beaddata and equipdata to the dis-
pensing equipment in use.
- Define the used IO signals. It is also possible to have user defined names for
signals used internally.
- Add functionality in user routines (hooks) which are called from the kernel.
- Create service routines for Manual Functions (e.g. Move to Purge, Move to
Home, Purge, Reload ...). These functions are then available from the menu
Special in the Program Window.
- Create other equipment specific Programming instructions (e.g. Reload).
- Add equipment specific error handling.

50 DispenseWare
DispenseWare Customizing DispenseWare

8.3 Packaging the result from the customizing process


After customizing, it is a good idea to create a new option disk for each specific type
of dispensing equipment.

Customizing files adapted


for one type of equipment
System module DPUSER
Data

UDDT Routines

System module DPTEXT


Data

eio
dpeio.cfg

Figur 8 An option disk with the equipment specific DispenseWare files.

If several types of dispensing equipment are used, it is also possible to create one
option disk for all the types of equipment used. During the boot sequence the user is
then given an opportunity of picking the desired variant from a list on the teach pen-
dant.

See example in the following figure:

Select desired Equipment Type:


1 - Pressure Regulator
2 - Shot meter
3 - Gear meter
4 - Pressure Regulator with multiple guns
5 - More...

1 2 3 4 5

Figur 9 Equipment type selection example.

DispenseWare 51
Customizing DispenseWare DispenseWare

52 DispenseWare

You might also like