LB GL 0 SW - c5gp - en

Download as pdf or txt
Download as pdf or txt
You are on page 1of 120

Sealant system

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.

Copyright © 2003-2020 by COMAU - Date of publication 10/2020


Comau Robotics Product Instruction

SUMMARY

SUMMARY

PREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
Symbols used in the manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Reference documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Modification History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1. GENERAL SAFETY REQUIREMENTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...9


Intended use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Improper use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Essential safety requirements applied and fulfilled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Aspects of particular attention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2. DESCRIPTION OF SEALANT APPLICATION SYSTEM . . . . . . . . . . . . . . . . . . . . . ...18


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3. INSTALLING / UNINSTALLING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...20


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Preparation for installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Use of the WinApplicationCreator tool for C5GPlus (WAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Installation procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Uninstall procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4. USER INTERFACE ON THE TEACH PENDANT . . . . . . . . . . . . . . . . . . . . . . . . . . . ...28


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Process control keys (Right Menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Application main folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Glue Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
GlueSetup Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
Common keys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Apply. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34

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.

Symbols used in the manual


Below are listed the symbols that represent: WARNING, CAUTION and NOTES and
their meaning

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:

Comau C5GPlus Control – Technical specifications


Unit – Transport and installation
– Maintenance
– Control Unit Use
Robot – Technical specifications
– Transport and installation
– Maintenance
Programming – PDL2 Programming Language
– Motion Programming

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

GENERAL SAFETY REQUIREMENTS

1. GENERAL SAFETY REQUIREMENTS

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.

This chapter contains the following topics:


– Intended use
– Improper use
– Essential safety requirements applied and fulfilled
– Operating modes
– Aspects of particular attention
– Responsibilities

1.1 Intended use


The Robot and the Control Unit (when present) represent a robotic system made in
compliance with EN ISO 10218-1. Its performance must be exploited in industrial or
comparable areas, subject to current regulations, also complementary to the
aforementioned standard.
Installation, use, maintenance and disposal of the robotic system must be carried out by
authorized and trained personnel.

1.2 Improper use


The robotic system or its parts must not be used in environments that do not comply with
the technical specifications indicated in the relative handbooks. The use in
non-compliant environments, different from those required, uses beyond the expected
performances can create risks both for people and for the Robot system or its parts.
A non-careful integration according to the laws and regulations in force can also incur
the integrator to legal and criminal complications.

1.3 Essential safety requirements applied and fulfilled


The robotic system composed of Control Unit and SMART5 Robot series considers as
applied and fulfilled the following Safety Fundamental Requirements, Annex I of
Machinery Directive 2006/42/EC: 1.1.3 – 1.1.5 – 1.2.1 – 1.2.2 – 1.2.3 – 1.2.4.3 – 1.2.5
– 1.2.6 – 1.3.2 – 1.3.4 – 1.3.8.1 – 1.5.1 – 1.5.2 – 1.5.4 – 1.5.6 – 1.5.8 – 1.5.9 – 1.5.10 –
1.5.11 – 1.5.13 – 1.6.3 – 1.6.4 – 1.6.5 – 1.7.1 – 1.7.1.1 – 1.7.2 – 1.7.4.

9
Comau Robotics Product Instruction

GENERAL SAFETY REQUIREMENTS

1.4 Operating modes

Installation and Start-up


– The startup is only possible when the Robot and Control System has been correctly
and completely installed.
– The system installation and startup is exclusively the task of the authorised
personnel.
– For Robots with no collaborative functionality:
• the system installation and startup is only allowed exclusively inside a
Protected Zone of an adequate size to house the Robot and the equipment it
is outfitted with, without passing beyond the protection barriers. It is also
necessary to check that in normal Robot movement conditions there is no
collision with parts inside the Protected Zone ( e.g structural columns, power
supply lines, etc.) or with the barriers. If necessary, limit the Robot workspace
by means of mechanical stop buffers (see optional units);
• any fixed Robot control protections are to be located outside the Protected
Zone and in a point where there is a full view of the Robot movements;
• install the Control Unit outside the Protected Zone: the Control Unit should not
be used as part of the fence.
– The Robot installation area is to be as free as possible from materials that could
impede or limit visibility.
– During installation, the Robot and the Control Unit must be handled as described
in the relative Instruction Handbooks; if lifting is necessary, check that the eyebolts
are fixed correctly and use only adequate slings and equipment.
– Fix the Robot to mount holder, with all the provided bolts and pins, tightened to the
tightening torques given in the related Instruction Handbooks.
– If present, remove the fastening brackets from the axes and check that the fixing
of the Robot fixture is secured correctly.
– Check that the Robot guards are correctly secured and that there are no moving or
loose parts. Check that the Control Unit components are intact.
– Check that the voltage value of the power mains is consistent with that indicated
on the nameplate of the Control Unit.
– Before electrically connect the Control Unit, check that the circuit breaker on the
power mains is locked in open position.
– The connection between the Control Unit and the power supply mains of the plant,
must be made through a cable of dimensions suitable for the power installed on the
Control Unit (for details refer to chapter “Power supply from the electric network:
features and connection” in the Control Unit Instruction Handbooks).
– Connect the ground cable (PE) then connect the power conductors to the main
switch.
– Connect the power supply cable, first connecting the ground cable to the circuit
breaker on the power mains line, after checking with a tester that the circuit breaker
terminals are not powered. It is recommended to connect the cable armor to the
ground.
– Connect the signals and power cables between the Control Unit and the Robot.

10
Comau Robotics Product Instruction

GENERAL SAFETY REQUIREMENTS

– 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.

– The safety of the system cannot be guaranteed in case of interlocks erroneous,


incomplete or missing execution.
– The Robot emergency stop in AUTO/REMOTE mode is set in a controlled way
(IEC 60204-1, stop of category 1 or category 2*); it is also possible to set the stop
in category 0 by changing the related setting within the control logic of the Control
Unit safety aspects.
* the stop in category 2 is only possible for Robots with collaborative functionality

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

GENERAL SAFETY REQUIREMENTS

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.

Functioning in Programming mode


– The Robot is only to be programmed by the authorised personnel.
– Before proceeding with programming, the operator, remaining at the end of the
Protected Zone / Collaborative Zone, must:
• make sure that all the necessary protective guards and safety devices are
present and in working conditions;
• make sure that the Teach Pendant is functioning correctly (reduced speed,
enabling device, emergency stop device, etc.);
• check the Robotic system (Robot and Control Unit) to make sure that there
are no potentially dangerous anomalous conditions and that no person is
present in the Protected Zone / Collaborative Zone.
– As far as possible, the programming should be controlled from outside the
Protected Zone / Collaborative Zone.
– During the programming phases, only the operator with the Teach Pendant is
allowed inside the Protected Zone / Collaborative Zone.
– For Robots without collaborative functionality, if the presence of a second operator
is required in the workspace when checking the program, these people must have
their enabling device interlocked with the safety devices.
– Activation of the motors (DRIVE ON) must always be controlled from a position
outside the Robot area of action, after having verified that there is nobody in the
area concerned. The Drive On operation is considered complete when the relevant
machine status indication is shown.
– During programming the operator must remain at a distance from the Robot such
as to allow him to avoid any anomalous movements of the machine, and in any
case in a position to avoid possible risks of restraint between the Robot and parts
of the structure (columns, barrier, etc.), or between moving parts of the Robot itself,
including parts which, due to gravity, could perform movements downwards,
upwards or laterally (in the case of mounting on an inclined plane).
– The test of a programmed cycle at working speed with the operator inside the
Protected Zone / Collaborative Zone, in some situations where a close visual check
is necessary, must be activated after a complete test cycle at low speed has been
carried out. The test must be controlled from a safe distance.
– Special attention is to be paid when programming using the Teach Pendant: in this
situation, although all the hardware and software safety devices are active, the
Robot movement depends on the operator.
– During the execution of a new program or a varied sequence of instructions, make
sure that the movement of the Robot takes place along the intended path.
– Check while remaining out of the Robot action area and test the cycle at low speed.

Functioning in Auto / Remote Mode


– The activation of the automatic operation (AUTO and REMOTE statuses) is only
allowed with the Robotic system (Robot and Control Unit) integrated in a special
area with sufficient features to meet the needs of Protected Zone / Collaborative

12
Comau Robotics Product Instruction

GENERAL SAFETY REQUIREMENTS

Zone (depending on the Robot type) as prescribed by the Safety Regulations in


force in the country where the installation is carried out.
– Before activating the automatic operation, the operator must check:
• the Protected Zone / Collaborative Zone to ensure that there are no potentially
dangerous anomalous conditions;
• that the Robot and Control System is not in a state of maintenance or repair
and that there are no potentially dangerous abnormal conditions;
• that the protection barriers (when present) are correctly positioned;
• that there is nobody inside the Protected Zone / Collaborative Zone;
• that the Control Unit doors are closed and locked with the appropriate key;
• that the safety devices are in working conditions;
– Special attention is to be paid when selecting the remote mode, in which the line
PLC can perform automatic operations of motors power up and program starting.

Functioning in Collaborative Mode


– The Comau collaborative Robots require an appropriate assessment of the risk of
the area in which they are integrated, combining the performances already
available in the collaborative solutions with additional safety devices.

The integrator is responsible for the correct integration of the collaborative Robot in the
complete cell/machine.

– The integrator shall consider at least the following aspects:


• the tool connected to the Robot, must be equipped with a solution compatible
with the collaborative mode of the Robot;
• the impact force of the Robot against the person, proportional to the
movement speed of the Robot itself;
• the Collaborative Zone, which must be sufficiently large, without edges or
structural parts that can block the operator without an escape route, possibly
trapped between the skin and a static structural element of the cell / machine;
• the stopping distance and time of the Robot, which must include a reasonable
distance to avoid crushing (see details in “Robot Technical Specifications”
handbook, paragraph “Robot stop modes and space” and “Sensorized skin
on AURA Collaborative Robot”* handbook, “paragraph Technical features”);
* only available in case of AURA Collaborative Robot

Robot axes brake release (where required)


– The movement of the Robot axes is possible by means of suitable control devices
(integrated, where provided, on Robot base, or available as optional devices
-brake releasing module-) and adequate lifting means. Such devices only enable
the brake deactivation of each axis. In this case, all the system safety devices
(including the emergency stop and the enabling push-button) are disabled; also the
Robot axes can move upwards or downwards because of the forces generated by
the balancing system or by gravity.

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

GENERAL SAFETY REQUIREMENTS

• an incorrect reset after the brake release


• resumption of movement after an interruption of an incomplete MOVE (whose
typical function of trajectory recovery can generate unpredictable paths);
• subsequent resumption of the automatic cycle (similarly to what has been
described above, relating to the resumption of a not completed MOVE).
– Avoid moving the Robot in positions that are distant from the ones required for the
motion restarting; alternatively disable the outstanding MOVE programmes and/or
instructions.
– The procedure for the correct use of the brake releasing devices (integrated on
Robot base and/or optional brake releasing module) is shown in the “Maintenance”
section of the Instruction Handbooks of the specific Robot.

Maintenance and Repair


– The Robot (where required) is supplied with lubricants that do not contain any
harmful to health substances; however, in some cases, repeated and prolonged
exposure to the product may cause skin irritation, or if swallowed, sickness.
First Aid Measures. In case of contact with the eyes or skin: rinse the affected
areas with plenty of water; in case irritation persists, seek medical advice.
If swallowed, do not induce vomiting or administer anything by mouth; consult a
doctor as soon as possible.
– Maintenance, troubleshooting and repair operations are only to be carried out by
authorised personnel.
– When carrying out maintenance and repair operations, the specific warning sign
stating the maintenance status must be placed on the control panel of the Control
Unit, until the end of the operation, even if it should be temporarily suspended.
– Maintenance and replacement operations of the components or Control Unit must
be carried out (where provided and necessary) with the main switch in open
position and locked with a safety padlock.
– Even if the Control Unit is not powered (main switch open), there may be
interconnected voltages deriving from connection to peripheral units or external
power sources (e.g. 24 Vdc input/output). Power off the external sources when
operating on involved system parts.
– Removal of panels, protection shields, grids, etc. is only allowed with the main
switch open and padlocked (where provided and necessary).
– Faulty components are to be replaced with others having the same Part No., or
equivalent components defined by COMAU.

Where required, the replaced safety components must be configured with the same
parameters as those removed.

– Troubleshooting and maintenance activities:


• must be performed, as far as possible, outside the Protected Zone /
Collaborative Zone;
• on Control Units they must as far as possible be performed in the absence of
power;
• on the Robot must be performed with power supply deactivated (DRIVE
OFF).

14
Comau Robotics Product Instruction

GENERAL SAFETY REQUIREMENTS

– 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.

Decommissioning and Dismantling


– The decommissioning and removal of the Robot and Control System is allowed
only to Authorized Personnel.
– Move the Robot in transport position and mount the axes blocking brackets (when
required) referring to the plate affixed to the Robot and to the Instruction
Handbooks of the Robot itself.
– Before proceeding with decommissioning it is mandatory, depending on the type of
Control Unit:
• on the Control Unit with power cable wired directly to the terminals of the main
switch:
• turn off the mains voltage at the Control Unit input, by disconnecting the
circuit breaker on the power mains and locking it in open position;
• check with a suitable instrument that the terminals are disconnected;
• disconnect the power supply cable from the circuit breaker on the power
mains, first disconnecting the power conductors and then the ground
conductor;
• Disconnect the power supply cable from the Control Unit and remove it.
• on Control Units equipped with a pre-assembled power cable, with a
“socket-plug” system:
• disconnect the power supply cable.
– First disconnect the connection cables between the Robot and the Control Unit,
then the earth cable.
– If installed, disconnect the pneumatic system from the air supply and blow off the
residual air.
– Check that the Robot is properly balanced and if necessary sling it correctly, then
remove the screws that fix the Robot to the supporting surface.

15
Comau Robotics Product Instruction

GENERAL SAFETY REQUIREMENTS

– 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

GENERAL SAFETY REQUIREMENTS

1.5 Aspects of particular attention


The documentation of the robotic system required a subdivision of the contents into one
or more Instruction Handbooks. For this reason, the understanding of the functionalities
and the necessary attention to the requirements may require consultation of the entire
applicable documentation, always listed in the first pages of each handbook.

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

DESCRIPTION OF SEALANT APPLICATION SYSTEM

2. DESCRIPTION OF SEALANT APPLICATION


SYSTEM

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

DESCRIPTION OF SEALANT APPLICATION SYSTEM

be managed (as shown by the arrow in the example of Fig. 2.1).

Fig. 2.1 - Example of configuration

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 System requirements


– Software
– Hardware.

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

3.3 Preparation for installation


Before starting the actual installation procedure of SmartGlue application (par. 3.5
Installation procedure on page 25) it is strictly necessary to configure the Master
Fieldbus Network of C5GPlus Control Unit .

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.

There are two different cases of configuration:


– Application configuration generated by the user through WAC tool
– Application configuration generated by COMAU Robotics.
In both modes, if the application configuration includes some slave fieldbus modules
controlled by the master in the robot Control Unit, it is necessary to have the availability
of a .spb (SyCoNet Project Backup) file in order to configure the master fieldbus
network, to go on with the installation.

Application configuration generated by the user through WAC tool


This mode is the one normally used from every customer.
In this mode of the same tool (WAC) provides the user with all the files and information
useful for the user in order to generate the file SPB related to the specific generated
configuration. The user will
– generate the project file, by means of the tool SYCON.net, with extension .spj,
– from the project file (extension .spj,) create, by means of the tool WinCRC, a file
with extension spb,
– transfer the file with extension .spb in the directory UD:\sys\config of the Control
Unit before going on with the installation.
The name of the module (s) and the related address to set in the net is provided by the
WAC tool by means of a PDF file that shows an example of how the configuration should
be managed.

Application configuration generated by COMAU Robotics


This mode is typically applied in customer projects where COMAU Robotics provides
several standard application packages, also combined among them and that can be
assimilated in homogeneous groups.
The applications are distributed as a group of files, included in a dedicated folders
structure, with a configuration file for the installation, with extension .appl (for example
CustomerProjectxxx.appl).
The installation, in this case is carried out by copying the whole folders structure and
.appl file, on the source device (e.g. flash disk USB), inserting it into the USB port of
C5GPlus system (either on APC or Teach Pendant) and selecting, from GlueSetup
Page-->System-->Install, first the specific project and then the chosen
sub-configuration.
In this modality the specific SPB file is distributed by COMAU Robotics, taking into
consideration that:

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

3.4 Use of the WinApplicationCreator tool for C5GPlus


(WAC)
SmartGlue software supplied by Comau, is distributed in just one file (version file) with
.wac5g extension (SmartGlueVxxx.xx.wac5g) including all available configurations,
i.e. all the allowed devices.
The filename refers to the application type and the version number (e.g.:
SmartGluev310.09.wac5g).
WAC is a PC application provided by Comau to the User, in order to import files of
.wac5g type. It shows, in graphical form, all the allowed devices, grouped in
columns,depending on their type. The User can choose among the existing devices in
his/her own configuration and generate a specific installation file.

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

<name of the version file>< name of the configuration>.zip

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

3.5 Installation procedure


To install the application, proceed as follows:

a. On the TP5 Teach Pendant, activate SETUP Page, from Desktop Page (see next
figure)

b. Select System subpage (figure below).

c. Touch Install icon

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).

e. Choose the wished device and touch OK key to confirm.

25
Comau Robotics Product Instruction

INSTALLING / UNINSTALLING

f. Touch Project/Application field (figure below, on the left). A list is displayed to


choose the wished application (figure below, on the right).

g. Touch the being installed application, i.e. SmartGlue and OK key to confirm.

h. Touch Install key to start the installation;

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.

k. As soon as the installation is accomplished, the following message is displayed


both onto the Teach Pendant and in WinCRC environment:

23553-4 - CARRY OUT A COLD RESTART TO COMPLETE THE


INSTALLATION

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

3.6 Uninstall procedure


To uninstall the application package it is needed to execute the following procedure:

a. Touch Glue icon

b. Touch GlueUninstall icon

c. Touch UNINSTALL key

d. At the end of the procedure the User is requested to restart the System (Restart
Cold).

27
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

4. USER INTERFACE ON THE TEACH


PENDANT

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

USER INTERFACE ON THE TEACH PENDANT

4.2 Process control keys (Right Menu)


The Right Menu displays keys and LEDs for the process control.
The related commands can be enabled or disabled as shown in the icons displayed in
the table below.

Icon enabled / disabled key - description

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.

LED colour - description

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)

KEY ICON FUNCTIONALITY


Hardware inclusion/exclusion
Use to exclude (figure on the left) or include (figure on the right) the hardware devices
R1 of the application (specified by the index shown on the related icon). If the hardware is
excluded, the operations are executed without using such devices (EXCEPT the ones
which could damage the user and tools safety).

29
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

KEY ICON FUNCTIONALITY

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

USER INTERFACE ON THE TEACH PENDANT

4.3 Application main folder


The Glue folder (figure below, on the left) is the main folder and includes the SmartGlue
application Main Page (figure below, on the right).
Touch the Glue icon to access it from the Desktop Page.

The application main folder includes the icons to access the following environments
(figure above, on the right):
– Glue Page
– GlueSetup Page
– GlueUninstall Page.

4.3.1 Glue Page

This is the application Main Page.


The following information is displayed in it:
– status of the associated LEDs to specific devices or application options
– application name and version
– most important data about the process (Doser used, Bead used, etc)
continuously updated
– info - touching this field, the following information is provided about SmartGlue
application
• Version - it displays the application name and the installation version, the
application configuration name which is the User assigned identifier and the
existing software modules version

31
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

• Version CL - version of the common modules (Common Libraries) shared by


the installed applications.

• Configuration - displays the application hardware configuration (list of the


devices selected by means of WAC).

For any further information, please refer to WAC manual.

32
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

4.3.2 GlueSetup Page


This is the page in which the SmartGlue application global settings can be modified.

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

USER INTERFACE ON THE TEACH PENDANT

– PUMP
– VISION.

4.3.2.2 Common keys

The following keys are available in each subpage (figure above):


– Apply
– Login.

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

PARAMETER DESCRIPTION RANGE


System type It allows selecting whether the system is standard or bicomponent [Standard/Bicomponent]
(mixer which blends two components)
System alarms timeout It sets the timeout used for all the alarm signals of the sealant system [ms] [0..10000]
Indicates the modality to be used for the $LIN_SPD setting.
Set the linear speed
– TRUE --> $LIN_SPD is set to Max Speed Lin value of the [TRUE / FALSE]
(*)
GLUE BEAD table for MODAL configuration

34
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

PARAMETER DESCRIPTION RANGE


– FALSE --> $LIN_SPD must be set by the user within the
work program. The application simply checks such value for
less equal Max Speed Lin of the GLUE BEAD table for
MODAL configuration
Refer to par. Setting $LIN_SPD predefined variable on page 35
for further details
Reset sent to system It enables sending the faults reset signal also to the sealant system too [ON/OFF]
Program echo It enables the echo control of the sealant system for the selected [ON/OFF]
program
Use stitch beads Function available for SCA SYS6000 systems only [ON/OFF]
Refill Clamp timeout It sets the waiting time before activating the refill station clamps. [ms] [0..10000]$$

(*) This field is available for Modal systems only.

Setting $LIN_SPD predefined variable


In the Glue process it is important to set a proper process speed, taking into account
that:
– one speed represents the maximum value related to the glueing material
modulation flow (FLOW_MOD)
– another speed is related to the robot motion ($LIN_SPD)
The first one can be set in the GLUE BEAD table, column Max Speed Lin. Its value can
be different for each individual glue bead.
In Nodal systems, the user speed is set inside the robot motion statement (see the
figure below). The application simply checks the speed inserted by IDE for less equal
Max Speed Lin, because this would imply a wrong material flow value.

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

USER INTERFACE ON THE TEACH PENDANT

4.3.2.3.2 SYSTEM X HI LEVEL

PARAMETER DESCRIPTION RANGE


Min speed It sets the minimum linear speed [ms] [0..0.6]
Percentage minimum flow It sets the minimum flow percentage [%] [0..100]
Percentage maximum flow It sets the maximum flow percentage [%] [0..100]
Use distance open/close Use the distance defined in the GLUE BEAD table for [ON/OFF]
open/close gun
Volume faults blocker WARNING: this option disables faults blockers at end of cycle [ON/OFF]
Use z offset from bead table Available for MODAL systems only [ON/OFF]
Select the event type which triggers open/close doser routines – Distanza AT END
Select anticipation type
(as shown in the figure below. Refer to par. Description of the – Distanza HALFFLY
(*)
anticipation conditions on page 50 for further details. – Tempo HALFFLY
Default opening value It specifies the default value for the doser opening anticipation
0..1000
(*) (**) parameter
Default closing value It specifies the default value for the doser closing anticipation
0..1000
(*) (**) parameter

(*) 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

USER INTERFACE ON THE TEACH PENDANT

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

PARAMETER DESCRIPTION RANGE


Enable Doser filling It enables automatic filling function [ON/OFF]
Filling Timeout It sets the timeout for doser filling [ms] [0..15000]
Enablement Purge It enables the Purge function [ON/OFF]
Purging time It sets purging time [ms] [1..10000]
Doser alarm timeout It sets the timeout used for all doser alarm signals [ms] [0..100000]

4.3.2.4.2 DOSER X HI LEVEL

PARAMETER DESCRIPTION RANGE


Material modulation It enables the flow modulation function [ON/OFF]
Modulation type It selects the material modulation type, choosing among:
• Real speed
• Program speed
• Independent speed
Modulation delay It sets the modulation signal delay to the sealant system [ms] [0..500]
Modulation type Swirl (*) It selects the swirl modulation type for choosing among:
• Actual speed
• Program speed
• Independent speed
Swirl mode delay (*) It sets the swirl modulation signal delay [ms] [0..500]
Doser Selection It enables the doser selection (managed by special [ON/OFF]
sealant systems)

(*) 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.

In order to modify the Pump subpage parameters, a Programmer login is required.

PARAMETER DESCRIPTION RANGE


Pump alarm timeout It sets the timeout used for all pump alarm signals [ms] [0..10000]

37
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

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).

A Programmer login is enough to modify the VISION subpage parameters.

PARAMETER DESCRIPTION RANGE


Vision alarm timeout It sets the used timeout for all the alarm signals of the vision system [ms] [0..100000]
Num. of doser associated It sets the associated doser number to the current vision system [1..4]
Min speed It sets the minimum speed value for scanning [ms] [0..0.5]
Max speed It sets the maximum speed value for scanning [ms] [0..0.5]
Video sampling min. It sets the minimum percentage value for the screen sampling [%] [0..100]
Video sampling max. It sets the maximum percentage value for the screen sampling [%] [0..100]
Start vision delay It sets the delay in sending the start signal to activate vision [ms] [0..100]
Stop vision delay It sets the delay in resetting the stop signal to deactivate vision [ms] [0..100]
Modulation delay It sets the delay in activating modulation [ms] [0..500]
Vision faults blockers If disabled, the process errors are not displayed and, therefore, the robot is [ON/OFF]
not stopped during the working program, even when errors occur.
CAUTION: if such an option is disabled, the working program should take
care of stopping the robot and handling the errors.

38
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

4.3.3 GlueUninstall Page

Touch GlueUninstall icon, to view the following page:

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

USER INTERFACE ON THE TEACH PENDANT

4.4 Application integration in the system environment


This section describes the System environment pages providing information about the
application.
Such pages are:
– Alarm Page
– Display Page
– DATA Page.

4.4.1 Alarm Page


This User page allows managing alarms and messages occurred in the system.
From Desktop page, touch Alarm icon (as shown in the following figures).

For each displayed message, the following information is given:


– alarm sequential number
– date and time
– error code and severity
– message text.
An ALARM MESSAGE is displayed when SmartGlue application detects an anomalous
condition which needs the process to be interrupted and the operator to intervene. Such
messages are displayed just upon operations executed by statements calling any
Technological instructions. The message is displayed until an alarm reset command is
not received by SmartGlue.
To reset the occurring alarm, the user can choose one of the following actions:
– Retry - available depending on the alarm type; usually, it is available just when an
action is required. It causes the action to be executed again.
– Skip - available depending on the alarm type; it resets the alarm by-passing the
cause and going on with the following operations.

4.4.1.1 Errors Cause & Remedy


There are two ways to access such an information:
– From TP5 Teach Pendant

40
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

– From WinCRC on Personal Computer.

4.4.1.1.1 From TP5 Teach Pendant


In the functional keys menu a special key is available whenever it is needed, which
allows accessing the Cause and Remedy of a specified alarm.

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.

4.4.1.1.2 From WinCRC on Personal Computer


One more way to know a system or application alarm cause and remedy, is to use
WinCRC program on a PC.
To do so, from within WinCRC environment, Cause&Remedy window, insert the error
number and issue Find command (see the following figure).

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

USER INTERFACE ON THE TEACH PENDANT

File gl_ms.crd is present:


– on the PC, in WinCRC installation folder together with system alarms crd files
– on the Control Unit in UD:\sys\msg\gl_ms.crd; it is copied to such a folder by
SmartGlue application during the installation phase.
If the specified alarm number is not found in WinCRC Cause&Remedy Window, the
reasons could be:
– file gl_ms.crd has not been added by means of WinCRC Property Window
– file gl_ms.crd is present but probably not up to date; in such a situation the existing
file on the Control Unit must be added.

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

USER INTERFACE ON THE TEACH PENDANT

4.4.2 Display Page


The I/Os handled by SmartGlue application can be viewed in the Display Page.
From Desktop Page, act as follows:

a. touch Display icon,

b. touch Glue icon.

c. I/O ports are grouped by component (DOSER_1, PUMP_1, SYSTEM_2, etc), as


shown in the following image on the left. Touch the wished component icon to view
its associated I/Os (e.g. DOSER_1 in the following image on the right).

43
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

4.4.3 DATA Page


This is the page including SmartGlue application dedicated tables.
Access it from Desktop Page in the following way:

a. touch Data icon

b. touch the GLUE BEAD table, to setup the glue bead features.

4.4.3.1 GLUE BEAD table


Depending on the system configuration, there can be two different GLUE BEAD tables:
– GLUE BEAD table for MODAL configuration
– GLUE BEAD table for NODAL configuration.

4.4.3.1.1 GLUE BEAD table for MODAL configuration

The 99 available beads are included in this table. A description of the existing columns
follows below:

COLUMN DESCRIPTION RANGE


Prog Sealant system program code to be used for the current bead [1..99]
Sub Prog (*) Sealant system sub-program code to be used [1..99]
Percentage of material flow to be obtained at the speed specified in the motion
Flow Mat [0..100]
statement
Max Speed Lin Maximum speed at which the glue bead is to be obtained (Flow Mat) [m/sec] [0..0,6]

44
Comau Robotics Product Instruction

USER INTERFACE ON THE TEACH PENDANT

COLUMN DESCRIPTION RANGE


Dist Opn Mat / [mm][0..1000]
Distance [mm] or time [ms] for opening the material distribution gun
Time Opn Mat [ms][0..1000]
Dist Cls Mat / [mm][0..1000]
Distance [mm] or time [ms] for closing the material distribution gun
Time Cls Mat [ms][0..1000]
Flow Air (**) Wished air percentage to be obtained at the specified linear speed (Max Speed Lin) [0..100]
Offset Tool Tool distance from the scheduled point [mm][-100..200]
Distance [mm] used by the robot to move backward along the trajectory, when
Recov Offset [mm][-30..30]
interrupted during the process

(*) - This column could be present or not, depending on the hardware configuration
(**) - The swirl modulation is not activated when this value is 0.

4.4.3.1.2 GLUE BEAD table for NODAL configuration

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:

COLUMN DESCRIPTION RANGE


Prog Sealant system program code to be used for the current bead [1..99]
Sub Prog (*) Sealant system sub-program code to be used [1..99]
Percentage of material flow to be obtained at the speed specified in the motion
Flow Mat [0..100]
statement
Max Speed Lin Maximum speed at which the glue bead is to be obtained (Flow Mat) [m/sec] [0..0,6]
Dist Opn Mat / [mm][0..1000]
Distance [mm] or time [ms] for opening the material distribution gun
Time Opn Mat [ms][0..1000]
Dist Cls Mat / [mm][0..1000]
Distance [mm] or time [ms] for closing the material distribution gun
Time Cls Mat [ms][0..1000]
Flow Air (**) Wished air percentage to be obtained at the specified linear speed (Max Speed Lin) [0..100]
Offset Tool Tool distance from the scheduled point [mm][-100..200]
Distance [mm] used by the robot to move backward along the trajectory, when
Recov Offset [mm][-30..30]
interrupted during the process

(*) - 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

USER INTERFACE ON THE TEACH PENDANT

Inserting a new bead

a. The user should insert the required glue bead in the displayed table.

b. To do so, touch Edit key and choose Insert Row item

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

USER INTERFACE ON THE TEACH PENDANT

4.5 Integration with IDE


In this paragraph it is described how to insert the technological instructions in the
application program from IDE environment. Refer to par. 5.2 Technological instructions
on page 50 for a detailed description.

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.

Inserting technological instructions from within IDE environment, is made in the


following way:

a. from Desktop Page touch IDE icon;

b. touch Open... key to open the wished program in IDE environment.

c. Touch one of the displayed items:


• <New>
• <Load>
• file name
and touch OK key to confirm.

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

USER INTERFACE ON THE TEACH PENDANT

d. Move the cursor to the program line preceding the point in which the new statement
is to be inserted.

e. Touch Insert key.

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

USER INTERFACE ON THE TEACH PENDANT

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.

4.5.1 Entering technological instructions in NODAL systems


Inserting technological instructions for NODAL configured systems, is performed by
means of the REC Setup environment. The following Fig. 4.1 shows the REC key
configuration page for ML Glue technological instruction insertion.

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 .

Fig. 4.1 - REC setup environment - example: ML Glue

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.

5.2 Technological instructions


Technological Instructions dedicated to the seal process are available to the User:
– General routines
– Service routines
Some Technological Instructions dedicated to the seal process are also available for
systems with NODAL configuration:
– General routines for NODAL system
– Service routines for NODAL system
Starting from 311.01 application version, the following Technological Instructions are
also available:
– General routines - new syntax
– Service routines - new syntax.
They improve the syntax, reduce the total amount of routines to be called and, in some
cases, they handle the events related to the robot motion, in a different way.

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.

Description of the anticipation conditions


Starting from 411.xx application version, for systems with eMotion trajectory control, it
is allowed to specify additional conditions to decide the motion termination which the
associated glue routines refer to.
The available conditions are selectable in the GlueSetup Page, SYSTEM subpage, by
means of the Select anticipation type field (as shown in the figures below: Modal on the
left and Nodal on the right):

50
Comau Robotics Product Instruction

PROGRAMMING

– Distance AT END - the motion termination is AT END


– Distance HALFFLY - the motion termination is at the specified distance, before the
scheduled point of the fly movement
– Time HALFFLY - the motion termination is at the specified time, before the
scheduled point of the fly movement.

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 General routines


These routines are classified according to the following groups:
– Glue
– Vision
– Felt station
– Docking station.
Some sample programs are provided to describe their usage:
– Use of General Routines - sample programs.

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

Function/Usage This routine starts the application depending on the doser.


ROUTINE glue_init (ai_sys_id, ai_num_gun)EXPORTED FROM h_glue
Statement
GLOBAL
– ai_sys_id: Number of the wished system - (INTEGER) 1..4
Parameters – ai_num_gun : optional parameter indicating the no. of gun to be used to seal. It is
used when several devices are used (dosers, nozzles) for a system - (INTEGER) 1..4
ROUTINE prog_1
BEGIN
Calling example glue_init(1)
...
END prog_1

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

Available from vers. 117.11

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

Available from vers. 117.11


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).
ROUTINE glue_trace_off(ai_syst : INTEGER(1); ...) EXPORTED FROM
Statement
H_glue GLOBAL
Parameters – ai_syst : index of the being used system - [1..4] (INTEGER)..
ROUTINE prog_1
BEGIN
...
Calling example
glue_trace_off(1)
...
END prog_1

5.2.1.1.11 glue_result_ok

Name glue_result_ok

Available from vers. 231.10

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

Available from vers. 231.10

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

Parameters – ai_syst : index of the being used system - [1..4] (INTEGER)


ROUTINE prog_1
BEGIN
...
Calling example
glue_system_reset(1)
...
END prog_1

5.2.1.1.13 glue_purge_drop

Name glue_purge_drop

Available from vers. 231.10

Function/Usage This routine activates the dosers purge operation, in multi-drop systems

ROUTINE glue_purge_drop (ai_syst : INTEGER; ai_comp :


Statement
INTEGER(2)) EXPORTED FROM H_glue GLOBAL
– ai_syst : index of the being used system - [1..4] (INTEGER)..
Parameters
– ai_comp : total amount of dosers - [1..2] (INTEGER)
ROUTINE prog_1
BEGIN
...
Calling example
glue_purge_drop(1,2)
...
END prog_1

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

ROUTINE vision_prepara (ai_prog_idx, ai_vision_system :


Statement
INTEGER) EXPORTED FROM GLH_vision
– ai_prog_idx : program code - [1..159] (INTEGER)
Parameters
– ai_vision_system : it indicates the vision system - [1..3] (INTEGER)
ROUTINE prog_1
BEGIN
...
Calling example
vison_prepara (2, 2)
...
END prog_1

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

Available from vers. 117.11


This routine communicates to the NPL compatible device, any information about
Function/Usage both CIS (body identification code) and op_cycle. This routine starts tracing the
body data.
ROUTINE vision_trace_on(ai_Hcode, ai_Lcode, ai_op_cycle:
Statement INTEGER; ai_syst : INTEGER(1); ...) EXPORTED FROM GLH_vision
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
Calling example ai_Lcode :=38785 -- read from PLC
ai_op_cycle := 1 -- read from PLC
-- CIS 60529781 is then generated with such parameters
vision_trace_on(ai_Hcode, ai_Lcode, ai_op_cycle, 1)
END prog_1

58
Comau Robotics Product Instruction

PROGRAMMING

5.2.1.2.4 vision_trace_off

Name vision_trace_off

Available from vers. 117.11

This routine ends tracing the current body data.


Function/Usage The device handles the XML file creation (the file specific creation modality depends
on the device manufacturer).
ROUTINE vision_trace_off(ai_syst : INTEGER(1); ...) EXPORTED
Statement
FROM GLH_vision GLOBAL
Parameters – ai_syst : index of the being used system - [1..4] (INTEGER)..
ROUTINE prog_1
BEGIN
...
Calling example
vision_trace_off(1)
...
END prog_1

5.2.1.2.5 vision_switchpara

Name vision_switchpara

Available from vers. 231.01


This routine allows modifying parameters referred to the distance from the selected
position.
When this routine is called, the vision device is no longer controlled by the doser
Function/Usage
opening/closing, but it is handled by vision_trigger_on and vision_trigger_off routines
instead.
It must be used in a motion statement, by means of WITH CONDITION clause.
ROUTINE vision_switchpara(ai_distance_on: INTEGER;
Statement
ai_distance_off : INTEGER): INTEGER EXPORTED FROM GLH_vision
– ai_distance_on: distance [mm] for the opening delay of the vision control
sampling - (INTEGER)
– ai_distance_off: distance [mm] for the closure delay of the vision control
Parameters sampling - (INTEGER) .

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

Available from vers. 231.01


This routine activates the specified vision system sampling at motion Start. Questa
routine attiva il campionamento del sistema di visione specificato allo Start del
Function/Usage
movimento. It must be used in a motion statement, by means of WITH CONDITION
clause.
Statement ROUTINE vision_trigger_on: INTEGER EXPORTED FROM GLH_vision

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

Available from vers. 231.01


This routine activates the specified vision system sampling at motion End. It must be
Function/Usage
used in a motion statement, by means of WITH CONDITION clause.
Statement ROUTINE vision_trigger_off: INTEGER EXPORTED FROM GLH_vision

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

Available from vers. 231.01

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

Available from vers. 231.01


This routine is to be inserted after a vision_end routine; it indicates whether the most
Function/Usage
recently checked processing is to be fixed.
ROUTINE VisionBeadRepairReq(ai_vision_system : INTEGER) :
Statement
BOOLEAN EXPORTED FROM GlH_Vision
Parameters – ai_vision_system : vision system - [1..4] (INTEGER)
repeat_glue::
...
Vision_prepara
...
Vision_end
--
Calling example
IF VisionBeadRepairReq(1) THEN
VisionBeadRepairSet(1, ON)
GOTO repeat_glue
ENDIF
...
END prog_1

5.2.1.2.10 VisionBeadRepairSet

Name VisionBeadRepairSet

Available from vers. 231.01


This routine informs both the vision and the glue systems about being in bead fixing
Function/Usage modality. In 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_syst : index of the being used system - [1..4] (INTEGER)
– ab_sts : indicates whether the simulation modality is to be activated -
Parameters (BOOLEAN).
For SCA SYS6000 devices with QUISS Vision only

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

Available from vers. 117.21


This routine, to be inserted after vision_end routine, specifies whether the last
Function/Usage
checked working cycle has been completed with or without any process errors.
ROUTINE vision_result_ok(ai_syst: INTEGER(1)) : BOOLEAN
Statement
EXPORTED FROM GLH_vision
Parameters – ai_syst : index of the vision system - [1..3] (INTEGER)
ROUTINE prog_1
BEGIN
...
IF (vision_result_ok (1)) THEN
-- OK (last dispensing cycle completed without any errors)
Calling example
ELSE
-- NOT OK (last dispensing cycle completed with an error)
ENDIF
...
END prog_1

5.2.1.2.12 vision_system_reset

Name vision_system_reset

Available from vers. 231.10


This routine indicates to the vision system to reset all occurred anomalies during the
last working cycle.
Function/Usage
CAUTION: it must just be called upon a visual check of the glued item quality, thus
upon confirmation by an operator.
ROUTINE vision_system_reset(ai_syst : INTEGER(1)) EXPORTED FROM
Statement
GLH_vision
Parameters – ai_syst : index of the vision system - [1..3] (INTEGER)
ROUTINE prog_1
BEGIN

Calling example
vision_system_reset(1)

END prog_1

62
Comau Robotics Product Instruction

PROGRAMMING

5.2.1.3 Felt station


– feltstation_take_felt_set_feed
– feltstation_take_felt
– feltstation_preimp_felt_start
– feltstation_preimp_felt_end
– feltstation_cleaning_start
– feltstation_cleaning_stop
– feltstation_turn_felt.

5.2.1.3.1 feltstation_take_felt_set_feed

Name feltstation_take_felt_set_feed

Available from vers. 231.01


This routine allows activating/deactivating the cleaning station feed, before and after
Function/Usage
taking a felt from the station.
ROUTINE feltstation_take_felt_set_feed(ab_feedON: BOOLEAN;
Statement
ai_num_station: INTEGER(1)) EXPORTED FROM GlH_felt_station
– ab_feedON: indicates whether or not the cleaning station feed must be activated
(BOOLEAN)
– ai_num_station : index of the cleaning station - (INTEGER - OPTIONAL)
Parameters
Before moving to the station to take the felt, the feed must be deactivated.
After taking the felt, quit the collection position and activate the feed again.
ROUTINE prog_1
BEGIN
...
MOVE LINEAR TO p1
--deactivate the station feed
feltstation_take_felt_set_feed(FALSE)
--move to the felt taking position
MOVE LINEAR TO takeFeltPoint
Calling example
--take the felt
feltstation_take_felt
--move far from the felt taking position
MOVE LINEAR TO p2
-- activate feeding
feltstation_take_felt_set_feed(TRUE)
...
END prog_1

5.2.1.3.2 feltstation_take_felt

Name feltstation_take_felt

Available from vers. 231.01

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

– ai_num_station : index of the cleaning system - (INTEGER - OPTIONAL)


Parameters
Before moving to the station to take the felt, the feed must be deactivated.
After taking the felt, quit the position and activate the feed again..
ROUTINE prog_1
BEGIN
...
MOVE LINEAR TO p1
--deactivate the station feed
feltstation_take_felt_set_feed(FALSE)
--move to the felt taking position
MOVE LINEAR TO takeFeltPoint
Calling example
--take the felt
feltstation_take_felt
--move far from the felt taking position
MOVE LINEAR TO p2
-- activate feeding
feltstation_take_felt_set_feed(TRUE)
...
END prog_1

5.2.1.3.3 feltstation_preimp_felt_start

Name feltstation_preimp_felt_start

Available from vers. 231.01


This routine tells the station that the felt pre-impregnation operation starts inside such
Function/Usage
a station, checking for the felt to actually need pre-impregnation.
ROUTINE feltstation_preimp_felt_start(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
...
glue_init(1)
glue_prepara(1)
--
MOVE LINEAR TO p1
--deactivate the station feed
feltstation_take_felt_set_feed(FALSE)
--move to the pre-impregnation position
MOVE LINEAR TO preimpFeltPoint
--indicate the pre-impregnation operation start, to the station
Calling example feltstation_preimp_felt_start
--pre-impregnation routine
glue_drop(TRUE, FALSE, FALSE, 10000)
--indicate the pre-impregnation operation end to the station
feltstation_preimp_felt_end
--move far from the pre-impregnation position
MOVE LINEAR TO p2
-- activate the station feed
feltstation_take_felt_set_feed(TRUE)
--
glue_end
...
END prog_1

64
Comau Robotics Product Instruction

PROGRAMMING

5.2.1.3.4 feltstation_preimp_felt_end

Name feltstation_preimp_felt_end

Available from vers. 231.01


This routine tells the station that the felt pre-impregnation operation ends inside such
Function/Usage
a station.
ROUTINE feltstation_preimp_felt_end(ai_num_station: INTEGER(1))
Statement
EXPORTED FROM GLH_felt_station
Parameters – ai_num_station : index of the cleaning system - (INTEGER - OPTIONAL)
ROUTINE prog_1
BEGIN
...
glue_init(1)
glue_prepara(1)
--
MOVE LINEAR TO p1
--deactivate the station feed
feltstation_take_felt_set_feed(FALSE)
--move to the pre-impregnation position
MOVE LINEAR TO preimpFeltPoint
--indicate the pre-impregnation operation start to the station
Calling example feltstation_preimp_felt_start
--pre-impregnation routine
glue_drop(TRUE, FALSE, FALSE, 10000)
--indicate the pre-impregnation operation end to the station
feltstation_preimp_felt_end
--move far from the pre-impregnation position
MOVE LINEAR TO p2
-- activate the station feed
feltstation_take_felt_set_feed(TRUE)
--
glue_end
...
END prog_1

5.2.1.3.5 feltstation_cleaning_start

Name feltstation_cleaning_start

Available from vers. 231.01

Function/Usage This routine sends the start cleaning signal to the station

ROUTINE feltstation_cleaning_start(ai_num_station: INTEGER(1))


Statement
EXPORTED FROM GLH_felt_station
– ai_num_station : index of the cleaning system - (INTEGER - OPTIONAL)
Parameters
The material distribution does not stop while cleaning.
ROUTINE prog_1
BEGIN
...
Calling example glue_init(1)
glue_prepara(1)
--
MOVE LINEAR TO p1

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

Available from vers. 231.01

Function/Usage This routine sends the stop cleaning signal to the station.

ROUTINE feltstation_cleaning_stop(ai_num_station: INTEGER(1))


Statement
EXPORTED FROM GLH_felt_station
– ai_num_station : index of the cleaning system - (INTEGER - OPTIONAL)
Parameters The material distribution does not stop while cleaning.

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

Available from vers. 231.01

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

Available from vers. 231.01

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 Docking station


– GlueMeterInRefill
– GlueOpenRefillClamp
– GlueCloseRefillClamp.

5.2.1.4.1 GlueMeterInRefill

Name GlueMeterInRefill

Available from vers. 411.06


This routine checks the status of the refill docking station. The routine has to be called
Function/Usage
BEFORE moving with the robot into the refill station

67
Comau Robotics Product Instruction

PROGRAMMING

ROUTINE GlueMeterInRefill(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
...
Calling example
GlueMeterInRefill(1, TRUE)
...
END prog_1

5.2.1.4.2 GlueOpenRefillClamp

Name GlueOpenRefillClamp

Available from vers. 411.06

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

Available from vers. 411.06

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

5.2.1.5 Use of General Routines - sample programs


– Example of using glue routines
– Example of using multi-drop routines
– Real example of using glue routines and vision controlled by doser opening/closing
– Real example of using glue routines and vision controlled by a routine
– Example of using glue routines (NODAL system)
– Example of using glue routines (NODAL system).

5.2.1.5.1 Example of using glue routines

PROGRAM prog1 PROG_ARM = 1


VAR pnt0001J, pnt0002J, pnt0003J, pnt0004J : JOINTPOS FOR ARM[1]

ROUTINE glue_init(syst_id : INTEGER; ai_num_gun : INTEGER()) EXPORTED FROM H_Glue GLOBAL


ROUTINE glue_prepara(bead_type : INTEGER) EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_opengun : INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_closegun : INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_end EXPORTED FROM H_Glue GLOBAL

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

5.2.1.5.2 Example of using multi-drop routines


PROGRAM prog2 PROG_ARM = 1
VAR pnt0001J, pnt0002J: JOINTPOS FOR ARM[1]

ROUTINE glue_init(syst_id : INTEGER; ai_num_gun : INTEGER(0)) EXPORTED FROM H_Glue GLOBAL


ROUTINE glue_prepara(bead_type : INTEGER) EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_drop(ab_gun1, ab_gun2, ab_gun3: BOOLEAN; ai_timeTot: INTEGER(0)) EXPORTED FROM
H_GLUE GLOBAL
ROUTINE glue_end EXPORTED FROM H_Glue GLOBAL

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

ROUTINE RmtToolFrame(ai_tool, ai_frame, ai_arm : INTEGER()) EXPORTED FROM TT_TOOL GLOBAL


ROUTINE ToolFrame(ai_tool, ai_frame, ai_arm : INTEGER()) EXPORTED FROM TT_TOOL GLOBAL

ROUTINE glue_init(syst_id : INTEGER; ai_num_gun : INTEGER()) EXPORTED FROM H_Glue GLOBAL


ROUTINE glue_prepara(bead_type : INTEGER) EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_switchpara(ai_bead : INTEGER; ar_dist : REAL()) : INTEGER EXPORTED FROM H_Glue
GLOBAL
ROUTINE glue_closegun : INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_opengun : INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_end EXPORTED FROM H_Glue GLOBAL

ROUTINE glue_purge(tool_idx : INTEGER) EXPORTED FROM H_Glue GLOBAL

ROUTINE vision_end EXPORTED FROM GlH_Vision


ROUTINE vision_prepara(ai_prog_idx, ai_vision_system : INTEGER) EXPORTED FROM GlH_Vision

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

VAR pnt0001P, pnt0002P, pnt0003P, pnt0004P, pnt0005P, pnt0006P : POSITION

ROUTINE glue_init(syst_id : INTEGER; ai_num_gun : INTEGER()) EXPORTED FROM H_Glue GLOBAL


ROUTINE glue_prepara(bead_type : INTEGER) EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_opengun : INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_closegun : INTEGER EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_end EXPORTED FROM H_Glue GLOBAL
ROUTINE vision_prepara(ai_prog_idx, ai_vision_system : INTEGER) EXPORTED FROM GLH_Vision
ROUTINE vision_trigger_on : INTEGER EXPORTED FROM GLH_Vision
ROUTINE vision_trigger_off : INTEGER EXPORTED FROM GLH_Vision
ROUTINE vision_switchpara(ai_distance_on: INTEGER; ai_distance_off : INTEGER) : INTEGER
EXPORTED FROM GLH_vision
ROUTINE vision_end EXPORTED FROM GLH_Vision

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

5.2.1.5.5 Example of using glue routines (NODAL system)


PROGRAM prog_example, PROG_ARM = 1

IMPORT 'TV_MOVE'
IMPORT 'TV_TOOL'
IMPORT 'TV_FRAME'
IMPORT 'TV_TMAP'

IMPORT 'H_Glue'
IMPORT 'BeadData'

VAR pnt0001p : POSITION


VAR pnt0002p : POSITION
VAR pnt0003p : POSITION
VAR pnt0004p : POSITION
VAR pnt0005p : POSITION
VAR pnt0006p : POSITION
VAR pnt0007p : POSITION
VAR pnt0008p : POSITION
VAR pnt0009p : POSITION
VAR pnt0010p : POSITION
VAR jnt0001J : JOINTPOS FOR ARM[1]

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

5.2.1.5.6 Example of using glue refill docking routines


– Using new syntax modal routines
– Using standard modal routines.

Using new syntax modal routines


PROGRAM prog_refill PROG_ARM = 1
ROUTINE GluePostProc(ab_wait_check : BOOLEAN()) EXPORTED FROM H_Glue GLOBAL
ROUTINE GlueOpenRefillClamp(ai_syst : INTEGER(); ab_waitDock : BOOLEAN()) : BOOLEAN EXPORTED
FROM H_Glue
ROUTINE GlueFill(ai_syst : INTEGER; ab_wait_check : BOOLEAN) EXPORTED FROM H_Glue
ROUTINE GlueCloseRefillClamp(ai_syst : INTEGER(); ab_waitDock : BOOLEAN()) : BOOLEAN
EXPORTED FROM H_Glue
ROUTINE GlueMeterInRefill(ai_syst : INTEGER(); ab_waitDock : BOOLEAN()) : BOOLEAN EXPORTED
FROM H_Glue
ROUTINE GluePreProc(ai_syst, ai_bead : INTEGER; ab_wait_check : BOOLEAN(); ai_tool :
INTEGER()) EXPORTED FROM H_Glue GLOBAL
BEGIN
GluePreProc(1, 1)
IF GlueMeterInRefill(1, TRUE) THEN
-- Meter in Refill station
GlueCloseRefillClamp(1, TRUE)
GlueFill(1, TRUE)
GlueOpenRefillClamp(1, TRUE)
ELSE
-- Meter not in refill station
ENDIF
HOLD
GluePostProc(TRUE)
END prog_refill

Using standard modal routines


PROGRAM prog_refill_2 PROG_ARM = 1
ROUTINE glue_end EXPORTED FROM H_Glue GLOBAL
ROUTINE GlueOpenRefillClamp(ai_syst : INTEGER(); ab_waitDock : BOOLEAN()) : BOOLEAN EXPORTED
FROM H_Glue
ROUTINE glue_fill(tool_idx : INTEGER; ab_wait_check : BOOLEAN) EXPORTED FROM H_Glue GLOBAL
ROUTINE GlueCloseRefillClamp(ai_syst : INTEGER(); ab_waitDock : BOOLEAN()) : BOOLEAN
EXPORTED FROM H_Glue

74
Comau Robotics Product Instruction

PROGRAMMING

ROUTINE GlueMeterInRefill(ai_syst : INTEGER(); ab_waitDock : BOOLEAN()) : BOOLEAN EXPORTED


FROM H_Glue
ROUTINE glue_prepara(ai_bead : INTEGER) EXPORTED FROM H_Glue GLOBAL
ROUTINE glue_init(ai_syst : INTEGER; ai_num_gun : INTEGER()) EXPORTED FROM H_Glue GLOBAL
BEGIN
glue_init(2)
glue_prepara(1)
IF GlueMeterInRefill(2, TRUE) THEN
-- Meter in Position
GlueCloseRefillClamp(2, TRUE)
glue_fill(2, TRUE)
GlueOpenRefillClamp(2, TRUE)
ELSE
-- Meter not in Position
ENDIF
glue_end
HOLD
END prog_refill_2

75
Comau Robotics Product Instruction

PROGRAMMING

5.2.2 Service routines


In this group the following routines are included:
– glue_fill
– glue_fill_wait
– glue_purge.

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 General routines for NODAL system


To insert this type of routines, please refer to par. 4.5.1 Entering technological
instructions in NODAL systems on page 49.
– Glue
– Vision
– Example of using glue routines and vision controlled by doser open/close (NODAL
system).

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).

5.2.3.1.1 GlueOn (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

5.2.3.1.2 Glue (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 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

5.2.3.1.3 GlueOff (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 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

5.2.3.1.4 GlueCh (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 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

5.2.3.1.5 GluePreProc (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 GluePreProc

Available since vers.240.01

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

5.2.3.1.6 GluePostProc (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 GluePostProc

Available since vers.240.01

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

5.2.3.1.7 GlueResultOK (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 GlueResultOK

Available since vers.240.01

This routine, to be inserted after GluePostProc (NODAL system) routine, specifies


Function/Usage
whether the last working cycle has been completed with or without any process errors.
ROUTINE GlueResultOk(ae_syst : ToolMap) : BOOLEAN EXPORTED FROM
Statement
H_glue GLOBAL
Parameters – ae_syst : index of the ToolMap the User has to define - TOOLMAP
ROUTINE prog_1
BEGIN
...
IF (GlueResultOk(1)) THEN
-- OK (last dispensing cycle: completed with no errors)
Calling example
ELSE
-- NOT OK (last dispensing cycle: completed with errors)
ENDIF
...
END prog_1

5.2.3.1.8 GluePosOffsetZ (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 GluePosOffsetZ

Available since vers.240.01

To be used as the second parameter of SetToolOffset routine in order to apply an offset


to the tool specified as first parameter (in the above example, the tool named TOOL_1 of
the Tool data table).
This function returns a POSITION where each value is 0 except the Z field (e.g.:
POS(0,0,5,0,0,0,'')
Therefore the Tool Center Point will have an offset along the current Z+ tool direction,
when the next motion statement using that tool will be executed.
Function/Usage
The offset in Z+ tool, is taken from fi_offset_tool field of the bead specified as
parameter. In the Syntax example below, the bead named BEAD_1 in the BeadData
table.

CAUTION: if this routine is used in the SetToolOffset routine, it modifies the


$TOOL predefined variable. For detailed information about SetToolOffset routine, refer
to Nodal MOVE manual, par.3.3.5.2 SetToolOffset.
ROUTINE GluePosOffsetZ(ae_bead : Bead_Data) : POSITION
Statement
EXPORTED FROM gl_glue_nod GLOBAL

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

5.2.3.1.9 GlueDrop (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 GlueDrop

Available since vers.240.01

This routine controls the distribution opening, for gun 1, 2 and 3.


Function/Usage The gun can be opened at the same time. The distribution is closed either at the time
expiration, as specified by the parameter, or at reached volume.
ROUTINE GlueDrop(ab_gun1, ab_gun2, ab_gun3: BOOLEAN; ai_timeTot:
Statement
INTEGER()) EXPORTED FROM H_Glue GLOBAL
– ab_gun1 : (MANDATORY) indicates gun 1 opening - BOOLEAN
– ab_gun2 : (MANDATORY) indicates gun 2 opening - BOOLEAN
Parameters – ab_gun3 : (MANDATORY) indicates gun 3 opening - BOOLEAN
– ai_time_tot : (OPTIONAL) time in milliseconds for the specified gun opening. If
missing, the distribution ends at reached volume- INTEGER
ROUTINE prog_1
BEGIN
...
Calling example
GlueDrop(ON, OFF, OFF, 1000)
...
END prog_1

5.2.3.1.10 GlueSystemReset (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 GlueSystemReset

Available since vers.311.01

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

5.2.3.1.11 GlueTraceOn (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 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

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

GlueTraceOff(ae_syst : ToolMap; ...)


Statement
EXPORTED FROM gl_glue_nod GLOBAL
Parameters – ai_syst : index of the being used system - [1..4] (INTEGER)..
ROUTINE prog_1
BEGIN
...
Calling example
GlueTraceOff (1)
...
END prog_1

5.2.3.2 Vision
– VisionPreProc
– VisionPostProc
– VisionResultOk
– VisionSystemReset
– VisionCustomCheck
– VisionShowFault
– VisionTraceOn
– VisionTraceOff
– VisionBeadRepairReq
– VisionBeadRepairSet.

5.2.3.2.1 VisionPreProc

Name VisionPreProc

Available since vers.311.01


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 it to the measuring mode.
ROUTINE VisionPreProc(ae_syst : ToolMap; ai_prog_idx : INTEGER;
Statement
by_doser : BOOLEAN(TRUE)) 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
– 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.3.2.2 VisionPostProc

Name VisionPostProc

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

Function/Usage This routine shows any faults occurred in the vision system

ROUTINE VisionShowFault(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
VisionShowFault (1)
...
END prog_1

5.2.3.2.7 VisionTraceOn

Name VisionTraceOn

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

To be inserted after VisionPostProc routine; it indicates whether the last checked


Function/Usage
production needs to be repaired.
ROUTINE VisionBeadRepairReq(ai_vision_system : INTEGER) : BOOLEAN
Statement
EXPORTED FROM GlH_Vision
Parameters – ai_vision_system : vision system - [1..4] (INTEGER)
ROUTINE prog_1
Calling example BEGIN
...

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

Available since vers.311.01

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).

Only for SCA SYS6000 systems with QUISS Vision.


ROUTINE prog_1
BEGIN
...
repeat_glue::
...
VisionPreProc (1, 5)
...
VisionPostProc
Calling example --
IF VisionBeadRepairReq(1) THEN
VisionBeadRepairSet(1, ON)
VisionBeadRepairSet(1, OFF)
...
GOTO repeat_glue
ENDIF
...
END prog_1

5.2.3.3 Example of using glue routines and vision controlled by doser


open/close (NODAL system)
PROGRAM prog_glue_nodale PROG_ARM = 1
IMPORT 'TV_MOVE'
IMPORT 'BeadData'
IMPORT 'TV_TOOL'
IMPORT 'TV_FRAME'
IMPORT 'H_Glue'

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

5.2.4 Service routines for NODAL system


– GlueFill (NODAL system)
– GluePurge (NODAL system).

5.2.4.1 GlueFill (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 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

5.2.4.2 GluePurge (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 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 General routines - new syntax


These routines are grouped as follows:
– Glue
– Vision
– Usage examples - new syntax.

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

Available since vers.311.01

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

GluePreProc (1, 5) –- initialize bead 5 (Glue Bead table) System 1


...
END prog_1

5.2.5.1.2 GlueOpen

Name GlueOpen

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

This routine controls the dispenser opening for nozzles 1, 2, 3.


Function/Usage More than one nozzle can be opened at the same time. Dispensing is closed when either
the timeout (specified as a parameter) expires or the volume is reached.
ROUTINE GlueDrop(ab_gun1, ab_gun2, ab_gun3: BOOLEAN; ai_timeTot:
Statement
INTEGER(0)) EXPORTED FROM gl_glue GLOBAL

96
Comau Robotics Product Instruction

PROGRAMMING

– 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)
– ai_timeTot : opening time (in milliseconds) for the indicated nozzles. Optional
parameter; if missing, dispensing is closed at reached volume (SCA SYS 6000).
ROUTINE prog_1
BEGIN
...
Calling example
GlueDrop(TRUE, FALSE, FALSE, 1000)
...
END prog_1

5.2.5.1.9 GlueMultiGun

Name GlueMultiGun

Available since vers.311.01

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

Available since vers.311.01

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

– ai_syst : index of the being used system - [1..4] (INTEGER)..


– ab_sts : indicates whether activating the simulation modality or not – [TRUE/FALSE]
(BOOLEAN)
Parameters
NB: For SCA SYS6000 devices only - This command does not take any effect when the
modal selector switch is set to REMOTE.
ROUTINE prog_1
BEGIN
...
Calling example
GlueSetSimMode(1, TRUE)
...
END prog_1

5.2.5.1.11 GlueSetToolOffsetZ

Name GlueSetToolOffsetZ

Available since vers.311.01

Function/Usage This routine is used to assign a Z offset to the tool specified as the first parameter.

ROUTINE GlueSetToolOffsetZ(ai_tool : INTEGER; ar_offset_z:


Statement
REAL(0)) EXPORTED FROM gl_glue
– ai_tool : index of the tool to be modified – [1..64] (INTEGER)
– ar_offset_z : is the Z offset to be applied to the specified tool (REAL)
Parameters
WARNING: $TOOL predefined variable is modified when this routine is called
ROUTINE prog_1
BEGIN
...
Calling example
GlueSetToolOffsetZ (1, 5.5)
...
END prog_1

5.2.5.1.12 GlueSetToolOffsetZBead

Name GlueSetToolOffsetZBead

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01


This routine ends tracing for the current car body data. The device creates the XML file
Function/Usage
(the specific creation modality depends on the device builder).
Statement ROUTINE GlueTraceOff(ai_syst : INTEGER; ...) EXPORTED FROM gl_glue

Parameters – ai_syst : index of the being used system - [1..4] (INTEGER)


ROUTINE prog_1
BEGIN
...
Calling example
GlueTraceOff (1)
...
END prog_1

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

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

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
...
VisionPostProc
...
IF (VisionResultOk (1)) THEN
Calling example
-- OK (last dispensing cycle completed with no errors)
ELSE
-- NOT OK (last dispensing cycle completed with errors)
ENDIF
...
END prog_1

5.2.5.2.6 VisionSystemReset

Name VisionSystemReset

Available since vers.311.01

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

Available since vers.311.01

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

Available since vers.311.01

Function/Usage This routine shows any occurring faults in the vision system.

ROUTINE VisionShowFault(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
VisionShowFault (1)
...
END prog_1

5.2.5.2.9 VisionTraceOn

Name VisionTraceOn

Available since vers.311.01

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

Available since vers.311.01

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

5.2.5.3 Usage examples - new syntax


– Example of using glue routines - new syntax
– Example of using multidrop routine – new syntax
– Example of using glue routines and vision controlled by doser open/close – new
syntax
– Example of using glue routines and vision controlled by routines – new syntax.

5.2.5.3.1 Example of using glue routines - new syntax


PROGRAM prog_1 PROG_ARM = 1
VAR pnt0001P, pnt0002P, pnt0003P, pnt0004P, pnt0005P : POSITION
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)
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)
END prog_1

104
Comau Robotics Product Instruction

PROGRAMMING

5.2.5.3.2 Example of using multidrop routine – new syntax


PROGRAM prog_2 PROG_ARM = 1
VAR pnt0001P, pnt0002P, pnt0003P, pnt0004P, pnt0005P : POSITION
ROUTINE GlueMultiGun(ab_gun1, ab_gun2, ab_gun3:BOOLEAN; dist_before_point:REAL()): INTEGER
EXPORTED FROM H_Glue GLOBAL
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)
MOVE LINEAR TO pnt0001P
MOVEFLY LINEAR TO pnt0002P ADVANCE ,
WITH CONDITION[GlueMultiGun(TRUE, FALSE, TRUE)],
ENDMOVE
MOVEFLY LINEAR TO pnt0005P ADVANCE ,
WITH CONDITION[GlueClose],
ENDMOVE
GluePostProc(TRUE)
END prog_2

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 Service routines - new syntax


– GlueWakeUp
– GluePurgeRequest
– GluePurge
– GluePurge2k
– GluePurgeDrop
– GlueSetPurgePos.

5.2.6.1 GlueWakeUp

Name GlueWakeUp

Available since vers.311.01

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

Available since vers.311.01

Function/Usage This routine checks whether the system requires a purge operation or not.

ROUTINE GluePurgeRequest(ai_syst : INTEGER) : BOOLEAN


Statement
EXPORTED FROM gl_glue GLOBAL
Parameters – ai_syst : index of the being used system – [1..3] (INTEGER)
ROUTINE prog_1
BEGIN
...
IF (GluePurgeRequest (1)) THEN
-- the glue system requires a purge operation
Calling example
ELSE
-- no purge operations required from the glue system
ENDIF
...
END prog_1

107
Comau Robotics Product Instruction

PROGRAMMING

5.2.6.3 GluePurge

Name GluePurge

Available since vers.311.01

Function/Usage This routine handles the purge operation for the specified doser.

Statement ROUTINE GluePurge(ai_syst : INTEGER) EXPORTED FROM gl_glue GLOBAL

Parameters – ai_syst : index of the being used system – [1..3] (INTEGER)


ROUTINE prog_1
BEGIN
...
Calling example
GluePurge (1)
...
END prog_1

5.2.6.4 GluePurge2k

Name GluePurge2k

Available since vers.311.01

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

Available since vers.311.01

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

– ai_syst : index of the being used system – [1..3] (INTEGER)


Parameters – ai_comp : specifies which gun is to be opened – [1..3, 1=gun 1; 2= gun 2; 3= gun 3]
(INTEGER)
ROUTINE prog_1
BEGIN
...
Calling example
GluePurgeDrop (1, 1)
...
END prog_1

5.2.6.6 GlueSetPurgePos

Name GlueSetPurgePos

Available since vers.311.01

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 Handling RESET key


These routines handle the RESET key.
– glru_tp_reset_in_remote.

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

5.4 Cosmetic Sealer application


If the used application is Cosmetic Sealer, in order to obtain the best performance from
the system, some programming rules have to be borne in mind.
The more closely these rules are followed, the better the results will be, both in
maintaining constant velocity and adherence to the trajectory.
The most important rules are:
1. The value of the $STRESS_PER variable is to be set only once and is not to be
changed any more during the program.
2. The value of $STRESS_PER is to be within the range of 20 and 30 according to
the variation in orientation. If there are considerable variations in the orientation, it
is advised to initialize the variable at a value of 22.
3. If possible, keep a linear distance between the ends of a MOVE (start point and
end point) greater than 120 mm. The recommended value to reach a speed of 0.5
m/s is 160 mm.
4. If it is necessary to make a big orientation variation, distribute it over the greatest
number of moves possible.
5. SPD_OPT is to be always set as SPD_LIN for this application.
Set these initial settings:
– FLY_TYPE := FLY_CART,
– FLY_TRAJ := FLY_TOL and
– FLY_DIST to the required distance.
If the angles between 2 FLY trajectories are more than 120 degrees, set
FLY_DIST at sufficiently high values (5 mm). If the angle is less than 20
degrees, set FLY_DIST at low values (not less than 2 mm).

111
Comau Robotics Product Instruction

PROGRAMMING

5.5 Use of System Shared Resources


The system provides the user with some common resources, included in the following
tables:
– Tab. 5.1 - $DIN and $DOUT on page 113
– Tab. 5.2 - $FMI and $FMO on page 113
– Tab. 5.3 - Errors, events, conditions on page 113
– Tab. 5.4 - User Fieldbus modules addresses on page 114.

112
Comau Robotics Product Instruction

PROGRAMMING

Tab. 5.1 - $DIN and $DOUT


$DIN

RANGE OWNER NOTES


1 -- 199 APPL Signals reserved to the applications
200 -- 2048 USER
$DOUT

RANGE OWNER NOTES


1 -- 199 APPL Signals reserved to the applications
200 -- 2048 USER

Tab. 5.2 - $FMI and $FMO


$FMI
RANGE OWNER NOTES
1--32 USER
33--145 APPL Signals reserved to the applications
$FMO
RANGE OWNER NOTES
1--32 USER
33--145 APPL Signals reserved to the applications

Tab. 5.3 - Errors, events, conditions


NUMBER OF ERR_POST

RANGE OWNER NOTES


43008 -- 44031 USER used in err_post
TP PRIVILEDGED EVENTS

RANGE OWNER NOTES


(Err_Post2 // Right Menu when it is not managed by
5120 -- 5169 USER
the application software)
CONDITION HANDLERS (declared in the user program)

RANGE OWNER NOTES


1 -- 24 USER
PDL2 EVENTS

RANGE OWNER NOTE


50342 --> 50687 USER

113
Comau Robotics Product Instruction

PROGRAMMING

Tab. 5.4 - User Fieldbus modules addresses


SUGGESTED NAME
MODULE ADDRESS
CANOPEN, PROFIBUS, DEVICENET ETHERNET-IP, PROFINET
GRIPPER 1 54 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 2 / GRIPPER 1 NODE 2 55 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 3 / GRIPPER 1 NODE 3 56 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 4 / ... 57 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 5 / ... 58 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 6 / ... 71 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 7 / ... 72 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 8 / ... 73 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 9 / ... 74 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
GRIPPER 10 / ... 75 HN_GRIP_numGrip_PhysAddr hngripnNumGripaPhysAddr
TOOL STAND 1 61 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND 2 62 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND 3 63 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND4 64 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND 5 65 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND 6 66 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND 7 67 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND 8 68 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND 9 69 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
TOOL STAND 10 70 TC_STAND_numStand_PhysAddr tcstandnnumStandaPhysAddr
USER 80 .. 99 USER USER

Example of suggested modules names: HNGRIP_1_54 -- hngripn1a54

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

6.1 Configuration I/O towards PLC


As far as the communication with the PLC, some standard signals are needed
(application exclusion, process activation, anomaly reset, active application code and
corresponding status feedbacks towards PLC) which are shared by the several
application Softwares provided by COMAU.
Such signals are configured during installation, as belonging to the virtual module called
APPL_PLC_VIRT.
When the User performs any configuration for the signals towards PLC, such virtual
signals must be associated to the physical signals which are mapped in the
communication area towards PLC. This operation is performed by means of the
IO_MAP program.

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.

Summarizing, it is needed to:


– configure the fieldbus network towards PLC (by means of IO_CNFG program)
– define a range of input and output signals in the communication area towards PLC
(by means of IO_MAP program). A list of available ports to this purpose, is shown
in par. 5.5 Use of System Shared Resources on page 112
– associate the configured signals, to virtual PLC module signals (IO_MAP
program).
The signals association can be performed:
– globally - using a single command to agree with the suggested profile (standard
profile), in terms of position (byte - bit), for all signals in the PLC communication
area
– for each port - defining the position (byte e bit) of each single signal.
A description follows of the suggested standard profile:

INPUTS (SIGNALS FROM PLC) Position (byte-bit)


Application alarm reset $IN[413] 1-7
Process YES/NO command $IN[412] 1-6
Application exclusion command $IN[411] 1-5
Vision exclusion command $IN[416] 2-7
OUTPUT (SIGNALS TOWARDS PLC)
Application not alarm $OUT[413] 1-8
Process YES/NO $OUT[412] 1-7
Application included $OUT[411] 1-6
Vision included $OUT[416] 2-7
Application cycle activated $FMO[128] 2-3

115
Comau Robotics Product Instruction

CUSTOMIZATIONS

116
Original instructions

Made in Comau

You might also like