Dispware
Dispware
Dispware
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
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 3
DispenseWare DispenseWare
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.
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
DispenseWare 5
Programming DispenseWare DispenseWare
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.
• 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.
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.
• It is recommended that a beaddata is defined for each bead type used and then stored
in DPUSER before the instruction sequence is programmed.
6 DispenseWare
DispenseWare Programming DispenseWare
Limitations
One equipment is controlled by 1-5 gun on/off signals and 1-2 analog flow signals.
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
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
8 DispenseWare
DispenseWare Programming DispenseWare
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.
DispenseWare 9
Programming DispenseWare DispenseWare
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
bead5
info = “width 5mm”
flow1 = 80
flow2 = 40
flow1_type = 2
flow2_type = 2
equip_no = 1
gun_no = 1
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
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
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
• 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.
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.
• 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
12 DispenseWare
DispenseWare Programming DispenseWare
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.
MoveJ
p3
xx
xx
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.
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.
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).
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).
The speed data that applies to movements. Speed data defines the velocity for the
tool centre point, the tool reorientation, and external axes.
Bead specific data, e.g. the flow rates and flow types.
16 DispenseWare
DispenseWare DispL/DispC
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 for the movement. Zone data describes the size of the generated corner
path.
The tool in use when the robot moves. The tool centre point is the point moved
to the specified destination position.
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.
DispenseWare 17
DispL/DispC DispenseWare
18 DispenseWare
DispenseWare DispL/DispC
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
Default: 100
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:
or
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.
MoveJ
p1
xx
p2 p3
Pre-actions
bead1 DispL\Off
bead2
Direction of movement
20 DispenseWare
DispenseWare DispL/DispC
3.7 Example 3
In this example DispC is used:
MoveJ
bead1
xx
p4
xx
xx
DispenseWare 21
DispL/DispC DispenseWare
Forwards
Backwards
The gun is closed and the motion is performed backwards without dispensing.
Error actions:
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
Restart type 1:
Restart type 2:
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 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.
- 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.
- 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
DispenseWare 27
DispL/DispC DispenseWare
28 DispenseWare
DispenseWare beaddata Dispensing Bead Data
4.1 Description
Beaddata is used in DispL and DispC instructions and has the following default con-
tents:
4.2 Components
info (data information) Data type: string
DispenseWare 29
beaddata Dispensing Bead Data DispenseWare
4.3 Limitations
Max number of guns for each piece of equipment when multiple guns are used: 5
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).
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.
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.
30 DispenseWare
DispenseWare beaddata Dispensing Bead Data
DispenseWare 31
beaddata Dispensing Bead Data DispenseWare
32 DispenseWare
DispenseWare equipdata Dispensing Equipment Data
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:
5.2 Components
info (data information) Data type: string
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
Anticipated time in seconds for the activation of the flow1 signal when the dis-
pensing instruction is programmed with the \On argument.
Anticipated time in seconds for the deactivation of the flow1 signal when the dis-
pensing instruction is programmed with the \Off argument.
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).
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).
Time in seconds to compensate the flow1 signal for the lag in the dispensing
equipment when the TCP speed dips, e.g. at corners.
Flow rate correction factor used in the scale calculations for flow1.
Normal value: 100 (%)
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
Anticipated time in seconds for the deactivation of the flow2 signal when the dis-
pensing instruction is programmed with the \Off argument.
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).
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).
Time in seconds to compensate the flow2 signal for the lag in the dispensing
equipment when the TCP speed dips, e.g. at corners.
Flow rate correction factor used in the scale calculations for flow2.
Normal value: 100 (%)
DispenseWare 35
equipdata Dispensing Equipment Data DispenseWare
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.
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.
[[“ “,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.
38 DispenseWare
DispenseWare System Module DPUSER
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.
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.
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
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.
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.
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
PROC dp_err_actions
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
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
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)
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.
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
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.
Logical Min: 0
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.
DispenseWare Option
Customizing files
UDDT Routines
eio
dpeio.cfg
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).
- 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
UDDT Routines
eio
dpeio.cfg
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.
1 2 3 4 5
DispenseWare 51
Customizing DispenseWare DispenseWare
52 DispenseWare