LB GL 0 SW - c5gp - en
LB GL 0 SW - c5gp - en
LB GL 0 SW - c5gp - en
SmartGlue Application
Software
C5GPlus Control Unit
CR00758194_en-04/2020.10
Instructions handbook
The information contained in this manual is the property of COMAU S.p.A.
Reproduction of text and illustrations is not permitted without prior written approval by COMAU S.p.A.
COMAU S.p.A. reserves the right to alter product specifications at any time without notice or obligation.
SUMMARY
SUMMARY
PREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
Symbols used in the manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Reference documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Modification History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1
Comau Robotics Product Instruction
SUMMARY
Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
SYSTEM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
SYSTEM X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
SYSTEM X HI LEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
DOSER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
DOSER X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
DOSER X HI LEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
PUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
VISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
GlueUninstall Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Application integration in the system environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Alarm Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Errors Cause & Remedy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
From TP5 Teach Pendant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
From WinCRC on Personal Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Display Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
DATA Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
GLUE BEAD table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
GLUE BEAD table for MODAL configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
GLUE BEAD table for NODAL configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Integration with IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Entering technological instructions in NODAL systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5. PROGRAMMING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..50
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Technological instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
General routines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Glue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
glue_init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
glue_prepara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
glue_prepara_set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
glue_prepara_check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
glue_opengun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
glue_switchpara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
glue_closegun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
glue_end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
glue_trace_on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
glue_trace_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
glue_result_ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
glue_system_reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
glue_purge_drop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
vision_prepara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
vision_end. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
vision_trace_on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
vision_trace_off. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
vision_switchpara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
vision_trigger_on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
vision_trigger_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
vision_custom_check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
2
Comau Robotics Product Instruction
SUMMARY
VisionBeadRepairReq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
VisionBeadRepairSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
vision_result_ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
vision_system_reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
Felt station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
feltstation_take_felt_set_feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
feltstation_take_felt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
feltstation_preimp_felt_start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
feltstation_preimp_felt_end. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
feltstation_cleaning_start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
feltstation_cleaning_stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
feltstation_turn_felt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
feltstation_throwing_off_felt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Docking station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
GlueMeterInRefill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
GlueOpenRefillClamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
GlueCloseRefillClamp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
Use of General Routines - sample programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Example of using glue routines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Example of using multi-drop routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Real example of using glue routines and vision controlled by doser opening/closing . . .70
Real example of using glue routines and vision controlled by a routine . . . . . . . . . . . . . .72
Example of using glue routines (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Example of using glue refill docking routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
Service routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
glue_fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
glue_fill_wait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
glue_purge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
General routines for NODAL system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Glue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
GlueOn (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Glue (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
GlueOff (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
GlueCh (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
GluePreProc (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
GluePostProc (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
GlueResultOK (NODAL system). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
GluePosOffsetZ (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
GlueDrop (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
GlueSystemReset (NODAL system). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
GlueTraceOn (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
GlueTraceOff (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
VisionPreProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
VisionPostProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
VisionResultOk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
VisionSystemReset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
VisionCustomCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
VisionShowFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
VisionTraceOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
VisionTraceOff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
VisionBeadRepairReq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
VisionBeadRepairSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
3
Comau Robotics Product Instruction
SUMMARY
Example of using glue routines and vision controlled by doser open/close (NODAL system)
.90
Service routines for NODAL system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
GlueFill (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
GluePurge (NODAL system) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
General routines - new syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Glue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
GluePreProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
GlueOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
GlueClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
GlueSwitchPara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
GluePostProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
GlueResultOk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
GlueSystemReset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
GlueDrop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
GlueMultiGun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
GlueSetSimMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
GlueSetToolOffsetZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
GlueSetToolOffsetZBead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
GlueTraceOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
GlueTraceOff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
VisionPreProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
VisionPostProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
VisionTriggerOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
VisionTriggerOff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
VisionResultOK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
VisionSystemReset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
VisionCustomCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
VisionShowFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
VisionTraceOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
VisionTraceOff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Usage examples - new syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Example of using glue routines - new syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Example of using multidrop routine – new syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Example of using glue routines and vision controlled by doser open/close – new syntax .
.105
Example of using glue routines and vision controlled by routines – new syntax . . . . . .106
Service routines - new syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
GlueWakeUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
GluePurgeRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
GluePurge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
GluePurge2k. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
GluePurgeDrop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
GlueSetPurgePos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
Handling RESET key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
glru_tp_reset_in_remote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Cosmetic Sealer application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Use of System Shared Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4
Comau Robotics Product Instruction
6. CUSTOMIZATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...115
Configuration I/O towards PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5
Comau Robotics Product Instruction
PREFACE
PREFACE
– Symbols used in the manual
– Reference documents
– Modification History.
This symbol indicates operating procedures, technical information and precautions that
if not observed and/or performed correctly could cause injuries to the personnel.
This symbol indicates operating procedures, technical information and precautions that
if not observed and/or performed correctly could cause damage to the equipment.
This symbol indicates operating procedures, technical information and precautions that
are to be underlined.
6
Comau Robotics Product Instruction
PREFACE
Reference documents
This document concerns the application Sealing system.
The complete set of Sealing system manuals consists of:
7
Comau Robotics Product Instruction
PREFACE
Modification History
– In 01/2018.12 version, compared to previous 00/2018.06 one, the following
modifications have been made:
• Canceled routines
• glue_drop
• glue_set_sim_mode
• glue_pre_proc
• glue_post_proc
• glue_open
• glue_close
• glue_fix_purge_wait
• glue_fix_purge
• Added GlueSystemReset (NODAL system) routine
• Added new paragraphs
• Vision and Example of using glue routines and vision controlled by doser
open/close (NODAL system) in par. 5.2.3 General routines for NODAL
system on page 78
• General routines - new syntax with Glue, Vision and Usage examples -
new syntax subparagraphs
• Service routines - new syntax.
• Updated GlueSetup Page parameters.
– In 02/2019.12 version, compared to previous 01/2018.12 one, the following
modifications have been made:
• added Description of the anticipation conditions:
• Distance HALFFLY
• Time HALFFLY
• added description of $LIN_SPD setting - par. Setting $LIN_SPD predefined
variable on page 35
– In 03/2020.09 manual version, the following modifications have been inserted:
• par. 5.5 Use of System Shared Resources on page 112 has been modified
accordingly to all the other applications software manuals.
– In 04/2020.10 manual version, the following modifications have been inserted:
• the new par. 5.2.1.4 Docking station on page 67, has been created to
describe the routines related to the refill docking station.
8
Comau Robotics Product Instruction
This chapter deals with general specifications that apply to the whole Robot System.
Considering its importance, this chapter is referred to unconditionally in every instruction
handbook of the system.
9
Comau Robotics Product Instruction
10
Comau Robotics Product Instruction
– Connect the Robot to the ground through the Control Unit or specific terminals,
according to the prearrangements present on Robot and/or Control Unit.
– Where provided, check that the Control Unit door/s is/are closed with the
appropriate key.
– A wrong connection of the connectors may cause permanent damage to the
Control Unit components.
– The Control Unit manages internally the main safety interlocks (gates, enabling
push-buttons, etc.). Connect the Control Unit safety interlocks to the line safety
circuits, taking care to connect them as required by the Safety Standards. The
safety of the interlock signals coming from the transfer line (emergency stop, safety
fences etc.), i.e. the making of correct and safe circuits, is the responsibility of the
Robot and Control System integrator.
In the cell/line emergency stop circuit it is necessary to include the contacts of the
emergency stop push-buttons of the Control Unit available on the appropriate connector
(for details, refer to the electrical circuit diagrams and the specific Instruction Handbooks
according to the Unit Control model). The push-buttons are not interlocked inside the
emergency stop circuit of the Control Unit.
Setting the emergency stop in category 0 can result in mechanical damages to the tools
and loss of load if they are not properly designed.
– When preparing protection barriers (when required), especially for light curtains
and access doors, take into consideration the Robot stopping times and distances
according to the stop category (according to IEC 60204-1) and the weight of the
Robot.
The stop circuit timer is normally set to 1.5 seconds. This parameter can be changed if
heavy-duty implements (e.g. rotary tables, positioners, etc.) are matched with the Robot.
The stop circuit timer can be modified by changing its setting within the control logic of
the Control Unit safety aspects. For further details, refer to the paragraph “Safety stop
circuit timer” in the Control Unit Instruction Handbooks.
– Check that the environmental and operating conditions do not exceed the limits
specified in the specific Instruction Handbooks.
– The calibration operations must be carried out with utmost attention, as indicated
in the Instruction Handbooks of the specific product, and must be concluded by
checking the correct position of the machine.
– To load or update the system software (for example after boards replacing), use
only the original software handed over by COMAU. Scrupulously follow the system
software loading procedure described in the Instruction Handbooks supplied with
11
Comau Robotics Product Instruction
the specific product. After loading, always make some Robot motion tests at low
speed remaining outside the Robot action radius.
– Check that the barriers of the Protected Zone (when present) are correctly
positioned.
12
Comau Robotics Product Instruction
The integrator is responsible for the correct integration of the collaborative Robot in the
complete cell/machine.
Before using manual brake releasing devices, it is recommended to sling the Robot, or
hook it to an overhead traveling crane.
– The brake releasing operation can generate crash risks caused by:
13
Comau Robotics Product Instruction
Where required, the replaced safety components must be configured with the same
parameters as those removed.
14
Comau Robotics Product Instruction
– If necessary, during troubleshooting, intervene with the Control Unit powered; all
the precautions specified by Safety Standards must be observed when operating
in presence of dangerous voltages.
– At the end of the maintenance and troubleshooting operations, all the deactivated
safety devices must be reset (panels, protection shields, interlocks, etc.).
– The maintenance, repair and troubleshooting intervention must be completed by
verifying the correct operation of the Robotic system (Robot and Control Unit) and
all safety devices performed outside the Protected Zone / Collaborative Zone.
– During the software loading phases (for example after replacement of electronic
boards) use only the original software handed over by COMAU. Scrupulously
follow the system software loading procedure described in the specific Instruction
Handbooks; after loading, always run a test cycle, remaining outside the Protected
Zone.
– The disassembly of Robot components (e.g. motors, balancing cylinders, etc.) may
cause uncontrolled movements of the axes in different directions: before starting a
disassembly procedure, refer to the warning plates affixed on the Robot and to the
supplied Instruction Handbooks.
– On Robots equipped with balancing springs, it is forbidden to remove the protection
cover of the springs.
– Where fitted, always restore the protective casing if previously installed.
15
Comau Robotics Product Instruction
– Remove the Robot and the Control Unit from the workspace, taking all the
requirements indicated in the products Instruction Handbooks; if lifting is
necessary, check the eyebolts proper fixing and use only suitable slings and
equipment.
The disposal operations must be carried out in compliance with the legislation in force
in the country where the Robotic system is installed; dispose of the batteries, oils and
other chemical liquids in an environmentally correct way and in accordance with the
regulations in force transferring them to specific waste collection centres.
– Consign the Robot and the Control Unit to a centre responsible for the dismantling
and disposal.
16
Comau Robotics Product Instruction
1.6 Responsibilities
The integrator is responsible for the correct integration of the robotic system or its parts
in accordance with the applicable legislation.
Comau is not responsible for any improper use of the robotic system or its parts.
17
Comau Robotics Product Instruction
2.1 Introduction
This chapter introduces to COMAU Sealant application System, in particular to
SmartGlue application software.
SmartGlue can handle several sealing systems and the most common types of
fieldbuses.
By means of a PC application provided by Comau, the User is allowed to select the
being handled devices and to generate a specific application Software for his/her own
configuration (see par. 3.4 Use of the WinApplicationCreator tool for C5GPlus (WAC) on
page 24 )
The installation procedure automatically and transparently executes some operations.
In particular:
– it copies the needed files onto the Control Unit;
– it makes the application software resident: the application software is loaded into
memory and activated, at each Control Unit restart;
– it autonomously configures all signals towards the devices which are connected to
the fieldbus handled by the robot. At the end of the installation procedure, the
communication is active, from/to all the connected devices;
– it autonomously configures the Input/Output signals towards the devices and
provides a textual description.
SmartGlue application provides a set of Technological instructions for the process
complete handling, ready to be used within the User program. Integrating the process
instructions by means of writing further programming code is not needed. The
Technological Instructions also handle anomalies and recovery situations.
Other features of SmartGlue are as follows:
– a standard profile of signals towards PLC (application inclusion, process activation,
dry-cycle, alarm reset and corresponding state feedbacks towards PLC), common
to all application software, provided by Comau;
– a graphic environment composed by:
• main page providing the most important process state information,
configuration information and Software version, User available informational
area;
• process control keys: the most common functionalities are associated to the
process keys (application inclusion, glueing activation, purging activation,
vision application inclusion) and the corresponding icons are created;
• setup environment: modify and save general settings (not included as
parameters in the Technological Instructions) which control the application
operating mode;
The module(s) name(s) and the related address to set in the network is provided by
WAC tool by means of a PDF file providing an example of how the configuration should
18
Comau Robotics Product Instruction
19
Comau Robotics Product Instruction
INSTALLING / UNINSTALLING
3. INSTALLING / UNINSTALLING
3.1 Introduction
This chapter describes install and uninstall procedures for SmartGlue application.
In particular, the following topics are dealt with:
– System requirements
– Preparation for installation
– Use of the WinApplicationCreator tool for C5GPlus (WAC)
– Installation procedure
– Uninstall procedure
20
Comau Robotics Product Instruction
INSTALLING / UNINSTALLING
3.2.1 Software
Enabling the software option which allows the application software usage, is needed.
Comau code for SmartGlue CR13613060
SmartGlue application software can be used in combination with C5GPlus System
Software, whose version is identified by the first three digits in the application software
version. For example version 310.xx of the application software, requires a system
software version that is equal to or higher than 3.10.xx.
3.2.2 Hardware
The following basic hardware components are needed to use SmartGlue application:
– C5GPlus Robot Control Unit
– one of the following interface modules:
• Devicenet
• Profibus
• Profinet
• Ethernet-IP.
21
Comau Robotics Product Instruction
INSTALLING / UNINSTALLING
NOTE: For the Fieldbus Master network configuration (by means of SYCON.net and
WinCRC), refer to C5GPlus Control Unit Use manual - chap. Project of a Master
Fieldbus network.
22
Comau Robotics Product Instruction
INSTALLING / UNINSTALLING
– such a file is loaded onto the Control Unit during the installation and/or further
update operations of the application, only if a .spb file is not already present on the
Control Unit, in order to avoid user configurations overwriting;
– in case of "hybrid" configuration, where the configured fieldbus modules managed
by COMAU applications coexist with user modules (for example I/O modules on
manipulation grippers), the .spb the file distributed by COMAU only contains the
configuration related to the application modules and therefore it should be modified
by the user/installer by adding his/her own modules.
23
Comau Robotics Product Instruction
INSTALLING / UNINSTALLING
For a detailed description, about use and functionality of WAC tool, please refer to the
dedicated manual.
The installation file generated by WAC is an archive file (.zip extension) whose name is
composed by
The user is asked for the configuration name by WAC before generating the
installation file. Any string can be chosen by the user, for helping to better identify the
configuration. Such a string is the one displayed on the Teach Pendant in the application
pages.
24
Comau Robotics Product Instruction
INSTALLING / UNINSTALLING
a. On the TP5 Teach Pendant, activate SETUP Page, from Desktop Page (see next
figure)
d. Touch Device field to select the device including the being installed SmartGlue
application (figure below, on the left). A list is displayed in which the user can
choose (figure below, on the right).
25
Comau Robotics Product Instruction
INSTALLING / UNINSTALLING
g. Touch the being installed application, i.e. SmartGlue and OK key to confirm.
i. If any errors occur while installing, messages and suggestions are displayed.
j. In case of any errors, the installation is stopped, the error is indicated with a
message and the C5GPlus red alarm lamp of the Control Unit lights up. The
system remains in such a condition until the RESET key is pressed.
The installation will continue from the point where it was interrupted, as soon as the
condition that caused the error is removed.
upon such a message, the user will choose whether to restart the Control Unit or,
if wished, to proceed with the installation of one more application package.
26
Comau Robotics Product Instruction
INSTALLING / UNINSTALLING
d. At the end of the procedure the User is requested to restart the System (Restart
Cold).
27
Comau Robotics Product Instruction
4.1 Introduction
This chapter describes the user interface on the Teach Pendant, corresponding to
SmartGlue application.
It is composed of the following environments:
– Process control keys (Right Menu)
– Application main folder
– Application integration in the system environment
– Integration with IDE.
As for the use of the Teach Pendant, please refer to the specific manual C5GPlus
Control Unit Use, chapter TP5 Teach Pendant.
28
Comau Robotics Product Instruction
When the corresponding key is enabled, the text indicating the functionality is
visible and the background is white.
When the corresponding key is disabled, both the text indicating the
functionality and the background, are displayed in grey.
Anyway, the LED colour is always displayed, to show the component status.
The LED displayed in each key shows the status of the component represented by the
icon, as described here below.
When the led colour is yellow, it means that the command ($DOUT) has been
sent to the component, but the execution completion ($DIN) has not been
confirmed.
The function associated to the key (see figure here beside) is disabled (e.g.when
the command comes from remote) but the LED still indicates the status of the
component: a green LED indicates that the function has been properly
executed.
A detailed description follows of each key referred to all the allowed positions of the
C5GPlus Control Unit modal selector switch:
– T1 Position (System in PROGR state)
– AUTO Position (System in AUTO-LOCAL state)
– REMOTE Position (System in AUTO-REMOTE state)
29
Comau Robotics Product Instruction
Doser
R2
It allows displaying / issuing Glue YES (green) / Glue NO (grey) commands.
Vision (inclusion/exclusion)
R3 In the figure beside, Vision excluded (on the left) and Vision included (on the
right).
30
Comau Robotics Product Instruction
The application main folder includes the icons to access the following environments
(figure above, on the right):
– Glue Page
– GlueSetup Page
– GlueUninstall Page.
31
Comau Robotics Product Instruction
32
Comau Robotics Product Instruction
4.3.2.1 Introduction
Touch GlueSetup icon (figure above, on the right) to activate the Glue setup
environment, in order to act on the SmartGlue application settings.
This environment allows modifying and saving the general settings which control the
SmartGlue application functioning modes.
Such an information is grouped in some subpages. Each one of them includes some
pages which can be selected by means of a menu.
Accessing the subpages depends on the performed user login:
– Programmer - only enables first level menus (e.g. DOSER_X, in each subpage)
– Technology level 1 - enables subpages high level menus (HI) (e.g.SYSTEM X HI ).
It is then needed to create a Technology 1 type login, to access all the wished
subpages.
The user can access the Setup subpages to modify the application configuration
parameters, in Programming state only (modal selector in T1 position) and with a
suitable login level.
The following subpages are available:
– SYSTEM
– DOSER
33
Comau Robotics Product Instruction
– PUMP
– VISION.
4.3.2.2.1 Apply
Applies and saves, both to execution memory and file, the performed modifications.
The subpage remains open. The new value is displayed in the default style again. If
some values are saved which are different than the default ones, file gl_conf.var (*),
including the new configuration values, is saved to UD:\data\glue folder.
(*) This file is automatically generated by the application only when user modifications
are made on the GlueSetup Page. Therefore after a first installation this file may not be
present yet. In case of software updating, this file will be preserved in order not to risk
to loose the user configuration.
4.3.2.2.2 Login
This is the shortcut to the Login functionality.
4.3.2.3 SYSTEM
In this subpage the user can operate on the system settings.
The sealant system configurations are basically included into two menu items:
– SYSTEM X (non expert users configuration) - Programmer login level is required
– SYSTEM X HI LEVEL (expert users configuration) - Technology 1 login level is
required
where X is the sealant system number.
4.3.2.3.1 SYSTEM X
34
Comau Robotics Product Instruction
In Modal systems, the user speed can be set in two different modes:
– from within the user program (next figure on the left) by means of an assignment
statement to $LIN_SPD
– using the Max Speed Lin value included in the GLUE BEAD table for MODAL
configuration.
Select/unselect the Set the linear speed field, to specify which modality is chosen for
setting the $LIN_SPD value (next figure on the right).
35
Comau Robotics Product Instruction
(*) This field is available for systems with eMotion control only.
(**) These two fields are available for Nodal systems only (right figure below). At the new
row creation phase in the GLUE BEAD table for NODAL configuration, their purpose is to
specify whether a different default should be used instead of the one set by the
application. In the example (right figure below), the default is 0.
4.3.2.4 DOSER
In this subpage, the user can operate on the DOSERS settings.
36
Comau Robotics Product Instruction
The doser configurations are basically included into two menu items:
– DOSER X (non expert users configuration) - Programmer login level is required
– DOSER X HI LEVEL (expert users configuration) - Technology 1 login level is
required
where X is the doser number.
4.3.2.4.1 DOSER X
(*) Only if swirl is enabled, i.e. only if Flow air > 0 (see GLUE BEAD table)
4.3.2.5 PUMP
In this subpage, the user can operate on the PUMP settings.
37
Comau Robotics Product Instruction
4.3.2.6 VISION
In this type of subpage, the user can operate on the VISION system settings.
NOTE - This subpage is present only if the chosen hardware configuration supports the
vision system (i.e. with SCA sealant system).
38
Comau Robotics Product Instruction
This environment allows the user to uninstall SmartGlue application. Refer to par. 3.6
Uninstall procedure on page 27 for further information.
39
Comau Robotics Product Instruction
40
Comau Robotics Product Instruction
Pressing such a key (highlighted in red - previous figure on the left) causes a page to be
opened which displays detailed information about cause and possible remedy of the
current error (previous figure on the right). The same effect is obtained simply touching
the alarm code (highlighted in blue - previous figure on the left).
At the end, touch the closure key to close the Cause&Remedy page.
For further information about sub-pages and general keys usage for the Alarm Page,
please refer to C5GPlus Control Unit USE manual, chap. TP5 Teach Pendant - par.
Alarm Page.
File gl_ms.crd including SmartGlue application errors information, must have been
added to the errors list by means of WinCRC Property Window, in CRD files field, by
selecting Edit key and then Add key, as shown in the following figures.
41
Comau Robotics Product Instruction
For any further information about sub-pages and general keys usage for the Alarm
Page, please refer to C5GPlus Control Unit USE manual, chap. TP5 Teach Pendant -
par. Alarm Page.
42
Comau Robotics Product Instruction
43
Comau Robotics Product Instruction
b. touch the GLUE BEAD table, to setup the glue bead features.
The 99 available beads are included in this table. A description of the existing columns
follows below:
44
Comau Robotics Product Instruction
(*) - This column could be present or not, depending on the hardware configuration
(**) - The swirl modulation is not activated when this value is 0.
Each row in this table is created by the user (par. Inserting a new bead on page 46) and
is referred to a specific glue bead. The available columns, for each of them, are as
follows:
(*) - This column could be present or not, depending on the hardware configuration
(**) - The swirl modulation is not activated when this value is 0.
45
Comau Robotics Product Instruction
a. The user should insert the required glue bead in the displayed table.
c. type in the element name, using the made available keyboard (left figure below)
d. touch the Ok key to confirm. The newly inserted row is displayed inside the table
(right figure above).
e. To save the newly created element, open the Table menu and choose Save item.
A suitable message is displayed to confirm the operation completion.
46
Comau Robotics Product Instruction
WARNING
A special case is inserting technological instructions in a NODAL configured system.,
Please refer to par. 4.5.1 Entering technological instructions in NODAL systems on
page 49.
For further information, before touching OK key for the final confirmation, refer to
C5GPlus Control Unit USE manual - chap.IDE Page.
47
Comau Robotics Product Instruction
d. Move the cursor to the program line preceding the point in which the new statement
is to be inserted.
f. The system opens PDL2 keyboard to help the user choosing and inserting the
wished instruction (see previous image, on the right); touch Statement key
g. touch Glue folder icon (previous image, on the left) to view the available
technological instructions.
h. Touch the icon of the technological instruction to be inserted into the program
(previous figure, on the right). In the shown above example, the selected instruction
is glue_init.
i. The system inserts the instruction template in the text field of the PDL2 keyboard
(see previous figure); the user should complete all the template fields and confirm
by touching OK key (see next figures).
48
Comau Robotics Product Instruction
j. The new technological instruction is thus inserted into the program (as shown in
the previous figure, on the right).
The above described insertion procedure is the same for any technological instructions.
Refer to Nodal Move manual, chapter Environment to teach positions and modify the
Nodal MOVE (IDE) for a detailed description of inserting modalities for nodal
movements instructions .
49
Comau Robotics Product Instruction
PROGRAMMING
5. PROGRAMMING
5.1 Introduction
This chapter gives detailed information for the User that has to write programs related
to the sealant application. The here described instructions are classifiable as PROCESS
INSTRUCTIONS.
In particular, the following topics are fully described:
– Technological instructions
– Handling RESET key
– Cosmetic Sealer application
– Use of System Shared Resources.
WARNING - Once the user has chosen the wished routines set, he/she must necessarily
continue to use it: it is neither allowed to mix up the syntaxes nor to call routines
belonging to different categories, in the same work program.
50
Comau Robotics Product Instruction
PROGRAMMING
In case of systems with Nodal configuration, two additional fields are available to specify
whether, while creating a new row in the GLUE BEAD table for NODAL configuration,
using or not a default value different from the one set by the application (the default value is set
to 0 in the shown above figure example):
– Default opening value
– Default closing value
For eMotioned systems it is strongly suggested to use the conditions referred to the half
fly movement (HALFFLY).
The parameters related to the anticipation conditions can be set in the GLUE BEAD table
(as shown in the figures above: Modal on the left and Nodale on the right):
– Dist Opn Mat / Time Opn Mat - distance [mm] or time [ms] for opening the material
distribution doser
– Dist Cls Mat / Time Cls Mat - distance [mm] or time [ms] for closing the material
distribution doser.
51
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.1 Glue
– glue_init
– glue_prepara
– glue_prepara_set
– glue_prepara_check
– glue_opengun
– glue_switchpara
– glue_closegun
– glue_end
– glue_trace_on
– glue_trace_off
– glue_result_ok
– glue_system_reset
– glue_purge_drop.
5.2.1.1.1 glue_init
Name glue_init
52
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.1.2 glue_prepara
Name glue_prepara
This routine prepares the sealing system using the wished bead. After setting the values,
the application software waits for it to be ready.
Call this routine any time a new stretch is to be started using a different bead.
Function/Usage
If gl_user_lib library is loaded into memory, this procedure calls
user_glue_pre_proc_set and user_glue_pre_proc_check routines which can be
modified by the user.
Statement ROUTINE glue_prepara (ai_bead:INTEGER)EXPORTED FROM h_glue GLOBAL
– ai_bead: index of the wished bead (GLUE BEAD table in DATA Page environment) -
Parameters
[1..99] (INTEGER)
ROUTINE prog_1
BEGIN
...
Calling example
glue_prepara(4)
...
END prog_1
5.2.1.1.3 glue_prepara_set
Name glue_prepara_set
This routine prepares the sealing system using the selected bead. After setting the
values, it does NOT wait for it to be ready: it is very useful to reduce the cycle time.
Function/Usage
If gl_user_lib library is loaded into memory, this procedure calls
user_glue_pre_proc_set routine which can be modified by the user.
ROUTINE glue_prepara_set (ai_bead:INTEGER) EXPORTED FROM h_glue
Statement
GLOBAL
– ai_bead: index of the wished bead (GLUE BEAD table in DATA Page environment)
Parameters
- [1..99] (INTEGER)
ROUTINE prog_1
BEGIN
...
Calling example
glue_prepara_set(45)
...
END prog_1
5.2.1.1.4 glue_prepara_check
Name glue_prepara_check
This routine waits for the system using the selected bead, to be active and ready.
Function/Usage If gl_user_lib library is loaded into memory, this procedure calls
user_glue_pre_proc_check routine which can be modified by the user.
Statement ROUTINE glue_prepara_check EXPORTED FROM h_glue GLOBAL
Parameters none
ROUTINE prog_1
Calling example
BEGIN
53
Comau Robotics Product Instruction
PROGRAMMING
...
glue_prepara_check
...
END prog_1
5.2.1.1.5 glue_opengun
Name glue_opengun
This routine controls the specified doser opening, at the motion START. It is to be used
Function/Usage
within a motion statement, by means of the WITH CONDITION clause.
Statement ROUTINE glue_opengun : INTEGER EXPORTED FROM h_glue GLOBAL
Parameters none
ROUTINE prog_1
BEGIN
...
MOVEFLY LINEAR TO pnt0003p ADVANCE
Calling example
WITH CONDITION[glue_opengun],
ENDMOVE
...
END prog_1
5.2.1.1.6 glue_switchpara
Name glue_switchpara
This routine enables the bead parameters modification during the sealant procedure. It
Function/Usage
is to be used within a motion statement, by means of WITH CONDITION clause.
ROUTINE glue_switchpara(ai_bead: INTEGER; ar_dist: REAL()):
Statement
INTEGER EXPORTED FROM H_Glue GLOBAL
– ai_bead : index of the being enabled bead (GLUE BEAD table in DATA Page
environment) - [1..99] (INTEGER)
Parameters
– ai_dist : distance at which the new bead shall be enabled, during the MOVE in
progress - [0..200] (REAL)
ROUTINE prog_1
BEGIN
...
MOVEFLY LINEAR TO pnt0003p ADVANCE
Calling example
WITH CONDITION[glue_switchpara (3,100)],
ENDMOVE
...
END prog_1
5.2.1.1.7 glue_closegun
Name glue_closegun
It controls the doser closing. Such an operation is performed at the END of the
Function/Usage corresponding movement. It must be used in a motion statement, by means of WITH
CONDITION clause.
Statement ROUTINE glue_closegun : INTEGER EXPORTED FROM h_glue GLOBAL
54
Comau Robotics Product Instruction
PROGRAMMING
Parameters none
ROUTINE prog_1
BEGIN
...
MOVEFLY LINEAR TO pnt0003p ADVANCE
Calling example
WITH CONDITION[glue_closegun],
ENDMOVE
...
END prog_1
5.2.1.1.8 glue_end
Name glue_end
This routine checks whether the glue bead has been properly carried out.
Function/Usage If gl_user_lib library is loaded into memory, this procedure calls
user_glue_post_proc routine which can be modified by the user.
Statement ROUTINE glue_end : INTEGER EXPORTED FROM h_glue GLOBAL
Parameters none
ROUTINE prog_1
BEGIN
...
Calling example
glue_end
...
END prog_1
5.2.1.1.9 glue_trace_on
Name glue_trace_on
This routine communicates to the NPL compatible device, any information about both
Function/Usage
CIS (body identificaiton code) and op_cycle. This routine starts tracing the body data.
ROUTINE glue_trace_on(ai_Hcode, ai_Lcode, ai_op_cycle: INTEGER;
Statement
ai_syst :INTEGER(1); ...) EXPORTED FROM H_glue GLOBAL
– ai_Hcode : value of the CIS code first 4 characters, BCD coding, received from
PLC - (INTEGER)
– ai_Lcode : value of the CIS code last 4 characters, BCD coding, received from
Parameters
PLC - (INTEGER)
– ai_op_cycle : op_cycle related value, received from PLC
– ai_syst : index of the being used system - [1..4] (INTEGER).
ROUTINE prog_1
BEGIN
...
ai_Hcode :=24658 --read from PLC
ai_Lcode :=38785 --read from PLC
Calling example
ai_op_cycle := 1 --read from PLC
-- CIS 60529781 is then generated using such parameters
glue_trace_on(ai_Hcode, ai_Lcode, ai_op_cycle, 1)
...
END prog_1
55
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.1.10 glue_trace_off
Name glue_trace_off
5.2.1.1.11 glue_result_ok
Name glue_result_ok
This routine, to be inserted after glue_end routine, specifies whether the last working
Function/Usage
cycle has been completed with or without any process errors.
ROUTINE glue_result_ok(ai_syst: INTEGER(1)) : BOOLEAN EXPORTED
Statement
FROM H_glue GLOBAL
Parameters – ai_syst : index of the being used system - [1..4] (INTEGER)
ROUTINE prog_1
BEGIN
...
IF (glue_result_ok (1)) THEN
-- OK (last dispensing cycle completed without any errors)
Calling example
ELSE
-- NOT OK (last dispensing cycle completed with errors)
ENDIF
...
END prog_1
5.2.1.1.12 glue_system_reset
Name glue_system_reset
This routine tells the sealing device to reset all occurred anomalies during the last
working cycle.
Function/Usage
CAUTION: it must just be called upon a visual check of the sealed item quality, thus
upon confirmation by an operator.
ROUTINE glue_system_reset(ai_syst : INTEGER(1)) EXPORTED FROM
Statement
H_glue GLOBAL
56
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.1.13 glue_purge_drop
Name glue_purge_drop
Function/Usage This routine activates the dosers purge operation, in multi-drop systems
5.2.1.2 Vision
– vision_prepara
– vision_end
– vision_trace_on
– vision_trace_off
– vision_switchpara
– vision_trigger_on
– vision_trigger_off
– vision_custom_check
– VisionBeadRepairReq
– VisionBeadRepairSet
– vision_result_ok
– vision_system_reset.
5.2.1.2.1 vision_prepara
Name vision_prepara
This routine prepares the vision system to capture images by means of the
Function/Usage specified program. The application waits for the system to be ready, and then it
sends it the trigger signal.
57
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.2.2 vision_end
Name vision_end
This routine waits for the vision system to accomplish the measurement and
Function/Usage
checks for no errors occurred.
Statement ROUTINE vision_end : INTEGER EXPORTED FROM GLH_vision
Parameters none
ROUTINE prog_1
BEGIN
...
Calling example
vision_end
...
END prog_1
5.2.1.2.3 vision_trace_on
Name vision_trace_on
58
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.2.4 vision_trace_off
Name vision_trace_off
5.2.1.2.5 vision_switchpara
Name vision_switchpara
If the specified distance is greater than the length of the segment executed
by the robot, the movement is interrupted.
ROUTINE prog_1
BEGIN
...
MOVEFLY LINEAR TO pnt0003p ADVANCE
Calling example
WITH CONDITION[vision_switchpara (50, 25)],
ENDMOVE
...
END prog_1
5.2.1.2.6 vision_trigger_on
Name vision_trigger_on
59
Comau Robotics Product Instruction
PROGRAMMING
Parameters none
ROUTINE prog_1
BEGIN
...
MOVEFLY LINEAR TO pnt0003p ADVANCE
Calling example
WITH CONDITION[vision_trigger_on],
ENDMOVE
...
END prog_1
5.2.1.2.7 vision_trigger_off
Name vision_trigger_off
Parameters none
ROUTINE prog_1
BEGIN
...
MOVEFLY LINEAR TO pnt0003p ADVANCE
Calling example
WITH CONDITION[vision_trigger_off],
ENDMOVE
...
END prog_1
5.2.1.2.8 vision_custom_check
Name vision_custom_check
Function/Usage This routine allows using the vision device when the robot is idle.
ROUTINE vision_custom_check(ai_vision_system, ai_prog_idx :
Statement INTEGER; ai_speed : REAL; ai_delay : INTEGER) : BOOLEAN
EXPORTED FROM GLH_vision
– ai_vision_system : vision system - [1..4] (INTEGER)
– ai_prog_idx : program code (INTEGER)
Parameters
– ai_speed: sampling speed [m/s] (REAL).
– ai_delay: delay between vision device activation and deactivation (INTEGER).
60
Comau Robotics Product Instruction
PROGRAMMING
ROUTINE prog_1
BEGIN
...
IF (vision_custom_check(1, 99, 0.06, 1000)) THEN
Calling example -- vision system return result ok
ELSE
-- vision system return result not ok
ENDIF ...
END prog_1
5.2.1.2.9 VisionBeadRepairReq
Name VisionBeadRepairReq
5.2.1.2.10 VisionBeadRepairSet
Name VisionBeadRepairSet
ROUTINE prog_1
BEGIN
Calling example ...
repeat_glue::
...
61
Comau Robotics Product Instruction
PROGRAMMING
Vision_prepara
...
Vision_end
--
IF VisionBeadRepairReq(1) THEN
VisionBeadRepairSet(1, ON)
VisionBeadRepairSet(1, OFF)
...
GOTO repeat_glue
ENDIF
...
END prog_1
5.2.1.2.11 vision_result_ok
Name vision_result_ok
5.2.1.2.12 vision_system_reset
Name vision_system_reset
62
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.3.1 feltstation_take_felt_set_feed
Name feltstation_take_felt_set_feed
5.2.1.3.2 feltstation_take_felt
Name feltstation_take_felt
Function/Usage This routine allows taking the felt from the station.
ROUTINE feltstation_take_felt(ai_num_station: INTEGER(1))
Statement
EXPORTED FROM GLH_felt_station
63
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.3.3 feltstation_preimp_felt_start
Name feltstation_preimp_felt_start
64
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.3.4 feltstation_preimp_felt_end
Name feltstation_preimp_felt_end
5.2.1.3.5 feltstation_cleaning_start
Name feltstation_cleaning_start
Function/Usage This routine sends the start cleaning signal to the station
65
Comau Robotics Product Instruction
PROGRAMMING
--start cleaning
feltstation_cleaning_start
--cleaning path
MOVEFLY LINEAR TO pTratto1_Start ADVANCE ,
WITH CONDITION[glue_opengun],
ENDMOVE
--
MOVEFLY LINEAR TO pTratto1_End ADVANCE ,
WITH CONDITION[glue_closegun],
ENDMOVE
--stop cleaning
feltstation_cleaning_stop
--
glue_end
...
END prog_1
5.2.1.3.6 feltstation_cleaning_stop
Name feltstation_cleaning_stop
Function/Usage This routine sends the stop cleaning signal to the station.
ROUTINE prog_1
BEGIN
...
glue_init(1)
glue_prepara(1)
--
MOVE LINEAR TO p1
-- start cleaning
feltstation_cleaning_start
-- cleaning path
MOVEFLY LINEAR TO pTratto1_Start ADVANCE ,
Calling example WITH CONDITION[glue_opengun],
ENDMOVE
--
MOVEFLY LINEAR TO pTratto1_End ADVANCE ,
WITH CONDITION[glue_closegun],
ENDMOVE
-- stop cleaning
feltstation_cleaning_stop
--
glue_end
...
END prog_1
5.2.1.3.7 feltstation_turn_felt
Name feltstation_turn_felt
66
Comau Robotics Product Instruction
PROGRAMMING
Function/Usage This routine allows turning the felt to start cleaning with a clean side.
ROUTINE feltstation_turn_felt(ai_num_station : INTEGER(0))
Statement
EXPORTED FROM GLH_Felt_Station
Parameters – ai_num_station : index of the cleaning system - (INTEGER - OPTIONAL)
ROUTINE prog_1
BEGIN
...
MOVE LINEAR TO pointTurnFelt
--
Calling example
IF (feltstation_request_turn_felt) THEN
feltstation_turn_felt
ENDIF
...
END prog_1
5.2.1.3.8 feltstation_throwing_off_felt
Name feltstation_throwing_off_felt
Function/Usage This routine allows throwing off the felt to the waste objects container.
ROUTINE feltstation_throwing_off_felt(ai_num_station:
Statement
INTEGER(1)) EXPORTED FROM GLH_felt_station
Parameters – ai_num_station : index of the cleaning system - (INTEGER - OPTIONAL)
ROUTINE prog_1
BEGIN
...
MOVE LINEAR TO point
--
Calling example
IF (feltstation_request_thrown_felt) THEN
feltstation_throwing_off_felt
ENDIF
...
END prog_1
5.2.1.4.1 GlueMeterInRefill
Name GlueMeterInRefill
67
Comau Robotics Product Instruction
PROGRAMMING
5.2.1.4.2 GlueOpenRefillClamp
Name GlueOpenRefillClamp
Function/Usage This routine opens the refill clamps after the refill phase.
ROUTINE GlueOpenRefillClamp(ai_syst: INTEGER(1); ab_waitDock:
Statement
BOOLEAN(TRUE)) : BOOLEAN EXPORTED FROM gl_glue
– ai_syst : index of the dispensing system [1..4] (INTEGER)
Parameters – ab_waitDock : the flag indicates if the application must wait until all refill inputs
are ok. TRUE->wait, FALSE->do not wait
ROUTINE prog_1
BEGIN
...
GlueMeterInRefill(1, TRUE)
Calling example
...
GlueOpenRefillClamp(1, TRUE)
...
END prog_1
5.2.1.4.3 GlueCloseRefillClamp
Name GlueCloseRefillClamp
Function/Usage This routine closes the refill clamps before the refill phase.
ROUTINE GlueCloseRefillClamp(ai_syst: INTEGER(1); ab_waitDock:
Statement
BOOLEAN(TRUE)) : BOOLEAN EXPORTED FROM gl_glue
– ai_syst : index of the dispensing system [1..4] (INTEGER)
Parameters – ab_waitDock : the flag indicates if the application must wait until all refill inputs
are ok. TRUE->wait, FALSE->do not wait
ROUTINE prog_1
BEGIN
...
GlueMeterInRefill(1, TRUE)
Calling example
...
GlueCloseRefillClamp(1, TRUE)
...
END prog_1
68
Comau Robotics Product Instruction
PROGRAMMING
BEGIN
--initialize system 1
glue_init(1)
--select bead 2
glue_prepara(2)
-- The doser is opened at motion START
MOVEFLY LINEAR TO pnt0001J ADVANCE ,
WITH CONDITION[glue_opengun],
ENDMOVE
--move to the position
MOVEFLY TO pnt0002J ADVANCE ,
-- The doser is closed at motion END
MOVEFLY LINEAR TO pnt0003J ADVANCE ,
WITH CONDITION[glue_closegun],
ENDMOVE
--
MOVE TO pnt0004J
--check for proper distribution
glue_end
END prog1
BEGIN
-- Initialize system 1
glue_init(1)
69
Comau Robotics Product Instruction
PROGRAMMING
-- Select bead 2
glue_prepara(2)
-- move to the position
MOVE TO pnt0001J
-- Doser 1 opens and then closes either after 2' or at reached volume
glue_drop(TRUE, FALSE, FALSE, 2000)
-- move to the position
MOVE TO pnt0002J
-- Due to 4th parameter missing, dosers 1 and 3 open and then close at reached volume
glue_drop(TRUE, FALSE, TRUE)
-- Check for proper distribution
glue_end
END prog2
5.2.1.5.3 Real example of using glue routines and vision controlled by doser
opening/closing
PROGRAM PGS_XXXXXSSS5R01
VAR pnt0396P : POSITION
pnt0391P, pnt0392P, pnt0393P, pnt0394P, pnt0395P : POSITION
pnt0386P, pnt0387P, pnt0388P, pnt0389P, pnt0390P : POSITION
............
BEGIN
RmtToolFrame(31, 31)
$SPD_OPT := SPD_LIN
$LIN_SPD := 0.5
$FLY_TYPE := FLY_CART
$FLY_TRAJ := FLY_TOL
$FLY_DIST := 5
$ORNT_TYPE := RS_TRAJ
$STRESS_PER := 20
glue_purge(1)
glue_init(1)
glue_prepara(1) -- activate BEAD table line 1
-- vision_prepara(1, 1) -- remove the comment to activate the checking system
--------- first bead -----------
MOVEFLY JOINT TO pnt0099P ADVANCE
MOVEFLY JOINT TO pnt0098P ADVANCE
MOVEFLY JOINT TO pnt0089P ADVANCE
MOVE JOINT TO pnt0068P
MOVEFLY LINEAR TO pnt0392P ADVANCE -- start distribution here (pnt0392p)
MOVEFLY LINEAR TO pnt0159P ADVANCE,
70
Comau Robotics Product Instruction
PROGRAMMING
WITH CONDITION[glue_opengun],
ENDMOVE
MOVEFLY CIRCULAR TO pnt0393P VIA pnt0394P ADVANCE
MOVEFLY CIRCULAR TO pnt0070P VIA pnt0395P ADVANCE
MOVEFLY LINEAR TO pnt0366P ADVANCE
MOVEFLY LINEAR TO pnt0290P ADVANCE -- activate BEAD table line 2 (at pnt0290p position)
MOVEFLY LINEAR TO pnt0214P ADVANCE ,
WITH CONDITION[glue_switchpara(2, 0)],
ENDMOVE
MOVEFLY LINEAR TO pnt0367P ADVANCE
MOVEFLY LINEAR TO pnt0217P ADVANCE
MOVEFLY LINEAR TO pnt0073P ADVANCE
MOVEFLY LINEAR TO pnt0294P ADVANCE
MOVEFLY LINEAR TO pnt0293P ADVANCE
MOVEFLY LINEAR TO pnt0355P ADVANCE
MOVEFLY LINEAR TO pnt0327P ADVANCE
MOVEFLY LINEAR TO pnt0295P ADVANCE -- activate BEAD table line 4 (at pnt0295p position)
MOVEFLY LINEAR TO pnt0075P ADVANCE ,
WITH CONDITION[glue_switchpara(4, 0)],
ENDMOVE
MOVEFLY LINEAR TO pnt0328P ADVANCE
MOVEFLY LINEAR TO pnt0368P ADVANCE
MOVEFLY LINEAR TO pnt0300P ADVANCE
MOVEFLY LINEAR TO pnt0369P ADVANCE
MOVEFLY CIRCULAR TO pnt0078P VIA pnt0077P ADVANCE
MOVEFLY LINEAR TO pnt0370P ADVANCE -- activate BEAD table line 5 (at pnt0370p position)
MOVEFLY LINEAR TO pnt0296P ADVANCE ,
WITH CONDITION[glue_switchpara(5, 0)],
ENDMOVE
MOVEFLY LINEAR TO pnt0298P ADVANCE
MOVEFLY LINEAR TO pnt0297P ADVANCE
MOVEFLY LINEAR TO pnt0299P ADVANCE -- activate BEAD table line 6 (at pnt0299p position)
MOVEFLY LINEAR TO pnt0219P ADVANCE ,
WITH CONDITION[glue_switchpara(6, 0)],
ENDMOVE
MOVEFLY LINEAR TO pnt0378P ADVANCE
MOVEFLY LINEAR TO pnt0081P ADVANCE
MOVEFLY LINEAR TO pnt0379P ADVANCE
MOVEFLY LINEAR TO pnt0215P ADVANCE
MOVEFLY LINEAR TO pnt0107P ADVANCE
MOVEFLY LINEAR TO pnt0216P ADVANCE
MOVEFLY LINEAR TO pnt0380P ADVANCE
MOVEFLY LINEAR TO pnt0109P ADVANCE
MOVEFLY CIRCULAR TO pnt0085P VIA pnt0084P ADVANCE --activate BEAD table line 7 (here)
MOVEFLY LINEAR TO pnt0375P ADVANCE ,
WITH CONDITION[glue_switchpara(7, 0)],
ENDMOVE
MOVEFLY LINEAR TO pnt0110P ADVANCE , --DISTRIBUTION STOP (at pnt0110P position)
WITH CONDITION[glue_closegun],
ENDMOVE
MOVE LINEAR TO pnt0162P
--------- second bead ------------
MOVEFLY JOINT TO pnt0302P ADVANCE
MOVEFLY JOINT TO pnt0086P ADVANCE
MOVEFLY JOINT TO pnt0102P ADVANCE -- activate BEAD table line 8 (here)
MOVEFLY JOINT TO via137 ADVANCE ,
WITH CONDITION[glue_switchpara(8, 0)],
ENDMOVE
MOVE LINEAR TO pnt0356P
MOVEFLY LINEAR TO pnt0163P ADVANCE
MOVEFLY LINEAR TO pnt0357P ADVANCE --DISTRIBUTION START (at pnt0357P position)
MOVEFLY LINEAR TO via567 ADVANCE , -- activate BEAD table line 9 (here)
WITH CONDITION[glue_opengun],
71
Comau Robotics Product Instruction
PROGRAMMING
ENDMOVE
MOVEFLY LINEAR TO via563 ADVANCE ,
WITH CONDITION[glue_switchpara(9, 0)],
ENDMOVE
MOVEFLY LINEAR TO pnt0358P ADVANCE
MOVEFLY CIRCULAR TO pnt0048P VIA pnt0047P ADVANCE
MOVEFLY LINEAR TO pnt0330P ADVANCE
MOVEFLY LINEAR TO pnt0381P ADVANCE --activate BEAD table line 10 (at pnt0381P position)
MOVEFLY LINEAR TO pnt0304P ADVANCE ,
WITH CONDITION[glue_switchpara(10, 0)],
ENDMOVE
MOVEFLY LINEAR TO pnt0332P ADVANCE --activate BEAD table line 11 (at pnt0332P position)
MOVEFLY LINEAR TO pnt0305P ADVANCE ,
WITH CONDITION[glue_switchpara(11, 0)],
ENDMOVE
MOVEFLY LINEAR TO pnt0359P ADVANCE
MOVEFLY LINEAR TO pnt0306P ADVANCE
MOVEFLY LINEAR TO pnt0360P ADVANCE
MOVEFLY LINEAR TO via534 ADVANCE
MOVEFLY LINEAR TO pnt0307P ADVANCE
MOVEFLY LINEAR TO via535 ADVANCE
MOVEFLY LINEAR TO pnt0333P ADVANCE
MOVEFLY LINEAR TO via536 ADVANCE
MOVEFLY LINEAR TO pnt0334P ADVANCE
MOVEFLY LINEAR TO pnt0384P ADVANCE
MOVEFLY LINEAR TO pnt0185P ADVANCE
MOVEFLY LINEAR TO pnt0316P ADVANCE --activate BEAD table line 14 (at pnt0316P posit.)
MOVEFLY LINEAR TO pnt0186P ADVANCE , --DISTRIBUTION STOP (at pnt0186p position)
WITH CONDITION[glue_switchpara(14, 0)],
WITH CONDITION[glue_closegun],
ENDMOVE
MOVEFLY LINEAR TO pnt0200P ADVANCE
MOVEFLY LINEAR TO pnt0383P ADVANCE
MOVEFLY LINEAR TO pnt0317P ADVANCE
MOVE LINEAR TO pnt0187P
glue_end
--vision_end --remove comment to wait for the checking system to finish working
MOVE JOINT TO pnt0027P
END PGS_XXXXXSSS5R01
5.2.1.5.4 Real example of using glue routines and vision controlled by a routine
PROGRAM prog_test2 PROG_ARM = 1
BEGIN
-- set program no.1 with vision system no.1 (index of created program on vision device)
vision_prepara(1, 1)
72
Comau Robotics Product Instruction
PROGRAMMING
-- initialize system 1
glue_init(1)
MOVE LINEAR TO pnt0001P
-- set program no.1 with the glue system (index of the BEAD table line from DATA page)
glue_prepara(1)
--bead1
MOVEFLY LINEAR TO pnt0002P ADVANCE ,
--during this movement the application sets the delay, specified as a distance from the
--position, for further calls to vision_trigger_on/off routines.
--Using this routine, glue_opengun and glue_closegun routines don’t take care of
--activating the vision system sampling process (vision_trigger_on/off)
WITH CONDITION[vision_switchpara (25, 30)],
ENDMOVE
MOVEFLY LINEAR TO pnt0003P ADVANCE ,
WITH CONDITION[glue_opengun],
WITH CONDITION[vision_trigger_on],
WITH CONDITION[vision_trigger_off],
WITH CONDITION[glue_closegun],
ENDMOVE
--
MOVE TO pnt0006P
--check signals on distribution device
glue_end
--check signals on vison device
vision_end
END prog_test2
IMPORT 'TV_MOVE'
IMPORT 'TV_TOOL'
IMPORT 'TV_FRAME'
IMPORT 'TV_TMAP'
IMPORT 'H_Glue'
IMPORT 'BeadData'
BEGIN
--
SetToolOffset(T1, GluePosOffsetZ(B1))
-- initializes the device and prepares the system to supply the material
GluePreProc(TM1, B1)
-- BEAD 1
ML GlueOn, pnt0001p, VL300, D10, T1, F0, B1, /L=L0
ML Glue, pnt0002p, VL300, D10, T1, F0, B1, /L=L0
ML GlueOff, pnt0003p, VL300, D10, T1, F0, B1, /L=L0
73
Comau Robotics Product Instruction
PROGRAMMING
-- BEAD 2
ML GlueCh, pnt0004p, VL300, D10, T1, F0, B2, /L=L0
ML GlueOn, pnt0005p, VL300, D10, T1, F0, B2, /L=L0
ML Glue, pnt0006p, VL300, D10, T1, F0, B2, /L=L0
-- BEAD 3
ML GlueCh, pnt0007p, VL300, D10, T1, F0, B3, /L=L0
ML Glue, pnt0008p, VL300, D10, T1, F0, B3, /L=L0
ML GlueOff, pnt0009p, VL300, D10, T1, F0, B3, /L=L0
--
ML pnt0010p, VL300, D100, T1, F0, /L=L0
--
MJ pnt0011p, VJMax, ZCoarse, T0, F0
-- checks the supplied material
GluePostProc
--
SetToolOffset(T1, POS(0,0,0,0,0,0,''))
--
END prog_example
74
Comau Robotics Product Instruction
PROGRAMMING
75
Comau Robotics Product Instruction
PROGRAMMING
5.2.2.1 glue_fill
Name glue_fill
This routine fills the specified doser, and controls the request by the sealing
Function/Usage
system.
ROUTINE glue_fill (ai_tool : INTEGER, ab_wait_check :
Statement
BOOLEAN) EXPORTED FROM h_glue GLOBAL
– ai_tool: it indicates the wished doser - [1..4] INTEGER
– ab_wait_check: it is a flag that indicates whether while filling, the application
must wait until the doser is full - [TRUE/FALSE] BOOLEAN
Parameters
• TRUE =wait,
• FALSE = do not wait. In this case, in order to check if the doser is full, it
is necessary to run the routine glue_fill_wait.
ROUTINE prog_1
BEGIN
...
Calling example
glue_fill (1, TRUE)
...
END prog_1
5.2.2.2 glue_fill_wait
Name glue_fill_wait
When the routine glue_fill is called but the application does not stop to wait the
Function/Usage doser refilling in order to reduce the cycle time, it is necessary calling this routine to
check whether the doser is full.
ROUTINE glue_fill (ai_tool : INTEGER, ab_wait_check :
Statement
BOOLEAN) EXPORTED FROM h_glue GLOBAL
Parameters – ai_tool: it indicates the wished doser - [1..99] INTEGER
ROUTINE prog_1
BEGIN
...
glue_fill (3, FALSE)
Calling example
...
glue_fill_wait (3)
...
END prog_1
76
Comau Robotics Product Instruction
PROGRAMMING
5.2.2.3 glue_purge
Name glue_purge
This routine manages the specified doser purge and controls the request by the
Function/Usage
sealing system.
ROUTINE glue_purge (ai_tool : INTEGER) EXPORTED FROM h_glue
Statement
GLOBAL
Parameters – ai_tool: it indicates the wished doser - [1..99] INTEGER
ROUTINE prog_1
BEGIN
...
Calling example
glue_purge (3)
...
END prog_1
77
Comau Robotics Product Instruction
PROGRAMMING
5.2.3.1 Glue
– GlueOn (NODAL system)
– Glue (NODAL system)
– GlueOff (NODAL system)
– GlueCh (NODAL system)
– GluePreProc (NODAL system)
– GluePostProc (NODAL system)
– GlueResultOK (NODAL system)
– GluePosOffsetZ (NODAL system)
– GlueDrop (NODAL system)
– GlueSystemReset (NODAL system)
– GlueTraceOn (NODAL system)
– GlueTraceOff (NODAL system).
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueOn
This function, that is associated to the nodal motion instruction (ML or MC), carries
Function/Usage out the doser opening at motion termination (refer to par. Description of the
anticipation conditions on page 50 for further details).
ML GlueOn, Target, Speed, Zone, Tool, Frame, BeadD, /L=Load,
/O=OrnD
Statement
MC GlueOn, Target, TargetVia, Speed, Zone, Tool, Frame,
BeadD, /L=Load, /O=OrnD
Mandatory:
– Target : position, jointpos, xtndpos
Parameters – TargetVia: name of Via position (for MC only) - position, jointpos, xtndpos
– Speed: variable created in the Speed table of the Data environment or stated
in the user program as speeddata type variable.
78
Comau Robotics Product Instruction
PROGRAMMING
– Zone: variable created in the Zone table of the Data environment or stated in
the User program as zone data type variable.
– Tool: variable created in the Tool table of the Data environment or stated in
the user program as ttye_tool_table type variable
– Frame: variable created in the Uframe table of the Data environment or stated
in the user program as tuye_frame_table type variable.
– BeadD: variable created in the GLUE BEAD table for NODAL configuration in
the Data environment
Optional:
– Load: variable created in the Payload table of the Data environment or stated
in the user program as ttye_payload_table type variable.
– OrnD: variable created in the Orient table of the Data environment or stated in
the user program as ornd type variable.
ROUTINE prog_1
BEGIN
...
Calling example
ML GlueOn, pnt0004p, VJ25, Z100, T0, F0, BEAD_1
...
END prog_1
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name Glue
This function, that is associated to the nodal motion instruction (ML or MC), allows
Function/Usage
identifying the current movement as a process one.
ML Glue, Target, Speed, Zone, Tool, Frame, BeadD, /L=Load, /O=OrnD
Statement MC Glue, Target, TargetVia, Speed, Zone, Tool, Frame, BeadD,
/L=Load, /O=OrnD
Mandatory:
– Target : position, jointpos, xtndpos
– TargetVia: Via position name (only for MC) - position, jointpos, xtndpos
– Speed: variable created in the Speed table of the Data environment or stated in the
user program as speeddata type variable.
– Zone: variable created in the Zone table of the Data environment or stated in the user
program as zone data type variable.
– Tool: variable created in the Tool table of the Data environment or stated in the user
program as ttye_tool_table type variable
Parameters – Frame: variable created in the Uframe table of the Data environment or stated in the
user program as tuye_frame_table type variable.
– BeadD: variable created in the GLUE BEAD table for NODAL configuration in the Data
environment
Optional:
– Load: variable created in the Payload table of the Data environment or stated in the
user program as ttye_payload_table type variable.
– OrnD: variable created in the Orient table of the Data environment or stated in the user
program as ornd type variable.
79
Comau Robotics Product Instruction
PROGRAMMING
ROUTINE prog_1
BEGIN
...
Calling example
ML Glue, pnt0004p, VJ25, Z100, T0, F0, BEAD_1
...
END prog_1
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueOff
This function, that is associated to the nodal motion instruction (ML or MC), carries
Function/Usage out the doser closing at motion termination (refer to par. Description of the
anticipation conditions on page 50 for further details).
ML GlueOff, Target, Speed, Zone, Tool, Frame, BeadD, /L=Load,
/O=OrnD
Statement
MC GlueOff, Target, TargetVia, Speed, Zone, Tool, Frame,
BeadD, /L=Load, /O=OrnD
Mandatory:
– Target : position, jointpos, xtndpos
– TargetVia: Via position name (only for MC) - position, jointpos, xtndpos
– Speed: variable created in the Speed table of the Data environment or stated
in the user program as speeddata type variable.
– Zone: variable created in the Zone table of the Data environment or stated in
the user program as zonedata type variable.
– Tool: variable created in the Tool table of the Data environment or stated in
the user program as ttye_tool_table type variable
Parameters – Frame: variable created in the Uframe table of the Data environment or stated
in the user program as tuye_frame_table type variable.
– BeadD: variable created in the GLUE BEAD table for NODAL configuration in
the Data environment
Optional:
– Load: variable created in the Payload table of the Data environment or stated
in the user program as ttye_payload_table variable type.
– OrnD: variable created in the Orient table of the Data environment or stated in
the user program as ornd type variable.
ROUTINE prog_1
BEGIN
...
Calling example
ML GlueOff, pnt0010p, VJ25, Z100, T0, F0, BEAD_2
...
END prog_1
80
Comau Robotics Product Instruction
PROGRAMMING
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueCh
This function, that is associated to the nodal motion instruction (ML or MC),
enables to change the bead parameters during the gluing procedure. The condition
Function/Usage triggers at motion termination (refer to par. Description of the anticipation
conditions on page 50 for further details). It acts as NODAL, therefore the carried
out changes will apply to this program line only.
ML GlueCh, Target, Speed, Zone, Tool, Frame, BeadD, /L=Load,
/O=OrnD
Statement
MC GlueCh, Target, TargetVia, Speed, Zone, Tool, Frame,
BeadD, /L=Load, /O=OrnD
Mandatory:
– Target : position, jointpos, xtndpos
– TargetVia: Via position name (only for MC) - position, jointpos, xtndpos
– Speed: variable created in the Speed table of the Data environment or stated
in the user program as speeddata type variable.
– Zone: variable created in the Zone table of the Data environment or stated in
the user program as zone data type variable.
– Tool: variable created in the Tool table of the Data environment or stated in
the user program as ttye_tool_table type variable.
Parameters – Frame: variable created in the Uframe table of the Data environment or stated
in the user program as tuye_frame_table type variable.
– BeadD: variable created in the GLUE BEAD table for NODAL configuration in
the Data environment
Optional:
– Load: variable created in the Payload table of the Data environment or stated
in the user program as ttye_payload_table type variable.
– OrnD: variable created in the Orient table of the Data environment or stated in
the user program as ornd type variable.
ROUTINE prog_1
BEGIN
...
Calling example
ML GlueCh, pnt0008p, VJ25, Z100, T0, F0, BEAD_2
...
END prog_1
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GluePreProc
81
Comau Robotics Product Instruction
PROGRAMMING
This routine has to be called out at the program start, in NODAL configured system.
It initializes the application software based on the device index, for the entire program,
until the next GluePreProc is called.It prepares the system to deliver material using the
selected bead. After setting the values, the application software waits for it to be active
and ready. It acts in a MODAL way, even if in a NODAL configured system.
GluePreProc shall be recalled any time the user wishes to glue a new stretch using a
Function/Usage different bead program. It prepares the user program to properly carry out the glue
procedures. If gl_user_lib library is loaded in memory, this procedure calls
user_glue_pre_proc_set routine and user_glue_pre_proc_check routine, which can
be modified by the user.
CAUTION: if ae_tool value is set, this routine modifies $TOOL system variable,
i.e. the robot path.
ROUTINE GluePreProc(ae_syst:ToolMap; ae_bead:Bead_Data;
Statement ab_wait_check: BOOLEAN(TRUE); ae_tool:ttye_tool_table()) EXPORTED
FROM H_glue GLOBAL
– ae_syst : index of the ToolMap that the User has to modify - TOOLMAP
– ae_bead: index of the bead included in the GLUE BEAD table for NODAL
configuration
Parameters – ab_wait_check : indicates whether the errors check must be activated - [TRUE ..
FALSE] (BOOLEAN) (OPTIONAL)
– ae_tool: idex of the tool to be used (TOOL table in DATA Page) - [1..64] (INTEGER)
(OPTIONAL)
ROUTINE prog_1
BEGIN
...
Calling example
GluePreProc(TM1, BEAD_1)
...
END prog_1
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GluePostProc
This routine checks whether the glue bead has been properly carried out.
Function/Usage If gl_user_lib library is loaded in memory, this procedure calls user_glue_post_proc
routine which can be modified by the user.
ROUTINE GluePostProc(ab_wait_check : BOOLEAN(TRUE)) EXPORTED FROM
Statement
H_glue GLOBAL
– ab_wait_check : this parameter is meaningful when gl_user_lib library is loaded in
Parameters memory and indicates whether errors check/view is to be activated or not -
[TRUE..FALSE] (BOOLEAN) (OPTIONAL)
ROUTINE prog_1
BEGIN
...
Calling example
GluePostProc
...
END prog_1
82
Comau Robotics Product Instruction
PROGRAMMING
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueResultOK
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GluePosOffsetZ
83
Comau Robotics Product Instruction
PROGRAMMING
– ae_bead : index of the bead included in the GLUE BEAD table for NODAL
Parameters
configuration
ROUTINE prog_1
BEGIN
...
Calling example
SetToolOffset(TOOL_1, GluePosOffsetZ(BEAD_1))
...
END prog_1
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueDrop
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueSystemReset
This routine communicates the sealant device to reset any detected fault in the last working
process.
Function/Usage
WARNING: it must be called just upon visual quality check of the glued part and so operator
confirmation.
Statement GlueSystemReset(ae_syst : ToolMap) EXPORTED FROM gl_glue_nod GLOBAL
84
Comau Robotics Product Instruction
PROGRAMMING
Parameters – ae_syst : index of the ToolMap the user has to define - TOOLMAP
ROUTINE prog_1
BEGIN
...
Calling example
GlueSystemReset(TM1)
...
END prog_1
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueTraceOn
This routine communicates to the NPL compatible device, any information about both
Function/Usage
CIS (body identificaiton code) and op_cycle. This routine starts tracing the body data.
ROUTINE glue_trace_on(ai_Hcode, ai_Lcode, ai_op_cycle: INTEGER;
Statement
ai_syst :INTEGER(1); ...) EXPORTED FROM H_glue GLOBAL
– ae_syst : index of the ToolMap the user has to define - TOOLMAP
– ai_Hcode : value of the CIS code first 4 characters, BCD coding, received from
PLC - (INTEGER)
Parameters – ai_Lcode : value of the CIS code last 4 characters, BCD coding, received from
PLC - (INTEGER)
– ai_op_cycle : op_cycle related value, received from PLC
– ai_syst : index of the being used system - [1..4] (INTEGER).
ROUTINE prog_1
BEGIN
...
ai_Hcode :=24658 --read from PLC
ai_Lcode :=38785 --read from PLC
Calling example
ai_op_cycle := 1 --read from PLC
-- these parameters generate CIS 60529781
GlueTraceOn (1, ai_Hcode, ai_Lcode, ai_op_cycle)
...
END prog_1
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueTraceOff
This routine ends data tracing for the current body.
Function/Usage The device handles the XML file creation (the file specific creation modality depends
on the device manufacturer).
85
Comau Robotics Product Instruction
PROGRAMMING
5.2.3.2 Vision
– VisionPreProc
– VisionPostProc
– VisionResultOk
– VisionSystemReset
– VisionCustomCheck
– VisionShowFault
– VisionTraceOn
– VisionTraceOff
– VisionBeadRepairReq
– VisionBeadRepairSet.
5.2.3.2.1 VisionPreProc
Name VisionPreProc
5.2.3.2.2 VisionPostProc
Name VisionPostProc
86
Comau Robotics Product Instruction
PROGRAMMING
This routine waits for the vision system to accomplish measuring and checks for no errors
Function/Usage
occurred.
Statement ROUTINE VisionPostProc EXPORTED FROM Gl_vision_quiss_Nod
Parameters none
ROUTINE prog_1
BEGIN
...
Calling example
VisionPostProc
...
END prog_1
5.2.3.2.3 VisionResultOk
Name VisionResultOk
This routine, to be inserted after VisionPostProc routine, indicates whether the last tested
Function/Usage
working process has been completed with or without process errors.
ROUTINE VisionResultOk (ae_syst : ToolMap) : BOOLEAN EXPORTED FROM
Statement
Gl_vision_quiss_Nod
Parameters – ae_syst : index of the ToolMap the user has to define - TOOLMAP
ROUTINE prog_1
BEGIN
...
VisionPostProc
...
IF (VisionResultOk (1)) THEN
Calling example
-- OK (last dosing cycle completed without errors)
ELSE
-- NOT OK (last dosing cycle completed with errors)
ENDIF
...
END prog_1
5.2.3.2.4 VisionSystemReset
Name VisionSystemReset
This routine communicates the vision device to reset any occurring faults detected during
the last working process.
Function/Usage
WARNING: it must be just called upon a visual quality check of the glued part and so an
operator confirmation.
ROUTINE VisionSystemReset(ae_syst : ToolMap) EXPORTED FROM
Statement
Gl_vision_quiss_Nod
Parameters – ae_syst : index of the ToolMap the user has to define - TOOLMAP
ROUTINE prog_1
BEGIN
Calling example
...
VisionSystemReset (1)
87
Comau Robotics Product Instruction
PROGRAMMING
...
END prog_1
5.2.3.2.5 VisionCustomCheck
Name VisionCustomCheck
This routine allows using the vision system with steady robot.
WARNING: this routine autonomously executes VisionPreProc, VisionPostProc and
Function/Usage
VisionResultOk. So, it is no longer needed to add such calls in the work program, when
VisionCustomCheck routine is called.
ROUTINE VisionCustomCheck(ae_syst : ToolMap; ai_prog_idx: INTEGER;
Statement ai_speed : REAL; ai_delay : INTEGER): BOOLEAN EXPORTED FROM
Gl_vision_quiss_Nod
– ae_syst : index of the ToolMap the user has to define - TOOLMAP
– ai_prog_idx : program code – [1..15] (INTEGER)
Parameters
– ai_speed : sampling speed [m/s] (REAL)
– ai_delay : delay between activation and deactivation of the vision device (INTEGER).
ROUTINE prog_1
BEGIN
...
IF (VisionCustomCheck (1, 5, 0.06, 1000)) THEN
-- Vision system returned status: OK
Calling example
ELSE
-- Vision system returned status:o NOT OK
ENDIF
...
END prog_1
5.2.3.2.6 VisionShowFault
Name VisionShowFault
Function/Usage This routine shows any faults occurred in the vision system
5.2.3.2.7 VisionTraceOn
Name VisionTraceOn
88
Comau Robotics Product Instruction
PROGRAMMING
This routine sends to the NPL compatible device CIS (car body identification code) and
Function/Usage
op_cycle information. It starts tracing the car body data.
ROUTINE VisionTraceOn(ae_syst : ToolMap; ai_Hcode, ai_Lcode,
Statement
ai_op_cycle: INTEGER; ...) EXPORTED FROM Gl_vision_quiss_Nod
– ae_syst : index of the ToolMap the user has to define - TOOLMAP
– ai_Hcode : value of the CIS code first 4 characters, coded in BCD, received from PLC
- (INTEGER)
Parameters
– ai_Lcode : value of the CIS code last 4 characters, coded in BCD, received from PLC
- (INTEGER)
– ai_op_cycle : op_cycle value received from PLC
ROUTINE prog_1
BEGIN
...
ai_Hcode :=24658 -- read from PLC
ai_Lcode :=38785 -- read from PLC
Calling example
ai_op_cycle := 1 -- read from PLC
-- the 60529781 CIS is created with the above parameters
VisionTraceOn (1, ai_Hcode, ai_Lcode, ai_op_cycle)
...
END prog_1
5.2.3.2.8 VisionTraceOff
Name VisionTraceOff
This routine ends the current car body data registration. The device handles the XML file
Function/Usage
creation (the specific file creation modality depends on the device manufacturer).
RROUTINE VisionTraceOff(ae_syst : ToolMap) EXPORTED FROM
Statement
Gl_vision_quiss_Nod
Parameters – ae_syst : indice della ToolMap che l'utente deve definire - TOOLMAP
ROUTINE prog_1
BEGIN
...
Calling example
VisionTraceOff (1)
...
END prog_1
5.2.3.2.9 VisionBeadRepairReq
Name VisionBeadRepairReq
89
Comau Robotics Product Instruction
PROGRAMMING
VisionBeadRepairSet(1, OFF)
...
repeat_glue::
...
VisionPreProc (1, 5)
...
VisionPostProc
--
IF VisionBeadRepairReq(1) THEN
VisionBeadRepairSet(1, ON)
GOTO repeat_glue
ENDIF
...
END prog_1
5.2.3.2.10 VisionBeadRepairSet
Name VisionBeadRepairSet
It indicates both the glue and vision systems thtat the current mode is BeadRepair. In
Function/Usage
this modality some checks are excluded such as the distributed volume one.
ROUTINE VisionBeadRepairSet(ai_vision_system : INTEGER; ab_sts
Statement
: BOOLEAN) EXPORTED FROM GlH_Vision
– ai_vision_system : vision system - [1..4] (INTEGER)
– ab_sts : indicate whether the simulation mode is to be activated or not -
Parameters (BOOLEAN).
90
Comau Robotics Product Instruction
PROGRAMMING
IMPORT 'TV_TMap'
IMPORT 'GlH_Vision'
VAR pnt0012p, pnt0013p, pnt0014p : POSITION
pnt0007p, pnt0008p, pnt0009p, pnt0010p, pnt0011p : POSITION
BEGIN
CYCLE
GluePreProc(doser1, bead1)
VisionPreProc(doser1, 2, TRUE)
ML pnt0014p, VL1000, ZFine, T0, F0
ML GlueOn, pnt0007p, VL800, D1, T0, F0, bead1
ML GlueOff, pnt0008p, VL800, D1, T0, F0, bead1
ML GlueOn, pnt0009p, VL800, D1, T0, F0, bead1
ML GlueOff, pnt0010p, VL800, D1, T0, F0, bead1
ML GlueOn, pnt0011p, VL800, D1, T0, F0, bead1
ML GlueOff, pnt0012p, VL800, D1, T0, F0, bead1
ML pnt0013p, VL1000, ZFine, T0, F0
GluePostProc(FALSE)
VisionPostProc
END prog_glue_nodale
91
Comau Robotics Product Instruction
PROGRAMMING
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GlueFill
Function/Usage This routine fulfills the specified doser, checking the sealant system request.
ROUTINE GlueFill(ae_syst : ToolMap; ab_wait_check : BOOLEAN)
Statement
EXPORTED FROM h_glue GLOBAL
– ae_syst : index of the ToolMap the user has to define - TOOLMAP
– ab_wait_check: flag - TRUE indicates that the application waits until the doser
Parameters is full; FALSE indicates that during filling, the application does not wait. In this
case, in order to check whether the doser is full, it is necessary to run
glue_fill_wait routine - [FALSE / TRUE] BOOLEAN
ROUTINE prog_1
BEGIN
...
Calling example
GlueFill(TM1,ON)
...
END prog_1
The SmartGlue software routines declarations can be omitted if the instruction IMPORT
'H_GLUE' is inserted in the user program declaration section.
Name GluePurge
This routine manages purging the specified doser and controls the request by the
Function/Usage
sealant system.
ROUTINE GluePurge(ae_syst : ToolMap) EXPORTED FROM h_glue
Statement
GLOBAL
Parameters – ae_syst : index of the ToolMap the user has to define - TOOLMAP
ROUTINE prog_1
BEGIN
...
Calling example
GluePurge(TM1)
...
END prog_1
92
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.1 Glue
– GluePreProc
– GlueOpen
– GlueClose
– GlueSwitchPara
– GluePostProc
– GlueResultOk
– GlueSystemReset
– GlueDrop
– GlueMultiGun
– GlueSetSimMode
– GlueSetToolOffsetZ
– GlueSetToolOffsetZBead
– GlueTraceOn
– GlueTraceOff.
5.2.5.1.1 GluePreProc
Name GluePreProc
This routine initializes the application based on the doser and prepares the glue system
using the selected bead. After setting the values, the application software waits for it to be
active and ready.
Function/Usage
It must be called to use a new glue stretch using a different bead. If gl_user_lib library is
loaded into memory, then this procedure calls user_glue_pre_proc_set routine and
user_glue_pre_proc_check routine, which can be modified by the user.
ROUTINE GluePreProc(ai_syst, ai_bead : INTEGER; ab_wait_check :
Statement
BOOLEAN(TRUE); ai_tool : INTEGER()) EXPORTED FROM gl_glue GLOBAL
– ai_syst : index of the being used system - [1..4] (INTEGER)..
– ai_bead : index of the being used bead (GLUE BEAD table) - [1..255] (INTEGER)
Parameters – ab_wait_check : OPTIONAL - indicates whether activating or not the errors check –
[TRUE/FALSE, default: TRUE] (BOOLEAN)
– ai_tool : OPTIONAL - used tool index – [1..99, default: UNINIT] (INTEGER)
ROUTINE prog_1
Calling example BEGIN
...
93
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.1.2 GlueOpen
Name GlueOpen
This routine controls the doser opening associated to the device previously selected by
means of GluePreProc routine. Opening is executed at the associated motion termination.
The condition triggers at the motion termination (for further details refer to par. Description
Function/Usage of the anticipation conditions on page 50). It must be used within a motion statement, by
means of the WITH CONDITION clause. If called without any parameters, the application
checks for the Dist Opn Mat field in the GLUE BEAD table, in order to decide whether
executing in advance the condition related to the target position.
ROUTINE GlueOpen(dist_before_point : REAL(0)) : INTEGER
Statement
EXPORTED FROM gl_glue GLOBAL
– dist_before_point : OPTIONAL - indicates the advance where the condition is wished
Parameters
to trigger referred to the target position [1..1000, default: 0][mm] (REAL)
ROUTINE prog_1
BEGIN
...
MOVE LINEAR TO pnt0001P,
Calling example
WITH CONDITION[GlueOpen],
ENDMOVE
...
END prog_1
5.2.5.1.3 GlueClose
Name GlueClose
This routine controls the doser closing associated to the device previously selected by
means of GluePreProc routine. Closing is executed at the associated motion termination.
The condition triggers at the motion termination (for further details refer to par. Description
Function/Usage of the anticipation conditions on page 50). It must be used within a motion statement, by
means of the WITH CONDITION clause. If called without any parameters, the application
checks for the Dist Cls Mat field in the GLUE BEAD table, in order to decide whether
executing in advance or not the condition related to the target position.
ROUTINE GlueClose(dist_before_point : REAL(0)) : INTEGER EXPORTED
Statement
FROM gl_glue GLOBAL
– dist_before_point : OPTIONAL - indicates the advance where the condition is wished
Parameters
to trigger referred to the target position [1..1000, default: 0][mm] (REAL)
ROUTINE prog_1
BEGIN
...
MOVE LINEAR TO pnt0001P,
Calling example
WITH CONDITION[GlueClose],
ENDMOVE
...
END prog_1
94
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.1.4 GlueSwitchPara
Name GlueSwitchPara
This routine allows changing the bead parameters while glueing. It must be used within a
motion statement, by means of the WITH CONDITION clause. The condition triggers at
Function/Usage the motion termination (for further details refer to par. Description of the anticipation
conditions on page 50). If called without the optional second parameter, no advance is
executed referred to the target position.
ROUTINE GlueSwitchPara(ai_bead :INTEGER; dist_before_point :
Statement
REAL(0)) : INTEGER EXPORTED FROM gl_glue GLOBAL
– ai_bead : index of the being used bead (GLUE BEAD table in DATA Page
environment) - [1..255] (INTEGER)
Parameters
– dist_before_point: OPTIONAL - indicates the advance where the condition is wished
to trigger referred to the target position [1..1000, default: 0][mm] (REAL)
ROUTINE prog_1
BEGIN
...
GluePreProc (1, 5) –- initialize bead 5 (GlueBead table) System 1
MOVE LINEAR TO pnt0001P,
WITH CONDITION[GlueOpen],
Calling example ENDMOVE
...
MOVE LINEAR TO pnt0002P,
WITH CONDITION[GlueSwitchPara(6)], -- change to bead 6
ENDMOVE
...
END prog_1
5.2.5.1.5 GluePostProc
Name GluePostProc
This routine checks that the glue bead has been properly executed. If gl_user_lib library is
Function/Usage loaded into memory, then this procedure calls user_glue_post_proc routine which can be
modified by the user.
ROUTINE GluePostProc(ab_wait_check : BOOLEAN(TRUE)) EXPORTED FROM
Statement
gl_glue GLOBAL
– ab_wait_check : OPTIONAL - indicates whether activating or not the errors check –
Parameters
[TRUE/FALSE, default: TRUE] (BOOLEAN)
ROUTINE prog_1
BEGIN
...
Calling example
GluePostProc
...
END prog_1
95
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.1.6 GlueResultOk
Name GlueResultOk
This routine, to be inserted after GluePostProc routine, indicates whether the last working
Function/Usage
process has been properly completed, with or without any process errors.
ROUTINE GlueResultOk(ai_syst: INTEGER) : BOOLEAN
Statement
EXPORTED FROM gl_glue GLOBAL
– ab_wait_check : OPTIONAL - indicates whether activating or not the errors check –
Parameters
[TRUE/FALSE, default: TRUE] (BOOLEAN)
ROUTINE prog_1
BEGIN
...
IF GlueResultOk(1) THEN
--OK (No errors detected in the last dispensing cycle)
Calling example
ELSE
--NOT OK (An error has been detected in the last dispensing cycle)
ENDIF
...
END prog_1
5.2.5.1.7 GlueSystemReset
Name GlueSystemReset
This routine indicates the device to reset the detected faults in the last working process.
Function/Usage WARNING: it must be called upon visual quality check only of the glued part and operator
confirmation.
ROUTINE GlueSystemReset(ai_syst : INTEGER) EXPORTED FROM
Statement
gl_glue_nod GLOBAL
Parameters – ai_syst : index of the being used system - [1..4] (INTEGER)..
ROUTINE prog_1
BEGIN
...
Calling example
GlueSystemReset(1)
...
END prog_1
5.2.5.1.8 GlueDrop
Name GlueDrop
96
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.1.9 GlueMultiGun
Name GlueMultiGun
This routine controls the doser opening for the device, allowing to select which nozzle is to
be opened. Opening is executed at the associated motion termination. The condition
triggers at the motion termination (for further details refer to par. Description of the
Function/Usage anticipation conditions on page 50). It must be used within a motion statement, by means
of the WITH CONDITION clause. If the 4th parameter is missing in the call, the application
checks the Dist Opn Mat field in the GLUE BEAD table to know whether executing in
advance or not the condition referred to the target positiont.
ROUTINE GlueMultiGun(ab_gun1, ab_gun2, ab_gun3 : BOOLEAN;
Statement
dist_before_point : REAL(0)) : INTEGER EXPORTED FROM gl_glue GLOBAL
– ab_gun1 : indicates nozzle 1 opening
– ab_gun2 : indicates nozzle 2 opening (SCA SYS 6000)
Parameters – ab_gun3 : indicates nozzle 3 opening (SCA SYS 6000)
– dist_before_point: OPTIONAL - indicates the advance where the condition is wished
to trigger referred to the target position [1..1000, default: 0][mm] (REAL)
ROUTINE prog_1
BEGIN
...
MOVE LINEAR TO pnt0001P,
Calling example
WITH CONDITION[GlueMultiGun(TRUE, FALSE, TRUE)],
ENDMOVE
...
END prog_1
5.2.5.1.10 GlueSetSimMode
Name GlueSetSimMode
This routine specifies the simulation modality to the SYS 6000 glue system. All the signals
Function/Usage
are activated on the device, including open/close doser, but the material is not dispensed.
ROUTINE GlueSetSimMode(ai_syst: INTEGER; ab_sts : BOOLEAN)
Statement
EXPORTED FROM gl_glue
97
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.1.11 GlueSetToolOffsetZ
Name GlueSetToolOffsetZ
Function/Usage This routine is used to assign a Z offset to the tool specified as the first parameter.
5.2.5.1.12 GlueSetToolOffsetZBead
Name GlueSetToolOffsetZBead
This routine is used to assign a Z offset to the tool specified as the first parameter. The
difference with GlueSetToolOffsetZ is that the offset comes from the Offset Tool column of
Function/Usage
the GLUE BEAD table. WARNING: this functionality needs to enable the corresponding
Use z offset from bead table setup field (see GlueSetup Page).
ROUTINE GlueSetToolOffsetZBead(ai_tool, ai_bead: INTEGER) EXPORTED
Statement
FROM gl_glue
– ai_tool : index of the tool to be modified – [1..64] (INTEGER)
Parameters – ai_bead : used bead index (GLUE BEAD table of DATA Page) - [1..255] (INTEGER)
WARNING: $TOOL predefined variable is modified when this routine is called.
ROUTINE prog_1
BEGIN
...
Calling example
GlueSetToolOffsetZBead (1, 1)
...
END prog_1
98
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.1.13 GlueTraceOn
Name GlueTraceOn
This routine sends to the NPL compatible device CIS (car body identification code) and
Function/Usage
op_cycle information. It starts tracing the car body data.
ROUTINE GlueTraceOn(ai_syst, ai_Hcode, ai_Lcode, ai_op_cycle:
Statement
INTEGER; ...) EXPORTED FROM gl_glue
– ai_syst : index of the being used system - [1..4] (INTEGER)
– ai_Hcode : value of the CIS code first 4 characters, coded in BCD, received from PLC
- (INTEGER)
Parameters
– ai_Lcode : value of the CIS code last 4 characters, coded in BCD, received from PLC
- (INTEGER)
– ai_op_cycle : op_cycle value received from PLC .
ROUTINE prog_1
BEGIN
...
ai_Hcode :=24658 --letto dal PLC
ai_Lcode :=38785 --letto dal PLC
Calling example
ai_op_cycle := 1 -- letto da PLC
-- these parameters generate 60529781 CIS code
GlueTraceOn (1, ai_Hcode, ai_Lcode, ai_op_cycle)
...
END prog_1
5.2.5.1.14 GlueTraceOff
Name GlueTraceOff
5.2.5.2 Vision
– VisionPreProc
– VisionPostProc
– VisionTriggerOn
– VisionTriggerOff
– VisionResultOK
99
Comau Robotics Product Instruction
PROGRAMMING
– VisionSystemReset
– VisionCustomCheck
– VisionShowFault
– VisionTraceOn
– VisionTraceOff.
5.2.5.2.1 VisionPreProc
Name VisionPreProc
This routine prepares the vision system to acquire images using the specified program. The
Function/Usage
application waits for the system to be ready and then switches to the measuring mode.
ROUTINE VisionPreProc(ai_syst : INTEGER; ai_prog_idx : INTEGER;
Statement
by_doser : BOOLEAN(TRUE)) EXPORTED FROM Gl_vision_quiss
– ai_syst : index of the being used system - [1..4] (INTEGER)
– ai_prog_idx : program code - [1..15] (INTEGER)
Parameters
– by_doser : OPTIONAL - indicates whether the vision trigger must be controlled by the
doser or not – [TRUE/FALSE, default: TRUE] (BOOLEAN)
ROUTINE prog_1
BEGIN
...
Calling example
VisionPreProc (1, 5)
...
END prog_1
5.2.5.2.2 VisionPostProc
Name VisionPostProc
This routine waits for the vision system to accomplish the measurement and checks for any
Function/Usage
occurring errors.
Statement ROUTINE VisionPostProc EXPORTED FROM Gl_vision_quiss
Parameters None
ROUTINE prog_1
BEGIN
Calling example
...
VisionPostProc
...
END prog_1
5.2.5.2.3 VisionTriggerOn
Name VisionTriggerOn
100
Comau Robotics Product Instruction
PROGRAMMING
This routine activates the vision system sampling, specified at the associated movement
END. It must be used within a motion statement, by means of the WITH CONDITION
clause. If called with no parameters, no advance is executed referred to the target position.
Function/Usage
WARNING - Before calling this routine, it is needed to call VisionPreProc routine with
by_doser optional parameter set to FALSE, in order to check for the trigger signal user
side.
ROUTINE VisionTriggerOn(dist_before_point : REAL(0)) : INTEGER
Statement
EXPORTED FROM Gl_vision_quiss
– dist_before_point: OPTIONAL - indicates the advance where the condition is wished
Parameters
to trigger referred to the target position [1..1000, default: 0][mm] (REAL)
ROUTINE prog_1
BEGIN
...
VisionPreProc(1,5,FALSE) –trigger handled by the user
...
Calling example
MOVE LINEAR TO pnt0001P,
WITH CONDITION[VisionTriggerOn],
ENDMOVE
...
END prog_1
5.2.5.2.4 VisionTriggerOff
Name VisionTriggerOff
This routine deactivates the vision system sampling specified at the movement END. It is
to be used within a motion statement, by means of the WITH CONDITION clause. If called
Function/Usage with no parameters, no advance is executed referred to the target position.
WARNING - Before calling this routine, it is needed to call VisionPreProc routine with
by_doser optional parameter set to FALSE, in order to check for trigger signal user side.
ROUTINE VisionTriggerOff(dist_before_point : REAL(0)) : INTEGER
Statement
EXPORTED FROM Gl_vision_quiss
– dist_before_point: OPTIONAL - indicates the advance where the condition is wished
Parameters
to trigger referred to the target position [1..1000, default: 0][mm] (REAL)
ROUTINE prog_1
BEGIN
...
VisionPreProc(1,5,FALSE) –trigger handled by the user
...
Calling example
MOVE LINEAR TO pnt0001P,
WITH CONDITION[VisionTriggerOff],
ENDMOVE
...
END prog_1
5.2.5.2.5 VisionResultOK
Name VisionResultOk
This routine is to be inserted after VisionPostProc routine; it specifies whether the last
Function/Usage
checked working process is ended with or without any process errors.
101
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.2.6 VisionSystemReset
Name VisionSystemReset
This routine indicates the vision system to reset any detected faults in the last working
process.
Function/Usage
WARNING: it must be called upon visual quality check only of the glued part and operator
confirmation.
ROUTINE VisionResultOk(ai_syst : INTEGER) : BOOLEAN EXPORTED FROM
Statement
Gl_vision_quiss
Parameters – ai_syst : index of the being used system - [1..4] (INTEGER)
ROUTINE prog_1
BEGIN
...
Calling example
VisionSystemReset (1)
...
END prog_1
5.2.5.2.7 VisionCustomCheck
Name VisionCustomCheck
This routine allows using the vision system with steady robot.
WARNING: this routine autonomously executes VisionPreProc, VisionPostProc and
Function/Usage
VisionResultOK routines. Thus, it is not needed adding them in the work program, when
VisionCustomCheck routine is called.
ROUTINE VisionCustomCheck(ai_syst: INTEGER; ai_prog_idx: INTEGER;
Statement ai_speed : REAL; ai_delay : INTEGER): BOOLEAN EXPORTED FROM
Gl_vision_quiss
– ai_syst : index of the being used system – [1..3] (INTEGER)
– ai_prog_idx : program code – [1..15] (INTEGER)
Parameters
– ai_speed : sampling speed [m/s] (REAL).
– ai_delay: delay between vision device activation and deactivation (INTEGER).
102
Comau Robotics Product Instruction
PROGRAMMING
ROUTINE prog_1
BEGIN
...
IF (VisionCustomCheck (1, 5, 0.06, 1000)) THEN
-- Returned status OK from the vision system
Calling example
ELSE
-- Returned status NOt OK from the vision system
ENDIF
...
END prog_1
5.2.5.2.8 VisionShowFault
Name VisionShowFault
Function/Usage This routine shows any occurring faults in the vision system.
5.2.5.2.9 VisionTraceOn
Name VisionTraceOn
This routine sends to the NPL compatible device CIS (car body identification code) and
Function/Usage
op_cycle information. It starts tracing the car body data.
ROUTINE VisionTraceOn(ai_syst :INTEGER; ai_Hcode, ai_Lcode,
Statement
ai_op_cycle: INTEGER; ...) EXPORTED FROM Gl_vision_quiss
– ai_syst : index of the being used system – [1..3] (INTEGER)
– ai_Hcode : value of the CIS code first 4 characters, coded in BCD, received from PLC
- (INTEGER)
Parameters
– ai_Lcode : value of the CIS code last 4 characters, coded in BCD, received from PLC
- (INTEGER)
– ai_op_cycle : op_cycle value received from PLC
ROUTINE prog_1
Calling example
BEGIN
...
ai_Hcode :=24658 -- read from PLC
ai_Lcode :=38785 -- read from PLC
ai_op_cycle := 1 -- read from PLC
-- these parameters generate 60529781 CIS code
VisionTraceOn (1, ai_Hcode, ai_Lcode, ai_op_cycle)
...
END prog_1
103
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.2.10 VisionTraceOff
Name VisionTraceOff
This routine ends tracing for the current car body data. The device creates the XML file (the
Function/Usage
specific creation modality depends on the device builder).
ROUTINE VisionTraceOff(ai_syst : INTEGER; ...) EXPORTED FROM
Statement
Gl_vision_quiss
Parameters – ai_syst : index of the being used system – [1..3] (INTEGER)
ROUTINE prog_1
BEGIN
...
Calling example
VisionTraceOff (1)
...
END prog_1
104
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.3.3 Example of using glue routines and vision controlled by doser open/close
– new syntax
PROGRAM prog_1 PROG_ARM = 1
VAR pnt0001P, pnt0002P, pnt0003P, pnt0004P, pnt0005P : POSITION
ROUTINE VisionPostProc EXPORTED FROM GlH_Vision
ROUTINE VisionPreProc(ai_syst, ai_prog_idx : INTEGER; by_doser : BOOLEAN()) EXPORTED FROM
GlH_Vision
ROUTINE GluePostProc(ab_wait_check : BOOLEAN()) EXPORTED FROM H_Glue GLOBAL
ROUTINE GlueClose(dist_before_point : REAL()) : INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE GlueSwitchPara(ai_bead:INTEGER; dist_before_point:REAL()): INTEGER EXPORTED FROM
H_Glue GLOBAL
ROUTINE GlueOpen(dist_before_point:REAL()): INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE GluePreProc(ai_syst, ai_bead:INTEGER; ab_wait_check:BOOLEAN(); ai_tool : INTEGER())
EXPORTED FROM H_Glue GLOBAL
BEGIN
GluePreProc(1, 2)
VisionPreProc(1, 10, TRUE)
MOVE LINEAR TO pnt0001P
MOVEFLY LINEAR TO pnt0002P ADVANCE ,
WITH CONDITION[GlueOpen],
ENDMOVE
MOVEFLY LINEAR TO pnt0004P ADVANCE ,
WITH CONDITION[GlueSwitchPara(3)],
ENDMOVE
MOVEFLY LINEAR TO pnt0005P ADVANCE ,
WITH CONDITION[GlueClose],
ENDMOVE
GluePostProc(TRUE)
VisionPostProc
END prog_1
105
Comau Robotics Product Instruction
PROGRAMMING
5.2.5.3.4 Example of using glue routines and vision controlled by routines – new
syntax
PROGRAM prog_1 PROG_ARM = 1
VAR pnt0006P : POSITION
pnt0001P, pnt0002P, pnt0003P, pnt0004P, pnt0005P : POSITION
ROUTINE VisionTriggerOff(dist_before_point:REAL()):INTEGER EXPORTED FROM GlH_Vision
ROUTINE VisionTriggerOn(dist_before_point:REAL()):INTEGER EXPORTED FROM GlH_Vision
ROUTINE VisionPostProc EXPORTED FROM GlH_Vision
ROUTINE VisionPreProc(ai_syst, ai_prog_idx:INTEGER; by_doser: BOOLEAN()) EXPORTED FROM
GlH_Vision
ROUTINE GluePostProc(ab_wait_check:BOOLEAN()) EXPORTED FROM H_Glue GLOBAL
ROUTINE GlueClose(dist_before_point: EAL()):INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE GlueSwitchPara(ai_bead:INTEGER; dist_before_point:REAL()): INTEGER EXPORTED FROM
H_Glue GLOBAL
ROUTINE GlueOpen(dist_before_point:REAL()):INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE GluePreProc(ai_syst, ai_bead:INTEGER; ab_wait_check:BOOLEAN(); ai_tool: INTEGER())
EXPORTED FROM H_Glue GLOBAL
BEGIN
GluePreProc(1, 2)
VisionPreProc(1, 10, FALSE)
MOVE LINEAR TO pnt0001P
MOVEFLY LINEAR TO pnt0002P ADVANCE ,
WITH CONDITION[GlueOpen],
WITH CONDITION[VisionTriggerOn],
ENDMOVE
MOVEFLY LINEAR TO pnt0004P ADVANCE ,
WITH CONDITION[GlueSwitchPara(3)],
ENDMOVE
MOVEFLY LINEAR TO pnt0005P ADVANCE ,
WITH CONDITION[GlueClose],
ENDMOVE
MOVEFLY LINEAR TO pnt0006P ADVANCE ,
WITH CONDITION[VisionTriggerOff],
ENDMOVE
GluePostProc(TRUE)
VisionPostProc
END prog_1
106
Comau Robotics Product Instruction
PROGRAMMING
5.2.6.1 GlueWakeUp
Name GlueWakeUp
This routine sends a pulse to pump reset and heating reset signals and initializes the
Function/Usage system. Furthermore it refills the doser if the associated setup field is enabled (Enable
Doser filling). CAUTION: with SCA SYS 6000 system only.
ROUTINE GlueWakeUp(ai_syst: INTEGER(0); ab_wait_check :
Statement
BOOLEAN(FALSE)) EXPORTED FROM gl_glue GLOBAL
– ai_syst : index of the being used system – [1..3] (INTEGER)
Parameters – ab_wait_check : OPTIONAL, indicates whether activating the errors check or not –
[TRUE/FALSE, default: FALSE] (BOOLEAN)
ROUTINE prog_1
BEGIN
...
Calling example
GlueWakeUp (1)
...
END prog_1
5.2.6.2 GluePurgeRequest
Name GluePurgeRequest
Function/Usage This routine checks whether the system requires a purge operation or not.
107
Comau Robotics Product Instruction
PROGRAMMING
5.2.6.3 GluePurge
Name GluePurge
Function/Usage This routine handles the purge operation for the specified doser.
5.2.6.4 GluePurge2k
Name GluePurge2k
This routine handles the purge operation for the specified bicomponent system doser. It is
also allowed to select which component is to be purged.
Function/Usage
CAUTION: SYS 6000 system only allows choosing the being purged component. The
other systems will purge the whole mixture.
ROUTINE GluePurge2k(ai_syst : INTEGER; ai_comp : INTEGER(3))
Statement
EXPORTED FROM gl_glue GLOBAL
– ai_syst : index of the being used system – [1..3] (INTEGER)
Parameters – ai_comp : specifies which component is to be purged – [1..3, 1=component A;
2=component B; 3=both components] (INTEGER)
ROUTINE prog_1
BEGIN
...
Calling example
GluePurge2k (1,3)
...
END prog_1
5.2.6.5 GluePurgeDrop
Name GluePurgeDrop
This routine handles the purge operation for the specified doser, also allowing to select
which gun is to be open.
Function/Usage
CAUTION: SYS 6000 system only allows choosing which gun is to be opened. The other
systems will open the first (and only) gun.
ROUTINE GluePurgeDrop(ai_syst : INTEGER; ai_comp : INTEGER(2))
Statement
EXPORTED FROM gl_glue GLOBAL
108
Comau Robotics Product Instruction
PROGRAMMING
5.2.6.6 GlueSetPurgePos
Name GlueSetPurgePos
This routine enables/disables the purge functionality from the glue system panel. The
Function/Usage
doser must be in purge position.
ROUTINE GlueSetPurgePos(ai_syst : INTEGER; ab_enable :
Statement
BOOLEAN(TRUE)) EXPORTED FROM gl_glue GLOBAL
– ai_syst : index of the being used system – [1..3] (INTEGER)
Parameters – ab_enable : aenables/disables the purge functionality – [TRUE..FALSE, default:
TRUE] (BOOLEAN)
ROUTINE prog_1
BEGIN
...
-- Robot in purge position
GlueSetPurgePos (1, TRUE)
Calling example
…
-- Robot in cycle
GlueSetPurgePos (1, FALSE)
...
END prog_1
109
Comau Robotics Product Instruction
PROGRAMMING
5.3.1 glru_tp_reset_in_remote
Name glru_tp_reset_in_remote
Enables/disables the RESET key on the Teach Pendant, when the system is in
Function/Usage
REMOTE state.
ROUTINE glru_tp_reset_in_remote(ab_enable : BOOLEAN) EXPORTED
Statement
FROM h_glue GLOBAL
– ab_enable: BOOLEAN value which indicates whether the RESET key is
Parameters
enabled (TRUE) or disabled (FALSE) when the system is in REMOTE state.
Calling example glru_tp_reset_in_remote (ON) -- enables RESET key in REMOTE state
110
Comau Robotics Product Instruction
PROGRAMMING
111
Comau Robotics Product Instruction
PROGRAMMING
112
Comau Robotics Product Instruction
PROGRAMMING
113
Comau Robotics Product Instruction
PROGRAMMING
Any addresses NOT included in the above table are to be considered as reserved to the
applications.
114
Comau Robotics Product Instruction
CUSTOMIZATIONS
6. CUSTOMIZATIONS
For a detailed description of I/O modules and I/O ports configuration programs,
IO_CNFG and IO_MAP, please refer to C5GPlus Control Unit Use manual, chap. 11 -
I/O Configuration Programs.
115
Comau Robotics Product Instruction
CUSTOMIZATIONS
116
Original instructions
Made in Comau