Professional Documents
Culture Documents
EcoRC2
S043ES01 - V 1.1
EcoTalk
1 ndice de modificaciones:
Versin
V 1.0
V 1.1
Fecha
6.12.2000
3.4.2001
Descripcin
Creacin
Insercin del macro SetHandlerState
Autor
Beuter
Beuter
Se reserva el derecho a modificaciones en favor del desarrollo tcnico. No se asumen garantas por
los datos enunciados. Velamos por nuestros derechos.
S043ES01 - V 1.1
EcoTalk
EcoTalk
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.10.1
1.10.2
1.11
1.11.1
1.11.2
2
GRUPO DEVICE.........................................................................................................................................14
2.1
2.2
2.3
2.4
2.5
3
SELECT ...............................................................................................................................................14
RELEASE .............................................................................................................................................14
SETBASE .............................................................................................................................................14
SETOBJECT .........................................................................................................................................15
SETTOOL.............................................................................................................................................15
GRUPO PROFILE ......................................................................................................................................16
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
4
VEL .....................................................................................................................................................16
VELPATH ............................................................................................................................................16
ACC ....................................................................................................................................................17
ACCPATH ............................................................................................................................................17
RAMP ..................................................................................................................................................18
JERK....................................................................................................................................................19
OVERLAP ............................................................................................................................................20
VAS....................................................................................................................................................21
SETINTMODE.......................................................................................................................................21
SETLIMOVERRIDE ............................................................................................................................... 22
GRUPO TRACKING ..................................................................................................................................23
4.1
4.2
4.3
4.4
5
PTP.......................................................................................................................................................5
LIN.......................................................................................................................................................6
CIRC ....................................................................................................................................................7
CURVE ................................................................................................................................................8
CURVE_T............................................................................................................................................9
WAITMODE .........................................................................................................................................10
SHIFT ..................................................................................................................................................10
RESHIFT ..............................................................................................................................................11
TORQUEMONITOR ............................................................................................................................... 11
GRUPO PATH .......................................................................................................................................12
Move...............................................................................................................................................12
Endmove.........................................................................................................................................12
GRUPO PROG ......................................................................................................................................13
Startprog ........................................................................................................................................13
Endprog .........................................................................................................................................13
TRACKING ...........................................................................................................................................23
SETTRACKINGWINDOW ......................................................................................................................23
WAITCONVEYOR ................................................................................................................................24
WAITPAINTPOSITION ..........................................................................................................................24
GRUPO PROCESS......................................................................................................................................25
5.1
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.1.6
5.2
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
GRUPO IN/OUT....................................................................................................................................25
Receive ...........................................................................................................................................25
SetOutput .......................................................................................................................................26
GetInput .........................................................................................................................................26
GetVariante....................................................................................................................................27
GetRepairtype ................................................................................................................................27
Homing...........................................................................................................................................28
GRUPO PAINT ......................................................................................................................................29
SetTriggerpar.................................................................................................................................29
StartColorchange...........................................................................................................................30
LoadBrushfile.................................................................................................................................30
Gun ................................................................................................................................................30
Brush..............................................................................................................................................31
Gun_B ............................................................................................................................................31
S043ES01 - V 1.1
EcoTalk
EcoTalk
5.2.7
5.2.8
5.2.9
5.2.10
5.2.11
5.2.12
5.3
5.3.1
5.3.2
5.4
5.4.1
5.4.2
5.4.3
5.4.4
5.4.5
5.4.6
5.4.7
5.4.8
5.4.9
5.4.10
6
RDENES LGICAS.................................................................................................................................43
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
7
LABEL .................................................................................................................................................43
GOTO ..................................................................................................................................................43
CALL ...................................................................................................................................................43
RETURN ..............................................................................................................................................43
DELAY ................................................................................................................................................43
IF ........................................................................................................................................................44
ELSEIF .................................................................................................................................................44
WHILE .................................................................................................................................................44
REPEAT ...............................................................................................................................................44
PROGRAMAS DE ECOTALK ..................................................................................................................45
7.1
7.2
7.2.1
7.2.2
7.2.3
7.2.4
7.2.5
8
GENERALIDADES .................................................................................................................................45
ESTRUCTURA DEL PROGRAMA.............................................................................................................47
Parntesis de programa y cuerpo de programa ............................................................................47
El parntesis de programa.............................................................................................................47
Cuerpo del programa.....................................................................................................................49
El camino .......................................................................................................................................50
Lugares de aplicacin de comandos EcoTalk................................................................................51
8.1
8.2
8.2.1
8.2.2
8.3
8.3.1
8.3.2
8.3.3
8.4
8.5
8.5.1
8.5.2
8.5.3
9
Brush_B .........................................................................................................................................31
Gun_E ............................................................................................................................................32
Brush_E .........................................................................................................................................32
Gun_M ...........................................................................................................................................33
Brush_M.........................................................................................................................................33
SetPaintDistance............................................................................................................................33
GRUPO ROBOT ....................................................................................................................................34
SetOrder.........................................................................................................................................34
ReceiveHandlerpos ........................................................................................................................35
GRUPO HANDLER ................................................................................................................................36
Set Opener State.............................................................................................................................36
CheckPart ......................................................................................................................................36
SetPart ...........................................................................................................................................36
GetPart...........................................................................................................................................37
SetSensor........................................................................................................................................38
SetLoad ..........................................................................................................................................40
SetSearch .......................................................................................................................................40
SetGripper......................................................................................................................................41
SetPoscode .....................................................................................................................................41
ReceiveOrder .................................................................................................................................42
9.1
9.2
10
TEACH.RC ..............................................................................................................................................79
S043ES01 - V 1.1
EcoTalk
EcoTalk
1 Grupo Movements
1.1
PTP
Macro :
PTP(Point)
Parmetro :
Aplicacin :
En camino.
Accin:
Poner puntero de
registro:
Reposicin urea:
Retorno a punto 0:
Sistemas de
coordenadas:
Ejemplo:
PTP(P1)
P1
S043ES01 - V 1.1
EcoTalk
EcoTalk
1.2
LIN
Macro :
LIN(Point)
Parmetro :
Point: [x, y, z, a, b, c]
Aplicacin :
En camino.
Accin:
Poner puntero de
registro:
Reposicin urea:
Retorno a punto 0:
Sistemas de
coordenadas:
LIN(P1)
P1
S043ES01 - V 1.1
EcoTalk
EcoTalk
1.3
CIRC
Macro :
CIRC(Point)
Parmetro :
Point: [x, y, z, a, b, c]
Aplicacin :
En camino.
Accin:
Reposicin urea:
Retorno a punto 0:
Sistemas de
coordenadas:
P1
P2
S043ES01 - V 1.1
EcoTalk
EcoTalk
1.4
CURVE
Macro :
CURVE(Point)
Parmetro :
Point: [x, y, z, a, b, c]
Aplicacin :
En camino.
Accin:
Poner puntero de
registro:
Reposicin urea:
Retorno a punto 0:
Sistemas de
coordenadas:
S043ES01 - V 1.1
EcoTalk
EcoTalk
1.5
CURVE_T
Macro :
CURVE(Point Tangente)
Parmetro :
Point: [x, y, z, a, b, c]
Tangente: [x, y, z]
Aplicacin :
En camino.
Accin:
Poner puntero de
registro:
Reposicin urea:
Retorno a punto 0:
Sistemas de
coordenadas:
Ejemplo:
LIN(P1)
CURVE_T(P2 T2)
LIN(P3)
T2
S043ES01 - V 1.1
EcoTalk
EcoTalk
1.6
1.7
Waitmode
Macro :
WAITMODE(Mode)
Parmetro :
Aplicacin :
En todo lugar.
Accin:
Ejemplo:
WAITMODE(ON)
WAITMODE(OFF)
Shift
Macro :
SHIFT(Shift)
Parmetro :
Aplicacin :
Accin:
Ejemplo:
SHIFT(S1)
Desplaza P1 100 en direccin x
MOVE(Path1)
LIN(P1)
ENDMOVE(Path1)
SHIFT(S2)
Desplaza P2 y P3 200 en direccin x
MOVE(Path2)
LIN(P2)
LIN(P3)
ENDMOVE(Path2)
RESHIFT() Anula todos los desplazamientos
S1(X=100 Y=0 Z=0 A7=0)
S2(X=200 Y=0 Z=0 A7=0)
S043ES01 - V 1.1
EcoTalk
10
EcoTalk
1.8
Reshift
Macro :
RESHIFT()
Parmetro :
Aplicacin :
Tras el camino.
Accin:
Ejemplo:
SHIFT(S1)
Desplaza P1 100 en direccin x
MOVE(Path1)
LIN(P1)
ENDMOVE(Path1)
SHIFT(S2)
Desplaza P2 y P3 200 en direccin x
MOVE(Path2)
LIN(P2)
LIN(P3)
ENDMOVE(Path2)
RESHIFT() Anula todos los desplazamientos
S1(X=100 Y=0 Z=0 A7=0)
S2(X=200 Y=0 Z=0 A7=0)
1.9
Torquemonitor
Macro :
TORQUEMONITOR(Command Achsnummer)
Parmetro :
Command:
Achsnummer:
Aplicacin :
En todo lugar.
Accin:
Start, Stop
Axis1 ... Axis9
Ejemplo:
TORQUEMONITOR(Start Axis1)
TORQUEMONITOR(Stop Axis1)
S043ES01 - V 1.1
EcoTalk
11
EcoTalk
MOVE(Name)
Parmetro :
Name: [String]
Aplicacin :
Comienzo de camino.
Accin:
Ejemplo:
MOVE(Tuer)
LIN(P1)
LIN(P2)
ENDMOVE(Tuer)
1.10.2 Endmove
Macro :
ENDMOVE(Name)
Parmetro :
Name: [String]
Aplicacin :
Accin:
Ejemplo:
MOVE(Tuer)
LIN(P1)
LIN(P2)
ENDMOVE(Tuer)
S043ES01 - V 1.1
EcoTalk
12
EcoTalk
STARTPROG(Name)
Parmetro :
Name: [String]
Aplicacin :
Accin:
Ejemplo:
STARTPROG(Auto1)
1.11.2 Endprog
Macro :
ENDPROG(Name)
Parmetro :
Name: [String]
Aplicacin :
Accin:
Ejemplo:
ENDPROG(Auto1)
S043ES01 - V 1.1
EcoTalk
13
EcoTalk
2 Grupo Device
2.1
2.2
2.3
Select
Macro :
SELECT(Name)
Parmetro :
Name: [String]
Aplicacin :
Accin:
Ejemplo:
SELECT(R11)
Release
Macro :
RELESE(Name)
Parmetro :
Name: [String]
Aplicacin :
Accin:
Ejemplo:
RELEASE(R11)
SetBase
Macro :
SETBASE(Base)
Parmetro :
Base: [x,y,z,a,b,c]
Aplicacin :
Accin:
Ejemplo:
SETBASE(B1)
S043ES01 - V 1.1
EcoTalk
14
EcoTalk
2.4
2.5
SetObject
Macro :
SETOBJECT(Object)
Parmetro :
Object: [x,y,z,a,b,c]
Aplicacin :
Accin:
Ejemplo:
SETOBJECT(O1)
SetTool
Macro :
SETTOOL(Tool)
Parmetro :
Tool: [x,y,z,a,b,c]
Aplicacin :
Accin:
Ejemplo:
SETTOOL(T1)
S043ES01 - V 1.1
EcoTalk
15
EcoTalk
3 Grupo Profile
3.1
Vel
Macro :
VEL(Velocity)
Parmetro :
Velocity:
Path_Val
Rot_Val
RotZ_Val
PTP_Perc
Aplicacin :
Accin:
Ejemplo:
3.2
VelPath
Macro :
VELPATH(VelPath)
Parmetro :
VelPath: [REAL]
S043ES01 - V 1.1
EcoTalk
16
EcoTalk
3.3
Aplicacin :
En camino.
Accin:
Ejemplo:
VELPATH (300.0)
Acc
Macro :
ACC(Acceleration)
Parmetro :
Acceleration:
Path_Acc
Path_Dcc
Rot_Val
RotZ_Val
PTP_Perc
3.4
Aplicacin :
Accin:
Ejemplo:
ACC(A1)
AccPath
Macro :
ACCPATH(PathAcc)
Parmetro :
PathAcc: [Real]
Aplicacin :
En camino .
Accin:
Ejemplo:
ACCPATH(3000.0)
S043ES01 - V 1.1
EcoTalk
17
EcoTalk
3.5
Ramp
Macro :
RAMP(Ramp)
Parmetro :
Ramptype:
Trapecio, seno, tringulo
Rampfactor: [Real]
La estructura de datos Ramp contiene la definicin para el perfil de la
rampa de una trayectoria. Se define el tipo de rampa y el factor de
rampa.
Los tipos de rampas son:
Rampa
Definicin
Rampa trapezoidal
Seno cuadrado
Rampa triangular
antisimtrica
Trapez
Sinus
Triangle
Accin:
Ejemplo:
RAMP(R1)
S043ES01 - V 1.1
EcoTalk
18
EcoTalk
3.6
Jerk
Macro :
JERK(Jerk)
Parmetro :
Jerk:
Path_Val
Rot_Val
RotZ_Val
PTP_Perc
Smbolo
Usado en
Path_Val
Cart
Margen
de valores
49
5*10 - 10
Rot_Val
Cart Zrojo
10 - 10
Tirn de orientacin en
torno al eje Z [/s]
RotZ_Val
Cart Zrojo
10 - 10
PTP_Perc
PTP, Aux
10 - 100
5-
Aplicacin :
Accin:
Ejemplo:
Jerk(J1)
S043ES01 - V 1.1
EcoTalk
19
EcoTalk
3.7
Overlap
Macro :
OVERLAP(Overlap)
Parmetro :
Overlap:
Mode
Vel_Perc
Path_Val
Rot_Val
RotZ_Val
Axis_Perc
Modo:
Tipo de solapado
Sin solapado
Definicin
Fine
Solapado de
velocidad (Solapado
de contornos)
Solapado de
contornos con
distancia de solapado
mxima
Solapado de
contornos con
distancia de solapado
constante
Solapado cartesiano
con parbolas de
tercer orden y
definicin de la
distancia de solapado
Solapado PTP
Vel
Pos
ConstPos
Cart
PtpVel
Parmetros de
solapado
Nombre
Velocidad porcentual
[%]
Distancia al punto
[mm]
Vel_Perc
Solapado de
orientacin []
Rot_Val
Path_Val
Solapado de
RotZ_Val
orientacin en torno al
eje Z []
Velocidad porcentual Axis_Perc
para movimientos
PTP y ejes auxiliares
[%]
S043ES01 - V 1.1
Descripcin
Cada punto es operado con
exactitud.
Es solapado el contorno de
velocidades de ambos comandos.
Margen Descripcin
de
valores
0-100
Se usa en el solapado de
velocidad
0-500
Se usa en solapado a
velocidad constante CART,
as como en los solapados
de posicin POS y CPOS
como radio de solapado.
0-90
Se usa en solapados de
posicin POS y CPOS como
ngulo de solapado.
0-90
Se usa en solapados de
posicin POS y CPOS como
ngulo de solapado.
0-100
Se usa como valor de
solapado para el eje 7.
EcoTalk
20
EcoTalk
3.8
3.9
Aplicacin :
Accin:
Ejemplo:
OVERLAP(O1)
VAS
Macro :
VAS(Override)
Parmetro :
Override: [Real]
Aplicacin :
En todo lugar.
Accin:
Ejemplo:
VAS(20.0)
SetIntmode
Macro :
SETINTMODE(Intmode)
Aplicacin :
Parmetro :
Intmode:
WRISTJOINT
Tipo de interpolacin
Interpolacin del ngulo
del eje de la mano
Rotacin Z
2 interpolacin angular
Accin:
Ejemplo:
S043ES01 - V 1.1
ZROTATION
Definicin
WRISTJOINT
ZROTATION
EcoTalk
21
EcoTalk
3.10 SetLimOverride
Macro :
SET_LIMOVR(Override)
Parmetro :
Override: [Real]
Aplicacin :
En todo lugar.
Accin:
Ejemplo:
SET_LIMOVR(20.0)
S043ES01 - V 1.1
EcoTalk
22
EcoTalk
4 Grupo Tracking
4.1
Tracking
Macro :
TRACKING(Tracking)
Parmetro :
Tracking:
On
Off
Finished
Conecta el tracking.
Desconecta el tracking. Con On se puede
despus volver a conectar el tracking.
Termina el tracking al rechazar el objeto
de tracking. No es posible una
reiniciacin y nuevo arranque del
tracking.
Accin:
Aplicacin :
Ejemplo:
TRACKING(On)
TRACKING(Off)
TRACKING(Finished)
4.2
SetTrackingWindow
Macro :
SET_TRACKINGWINDOW(Inbound Outbound)
Parmetro :
Inbound: [Real]
Outbound: [Real]
Aplicacin :
Accin:
Ejemplo:
S043ES01 - V 1.1
EcoTalk
23
EcoTalk
4.3
4.4
WaitConveyor
Macro :
WAIT_CONVEYOR(Conveyor)
Parmetro :
Conveyor: [Real]
Aplicacin :
Accin:
Ejemplo:
WAIT_CONVEYOR (200.0)
WaitPaintPosition
Macro :
WAIT_PAINTPOSITION(Paintposition)
Parmetro :
Paintposition: [Real]
Aplicacin :
Accin:
Ejemplo:
S043ES01 - V 1.1
EcoTalk
24
EcoTalk
5 Grupo Process
5.1
Grupo In/Out
5.1.1 Receive
Macro :
Parmetro :
Aplicacin :
Accin:
Ejemplo:
RECEIVE(ISRA Data)
RECEIVE(CollisionX1 High)
RECEIVE(CollisionX1 Low)
RECEIVE(CollisionY1 Low)
RECEIVE(CollisionY1 High)
RECEIVE(ISRA Data)
Detiene la pasada previa hasta que el sistema de cmaras haya
transferido datos vlidos.
RECEIVE(CollisionX1 High)
Detiene la pasada previa hasta que la seal de entrada Collision X
sea high.
RECEIVE(CollisionY1 High)
Detiene la pasada previa hasta que la seal de entrada Collision Y
sea high.
RECEIVE(CollisionX1 Low)
Detiene la pasada previa hasta que la seal de entrada Collision X
sea low.
RECEIVE(CollisionY1 Low)
Detiene la pasada previa hasta que la seal de entrada Collision Y
sea low.
S043ES01 - V 1.1
EcoTalk
25
EcoTalk
5.1.2 SetOutput
Macro :
SET(Name Type)
Parmetro :
Aplicacin :
En todo lugar.
Accin:
Ejemplo:
SET(CollRequestX1 Low)
SET(CollRequestX1 High)
SET(CollRequestY1 Low)
SET(CollRequestY1 High)
SET(BrakeA8 Low)
SET(BrakeA8 High)
5.1.3 GetInput
Macro :
GET(Name Type)
Parmetro :
Accin:
Aplicacin :
En todo lugar.
Ejemplo:
GET(SchwenkBuegel High) Entrega TRUE si la entrada
SchwenkBuegel es 1
GET(SchwenkBuegel Low) Entrega TRUE si la entrada
SchwenkBuegel es 0
IF GET(SchwenkBuegel High) THEN
...
ENDIF
S043ES01 - V 1.1
EcoTalk
26
EcoTalk
5.1.4 GetVariante
Macro :
GET_VARIANTE (Name)
Parmetro :
Accin:
Aplicacin :
En todo lugar.
Ejemplo:
GET_VARIANTE(Rechtslenker)
5.1.5 GetRepairtype
Macro :
GET_REPAIRTYPE (Name)
Parmetro :
Aplicacin :
En todo lugar.
Accin:
Ejemplo:
GET_REPAIRTYPE (Repair)
Repair
es 1
IF GET_REPAIRTYPE (Repair) THEN
CALLRepair1()
ENDIF
S043ES01 - V 1.1
EcoTalk
27
EcoTalk
5.1.6 Homing
Macro :
HOMING(Modulname)
Parmetro :
Modulname : [String]
Aplicacin :
Accin:
Ejemplo:
S043ES01 - V 1.1
EcoTalk
28
EcoTalk
5.2
Grupo Paint
5.2.1 SetTriggerpar
Macro :
SETTRIGGERPAR(Triggerpar)
Parmetro :
Triggerpar:
Aplicacin :
Accin:
Esos valores son inicializados de nuevo con 0 al final del programa de pintado.
Ejemplo:
Triggerpar: Foreward, 0, 0, 50
1
3
Radio
z
y
S043ES01 - V 1.1
EcoTalk
29
EcoTalk
5.2.2 StartColorchange
Macro :
START_COLORCHANGE(State)
Parmetro :
Aplicacin :
En todo lugar.
Accin:
Con este comando se escribe una salida al PLC para sealizar que se
puede comenzar con el cambio de pintura aunque el robot an no se
encuentre en la posicin inicial.
Ejemplo:
START_COLORCHANGE(Low)
5.2.3 LoadBrushfile
Macro :
LOADBRUSHFILE()
Parmetro :
Aplicacin :
Accin:
Ejemplo:
LOADBRUSHFILE()
5.2.4 Gun
Macro :
Parmetro :
Aplicacin :
En camino.
Accin:
Ejemplo:
S043ES01 - V 1.1
EcoTalk
30
EcoTalk
5.2.5 Brush
Macro :
Parmetro :
Aplicacin :
En camino.
Accin:
Ejemplo:
5.2.6 Gun_B
Macro :
Parmetro :
GunNumber :
Command :
Point :
CoordAxis:
Aplicacin :
En camino.
Accin:
Ejemplo:
Gun1, Gun2
GunOn, GunOff
Punto en el que debe conmutar el disparador.
DueToX, DueToY, DueToZ
5.2.7 Brush_B
Macro :
S043ES01 - V 1.1
EcoTalk
31
EcoTalk
Parmetro :
GunNumber :
BrushNumber :
Point :
CoordAxis:
Gun1, Gun2
1 ... n
Punto en que debe conmutar el disparador.
DueToX, DueToY, DueToZ
Aplicacin :
En camino.
Accin:
Ejemplo:
5.2.8 Gun_E
Macro :
Parmetro :
Aplicacin :
En camino.
Accin:
Ejemplo:
5.2.9 Brush_E
Macro :
Parmetro :
GunNumber :
BrushNumber :
Value [Real]
CoordAxis:
Gun1, Gun2
1 ... n
DueToX, DueToY, DueToZ
Aplicacin :
En camino.
Accin:
S043ES01 - V 1.1
EcoTalk
32
EcoTalk
Se ha de tener en cuenta aqu que el valor para el radio en
SETTRIGGERPARAMETER debe ser elegido lo mayor posible (p. ej.
50000) y est ajustado BOTH como modo.
Ejemplo:
5.2.10 Gun_M
Macro :
GUN_M(GunNumber Command)
Parmetro :
Aplicacin :
En camino.
Accin:
Ejemplo:
LIN(P1)
GUN_M(Gun1 GunOn)
El disparador conmuta cuando el TCP alcanza el punto P1.
5.2.11 Brush_M
Macro :
SETBRUSH_M(GunNumber BrushNumber)
Parmetro :
GunNumber :
BrushNumber :
Aplicacin :
En camino.
Accin:
Ejemplo:
LIN(P1)
BRUSH_M(Gun1 5)
Gun1, Gun2
1 ... n
5.2.12 SetPaintDistance
Macro :
S043ES01 - V 1.1
SETPAINTDISTANCE(Distance)
EcoTalk
33
EcoTalk
Parmetro :
Distance [mm]
Aplicacin :
Accin:
Ejemplo:
SETPAINTDISTANCE(50)
Eleva la distancia del chorro en 50mm.
5.3
Grupo Robot
5.3.1 SetOrder
Macro :
Parmetro :
PartCode:
Part0 ... Part3
HandlerCode: H1 ... H6, All
Order:
Wait, HalfOpen, FullOpen, HalfClosed, FullClose,
Delete, Finish
Aplicacin :
Accin:
Ejemplo:
SET_ORDER(Part0 H1 Wait)
S043ES01 - V 1.1
EcoTalk
34
EcoTalk
SET_ORDER(Part0 H1 Finish)
5.3.2 ReceiveHandlerpos
Macro :
Parmetro :
PartCode:
Part0 ... Part3
HandlerCode: H1 ... H6, All
Order:
Wait, HalfOpen, FullOpen, HalfClosed, FullClose,
Delete, Finish
Aplicacin :
Accin:
Ejemplo:
RECEIVE_HANDLERPOS (Part0 H1 Wait) Pide para la pieza Part0
del robot de manipulacin H1 la
posicin Wait.
RECEIVE_HANDLERPOS (Part0 H1 HalfOpen) Pide para la pieza
Part0 del robot de manipulacin
H1 la posicin HalfOpen.
RECEIVE_HANDLERPOS (Part0 H1 FullOpen) Pide para la pieza
Part0 del robot de manipulacin
H1 la posicin FullOpen.
RECEIVE_HANDLERPOS (Part0 H1 HalfClosed) Pide para la pieza
Part0 del robot de manipulacin
H1 la posicin HalfClosed.
RECEIVE_HANDLERPOS (Part0 H1 FullClose) Pide para la pieza
Part0 del robot de manipulacin
H1 la posicin FullClose.
S043ES01 - V 1.1
EcoTalk
35
EcoTalk
5.4
Grupo Handler
SETOPENER(Device State)
Parmetro :
Device:
State:
Aplicacin :
En camino.
Accin:
Front, Rear
Fix, Release
5.4.2 CheckPart
Macro :
Parmetro :
CheckPartCode:
Point :
Triggerframe :
Aplicacin :
En camino.
Accin:
Ejemplo:
CheckPart
Punto en el que debe conmutar el disparador.
Parmetro opcional que es necesario para la
utilizacin de un sistema de programacin offline
(ROBCAD).
5.4.3 SetPart
Macro :
SET_PART (CheckPartCode)
Parmetro :
CheckPartCode: CheckPart:
S043ES01 - V 1.1
EcoTalk
36
EcoTalk
la comprobacin es determinada por
un punto en movimiento programado.
CheckPartOn: Con este instruccin se conecta el
control de pieza. A partir de aqu se
verifica permanentemente si la pieza
est presente. En el momento en que
la pieza ya no es reconocida como
presente, se emite el correspondiente
mensaje de error y se para el
programa de aprendizaje.
CheckPartOff:Con este comando se vuelve a
desconectar el control de pieza
permanente disparado por la
instruccin SET_PART(CheckPartOn).
Aplicacin :
En camino.
Accin:
Ejemplo:
SET_PART (CheckPart)
SET_PART (CheckPartOn)
SET_PART (CheckPartOff)
5.4.4 GetPart
Macro :
Parmetro :
PartCode:
Aplicacin :
Accin:
Part0...Part3
Ejemplo:
IF GET_PART(Part0) THEN
CALLLackiere()
ELSE
CALLSuche()
ENDIF
S043ES01 - V 1.1
EcoTalk
37
EcoTalk
5.4.5 SetSensor
Macro :
SET_SENSOR (SensorCode)
Parmetro :
ATENCIN!
EcoTalk
38
EcoTalk
momento en que el valor del sensor cae fuera de
la banda de tolerancia, se desconectan los
accionamientos y se emite un mensaje de error.
Si el aprendizaje est an activado, entonces se
ajusta la vigilancia a Aktiv con
SET_SENSOR(Overload) y se indica como
estado en la pgina de usuario Learn. A partir
de ahora se registran todos los valores del
sensor y se averiguan los valores mximos y
mnimos del sensor para la secuencia de registro
actual.
Aplicacin :
En camino.
Accin:
Ejemplo:
SET_SENSOR(Active)
SET_SENSOR(Calibrate)
SET_SENSOR(Collision)
SET_SENSOR(Overload)
S043ES01 - V 1.1
EcoTalk
39
EcoTalk
5.4.6 SetLoad
Macro :
SET_LOAD (Load)
Parmetro :
Load: CloseOpen
CloseHOpen
HOpenOpen
OpenClose
OpenHClose
HCloseCloseZu
Spare1
Spare2
TestFile
Aplicacin :
Accin:
Ejemplo:
SET_LOAD(CloseOpen)
Pone los valores lmites para la secuencia
Zu (cerrado) tras Auf (abierto).
5.4.7 SetSearch
Macro :
Parmetro :
Command:
Aplicacin :
En camino.
Accin:
Go
Activa la funcin de bsqueda
Done Desactiva la funcin de bsqueda
Error Emite un mensaje de error y para el programa
de aprendizaje si la bsqueda no ha tenido xito.
Ejemplo:
SET_SEARCH(Go)
SET_SEARCH(Done)
SET_SEARCH(Error)
S043ES01 - V 1.1
EcoTalk
40
EcoTalk
5.4.8 SetGripper
Macro :
Parmetro :
Controltype:
Control
NotControl
Command
Open
Close
Aplicacin :
En todo lugar.
Accin:
Ejemplo:
SET_GRIPPER(Control Open)
Abre con vigilancia
SET_GRIPPER(NotControl Open) Abre sin vigilancia
SET_GRIPPER(Control Close)
Cierra con vigilancia
SET_GRIPPER(NotControl Close) Cierra sin vigilancia
5.4.9 SetPoscode
Macro :
Parmetro :
PartCode:
PosCode:
Aplicacin :
Accin:
Ejemplo:
SET_ POSCODE (Part0 Wait)
S043ES01 - V 1.1
EcoTalk
41
EcoTalk
SET_ POSCODE (Part0 FullClose) Emite para la pieza Part0 la
posicin FullClose.
5.4.10 ReceiveOrder
Macro :
RECEIVE_ORDER()
Parmetro : Aplicacin :
Accin:
HalfOpen
FullOpen
HalfClosed
Wait
FullClose
Finish
Ejemplo:
Order = RECEIVE_ORDER
IF Order = 1 THEN
CALLOpen()
ENDIF
S043ES01 - V 1.1
EcoTalk
42
EcoTalk
6 rdenes lgicas
6.1
Label
Puede ser aplicada en todo lugar. Slo tiene sentido en unin a Goto.
LABEL OBEN
GOTO OBEN
6.2
Goto
Se ha de haber definido necesariamente un Label. Slo funciona dentro de un
programa.
Los saltos que comienzan dentro de un camino tienen que terminar dentro del mismo
camino. Los saltos que comienzan fuera de un camino tienen que terminar tambin
fuera del mismo camino.
LABEL OBEN
GOTO OBEN
6.3
Call
Llamada de una subrutina. La subrutina tiene que estar dentro del mismo proyecto.
Slo fuera de un camino.
CALLRHOME()
6.4
Return
Tiene que encontrarse al final de una subrutina que se llama con CALL.
RETURN
6.5
Delay
Retraso temporal en s. Slo fuera de un camino.
DELAY 1.5
S043ES01 - V 1.1
EcoTalk
43
EcoTalk
6.6
If
Puede ser utilizado en todo lugar.
IF GET_VARIANTE(Schiebedach)
ELSE
ENDIF
6.7
Elseif
Puede ser utilizado en todo lugar.
IF GET_VARIANTE(Schiebedach)
ELSEIF GET_VARIANTE(Rechtslenker)
ENDIF
6.8
While
Puede ser utilizado en todo lugar.
Repite hasta que la entrada SchwenkBuegel sea Low:
WHILE GET(SchwenkBuegel Low)
ENDWHILE
6.9
Repeat
Permitido siempre.
Bucle con 5 pasadas:
REPEAT 5
ENDREPEAT
S043ES01 - V 1.1
EcoTalk
44
EcoTalk
7 Programas de EcoTalk
7.1
Generalidades
El lenguaje de programacin EcoTalk ofrece la posibilidad de programar
eficientemente procesos complejos, tales como el pintado de un vehculo,
descomponiendo las diferentes tareas en mdulos y haciendo tratar secuencias de
esos mdulos por un programa principal en funcin de la tarea planteada. Con objeto
de administrar fcilmente mdulos para varios tipos de vehculos, se depositan los
mdulos en proyectos en un disco flash. Una organizacin tpica de datos puede
tener la siguiente apariencia:
(D:)
ProyectoAuto 1
Programa principal
ProyectoAuto 2
Mdulo 1
ProyectoAuto 3
Mdulo 2
....
....
Todos los mdulos y el programa principal son archivos con la expansin tis. Estos
archivos, denominados en lo que sigue archivos de programa, contienen
instrucciones que debe ejecutar el robot. Cada instruccin est compuesta por un
nombre y un rea de datos. El nombre est compuesto de una secuencia de
maysculas y subrayados. El rea de datos est marcada por parntesis. Si una
instruccin trabaja con tipos de datos sencillos, entonces los datos se almacenan
con la instruccin en el archivo de programa.
VELPATH(500.0)
Instruccin
S043ES01 - V 1.1
Datos
rea de datos
EcoTalk
45
EcoTalk
Si la instruccin utiliza datos complejos, entonces el rea de nombre slo contiene el
nombre de la variable. Los datos correspondiente estn almacenados con la variable
en el archivo de datos. Los archivos de datos tienen la extensin tid.
PTP(P1)
Instruccin
Archivo de datos
CONST Point P1=Axis 1.23 2.34 -123.3 0.0 0.0 0.0 0.0 0.0
Tipo de datos
Datos
Cada uno de los registros de datos de un archivo de datos est compuesto por el
nombre del tipo de datos, el nombre de la variable y el bloque de datos. El tipo de
datos y el nombre de la variable estn separados por un espacio. Entre el nombre de
la variable y el bloque de datos va un signo de igual. Los diferentes datos del bloque
de datos estn separados unos de otros por espacios.
Datos locales
Datos globales de programa
Datos globales de proyecto
Datos globales de sistema
S043ES01 - V 1.1
EcoTalk
46
EcoTalk
(D:)
_Global.ti
_Global.tid
Archivo de datos
globales de sistema
Auto.ti
_Global.tid
Archivo de datos
globales de proyecto
Programm.tis
Programm.tid
Archivo de datos
globales de programa
....
Proyecto
7.2
EcoTalk
47
EcoTalk
idntico para SELECT y para RELEASE. Tiene que usarse siempre el mismo
Kinematikname dentro de un archivo de programa EcoTalk y de todos los archivos
de subrutinas llamados por el archivo de programas.
Archivo de programa
Parntesis de programa
STARTPROG(Auto1)
SELECT(R11)
Cuerpo del programa
RELEASE(R11)
ENDPROG(Auto1)
RETURN
K1YVALID
K1YNAME
03-
E OFF
Tipo de parmetro
S043ES01 - V 1.1
EcoTalk
48
EcoTalk
Archivo de programa
Parntesis de programa
STARTPROG(Auto1)
SELECT(R11)
Cuerpo del programa
Ncleo del cuerpo del programa
Instrucciones de gestin
Influencia camino Camino 1
Camino 1
Instrucciones de gestin
RELEASE(R11)
ENDPROG(Auto1)
RETURN
S043ES01 - V 1.1
EcoTalk
49
EcoTalk
7.2.4 El camino
El camino comienza con la instruccin MOVE(Name) y termina con una instruccin
ENDMOVE(Name). Name tiene que ser idntico para MOVE y ENDMOVE. No se
puede usar nunca el mismo Name para dos caminos dentro de un archivo de
programa EcoTalk y de todos los archivos de subrutinas llamados por el archivo de
programa.
Archivo de programa
Parntesis de programa
STARTPROG(Auto1)
SELECT(R11)
Cuerpo del programa
Ncleo del cuerpo del programa
Instrucciones de gestin
Influencia camino Camino
Pfad
MOVE(Pfad1)
Instrucciones de camino
ENDMOVE(Pfad1)
Instrucciones de gestin
RELEASE(R11)
ENDPROG(Auto1)
RETURN
S043ES01 - V 1.1
EcoTalk
50
EcoTalk
SETBASE
SETOBJECT
SETTOOL
LOADBRUSHFILE
Instrucciones de gestin
PTP
LIN
CIRC
CURVE
CURVE_T
MOVE
ENDMOVE
VELPATH
ACCPATH
SET_LIMOVR
GUN
BRUSH
GUN_E
BRUSH_E
GUN_B
BRUSH_B
GUN_M
BRUSH_M
GET_PART
SHIFT
RESHIFT
VEL
ACC
OVERLAP
SETINTMODE
SETTRIGGERPAR
SETPAINTDISTANCE
S043ES01 - V 1.1
WAITMODE
RAMP
JERK
VAS
TRACKING
SET_TRACKINGWINDOW
WAIT_CONVEYOR
WAIT_PAINTPOSITION
RECEIVE
SET
GET
GET_VARIANTE
GET_REPAIRTYPE
HOMING
SET_ORDER
SET_SENSOR
SET_LOAD
SET_GRIPPER
SET_POSCODE
RECEIVE_ORDER
SET_PART
SET_SEARCH
TORQUEMONITOR
IF
ENDIF
WHILE
ENDWHILE
REPEAT
ENDREPEAT
CALL
LABEL
GOTO
DELAY
ELSEIF
EcoTalk
51
EcoTalk
7.2.5.1 Ejemplo de programa principal
STARTPROG("RMAINPRG")
SELECT("R11")
CALL"HOMEPOS"()
-- Posicin de
CALL"VORPOS"()
SET_TRACKINGWINDOW(1.0 4500)
WAIT_CONVEYOR(3920.000000)
TRACKING(On)
-- Espera posicin guardabarros
CALL"START_01"()
IF GET_REPAIRTYPE(L1)
CALL"A10_01"()
ELSEIF GET_REPAIRTYPE(L2)
CALL"A10_01E"()
ELSE
CALL"OHNE_01"()
ENDIF
Parntesis
de programa
Cuerpo de programa
que contiene slo
instrucciones de
gestin
TRACKING(Off)
TRACKING(Finished)
CALL"HOMEPOS"()
RELEASE("R11")
ENDPROG("RMAINPRG")
S043ES01 - V 1.1
EcoTalk
52
EcoTalk
STARTPROG("A10_04A")
SELECT("R11")
SETTOOL(ECOGUN320)
SETBASE(B1)
LOADBRUSHFILE()
VEL(V1000)
ACC(A5000)
SETTRIGGERPAR(G50)
OVERLAP(NODEC50)
WAIT_PAINTPOSITION(1930.00)
Parntesis de
programa
MOVE("A10_04A1")
LIN(P6)
SETBRUSH(4 P1 T1)
GUN(Gun1On A10_04_P1 Z_NEG)
LIN(A10_04_204)
GUN(Gun1Off A10_04_P2 Z_NEG)
LIN(A10_04_205)
LIN(A10_04_206)
ENDMOVE("A10_04A1")
Camino
WAIT_PAINTPOSITION(2010.00)
Instruccin de gestin
VEL(V600)
OVERLAP(NODEC50)
MOVE("A10_04A2")
LIN(A10_04_207)
ENDMOVE("A10_04A2")
Camino
VEL(V1000)
OVERLAP(NODEC50)
MOVE("A10_04A3")
GUN(Gun1On A10_04_P3 Z_POS)
LIN(A10_04_208)
LIN(A10_04_209)
GUN(Gun1Off A10_04_P4 Z_POS)
LIN(A10_04_210)
LIN(A10_04_211)
ENDMOVE("A10_04A3")
Camino
RELEASE("R11")
ENDPROG("A10_04A")
RETURN
S043ES01 - V 1.1
EcoTalk
53
EcoTalk
8 Ejemplos de programacin
8.1
El concepto de variantes
Los tipos de vehculos fundamentalmente diferentes son depositados en distintos
proyectos.
Tipo TV
Tipo F2
Cada vehculo est compuesto por superficies parciales. Las superficies parciales
son superficies que siempre tienen las mismas dimensiones geomtricas tambin en
diferentes variantes. En el ejemplo que sigue, la superficie parcial Medio 1 puede
tener una puerta o una ventana. Las dimensiones exteriores son, sin embargo,
siempre las mismas.
Trasero 1
Medio1
Proyecto TV
Delant
Programa principal
Mdulo Delantero
Mdulo Medio 1
Mdulo Trasero 1
S043ES01 - V 1.1
EcoTalk
54
EcoTalk
Variantes en el ejemplo TV
...
Variantes de Mdulos de
carrocera
pintado
Lateral
Mdulos- de
pintado
12
S043ES01 - V 1.1
EcoTalk
55
EcoTalk
Resultan un total de 72 posibilidades distintas de variacin. Para pintar ese vehculo
sin informaciones sobre variantes se requeriran, segn ello, 72 programas
principales.
Tipo
externo
N de tipo
interno
Proyecto
Typ 2
Programa
Proyecto TV
Progr. principal 1
Progr. principal 2
Progr. principal 72
Mdulo Delantero
Mdulo Medio
Mdulo Trasero
Si, en lugar de ello, es posible trabajar con informaciones sobre variantes, entonces
es suficiente un programa principal en el que se evalan las informaciones sobre
variantes.
Tipo
externo
N de tipo
interno
Tipo 2
Proyecto
ProyectoTV
Programa
Programa principal
Variante 2
Mdulo Trasero
S043ES01 - V 1.1
EcoTalk
56
EcoTalk
Para cada variante existe un Bit. La asignacin se lleva a cabo de la forma siguiente:
Variante decarrocera
Lateral
Mdulo
5 Bits de
de pintado variantes
Nombre del
Bit de variante
Delantero
Medio 1
Medio 2
Trasero 1
Trasero 2
Para cada variante existe un Bit. Ese Bit tiene un nombre mediante el cual puede ser
llamado desde el programa principal. El programa principal tendra entonces la
siguiente estructura.
ProyectoTV
Progr. principal
STARTPROG("RMAINPRG")
--INIT PROGRAMM
SELECT("R11")
Mdulo Delantero
PTP(START_VORNE)
Mdulo Medio 1
Mdulo Medio 2
S043ES01 - V 1.1
EcoTalk
57
EcoTalk
8.2
Pintado de reparacin
Con objeto de alcanzar idnticos resultados en el pintado de reparacin que en el
pintado completo, se programan mdulos de solapado que se ejecutan luego cuando
se pinta una superficie parcial, pero se repara el siguiente mdulo.
Sup.parcial
Delantera
Mdulo de solapado
SolapDelantero
N de tipo
interno
Proyecto
Tipo 2
Programa
Proy. TV
Programa principal
Mdulo Delantero
Variante 2
Mdulo Medio
Info reparacin
Mdulo Trasero
Solap Delantero
S043ES01 - V 1.1
EcoTalk
58
EcoTalk
Para cada superficie de reparacin exista un Bit de reparacin. Cada Bit de
reparacin tiene un nombre mediante el cual puede ser llamado desde el programa
de aprendizaje.
Superf. parc. Mdulos
3 Bits de
Lateral
de reparacin reparacin
Nombre del
Bit de reparacin
Delantero
Medio
Trasero
STARTPROG("RMAINPRG")
--INIT PROGRAMM
SELECT("R11")
PTP(START_VORNE)
ProyectoTV
Progr. principal
Mdulo Delantero
S043ES01 - V 1.1
Mdulo
Medio 1
Mdulo
Medio 2
Solap
Medio 2
IF GET_VARIANTE(Vorne)
IF GET_REPAIR(Vorne)
CALLVORNE"()
ELSEIF GET_REPAIR(Mitte)
CALLBERVORNE()
ELSE
PTP(START_MITTE)
ENDIF;
ENDIF
IF GET_VARIANTE(Mitte1)
IF GET_REPAIR(Mitte)
CALLMITTE1"()
ELSEIF GET_REPAIR(Hinten)
CALLBERMITTE1()
ELSE
PTP(START_HINTEN)
ENDIF;
ELSE IF GET_VARIANTE(Mitte2)
IF GET_REPAIR(Mitte)
CALLMITTE2"()
ELSEIF GET_REPAIR(Hinten)
CALLBERMITTE2()
ELSE
PTP(START_HINTEN)
ENDIF;
ENDIF
...
EcoTalk
59
EcoTalk
Mdulos de
reparacin
5 Bits de
reparacin
Nombre del
Bit de reparacin
Delantero1
Delantero2
Delantero3
Medio
Trasero
STARTPROG("RMAINPRG")
--INIT PROGRAMM
SELECT("R11")
PTP(START_VORNE)
Proyecto TV
Prog. principal
Mdulo Delantero 1
Mdulo Delantero
Mdulo Delantero
Mdulo Mitad 1
Mdulo Mitad 2
IF GET_VARIANTE(Vorne)
IF GET_REPAIR(Vorne1)
CALLVORNE1"()
ELSEIF GET_REPAIR(Vorne2)
CALLBERVORNE1()
ELSE
PTP(START_VORNE2)
ENDIF;
ENDIF
IF GET_VARIANTE(Vorne)
IF GET_REPAIR(Vorne2)
CALLVORNE2"()
ELSEIF GET_REPAIR(Vorne3)
CALLBERVORNE2()
ELSE
PTP(START_VORNE3)
ENDIF;
ENDIF
IF GET_VARIANTE(Vorne)
IF GET_REPAIR(Vorne3)
CALLVORNE3"()
ELSEIF GET_REPAIR(Mitte)
CALLBERVORNE3()
ELSE
PTP(START_MITTE)
ENDIF;
ENDIF
S043ES01 - V 1.1
EcoTalk
60
EcoTalk
8.3
Programas de tracking
En los programas de tracking es importante que todos los puntos de trayectoria y de
disparador hayan sido enseados en el sistema de coordenadas correcto.
Brida
SETTOOL
Herramienta
Transformacin
Sistema de coord.
aux. A1
Punto
Sistema de coord.
aux. A1
SETOBJECT
Objeto
Matriz de enlaces
((Datos de mquina)
Sistema de coord.
aux. A2
Matriz de enlaces
(Datos de mquina)
Sistema de coord.
aux. A2
Matriz de enlaces
((Datos de mquina)
Matriz de enlaces
(Datos de mquina)
Punto
Root
SETBASE
World
KxAxRoot
(Datos de mquina)
Base
En Linetracking el robot no tiene eje 7. Tiene que seguir al vehculo con los ejes 1 a
6. El Linetracking est basado en que todos los puntos de trayectoria y de disparador
han sido instruidos en coordenadas Objeto. Al moverse el coche sobre el
transportador, se mueve tambin junto el sistema de coordenadas Objeto y, con ello,
los puntos con el coche.
En Railtracking el robot tiene un eje 7. Compensa el movimiento del vehculo
completamente con el eje 7. Debido a que el eje 7 se mueve, el robot se aleja del
sistema de coordenadas Base. Sin medidas adicionales, operara siempre la misma
posicin en el tracking con el TCP, pero extendindose cada vez ms. Para evitarlo,
se desplaza el sistema de coordenadas Base en la misma medida.
De ello se desprende que los programas de Linetracking internos del control se
tengan que ejecutar en coordenadas Objeto y los programas de Railtracking en
coordenadas Base. Pero hacia afuera, todos los programas de tracking deben ser
iguales. Esta es la razn de que en Railtracking se realice una transformacin de
Objeto a Base.
S043ES01 - V 1.1
EcoTalk
61
EcoTalk
Transportador
Iniciador de la sincronizacin
Entrega de color
a la RC
Seal de sincronizacin a la RC
Punto ms tardo
para el arranque del programa
a la RC
S043ES01 - V 1.1
EcoTalk
62
EcoTalk
Transportador
Vehculo
WAITCONVEYOR
EcoTalk
63
EcoTalk
contenidos los comandos de movimiento y de tecnologa para el pintado de la
carrocera. Para el aprendizaje del segundo mdulo MITTE (Medio) se transporta la
carrocera hacia dentro hasta que el segundo mdulo se encuentre completamente
en el espacio de trabajo del robot. En el comando WaitPaintPos se utiliza la distancia
entre el valor del transportador en el que arranc el primer mdulo y el nuevo valor
del transportador. En el ejemplo de programa se transport la carrocera otros 500
mm ms. El comando WaitPaintPos(500) se programa ahora en consecuencia.
Puesto que el robot en rgimen automtico hubiese seguido junto esos 500 mm
despus de haber tratado el mdulo VORNE, se tiene que poner el mismo valor
(500) como posicin actual de tracking para el robot en la pgina de usuario
Track/States/SetPos. Ahora se puede realizar el aprendizaje del segundo mdulo.
El aprendizaje de los restantes mdulos de pintado se ejecuta luego siguiendo el
mismo procedimiento. Finalmente tiene que terminar el tracking en el programa
principal con los macros Tracking(OFF) y Tracking(Finished). Despus se mueve el
robot a la posicin 0 con CALLHOME(). Al final se tiene que poner el valor de
tracking nuevamente a 0 mediante la pgina de usuario Track/States/SetPos.
S043ES01 - V 1.1
EcoTalk
64
EcoTalk
S043ES01 - V 1.1
EcoTalk
65
EcoTalk
8.4
Ejemplo:
Para el tipo de vehculo Rubia se deben crear programas de retorno. En el proyecto
Kombi.ti estn entonces los siguientes programas:
Kombi.tis
Motor.tis
Tuer.tis
Heck.tis
HKombi.tis
HMotor.tis
HTuer.tis
HHeck.tis
GS.tis
S043ES01 - V 1.1
EcoTalk
66
EcoTalk
El programa principal completo para el retorno a la posicin inicial del robot R11 en
el ejemplo Rubia tendra entonces la siguiente estructura:
STARTPROG("HKOMBI")
SELECT("R11")
IF HOMING("MOTOR")
CALL"HMOTOR"()
ENDIF
IF HOMING("TUER")
CALL"HTUER"()
ENDIF
IF HOMING("HECK")
CALL"HHECK"()
ENDIF
CALL"GS"()
RELEASE("R11")
ENDPROG("HKOMBI")
S043ES01 - V 1.1
EcoTalk
67
EcoTalk
8.5
Handler
Ello tiene que suceder para todas las piezas que el robot de pintado quiere encargar.
Posteriormente tiene lugar el encargo para la pieza y el robot de manipulacin con el
que el robot de pintado quiere trabajar primero.
SET_ORDER(Part0 H1 FullOpen)
EcoTalk
68
EcoTalk
IF RECEIVE_HANDLERPOS(Part0 H2 FullOpen)
CALL"J2108HG"()
ELSE
CALLZWIPOS()
ENDIF
S043ES01 - V 1.1
EcoTalk
69
EcoTalk
8.5.2 Varios robots de pintado encargan tareas a un robot de manipulacin
Cuando varios robots de pintado pueden encargar tareas a un mismo robot de
manipulacin, suceder generalmente que los pedidos de los robots de pintado
sern distintos. Tiene pues que existir una instancia que establezca qu robot de
pintado le emitir qu trabajo al robot de manipulacin.
Esta decisin la toma el PLC segn las siguientes reglas:
Regla 1: Si estn presentes peticiones de dos robots, ser ignorada la
peticin del robot cuya peticin haya sido tratada por ltimo.
Regla 2: Se le dar preferencia al robot que haya podido hacer
encargos al robot con la menor frecuencia.
Regla 3: R11 antes que R12 antes que R21 antes que R22.
Regla 4: La peticin Finish ser entregada al robot de manipulacin
cuando todos los robots seleccionados hagan esa peticin.
Ello quedar claro con un ejemplo de robots de pintado R11, R12, R21 y el robot de
manipulacin H22.
R11 y R12 le encargan al robot de manipulacin abrir completamente la puerta. R21
enva la peticin HalbAuf. En este ejemplo, llegan las peticiones de los robot R11 y
R21 simultneamente al PLC. Poco despus, llega la peticin de R12. Ello significa
que primeramente es ignorada la peticin de R12. El PLC tiene que decidirse entre
R11 y R21. La regla 1 no es aplicable, ya que no sido tratada an ninguna peticin.
Aqu es vlida la regla 3:
El robot de manipulacin recibe pues de R11 el encargo de abrir del todo la puerta.
Una vez hecho esto, el robot de manipulacin le emite a todos los robots la posicin
GanzAuf (abierta del todo). Los robots R11 y R12 esperan esta confirmacin.
Ambos siguen ejecutando entonces sus programas de aprendizaje. Al final de sus
mdulos de pintado emiten ambos la peticin HalbZu (semiabierta). Puesto que el
PCL ya ha hecho una peticin del robot R11 al robot de manipulacin, es ignorada
ahora su peticin (regla 1). La eleccin recae entre los robots R12 y R21. Ahora es
transferida la peticin de R12 (regla 3). Con ello, H22 mueve la puerta a la posicin
HalbAuf. Los robots R11 y R12 ejecutan sus programas. Todos los dems robots
esperan. Cuando el robot R12 acaba, emite otra peticin (en este caso Finish),
marcha a la posicin 0 y termina su programa. El robot R11 hace la peticin
GanzZu. Puesto que del robot R12 ya se han elaborado peticiones, es tratada
ahora la peticin del robot R21. El robot de manipulacin se mueve a la posicin
HalbAuf y el robot R21 pinta. Despus emite la peticin Finish, marcha a la
posicin inicial y termina su programa. Ahora es tratada de nuevo la peticin del
robot R12. El robot de manipulacin se mueve a la posicin GanzZu y el robot 12
pinta. Despus enva la peticin Finish, se mueva a la posicin inicial y termina su
programa. El programa del robot de manipulacin se encuentra an en ejecucin. El
PLC reconoce ahora que todos los robots que fueron elegidos emiten la peticin
Finish (Regla 4) y la enva al robot de manipulacin. Este retorna ahora a la
posicin 0 y el programa termina.
El programador de programas teach-in tiene ahora que garantizar que el proceso
funcione tambin en el caso de que el robot R11 emita su peticin como ltimo (por
ejemplo, por fallo en el lavado, etc.). Entonces, el robot de manipulacin realizara en
primer lugar la peticin HalbAuf, en lugar de GanzAuf.
S043ES01 - V 1.1
EcoTalk
70
EcoTalk
= 2.0
= 1.0
= 3.0
= 5.0
= 4.0
= 7.0
Teil 1:
GanzAuf
HalbAuf
HalbZu
GanzZu
WartePosition
Beenden
= 12.0
= 11.0
= 13.0
= 15.0
= 14.0
= 17.0
Teil 2:
GanzAuf
HalbAuf
HalbZu
GanzZu
WartePosition
Beenden
= 22.0
= 21.0
= 23.0
= 25.0
= 24.0
= 27.0
Teil 3:
GanzAuf
HalbAuf
HalbZu
GanzZu
WartePosition
Beenden
S043ES01 - V 1.1
= 32.0
= 31.0
= 33.0
= 35.0
= 34.0
= 37.0
EcoTalk
71
EcoTalk
El programa de teach-in comienza con una parte declarativa, en la que se ubican y
se inicializan las variables necesarias.
STARTPROG("J2608HP")
SELECT("R11")
--INIT VARIABLE
WEITER=1
--INIT KONSTANTEN
HALBOFFEN=1
OFFEN=2
HALBGESCHLOSSEN=3
WARTEN=4
GESCHLOSSEN=5
ABBRUCH=7
--INIT PROGRAMM
SOLLPOS=GESCHLOSSEN
ISTPOS=GESCHLOSSEN
SET_POSCODE(Part0 FullClose)
Segn este principio se construye un programa que tiene en cuenta todas las
combinaciones. Con este programa principal tiene que quedar excluido que el robot
de manipulacin marche directamente, por ejemplo, de la posicin GanzAuf a la
posicin inicial, daando as la pieza.
S043ES01 - V 1.1
EcoTalk
72
EcoTalk
STARTPROG("J2608HP")
SELECT("R11")
--INIT VARIABLE
WEITER=1
--INIT CONSTANTEN
HALBOFFEN=1
OFFEN=2
HALBGESCHLOSSEN=3
WARTEN=4
GESCHLOSSEN=5
ABBRUCH=7
--INIT PROGRAMM
SOLLPOS=GESCHLOSSEN
ISTPOS=GESCHLOSSEN
SET_POSCODE(Part0 FullClose)
--MAINLOOP
WHILE WEITER
--EINLESEN AUFTRAG
SOLLPOS = RECEIVE_ORDER(Part0)
--AUFRAEUMEN BEI BEENDEN
IF SOLLPOS=ABBRUCH
IF ISTPOS=OFFEN
CALL"J2608AZ"()
SET_POSCODE(Part0 Wait)
CALL"J2608AS"()
ISTPOS=GESCHLOSSEN
SET_POSCODE(Part0 FullClose)
ELSEIF ISTPOS=HALBOFFEN
CALL"J2608HZ"()
SET_POSCODE(Part0 Wait)
CALL"J2608AS"()
ISTPOS=GESCHLOSSEN
SET_POSCODE(Part0 FullClose)
ELSEIF ISTPOS=HALBGESCHLOSSEN
CALL"J2608HZ"()
SET_POSCODE(Part0 Wait)
CALL"J2608AS"()
ISTPOS=GESCHLOSSEN
SET_POSCODE(Part0 FullClose)
ELSEIF ISTPOS=WARTEN
CALL"J2608AS"()
ISTPOS=GESCHLOSSEN
SET_POSCODE(Part0 FullClose)
ENDIF
ENDIF
S043ES01 - V 1.1
EcoTalk
73
EcoTalk
--AUSWAHL TEILPROGRAMM
--BEWEGUNG VON GESCHLOSSEN
IF ISTPOS=GESCHLOSSEN
IF SOLLPOS=OFFEN
SET_POSCODE(Part0 Wait)
CALL"J2608ZA"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullOpen)
ELSEIF SOLLPOS=HALBOFFEN
SET_POSCODE(Part0 Wait)
CALL"J2608ZH"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 HalfOpen)
ELSEIF SOLLPOS=HALBGESCHLOSSEN
SET_POSCODE(Part0 Wait)
CALL"J2608ZH"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 HalfClosed)
ELSEIF SOLLPOS=WARTEN
CALL"J2608WP"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 Wait)
ELSEIF SOLLPOS=ABBRUCH
WEITER=0
ENDIF
EcoTalk
74
EcoTalk
S043ES01 - V 1.1
EcoTalk
75
EcoTalk
--BEWEGUNG VON HALBZU
ELSEIF ISTPOS=HALBGESCHLOSSEN
IF SOLLPOS=GESCHLOSSEN
CALL"J2608HZ"()
SET_POSCODE(Part0 Wait)
CALL"J2608AS"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullClose)
ELSEIF SOLLPOS=OFFEN
CALL"J2608HA"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullOpen)
ELSEIF SOLLPOS=HALBOFFEN
ISTPOS=SOLLPOS
SET_POSCODE(Part0 HalfOpen)
ELSEIF SOLLPOS=WARTEN
CALL"J2608HZ"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 Wait)
ENDIF
ENDIF
ENDWHILE
RELEASE("R11")
ENDPROG("J2608HP")
S043ES01 - V 1.1
EcoTalk
76
EcoTalk
9.1
Posiciones fijas
Posiciones fijas son programas de aprendizaje especiales cuyos puntos finales
representan posiciones notables que vigila EcoRC2 cclicamente. Esa vigilancia est
permanentemente activada. Al igual que todas las posiciones, las posiciones fijas
son tambin enseadas. Para que el software de control pueda leer esas posiciones,
tienen que haber sido enseadas en variables teach-in globales de sistema.
Los nombres de esas variables de aprendizaje globales de sistema tienen que ser
conocidas por el software de control. Esto tiene lugar mediante una declaracin en el
archivo Device.cfg. En el aprendizaje se ha de tener pues en cuenta que dos
posiciones no tengan el mismo valor. Puesto que la funcin de vigilancia evala los
valores de los ejes, todas las posiciones fijas tienen que ser enseadas en el sistema
de coordenadas AXIS.
9.2
Ejemplo
-- Posiciones fijas
CONST POINT RBEAKER
S043ES01 - V 1.1
EcoTalk
77
EcoTalk
-- Default Base
CONST BASE DEFBASENULL
-- Default Tool
CONST TOOL DEFROBTOOL
-- Velocidades
CONST VELOCITY V200
CONST VELOCITY V250
CONST VELOCITY V300
CONST VELOCITY V350
CONST VELOCITY V400
CONST VELOCITY V450
CONST VELOCITY V500
CONST VELOCITY V550
CONST VELOCITY V600
CONST VELOCITY V650
CONST VELOCITY V700
CONST VELOCITY V750
CONST VELOCITY V800
CONST VELOCITY V850
CONST VELOCITY V900
CONST VELOCITY V950
CONST VELOCITY V1000
CONST VELOCITY V1100
CONST VELOCITY V1200
CONST VELOCITY V1300
CONST VELOCITY V1400
CONST VELOCITY V1500
-- Aceleraciones
CONST ACCELERATION A2500
CONST ACCELERATION A3000
CONST ACCELERATION A3500
CONST ACCELERATION A4000
CONST ACCELERATION A4500
CONST ACCELERATION A5000
CONST ACCELERATION A5500
CONST ACCELERATION A6000
CONST ACCELERATION A6500
CONST ACCELERATION A7000
CONST ACCELERATION A7500
CONST ACCELERATION A8000
-- Parmetros de solapado
CONST OVERLAPDCL FINE
CONST OVERLAPDCL NODEC10
CONST OVERLAPDCL NODEC50
CONST OVERLAPDCL NODEC75
CONST OVERLAPDCL CART10
CONST OVERLAPDCL CART50
CONST OVERLAPDCL CART75
CONST OVERLAPDCL CART100
CONST OVERLAPDCL CART150
CONST OVERLAPDCL CART200
CONST OVERLAPDCL VEL30
CONST OVERLAPDCL VEL50
CONST OVERLAPDCL VEL100
S043ES01 - V 1.1
=000000
=000000
= 200 50 50 20
= 250 50 50 20
= 300 50 50 30
= 350 50 50 30
= 400 50 50 40
= 450 50 50 40
= 500 50 50 50
= 550 50 50 55
= 600 50 50 60
= 650 50 50 65
= 700 50 50 70
= 750 50 50 70
= 800 50 50 80
= 850 50 50 80
= 900 50 50 90
= 950 50 50 90
= 1000 200 200 100
= 1100 50 50 100
= 600 50 50 60
= 1300 50 50 100
= 1400 50 50 100
= 1500 200 200 100
= 2500 2500 250 250 31
= 3000 3000 250 250 38
= 3500 3500 250 250 100
= 4000 4000 250 250 50
= 4500 4500 250 250 56
= 5000 5000 250 250 63
= 5500 5500 250 250 69
= 6000 6000 250 250 75
= 6500 6500 250 250 81
= 7000 7000 250 250 88
= 7500 7500 250 250 94
= 8000 8000 250 250 100
= Genau 0 0 0 0 0
= Cart 100 10 25 25 100
= Cart 100 120 120 120 100
= Cart 100 75 50 50 100
= Cart 100 10 25 25 100
= Cart 100 50 25 25 100
= Cart 100 75 33 33 100
= Cart 100 100 50 50 100
= Cart 100 150 75 75 100
= Cart 100 200 100 100 100
= Vel 30 100 50 50 30
= Vel 50 150 75 75 50
= Vel 100 200 100 100 100
EcoTalk
78
EcoTalk
10 Teach.rc
[var]
ENUM COORDTYPE
V 1.1
EcoTalk
79
EcoTalk
TYPE VELOCITY
TYPE ACCELERATION
TYPE RAMPDCL
TYPE INTERPOLATION
TYPE JERKDCL
TYPE OVERLAPDCL
TYPE POINT
TYPE MTANGENT
[proc]
group "Movements..."
set_wait
WAITMODE (WAITTYPE Flag)
move_ptp
PTP (POINT Point) SOFTKEY(1)
move_lin
LIN (POINT Point) SOFTKEY(2)
move_circ
CIRC (POINT Point) SOFTKEY(11)
move_curve
CURVE (POINT Point)
move_curve_t
CURVE_T (POINT Point MTANGENT Tangent)
shift_point
SHIFT (SSHIFT Shift)
reshift_point
RESHIFT()
TorqueMonitor
TORQUEMONITOR(STARTSTOP Command AXISNAME Axisnumber)
group "Path..."
move_path
MOVE (STRING PathName) SOFTKEY(9)
move_path_end ENDMOVE (STRING PathName) SOFTKEY(10)
end
group "Prog..."
prog_start
prog_end
end
end
group "Device..."
select_device
release_device
set_base
set_object
set_tool
end
group "Profile..."
set_vel
set_vel_path
set_acc
set_acc_path
set_ramp
set_jerk
set_overlap
set_override
set_intmode
set_limovr
end
S043ES01 - V 1.1
EcoTalk
80
EcoTalk
group "Tracking..."
tracking_on_off
set_tracking_window
wait_conveyor
wait_paint_position
end
group "Process..."
group "In/Out.."
receive
set_output
get_input
get_variante
get_repairtype
homing
end
TRACKING(RAILONOFF STATE)
SET_TRACKINGWINDOW(NUM 1 Min NUM 1 Max)
WAIT_CONVEYOR(NUM Pos)
WAIT_PAINTPOSITION(NUM 1 Position)
group "Paint..."
start_color_change START_COLORCHANGE(IOTYPE State)
set_triggerpar
SETTRIGGERPAR (GTRIGGERPAR Par)
load_brush
LOADBRUSHFILE ( )
set_gun
GUN (GUNNO Number GUNONOFF Command POINT Point
TRIGGERFRAME Trigger) SOFTKEY(8)
set_brush
SETBRUSH(GUNNO Number NUM Brush
POINT Point
TRIGGERFRAME Trigger) SOFTKEY(7)
set_gun_b
GUN_B (GUNNO Number GUNONOFF Command NUM Point
COORDAXIS CoordAxis)
set_brush_b
SETBRUSH_B(GUNNO Number NUM Brush
NUM Point
COORDAXIS CoordAxis)
set_gun_e
GUN_E (GUNNO Number GUNONOFF Command POINT Point
COORDAXIS CoordAxis)
set_brush_e
SETBRUSH_E(GUNNO Number NUM Brush
POINT Point
COORDAXIS CoordAxis)
set_gun_m
GUN_M (GUNNO Number GUNONOFF Command)
set_brush_m
SETBRUSH_M(GUNNO Number NUM Brush)
set_paint_distanceSETPAINTDISTANCE (NUM Value)
end
group "Robot..."
set_order
S043ES01 - V 1.1
EcoTalk
81
EcoTalk
S043ES01 - V 1.1
EcoTalk
82