Está en la página 1de 82

EcoTalk para

EcoRC2

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

DRR Systems GmbH 2001

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

2001 Drr Systems GmbH

EcoTalk

EcoTalk
1

NDICE DE MODIFICACIONES: ..............................................................................................................2

GRUPO MOVEMENTS ...............................................................................................................................5

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

2001 Drr Systems GmbH

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

EJEMPLOS DE PROGRAMACIN ........................................................................................................54

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

EL CONCEPTO DE VARIANTES ..............................................................................................................54


PINTADO DE REPARACIN ...................................................................................................................58
Las superficies de reparacin corresponden a mdulos de pintado..............................................58
Las superficies de reparacin no se corresponden con los mdulos de pintado ...........................60
PROGRAMAS DE TRACKING .................................................................................................................61
Seguimiento de objeto ....................................................................................................................62
Reglas y comandos prohibidos ......................................................................................................63
Creacin de un programa de aprendizaje .....................................................................................63
RETORNO A LA POSICIN HOME ..........................................................................................................66
PROGRAMACIN DEL ROBOT DE MANIPULACIN .................................................................................68
Programa de robot de pintado.......................................................................................................68
Varios robots de pintado encargan tareas a un robot de manipulacin .......................................70
Programa del robot de manipulacin............................................................................................71

VARIABLES GLOBALES DE SISTEMA ................................................................................................77

9.1
9.2

POSICIONES FIJAS ................................................................................................................................77


EJEMPLO .............................................................................................................................................77

10

TEACH.RC ..............................................................................................................................................79

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

EcoTalk

1 Grupo Movements
1.1

PTP
Macro :

PTP(Point)

Parmetro :

Point: [x, y, z, a, b, c,A7, A8, A9]

Aplicacin :

En camino.

Accin:

El macrocomando PTP es una orden de marcha en rgimen de


servicio punto a punto. Los macros PTP pueden ser reubicados sin ir
precedidos de un comando MOVE; son entonces automticamente
PTP sincrnicos. Un comando PTP con punto de destino en el sistema
de coordenadas no se puede solapar desde un comando cartesiano.
En el punto cartesiano ya se calculan los correspondientes
desplazamientos. No hay datos sobre turns del eje de la mano.
SingleStep:

Los macros PTP se operan en SingleStep PTP

Poner puntero de
registro:

Si se pone el puntero de registro en un


comando PTP, entonces se puede seguir
operando tanto en rgimen SingleStep como en
rgimen continuo.

Reposicin urea:

Reposicin urea es posible.

Retorno a punto 0:

Retorno a punto 0 es posible.

Sistemas de
coordenadas:

Drive, Axis, World, Base, Object, FlangeWorld,


FlangeBase.

Movimiento relativo: Posible.

Ejemplo:

PTP(P1)

P1

El robot se desplaza punto a punto al punto P1.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

EcoTalk
1.2

LIN
Macro :

LIN(Point)

Parmetro :

Point: [x, y, z, a, b, c]

Aplicacin :

En camino.

Accin:

El macro LIN sirve para el desplazamiento lineal sobre la trayectoria.


Tiene que estar siempre programado dentro de un camino.
SingleStep:

Los macros LIN se operan en rgimen


SingleStep.

Poner puntero de
registro:

Si se pone el puntero de registro en un


comando PTP, entonces se puede seguir
operando tanto en rgimen SingleStep como en
rgimen continuo.

Reposicin urea:

Reposicin urea es posible.

Retorno a punto 0:

Retorno a punto 0 es posible.

Sistemas de
coordenadas:

Drive, Axis, World, Base, Object, FlangeWorld,


FlangeBase.

Movimiento relativo: Posible.


Ejemplo:

LIN(P1)

P1

El robot se desplaza linealmente al punto P1.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

EcoTalk
1.3

CIRC
Macro :

CIRC(Point)

Parmetro :

Point: [x, y, z, a, b, c]

Aplicacin :

En camino.

Accin:

El macro CIRC sirve para el desplazamiento circular sobre la


trayectoria. Tiene que estar siempre programado dentro de un camino.
El primer macro CIRC es interpretado como punto auxiliar. El segundo
macro CIRC es interpretado como punto final del arco. Entre el punto
auxiliar y el punto final del arco no se pueden programar otros macros.
Los disparadores sncronos con el trayecto principal (GUN_M und
BRUSH_M) slo se pueden programar para el punto final del arco.
SingleStep:
Los macros CIRC se operan linealmente en
rgimen SingleStep.
Poner puntero de
registro:

Si se pone el puntero de registro en un


comando PTP, entonces slo se puede seguir
operando en rgimen SingleStep.

Reposicin urea:

Si se utilizan comandos CIRC, entonces ya no


es posible reposicin urea.

Retorno a punto 0:

Si se utilizan macros CIRC, entonces ya no es


posible el retorno a punto 0.

Sistemas de
coordenadas:

Drive, Axis, World, Base, Object, FlangeWorld,


FlangeBase.

Movimiento relativo: No es posible.


Ejemplo:
CIRC(P1) - Punto auxiliar
CIRC(P2) - Punto final

P1
P2

El robot se desplaza en crculo por el punto auxiliar P1 al punto final P2.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

EcoTalk
1.4

CURVE
Macro :

CURVE(Point)

Parmetro :

Point: [x, y, z, a, b, c]

Aplicacin :

En camino.

Accin:

Los macros CURVE se interpolan como parbolas de tercer orden. El


control computa automticamente las tangentes iniciales y finales
requeridas. El primer punto de un programa de aprendizaje no puede
ser un punto CURVE. Si el programa de aprendizaje termina con un
macro CURVE, entonces se utiliza como tangente final la tangente
inicial.
SingleStep:

Los macros CURVE se operan linealmente en


rgimen SingleStep.

Poner puntero de
registro:

Si se pone el puntero de registro en un


comando CURVE, entonces slo se puede
seguir operando en rgimen SingleStep.

Reposicin urea:

Si se utilizan comandos CURVE, entonces ya no


es posible reposicin urea.

Retorno a punto 0:

Si se utilizan macros CURVE, entonces ya no es


posible el retorno a punto 0.

Sistemas de
coordenadas:

Drive, Axis, World, Base, Object, FlangeWorld,


FlangeBase.

Movimiento relativo: No es posible.


Ejemplo:
LIN(P1)
CURVE(P2)

S043ES01 - V 1.1

2001 Drr Systems GmbH

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:

Los macros CURVE_T se interpolan como parbolas de tercer orden.


El control computa automticamente las tangentes iniciales
requeridas. Las tangentes finales son prefijadas por el programa de
aprendizaje. El primer punto de un programa de aprendizaje no puede
ser un punto CURVE_T. Si el programa de aprendizaje termina con un
macro CURVE_T, entonces se utiliza como tangente final la tangente
inicial.
SingleStep:

Los macros CURVE se operan linealmente en


rgimen SingleStep.

Poner puntero de
registro:

Si se pone el puntero de registro en un


comando CURVE, entonces slo se puede
seguir operando en rgimen SingleStep.

Reposicin urea:

Si se utilizan comandos CURVE, entonces ya no


es posible reposicin urea.

Retorno a punto 0:

Si se utilizan macros CURVE, entonces ya no es


posible el retorno a punto 0.

Sistemas de
coordenadas:

Drive, Axis, World, Base, Object, FlangeWorld,


FlangeBase.

Movimiento relativo: No es posible.

Ejemplo:
LIN(P1)
CURVE_T(P2 T2)
LIN(P3)

T2

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

EcoTalk

1.6

1.7

Waitmode
Macro :

WAITMODE(Mode)

Parmetro :

Mode: ON, OFF

Aplicacin :

En todo lugar.

Accin:

El lugar WAITMODE detiene la pasada previa (ON) o la libera (OFF).

Ejemplo:

WAITMODE(ON)
WAITMODE(OFF)

Detiene la pasada previa.


Libera la pasada previa.

Shift
Macro :

SHIFT(Shift)

Parmetro :

Shift: [x, y, z, A7]

Aplicacin :

Antes del camino.

Accin:

Con el comando SHIFT se pueden desplazar caminos completos.


No es posible desplazar puntos en coordenadas de ejes. Si se
suceden dos comandos SHIFT, entonces ya no es posible seguir
desplazando de forma relativa. Se desplazan entonces de forma
absoluta por el valor del ltimo comando SHIFT.
X
Desplazamiento del TCP en direccin x
Y
Desplazamiento del TCP en direccin y
Z
Desplazamiento del TCP en direccin z
A7
Desplazamiento del eje 7

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

2001 Drr Systems GmbH

EcoTalk

10

EcoTalk

1.8

Reshift
Macro :

RESHIFT()

Parmetro :

Aplicacin :

Tras el camino.

Accin:

Vuelva a poner a cero un desplazamiento prefijado con SHIFT para


todos los componentes.

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:

Arranca y detiene el registro del par de giro para un eje

Start, Stop
Axis1 ... Axis9

Ejemplo:
TORQUEMONITOR(Start Axis1)
TORQUEMONITOR(Stop Axis1)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

11

EcoTalk

1.10 Grupo Path


1.10.1 Move
Macro :

MOVE(Name)

Parmetro :

Name: [String]

Aplicacin :

Comienzo de camino.

Accin:

El comando MOVE define el principio de un camino. Cada camino


posee un nombre. El control contiene diversas funciones que operan
sobre caminos:
1. Vigilancia de disparadores no ejecutados. Al final de un camino se
comprueba si todos los disparadores de un camino han
conmutado. Los disparadores que no han conmutado son
visualizados con nombre y nmero de lnea en una pgina de
usuario. Para ello es necesario que cada camino tenga un nombre.
2. Medicin del tiempo de ejecucin de un camino en una pgina de
usuario especial. Para ello es necesario que cada camino tenga un
nombre.

Ejemplo:

MOVE(Tuer)
LIN(P1)
LIN(P2)
ENDMOVE(Tuer)

1.10.2 Endmove
Macro :

ENDMOVE(Name)

Parmetro :

Name: [String]

Aplicacin :

Fin del camino.

Accin:

El comando ENDMOVE define el fin del camino. Cada camino posee


un nombre. Si se programa con el comando OVERLAP un camino
cartesiano, entonces es computado y operado ese camino con
ENDMOVE.

Ejemplo:

MOVE(Tuer)
LIN(P1)
LIN(P2)
ENDMOVE(Tuer)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

12

EcoTalk

1.11 Grupo Prog


1.11.1 Startprog
Macro :

STARTPROG(Name)

Parmetro :

Name: [String]

Aplicacin :

Primer comando del programa.

Accin:

El comando STARTPROG define el principio de un programa de


aprendizaje. Cada programa de aprendizaje tiene que tener un
nombre propio.

Ejemplo:

STARTPROG(Auto1)

1.11.2 Endprog
Macro :

ENDPROG(Name)

Parmetro :

Name: [String]

Aplicacin :

ltimo comando del programa.

Accin:

El comando ENDPROG define el fin de un programa de aprendizaje.


Cada programa de aprendizaje tiene que tener un nombre propio.

Ejemplo:

ENDPROG(Auto1)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

13

EcoTalk

2 Grupo Device
2.1

2.2

2.3

Select
Macro :

SELECT(Name)

Parmetro :

Name: [String]

Aplicacin :

Inmediatamente detrs de STARTPROG.

Accin:

Pone el contexto en una cinemtica definida. Este comando es


absolutamente necesario para escribir un programa de movimiento. La
cinemtica se establece como string. El nombre debe corresponder al
definido en Const.rc.

Ejemplo:

SELECT(R11)

Release
Macro :

RELESE(Name)

Parmetro :

Name: [String]

Aplicacin :

Inmediatamente antes de ENDPROG.

Accin:

Libera nuevamente el contexto. La cinemtica se establece como


string. El nombre debe corresponder al definido en Const.rc.

Ejemplo:

RELEASE(R11)

SetBase
Macro :

SETBASE(Base)

Parmetro :

Base: [x,y,z,a,b,c]

Aplicacin :

Antes del camino.

Accin:

Pone la posicin de un objeto fijo. Si el objeto se debe mover con


ayuda de un sistema de cmaras, entonces se tiene que utilizar el
comando SETOBJECT en unin con RECEIVE.

Ejemplo:

SETBASE(B1)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

14

EcoTalk

2.4

2.5

SetObject
Macro :

SETOBJECT(Object)

Parmetro :

Object: [x,y,z,a,b,c]

Aplicacin :

Antes del camino.

Accin:

Pone la posicin de un objeto en movimiento. Si el objeto se debe


mover con ayuda de un sistema de cmaras, entonces se tiene que
utilizar el comando SETOBJECT en unin con RECEIVE.

Ejemplo:

SETOBJECT(O1)

SetTool
Macro :

SETTOOL(Tool)

Parmetro :

Tool: [x,y,z,a,b,c]

Aplicacin :

Antes del camino.

Accin:

Con el comando SETTOOL se define una herramienta. Con ella se


puede trasladar el TCP de la brida del eje de la mano al punto de
impacto del chorro. Es absolutamente necesario para obtener un
desarrollo correcto de la trayectoria.

Ejemplo:

SETTOOL(T1)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

15

EcoTalk

3 Grupo Profile
3.1

Vel
Macro :

VEL(Velocity)

Parmetro :

Velocity:

Path_Val
Rot_Val
RotZ_Val
PTP_Perc

Velocidad de la trayectoria en mm/s.


Velocidad de orientacin del eje Z in /s.
Velocidad de orientacin en torno al eje Z
en /s.
Porcentaje de la velocidad mxima del
eje.

Aplicacin :

Antes del camino.

Accin:

El comando VEL pone la velocidad para el movimiento. El comando


VEL no se puede utilizar dentro de un camino. Si se ha programado
un solapado cartesiano con el comando OVERLAP, el parmetro
Path_Val influye sobre la velocidad en todo el camino. Los parmetros
Rot_Val y RotZ_Val carecen entonces significado. El parmetro
PTP_Perc define la velocidad para un punto dado en coordenadas
cartesianas que debe ser operado PTP.
El solapado de velocidad est tambin activo entre dos caminos si se
ha programado un solapado cartesiano con el comando OVERLAP.
Aqu pueden darse cadas de velocidad. Los siguientes comandos
terminan un camino:
ENDMOVE, PTP, OVERLAP, VEL, WAIT_PAINTPOSITION,
SETINTMODE, WAITMODE

Ejemplo:

3.2

Si se ha programado con el comando OVERLAP otro solapado o


ninguno, entonces influye el parmetro Path_Val sobre la velocidad en
un punto si ste no se ha dado en coordenadas de ejes. Entre los
puntos se solapa tal como se ha programado con el comando
OVERLAP.
Los parmetros Rot_Val y RotZ_Val definen entonces la velocidad
entre el eje virtual de orientacin Z (Rot_Val) y la velocidad de
orientacin en torno al virtual de orientacin Z (RotZ_Val). Si ambos
parmetros se eligen de forma que la velocidad de orientacin del eje
virtual de orientacin Z sea menor que la velocidad de trayectoria,
entonces queda limitada correspondientemente la velocidad de
trayectoria.
El parmetro PTP_Perc define la velocidad para un punto que se da
en coordenadas de ejes.
VEL(V1)

VelPath
Macro :

VELPATH(VelPath)

Parmetro :

VelPath: [REAL]

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

16

EcoTalk

3.3

Aplicacin :

En camino.

Accin:

El comando VELPATH pone la velocidad dentro de un camino.

Ejemplo:

VELPATH (300.0)

Acc
Macro :

ACC(Acceleration)

Parmetro :

Acceleration:

Path_Acc
Path_Dcc
Rot_Val
RotZ_Val
PTP_Perc

3.4

Aceleracin en la trayectoria en mm/s. No


acta con PTP
Deceleracin en la trayectoria en mm/s.
No acta con PTP
Aceleracin de orientacin del eje Z en
/s
Aceleracin de la orientacin en torno al
eje Z en /s
Porcentaje de la aceleracin mxima del
eje. Acta slo con PTP.

Aplicacin :

Antes del camino.

Accin:

El comando ACC pone la aceleracin para el movimiento.

Ejemplo:

ACC(A1)

AccPath
Macro :

ACCPATH(PathAcc)

Parmetro :

PathAcc: [Real]

Aplicacin :

En camino .

Accin:

El comando ACCPATH pone la aceleracin dentro de un camino.

Ejemplo:

ACCPATH(3000.0)

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

Margen de valores del factor


de rampa
0.1-0.7
0.15-0.5

El factor de rampa evala la forma de la rampa. En la rampa


trapezoidal da la cuota de la aceleracin constante. En el seno
cuadrado es inefectiva y en las rampas triangulares da el punto del
mximo. Pueden asumir valores entre cero y uno. Los valores en torno
a 0.3 han demostrado ser favorables.
Aplicacin :

Antes del camino.

Accin:

Sirve para poner una forma especial de rampa con un determinado


factor de forma. Es posible poner rampas de aceleracin y rampas de
frenado. El tipo de rampa se selecciona mediante una lista de
enumeracin.
La rampa puede ser puesta siempre, excepto dentro de un camino en
el solapado a velocidad constante.

Ejemplo:

RAMP(R1)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

18

EcoTalk
3.6

Jerk
Macro :

JERK(Jerk)

Parmetro :

Jerk:

Path_Val
Rot_Val
RotZ_Val
PTP_Perc

En esta estructura de datos se definen el tirn (derivada tercera) en


el desplazamiento en una trayectoria y el tirn de un giro.
Descripcin

Smbolo

Usado en

Tirn de trayectoria [mm/s]

Path_Val

Cart

Margen
de valores
49
5*10 - 10

Tirn de orientacin del eje Z [/s]

Rot_Val

Cart Zrojo

10 - 10

Tirn de orientacin en
torno al eje Z [/s]

RotZ_Val

Cart Zrojo

10 - 10

Tirn de eje [%]

PTP_Perc

PTP, Aux

10 - 100

5-

Aplicacin :

Antes del camino.

Accin:

El tirn de trayectoria slo es efectivo con la rampa trapezoidal puesta.


Como que tiene influencia en el comportamiento dinmico del robot,
no debera usarse este comando. La limitacin interna de los tirones,
que resulta del interpolador de precisin, basta para limitar
suficientemente los tirones del sistema.

Ejemplo:

Jerk(J1)

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

Los contornos de ambos comandos


se solapan como mximo con el
valor de posicin establecido.

ConstPos

Los contornos de ambos comandos


se solapan con el valor exacto de
posicin establecido

Cart

Un comando compuesto es operado


con velocidad constante.

PtpVel

Es vlido slo para movimientos PTP

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.

2001 Drr Systems GmbH

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 :

Antes del camino.

Accin:

Al poner un comando Overlap se interrumpe un solapado cartesiano.


Los comandos de movimiento delante y detrs del comando Overlap
son solapados slo en sus contornos.
El solapado debe ponerse en el camino. El solapado a velocidad
constante es nicamente posible en un camino. Cuando se abandona
el camino, el modo es repuesto automticamente. Si no se selecciona
un solapado a velocidad constante, es ejecutado un solapado de
contornos. Slo se pueden solapar como mximo 2 contornos. Si en
una rampa no se puede alcanzar la velocidad prefijada, con una
rampa y una aceleracin dada, entonces cae la velocidad de
trayectoria a la medida solapada.

Ejemplo:

OVERLAP(O1)

VAS
Macro :

VAS(Override)

Parmetro :

Override: [Real]

Aplicacin :

En todo lugar.

Accin:

Factor para escalar la velocidad, reducindose tanto la velocidad


como la aceleracin. Este comando puede ser utilizado en cualquier
lugar del programa.

Ejemplo:

VAS(20.0)

SetIntmode
Macro :

SETINTMODE(Intmode)

Aplicacin :

Antes del camino.

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

Valor estndar prefijado

En la interpolacin es posible poner, adicionalmente al modo de


interpolacin de base, otro modo ms. ste da el tipo de interpolacin
de orientacin. El modo de interpolacin se puede poner en la
trayectoria. Sin embargo, al cambiar de modo de interpolacin, no es
posible interpolar con velocidad constante. El contorno de la velocidad
se desprende entonces del solapado definido.
SETINTMODE(ZROTATION)
2001 Drr Systems GmbH

EcoTalk

21

EcoTalk

3.10 SetLimOverride
Macro :

SET_LIMOVR(Override)

Parmetro :

Override: [Real]

Aplicacin :

En todo lugar.

Accin:

Con el comando SET_LIMOVR es posible parametrizar un limitador de


movimiento. El Override es aqu el valor porcentual de la velocidad
mxima a la que pueden moverse los ejes. Con ello es posible
ejecutar tambin movimientos en las cercanas de singularidades en
las que la velocidad axial es superior al valor admitido en los
parmetros de mquina debido al camino programado. Al aplicar este
comando no se produce ningn error, sino que se recorre la
trayectoria con valores correspondientemente reducidos.
Esta orden slo funciona en Linetracking si la opcin Limiter ha sido
configurada. En los lugares en que acta un limitador, el robot no se
mueva a la velocidad programada. Por esta razn, no se debe pintar
en este rea.

Ejemplo:

SET_LIMOVR(20.0)

S043ES01 - V 1.1

2001 Drr Systems GmbH

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:

El comando Tracking controla el tracking. Este comando tiene que ser


utilizada fuera de un camino.

Aplicacin :

Antes o despus de un camino.

Ejemplo:
TRACKING(On)
TRACKING(Off)
TRACKING(Finished)

4.2

SetTrackingWindow
Macro :

SET_TRACKINGWINDOW(Inbound Outbound)

Parmetro :

Inbound: [Real]
Outbound: [Real]

Aplicacin :

Antes del camino.

Accin:

Pone los valores lmites de Inbound y Outbound. Estos valores no


pueden ser negativos. Inbound debera ser 0. Outbound define el valor
hasta el que se puede ejecutar el seguimiento.

Ejemplo:

SET_TRACKINGWINDOW (0.0 20000.0)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

23

EcoTalk

4.3

4.4

WaitConveyor
Macro :

WAIT_CONVEYOR(Conveyor)

Parmetro :

Conveyor: [Real]

Aplicacin :

Antes del camino.

Accin:

El comando WAIT_CONVEYOR detiene la pasada previa. El robot


espera hasta que la magnitud del transportador haya alcanzado el
valor programado (en mm). Este valor se refiera al punto en el que el
robot ha sido sincronizado con el transportador. Este punto de
sincronizacin se encuentra generalmente a la entrada de la clula.
Este comando es utilizado para esperar hasta que el auto est ya tan
dentro de la clula que el primer mdulo se encuentre al alcance del
robot.

Ejemplo:

WAIT_CONVEYOR (200.0)

WaitPaintPosition
Macro :

WAIT_PAINTPOSITION(Paintposition)

Parmetro :

Paintposition: [Real]

Aplicacin :

Antes del camino.

Accin:

El comando WAIT_ PAINTPOSITION detiene la pasada previa. El


robot espera hasta que la magnitud del objeto haya alcanzado el valor
programado (en mm). Este valor se refiera al punto en el se ha
arrancado el tracking con TRACKING(On). La posicin del objeto es 0
en este punto.
Este comando es utilizado para esperar hasta que el auto est ya tan
dentro de la clula que el siguiente mdulo se encuentre al alcance del
robot.

Ejemplo:

WAIT_ PAINTPOSITION (100.0)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

24

EcoTalk

5 Grupo Process
5.1

Grupo In/Out

5.1.1 Receive
Macro :

RECEIVE (Name Type)

Parmetro :

Name: ISRA, CollisionX1, CollisionY1, CollisionX2, CollisionY2


Type: Data, High, Low

Aplicacin :

Antes del camino.

Accin:

El comando RECEIVE detiene la pasada previa hasta que el resultado


sea TRUE. Este comando tiene que ser programado fuera de un
camino. Los parmetros actan del modo siguiente.

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

2001 Drr Systems GmbH

EcoTalk

25

EcoTalk
5.1.2 SetOutput
Macro :

SET(Name Type)

Parmetro :

Name: BrakeA8, CollRequestX1, CollRequestY1, CollRequestX2,


CollRequestY2
Type: High, Low

Aplicacin :

En todo lugar.

Accin:

Con este comando se pueden escribir salidas.

Ejemplo:
SET(CollRequestX1 Low)
SET(CollRequestX1 High)

Pone la salida CollRequestX1 a 0


Pone la salida CollRequestX1 a 1

SET(CollRequestY1 Low)
SET(CollRequestY1 High)

Pone la salida CollRequestY1 a 0


Pone la salida CollRequestY1 a 1

SET(BrakeA8 Low)
SET(BrakeA8 High)

Pone la salida BrakeA8 a 0


Pone la salida BrakeA8 a 1
Esta salida conecta el freno del eje 8 en
el robot swingarm.

5.1.3 GetInput
Macro :

GET(Name Type)

Parmetro :

Name: BrakeA8, CollRequestX1, CollRequestY1, CollRequestX2,


CollRequestY2
Type: High, Low

Accin:

Con este comando se pueden leer entradas.

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

2001 Drr Systems GmbH

EcoTalk

26

EcoTalk

5.1.4 GetVariante
Macro :

GET_VARIANTE (Name)

Parmetro :

Name: Rechtslenker, ...

Accin:

Con este comando es posible consultar un nico bit de Variante. Si el


bit es 1, entonces las funcin es TRUE.

Aplicacin :

En todo lugar.

Ejemplo:
GET_VARIANTE(Rechtslenker)

Suministra TRUE si el bit de


Rechtslenker es 1.
IF GET_VARIANTE(Rechtslenker) THEN
CALLRechts()
ENDIF

5.1.5 GetRepairtype
Macro :

GET_REPAIRTYPE (Name)

Parmetro :

Name: Repair, ...

Aplicacin :

En todo lugar.

Accin:

Con este comando es posible consultar el valor de un nico bit de


reparacin. Si el bit es 1, entonces la funcin devuelve TRUE.

Ejemplo:
GET_REPAIRTYPE (Repair)

Entrega TRUE si el bit de

Repair
es 1
IF GET_REPAIRTYPE (Repair) THEN
CALLRepair1()
ENDIF

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

27

EcoTalk

5.1.6 Homing
Macro :

HOMING(Modulname)

Parmetro :

Modulname : [String]

Aplicacin :

Antes del camino.

Accin:

El macro HOMING compara el nombre del mdulo transferido con el


nombre del mdulo de pintado ejecutado por ltimo por el robot. Si los
nombres coinciden, entonces el macro devuelve TRUE.

Ejemplo:

Si el robot ha pintado como ltimo mdulo el mdulo Puerta,


entonces debe operarse en el retorno al punto 0 el mdulo de retorno
al punto 0 HPuerta. El programa de aprendizaje debera entonces
tener la siguiente forma:
IF HOMING("TUER")
CALL"HTUER"()
ENDIF

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

28

EcoTalk
5.2

Grupo Paint

5.2.1 SetTriggerpar
Macro :

SETTRIGGERPAR(Triggerpar)

Parmetro :

Triggerpar:

Aplicacin :

Mode : Foreward, Backward, Both


Delay : ms
Dist
: mm
Radius : mm
Antes del camino.

Accin:

El macro SETTRIGGERPAR pone los parmetros globales de


disparador.
Mode : Foreward
Mode : Backward
Mode : Both
Delay :
Dist :
Radius :

El disparador acta si el robot se mueve en


direccin de coordenadas positiva.
El disparador acta si el robot se mueve en
direccin de coordenadas negativa.
El disparador acta independientemente de la
direccin de coordenadas.
El disparador acta retrasado en n ms.
El disparador acta n mm ms despus.
El disparador acta si el TCP se encuentra
dentro de un disco con este radio.

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

El disparador acta en el trayecto 3 puesto que se ha programado Foreward.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

29

EcoTalk
5.2.2 StartColorchange
Macro :

START_COLORCHANGE(State)

Parmetro :

State: Data, High, Low

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 :

Antes del camino.

Accin:

El macro LODABRUSHFILE carga el fichero de parmetros que


contiene los brushes para el programa de pintado actual. Este macro
tiene que ser ejecutado antes de poner un brush. Se ha de tener en
cuenta que la carga del archivo de brush exige algunos ms. Por esta
razn, un macro Brush no debera ir inmediatamente detrs de un
LOADBRUSHFILE.

Ejemplo:

LOADBRUSHFILE()

5.2.4 Gun
Macro :

GUN(GunNumber Command Point Triggerframe)

Parmetro :

GunNumber : Gun1, Gun2


Command : GunOn, GunOff
Point :
Punto en que tiene que actuar el disparador.
Triggerframe :Parmetro opcional necesario cuando se aplica un
sistema de programacin offline (ROBCAD).

Aplicacin :

En camino.

Accin:

El programa conecta o desconecta el pulverizador en el punto


programado. El punto POINT no es un punto que se incluye en la
computacin de la trayectoria, sino un nuevo punto en la trayectoria en
el que debe conmutar el disparador. Ese punto puede ser operado en
rgimen SingleStep. El vector de trayectoria del punto se define con
Triggerframe.

Ejemplo:

GUN(Gun1 GunOn P22 T11)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

30

EcoTalk
5.2.5 Brush
Macro :

SETBRUSH(GunNumber BrushNumber Point Triggerframe)

Parmetro :

GunNumber : Gun1, Gun2


BrushNumber:
1 ... n
Point :
Punto en que debe conmutar el disparador.
Triggerframe : Parmetro opcional necesario cuando se aplica un
sistema de programacin offline (ROBCAD).

Aplicacin :

En camino.

Accin:

El macro BRUSH conmuta los parmetros programados del


pulverizador en el punto programado. El programa conecta o
desconecta el pulverizador en el punto programado. El punto POINT
no es un punto que se incluye en la computacin de la trayectoria, sino
un nuevo punto en la trayectoria en el que debe conmutar el
disparador. Ese punto puede ser operado en rgimen SingleStep. El
vector de trayectoria del punto se define con Triggerframe.

Ejemplo:

BRUSH(Gun1 5 P22 T11)

5.2.6 Gun_B
Macro :

GUN_B(GunNumber Command Point CoordAxis)

Parmetro :

GunNumber :
Command :
Point :
CoordAxis:

Aplicacin :

En camino.

Accin:

El macro GUN_B conmuta cuando el TCP alcanza el valor del punto


en el eje de coordenadas programado. El punto POINT no es un punto
que se incluye en la computacin de la trayectoria, sino un nuevo
punto en la trayectoria en el que debe conmutar el disparador.
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:

GUN_B(Gun1 GunOn P22 DueToX) und


P22: x=500, y=300, z=330, a=23, b=-394, c= 353

Gun1, Gun2
GunOn, GunOff
Punto en el que debe conmutar el disparador.
DueToX, DueToY, DueToZ

El disparador conmuta cuando el TCP alcanza el valor x=500.

5.2.7 Brush_B
Macro :

S043ES01 - V 1.1

SETBRUSH_B(GunNumber BrushNumber Point CoordAxis)

2001 Drr Systems GmbH

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:

El macro Brush_B conmuta cuando el TCP alcanza el valor del punto


en el eje de coordenadas programado. El punto POINT no es un punto
que se incluye en la computacin de la trayectoria, sino un nuevo
punto en la trayectoria en el que debe conmutar el disparador.
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:

BRUSH_B(Gun1 5 P22 DueToX) und


P22: x=500, y=300, z=330, a=23, b=-394, c= 353
El disparador conmuta cuando el TCP alcanza el valor x=500.

5.2.8 Gun_E
Macro :

GUN_E(GunNumber Command Value CoordAxis)

Parmetro :

GunNumber : Gun1, Gun2


Command : GunOn, GunOff
Value [Real]
CoordAxis:
DueToX, DueToY, DueToZ

Aplicacin :

En camino.

Accin:

El macro GUN_E conmuta cuando el TCP alcanza el valor de Value


en el eje de coordenadas programado.
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:

GUN_E(Gun1 GunOn 800 DueToX)


El disparador conmuta cuando el TCP alcanza el valor x=800.

5.2.9 Brush_E
Macro :

SETBRUSH_E(GunNumber BrushNumber Value CoordAxis)

Parmetro :

GunNumber :
BrushNumber :
Value [Real]
CoordAxis:

Gun1, Gun2
1 ... n
DueToX, DueToY, DueToZ

Aplicacin :

En camino.

Accin:

El macro BRUSH_E conmuta cuando el TCP alcanza el valor de Value


en el eje de coordenadas programado.

S043ES01 - V 1.1

2001 Drr Systems GmbH

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:

Brush_E(Gun1 5 800 DueToX)


El disparador conmuta cuando el TCP alcanza el valor x=800.

5.2.10 Gun_M
Macro :

GUN_M(GunNumber Command)

Parmetro :

GunNumber : Gun1, Gun2


Command : GunOn, GunOff

Aplicacin :

En camino.

Accin:

El macro GUN_M conmuta cuando el TCP alcanza el punto de


trayectoria antes programado. Hay que tener en cuenta aqu que el
valor del radio en SETTRIGGERPARAMETER es inefectivo.

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:

El macro BRUSH_M conmuta cuando el TCP alcanza el punto de


trayectoria antes programado.
Hay que tener en cuenta aqu que el valor del radio en
SETTRIGGERPARAMETER es inefectivo

Ejemplo:

LIN(P1)
BRUSH_M(Gun1 5)

Gun1, Gun2
1 ... n

El disparador conmuta cuando el TCP alcanza el punto P1.

5.2.12 SetPaintDistance
Macro :

S043ES01 - V 1.1

SETPAINTDISTANCE(Distance)

2001 Drr Systems GmbH

EcoTalk

33

EcoTalk
Parmetro :

Distance [mm]

Aplicacin :

Antes del camino.

Accin:

El macro SETPAINTDISTANCE aumenta las distancia del chorro en el


valor de Distance. Este valor se vuelva a poner a 0 al final del
programa de pintado.

Ejemplo:

SETPAINTDISTANCE(50)
Eleva la distancia del chorro en 50mm.

5.3

Grupo Robot

5.3.1 SetOrder
Macro :

SET_ORDER(PartCode HandlerCode Order)

Parmetro :

PartCode:
Part0 ... Part3
HandlerCode: H1 ... H6, All
Order:
Wait, HalfOpen, FullOpen, HalfClosed, FullClose,
Delete, Finish

Aplicacin :

Antes del camino.

Accin:

El macro SET_ORDER escribe una peticin de posicin de pieza a un


robot de manipulacin. Cada robot de pintado se puede comunicar con
4 robots de manipulacin, cada uno de los cuales manipula 4 piezas.
Para cada pieza pueden ser pedidas 5 posiciones de pieza.

Ejemplo:
SET_ORDER(Part0 H1 Wait)

Pide para la pieza Part0 del


robot de manipulacin H1 la
posicin Wait.
SET_ORDER(Part0 H1 HalfOpen) Pide para la pieza Part0 del
robot de manipulacin H1 la
posicin HalfOpen.
SET_ORDER(Part0 H1 FullOpen) Pide para la pieza Part0 del
robot de manipulacin H1 la
posicin FullOpen.
SET_ORDER(Part0 H1 HalfClosed) Pide para la pieza Part0 del
robot de manipulacin H1 la
posicin HalfClosed.
SET_ORDER(Part0 H1 FullClose) Pide para la pieza Part0 del
robot de manipulacin H1 la
posicin FullClose.
SET_ORDER(Part0 H1 Delete)
Borra para la pieza Part0 del
robot de manipulacin H1 todas
las peticiones de posicin
precedentes.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

34

EcoTalk
SET_ORDER(Part0 H1 Finish)

Pide para la pieza Part0 al robot


de manipulacin H1 que termine
su programa.

5.3.2 ReceiveHandlerpos
Macro :

RECEIVE_HANDLERPOS(PartCode HandlerCode Order)

Parmetro :

PartCode:
Part0 ... Part3
HandlerCode: H1 ... H6, All
Order:
Wait, HalfOpen, FullOpen, HalfClosed, FullClose,
Delete, Finish

Aplicacin :

Antes del camino.

Accin:

El macro RECEIVE_HANDLERPOS detiene la pasada previa hasta


que el robot de manipulacin devuelva una determinada posicin para
la pieza pedida. Cada robot de pintado se puede comunicar con 4
robots de manipulacin, cada uno de los cuales manipula 4 piezas.
Para cada pieza pueden ser pedidas 5 posiciones de pieza.

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

2001 Drr Systems GmbH

EcoTalk

35

EcoTalk

5.4

Grupo Handler

5.4.1 Set Opener State


Macro :

SETOPENER(Device State)

Parmetro :

Device:
State:

Aplicacin :

En camino.

Accin:

Este macro solamente se puede utilizar junto con el dispositivo de


manipulacin de la puerta del robot de lavado. Su funcin es activar
(Fix) o desactivar (Release) el aspirador del dispositivo de
manipulacin. Con el parmetro Device se define para qu puerta se
debe ejecutar el comando.

Front, Rear
Fix, Release

5.4.2 CheckPart
Macro :

SET_CHECK (CheckPartCode Point Triggerframe)

Parmetro :

CheckPartCode:
Point :
Triggerframe :

Aplicacin :

En camino.

Accin:

Con la opcin Sensorik activada se ejecuta con el macro


SET_CHECK un control nico de la pieza. La posicin en la que tiene
lugar la comprobacin no est vinculada a un punto de movimiento
programado, sino que es ejecutada directamente en el punto Point.
Si la pieza no es reconocida aqu como presente, se emite el
correspondiente mensaje de error y se para el programa de
aprendizaje. Si la funcin de bsqueda fue activada anteriormente,
entonces no se emite ningn mensaje de error en caso de una pieza
no reconocida.

Ejemplo:

SET_CHECK (CheckPart P1 T1)

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

Es ejecutado un control nico de


pieza. La posicin en la que tiene lugar

2001 Drr Systems GmbH

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:

Con la opcin Sensorik activada se ejecuta un control de pieza con el


macro SET_PART. Si la pieza no es reconocida aqu como presente,
se emite el correspondiente mensaje de error y se para el programa
de aprendizaje. Si la funcin de bsqueda fue activada anteriormente,
entonces no se emite ningn mensaje de error en caso de una pieza
no reconocida.

Ejemplo:
SET_PART (CheckPart)
SET_PART (CheckPartOn)
SET_PART (CheckPartOff)

5.4.4 GetPart
Macro :

GET _PART (PartCode)

Parmetro :

PartCode:

Aplicacin :

Antes del camino.

Accin:

Con la opcin Sensorik activada se evala con el macro GET_PART


el resultado de un control de pieza estando la funcin de bsqueda
anteriormente activada. En caso de un resultado positivo, se ejecuta
en el programa de aprendizaje la rama IF, un resultado negativo
selecciona la rama ELSE e inicia la bsqueda.

Part0...Part3

Ejemplo:
IF GET_PART(Part0) THEN
CALLLackiere()
ELSE
CALLSuche()
ENDIF

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

37

EcoTalk
5.4.5 SetSensor
Macro :

SET_SENSOR (SensorCode)

Parmetro :

SensorCode: Active: Con este comando se conmuta el sensor al


modo de vigilancia ms sensible. En conjuncin
con la funcin de aprendizaje se acaba con esta
instruccin el ciclo de evaluacin para la
secuencia de movimiento correspondiente. As
pues, SET_SENSOR(Aktive) tiene que figurar
siempre al final de cada programa de
aprendizaje en el cual se ha seleccionado
anteriormente una de las otras funciones de
vigilancia.
Calibrate: Con esta instruccin se lleva a cabo la
calibracin del sensor. Para ello hay primero que
poner la vigilancia en activo, ajustar la
amplificacin del amplificador de medicin al tipo
de carrocera seleccionada, y extraer una media
de los valores actuales del sensor. Se debera
ejecutar siempre SET_SENSOR(Calibrate) una
vez por carrocera, a saber, antes de que el
sensor sea utilizado por primera vez.

ATENCIN!

El comando solamente se puede utilizar cuando la


cinemtica se encuentra en la posicin inicial y
sobre el sensor no acta ninguna fuerza (sin
pieza).
Collision: Con este comando se ajusta el sensor al
modo de vigilancia ms sensible. Se verifica si el
sensor est calibrado y se cargan las ventanas
de errores correspondientes al tipo actual de
carrocera. La funcin de vigilancia compara
permanentemente el valor medio calculado en el
calibrado (+/- una tolerancia que figura en la
ventana de errores en la ventana) con el valor
actual del sensor. En el 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.
Overload: Con esta instruccin se conecta el modo de
vigilancia del sensor en la cual se ajustan los
umbrales de desconexin en funcin del tipo de
carrocera y la secuencia de movimiento. Esos
valores lmites especficos son calculados con la
funcin de aprendizaje y tienen que haber sido
seleccionados anteriormente con la instruccin
SET_LOAD(...). La vigilancia compara
permanentemente los valores lmites (+/- una
tolerancia que figura como margen de error en la
ventana) con el valor actual del sensor. En el
S043ES01 - V 1.1

2001 Drr Systems GmbH

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:

Con la opcin Sensorik activada, se preselecciona la funcionalidad


correspondiente del sensor con el macro SET_SENSOR.

Ejemplo:
SET_SENSOR(Active)
SET_SENSOR(Calibrate)
SET_SENSOR(Collision)
SET_SENSOR(Overload)

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

39

EcoTalk

5.4.6 SetLoad
Macro :

SET_LOAD (Load)

Parmetro :

Load: CloseOpen
CloseHOpen
HOpenOpen
OpenClose
OpenHClose
HCloseCloseZu
Spare1
Spare2
TestFile

Aplicacin :

Antes del camino.

Accin:

Con la opcin Sensorik activada, se seleccionan para la secuencia


de movimiento Load con el macro SET_LOAD para el tipo de
carrocera elegido los valores lmites que son necesarios para la
instruccin SET_SENSOR(Overload). Esa instruccin tiene que figurar
antes del comando SET_SENSOR(Overload) en cada programa
parcial.

Ejemplo:
SET_LOAD(CloseOpen)
Pone los valores lmites para la secuencia
Zu (cerrado) tras Auf (abierto).

5.4.7 SetSearch
Macro :

SET_ SEARCH (Command)

Parmetro :

Command:

Aplicacin :

En camino.

Accin:

Con la opcin Sensorik activada se controla la funcin de bsqueda


con el macro SET_ SEARCH.

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

2001 Drr Systems GmbH

EcoTalk

40

EcoTalk

5.4.8 SetGripper
Macro :

SET_ GRIPPER (Controltype Command)

Parmetro :

Controltype:

Control
NotControl

Command

Open
Close

Activa la vigilancia de la posicin de la


garra
Desactiva la vigilancia de la posicin de
la garra
Abre la garra
Cierra la garra

Aplicacin :

En todo lugar.

Accin:

El macro SET_ SEARCH controla la garra del abrecaps. Es


comprobada la confirmacin de la posicin de la garra, que es
controlada mediante interruptor de aproximacin. Si el acuse de recibo
del interruptor de aproximacin no se presenta antes de 2,5 segundos,
entonces se emite el mensaje de error correspondiente y el programa
de aprendizaje se para.

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 :

SET_ POSCODE (PartCode PosCode)

Parmetro :

PartCode:
PosCode:

Aplicacin :

Antes del camino.

Accin:

El macro SET_ POSCODE escribe un valor de la posicin de una


pieza a un robot de pintado. Cada robot de manipulacin puede
manipular 4 piezas, cada una de las cuales puede asumir 5 posiciones
de pieza.

Part0 ... Part3


Wait, HalfOpen, FullOpen, HalfClosed, FullClose

Ejemplo:
SET_ POSCODE (Part0 Wait)

Emite para la pieza Part0 la


posicin Wait.
SET_ POSCODE (Part0 HalfOpen) Emite para la pieza Part0 la
posicin HalfOpen.
SET_ POSCODE (Part0 FullOpen) Emite para la pieza Part0 la
posicin FullOpen.
SET_ POSCODE (Part0 HalfClosed) Emite para la pieza Part0 la
posicin HalfClosed.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

41

EcoTalk
SET_ POSCODE (Part0 FullClose) Emite para la pieza Part0 la
posicin FullClose.

5.4.10 ReceiveOrder
Macro :

RECEIVE_ORDER()

Parmetro : Aplicacin :

Antes del camino.

Accin:

Con el macro RECEIVE_ORDER es leda la posicin de la pieza


pedida y asignada a una variable en el programa de aprendizaje. El
programa de aprendizaje detiene la pasada previa hasta que sea
pedida una posicin vlida de una pieza. Una peticin vlida significa
que es pedida una nica posicin de una pieza (bit particular a travs
de la interfaz al PLC) y que la peticin es diferente que la posicin
pedida anteriormente. Esa variable puede asumir diferentes valores
segn los diferentes requerimientos:
Posicin pedida de la pieza

Valor devuelto (contenido de la


variable)

HalfOpen

FullOpen

HalfClosed

Wait

FullClose

Finish

Ejemplo:
Order = RECEIVE_ORDER
IF Order = 1 THEN
CALLOpen()
ENDIF

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

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

Nombre de variable rea de datos

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.

Condicionado por el tipo de tarea, a veces es necesario acceder a datos utilizados


tambin en otro archivo de programa. Los datos tienen que ser conocidos para este
fin globalmente. EcoTalk distingue al respecto cuatro niveles:
1)
2)
3)
4)

Datos locales
Datos globales de programa
Datos globales de proyecto
Datos globales de sistema

Los datos almacenados con la instruccin en el archivo de programa son


denominados datos locales. Slo los datos presentes en una variable pueden ser
usados globalmente. Si la variable est almacenada en un archivo de variables que
lleva el mismo nombre que un archivo de programa, entonces los datos son globales
de programa. Esto es, pueden ser utilizados en cualquier lugar del archivo de
programa. Las variables globales de proyecto se encuentra en el archivo
_Global.tid en la carpeta del proyecto. Si la variable est almacenada en el archivo
_Global.tid en la carpeta D:\Global.ti, entonces son globales de sistema y pueden
ser ledas por cualquier archivo de programa.

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

En la compilacin de un programa se buscan variables primeramente en el archivo


de datos globales de programa, despus en el archivo de datos globales de proyecto
y, finalmente, en el archivo de datos globales de sistema. Si la variable no es
encontrada en ningn lugar, entonces es depositada en el archivo de datos globales
de programa y ocupada con valores por defecto. Los valores por defecto son en los
tipos de enumeracin el primer valor de enumeracin. En todos los otros casos, 0.0.

7.2

Estructura del programa

7.2.1 Parntesis de programa y cuerpo de programa


Un archivo de programa EcoTalk se compone de un parntesis de programa y de un
cuerpo de programa. El parntesis de programa se forma con las instrucciones
STARTPROG, ENDPROG, SELECT y RELEASE. Dentro de este parntesis de
programa figura el cuerpo de programa con las restantes instrucciones de EcoTalk.

7.2.2 El parntesis de programa


Todo archivo de programa EcoTalk comienza con la instruccin
STARTPROG(Name). El archivo de programa concluye con la instruccin
ENDPROG(Name). Name tiene que ser idntico para STARTPROG y ENDPROG.
Las instrucciones STARTPROG y ENDPROG slo se pueden utilizar una vez para
cada programa. No se puede utilizar nunca el mismo Name dentro de un archivo de
programa EcoTalk y de todos los archivos de subrutinas llamados por el archivo de
programa. Si el programa es una subrutina, entonces tras ENDPROG tiene que
figurar la instruccin RETURN. En un fichero de programa EcoTalk no est permitida
tras ENDPROG ninguna instruccin ms que RETURN.
Directamente tras STARTPROG tiene que figurar la instruccin
SELECT(Kinematikname). Para cada SELECT tiene que estar programada la
instruccin RELEASE(Kinematikname). El nombre de cinemtica tiene que ser
S043ES01 - V 1.1

2001 Drr Systems GmbH

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

7.2.2.1 Comprobacin del nombre de la cinemtica


El nombre de la cinemtica est establecido en los parmetros de mquina. El
nombre de la cinemtica se parametriza con el parmetro KxYNAME. El parmetro
KxYNAME slo es vlido si el parmetro KxYVALID = 1. La variable de operacin x
es el nmero de la cinemtica. El nmero de la cinemtica comienza siempre con 1 y
puede alcanzar con robots el valor mximo de 4.
De ello resulta que el parmetro K1YVALID tiene que ser ledo primero. Si el
parmetro existe y es 1, entonces es ledo K1YNAME. A continuacin, es ejecutado
el mismo proceso para x = 2, x = 3 y x = 4.

K1YVALID
K1YNAME

Nombre del parmetro

03-

E OFF

Valor del parmetro

Tipo de parmetro
S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

48

EcoTalk

7.2.3 Cuerpo del programa


El cuerpo del programa est formado por: ncleo del cuerpo del programa, caminos,
instrucciones influyentes en los caminos e instrucciones de gestin.
El ncleo del cuerpo del programa contiene las instrucciones que actan sobre la
cinemtica, tales como la puesta de Tool y Base. Los caminos contienen
instrucciones relacionadas con los movimientos del robot. Las instrucciones que
influyen sobre los caminos ponen parmetros globales para el camino, tales como la
velocidad y el comportamiento del solapado. Las instrucciones de gestin son
instrucciones para el solapado y la comunicacin E/S.

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

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

EcoTalk

50

EcoTalk

7.2.5 Lugares de aplicacin de comandos EcoTalk


Instrucciones del ncleo del cuerpo
del programa
-

SETBASE
SETOBJECT
SETTOOL
LOADBRUSHFILE
Instrucciones de gestin

Instrucciones del camino


-

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

Instrucciones para la influencia


sobre el camino
-

SHIFT
RESHIFT
VEL
ACC
OVERLAP
SETINTMODE
SETTRIGGERPAR
SETPAINTDISTANCE

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

-- Espera posicin para puerta


IF GET_REPAIRTYPE(L2)
CALL"A10_02"()
ELSE
IF GET_REPAIRTYPE(L1)
CALL"A10_02A"()
ENDIF
IF GET_REPAIRTYPE(L3)
CALL"A10_02E"()
ELSE
CALL"OHNE_02"()
ENDIF
ENDIF

Cuerpo de programa
que contiene slo
instrucciones de
gestin

TRACKING(Off)
TRACKING(Finished)
CALL"HOMEPOS"()
RELEASE("R11")
ENDPROG("RMAINPRG")

Por razones de claridad, en un programa principal no deberan encontrarse caminos


ni instrucciones que ejerzan influencia sobre los caminos. Puesto que este programa
principal no utiliza datos globales de programa, tampoco tiene que existir un archivo
de datos.

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

Ncleo del cuerpo del


programa
Influencia sobre camino
Instruccin de gestin

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)

Influencia sobre camino

MOVE("A10_04A2")
LIN(A10_04_207)
ENDMOVE("A10_04A2")

Camino

VEL(V1000)
OVERLAP(NODEC50)

Influencia sobre camino

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

2001 Drr Systems GmbH

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

En estas superficies parciales se colocan ahora los mdulos de pintado. Segn la


variante (puerta, ventana), el mdulo de pintado contiene ms o menos trayectorias y
puntos de conmutacin de la aguja principal.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

54

EcoTalk
Variantes en el ejemplo TV

...

El vehculo se puede dividir en 12 mdulos de pintado que pueden ser tratados


segn la variante de carrocera.
- Variantes de
- Mdulos- de Variantes de
carrocera pintado
carrocera
Trasera
Techo

Variantes de Mdulos de
carrocera
pintado
Lateral

Mdulos- de
pintado

12

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

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

-- Superf. parcial Delantera


IF GET_VARIANTE(Vorne)
CALLVORNE"()
ENDIF
-- Superf. parcial Media
IF GET_VARIANTE(Mitte1)
CALLMITTE1"()
ELSEIF GET_VARIANTE(Mitte2)
CALLMITTE2"()
ENDIF
.
.
.

S043ES01 - V 1.1

2001 Drr Systems GmbH

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.

rea de solapado que se pintara


si el mdulo Delantero tambin
fuese pintado

Superf. parcial Superf. parc.


Trasera
Media

Sup.parcial
Delantera

Mdulo de solapado
SolapDelantero

8.2.1 Las superficies de reparacin corresponden a mdulos de pintado


Junto a la informacin sobre variantes se entrega tambin la informacin sobre
reparacin.
Tipo de reparacin
externo

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

2001 Drr Systems GmbH

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

Los Bits de reparacin son evaluados en el programa principal. Si se requiere un


pintado completo, entonces GET_REPAIR() es siempre TRUE.

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

2001 Drr Systems GmbH

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

8.2.2 Las superficies de reparacin no se corresponden con los mdulos de


pintado
El vehculo es dividido en mdulos de reparacin anlogos a los mdulos de pintado.
Variantes decarrocera
Lateral

Mdulos de
reparacin

5 Bits de
reparacin

Nombre del
Bit de reparacin

Delantero1

Delantero2

Delantero3

Medio

Trasero

El programa principal tiene la siguiente estructura:

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

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

EcoTalk

61

EcoTalk

8.3.1 Seguimiento de objeto


Antes de la entrada a la estacin, existe un iniciador a partir del cual el PLC sigue al
vehculo. Tras un trayecto determinado y siempre igual, el PLC sincroniza la RC.
Esta escriba entonces el vehculo en su memoria de carrocera y persigue a la
carrocera. Ahora, el PLC intenta entregar el color a la RC. Para ello, espera a que la
RC pida el color, lo cual tiene lugar cuando el vehculo actual se haya acabado de
pintar. Despus de la entrega del color, la RC realiza el cambio de color. Cuando
esto se haya terminado, arranca el programa de pintado. Con una distancia muy
pequea entre las carroceras puede suceder que la RC no logre ejecutar el cambio
de color a tiempo para el arranque del programa de pintado. Por ello se define un
punto en el que tiene que estar listo el cambio de color. Este punto es vigilado por el
PLC. Si la carrocera alcanza ese punto y la RC an no terminado el cambio de color,
entonces se detiene el transportador.

rea para la entrega de


color a la RC
y cambio de color

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

Programacin del manipulador

Para la creacin de un programa de aprendizaje es importante conocer el punto en


que se entrega la seal de sincronizacin a la RC. La distancia de este punto al
punto en el que se debe comenzar el pintado es importante para el comando
WAITCONVEYOR. El segundo punto importante es el punto en el que el PLC
detiene al transportador cuando no se ha terminado el cambio de color. El programa
de pintado no puede iniciarse antes de este punto.
Estos puntos tiene que ser establecidos y documentados por el programador del
programa de aprendizaje en coordinacin con el programador del PLC.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

62

EcoTalk

8.3.2 Reglas y comandos prohibidos

Los comandos TRACKING(On), TRACKING(Off), TRACKING(Finished),


WAIT_CONVEYOR() y SET_TRACKINGWINDOW slo pueden usarse una vez y
el slo en el programa principal.
Entre TRACKING(On) y TRACKING(Finished) no pueden ser enseados puntos
en coordenadas Ejes. PTP est tambin prohibido.
El sistema de coordenadas tiene que ser puesto en el programa principal antes
del comando TRACKING(On) con el comando SETOBJECT. Si el comando
SETOBJECT se usa despus del comando TRACKING(On), entonces tienen que
ser utilizados los mismos datos de objeto que en el programa principal.
El comando WAIT_PAINTPOSITION se encuentra siempre en el programa
principal.

rea para la entrega de


color a la RC
y cambio de color

Transportador

Vehculo

WAITCONVEYOR

Iniciador de sincro nizacin


Entrega de color
a la RC
Seal de sincroni zacin a la RC

Punto de arranque para


el programa de pintado
Punto ms tardo para
el arranque del programa
a la RC

8.3.3 Creacin de un programa de aprendizaje


Antes de poder ejecutar un comando de tracking, se tiene que haber entregado al
control un objeto con el macro SetObject. Este objeto es luego seguido cuando el
tracking est activado. Con ayuda de la definicin del objeto se pueden corregir giros
y desplazamientos del objeto relativos al robot. Se establece luego con el macro
SetTrackingWindow una ventana dentro de la cual el robot puede realizar el tracking.
A continuacin, se transporta la carrocera hacia dentro de la celda, hasta que el
primer mdulo a pintar se encuentre dentro del espacio de trabajo del robot. La
distancia entre el punto en el que el PLC enva la seal Part Detect y la posicin
actual de la carrocera tiene que ser programada ahora con el macro WaitConveyor.
En el ejemplo de programa se ha transportado la carrocera 2000. En consecuencia
se programa WaitConveyor(2000). En este punto tiene el robot que comenzar a
seguir a la carrocera. Para ello se conecta el tracking con Tracking(ON) das.
CALLVORNE() llama entonces el mdulo de pintado VORNE (Delantero). All estn
S043ES01 - V 1.1

2001 Drr Systems GmbH

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.

8.3.3.1 Programa principal


STARTPROG("RMAINPRG")
SELECT("R11")
SETTOOL(DEFROBTOOL)
SETOBJECT(BODY1)
VEL(VEL1000)
ACC(ACC3000)
PTP(STARTPOS)
SET_TRACKINGWINDOW (0.0 3500)
WAIT_CONVEYOR(2000)
TRACKING (On)
CALLVORNE"()
WAIT_PAINTPOSITION (500)
CALLMITTE"()
WAIT_PAINTPOSITION (1000)
CALLHINTEN"()
TRACKING (OFF)
TRACKING (FINISHED)
CALLHOME()
RELEASE("R11")
ENDPROG("RMAINPRG ")

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

64

EcoTalk

8.3.3.2 Mdulo de pintado


STARTPROG("VORNE")
SELECT("R11")
VEL(VEL1000)
ACC(ACC3000)
SETTRIGGERPAR(G1)
LOADBRUSHFILE()
OVERLAP(CART)
MOVE("VORNE1")
LIN(P2)
SETBRUSH(GUN1 5 P10 T10)
GUN(GUN1 GunOn P11 T11)
LIN(P3)
LIN(P4)
LIN(P5)
LIN(P6)
GUN(GUN1 GunOff P12 T12)
LIN(P7)
ENDMOVE("VORNE1")
RELEASE("R11")
ENDPROG("VORNE ")

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

65

EcoTalk
8.4

Retorno a la posicin Home


La condicin fundamental es una divisin de las trayectorias de pintado en mdulos.
De esta manera se puede dividir un vehculo en los mdulos cap, puerta delantera,
puerta trasera y maletero. Estos mdulos son subrutinas que pueden ser arrancadas
desde un programa principal central. En el retorno a la posicin inicial se comprueba
si el robot se encuentra en uno de esos mdulos. Si ste es el caso, entonces se
recorre primeramente ese mdulo hasta el final. A continuacin arranca el programa
de retorno a la posicin inicial. ste es tambin un programa principal, desde el cual
es llamado el programa de retorno correspondiente al mdulo de pintado. En esos
programas de retorno est definido un camino que conduce al robot sin colisiones a
la posicin inicial.

Del mismo modo que un programa de pintado se debe componer de un programa


principal y de varias subrutinas (mdulos de pintado), tambin el programa de
aprendizaje de retorno a la posicin inicial tiene que componerse de un programa
principal y de subrutinas (mdulos de retorno a la posicin inicial). El programa
contiene la lgica, que decide qu mdulo de retorno debe ser ejecutado. Los
caminos en los mdulos de retorno tienen que haber sido enseados de tal modo
que conduzcan sin producirse colisiones del punto final del mdulo de pintado
correspondiente a la posicin inicial del robot. Los programas de retorno a la posicin
inicial (programa principal y todas las subrutinas) tienen que estar en el mismo
proyecto en que se encuentran los mdulos de pintado que deben ser retornados.

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

Programa principal de pintado


Mdulo de pintado
Mdulo de pintado
Mdulo de pintado

HKombi.tis
HMotor.tis
HTuer.tis
HHeck.tis

Programa principal de retorno


Mdulo de retorno
Mdulo de retorno
Mdulo de retorno

GS.tis

Programa de posicin inicial

Con el fin de reconocer mejor la relacin entre el mdulo de pintado y el


correspondiente mdulo de retorno a la posicin inicial, se recomienda denominar los
mdulos de retorno igual que el correspondiente mdulo de pintado. Para distinguir
los mdulos de pintado de los de retorno se antepone aqu a los nombres de los
mdulos de retorno una H.

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

Retorno del mdulo de pintado Motor.tis


Llamada del mdulo de retorno HMotor.tis

IF HOMING("TUER")
CALL"HTUER"()
ENDIF

Retorno del mdulo de pintado Tuer.tis


Llamada del mdulo de retorno HTuer.tis

IF HOMING("HECK")
CALL"HHECK"()
ENDIF

Retorno del mdulo de pintado Heck.tis


Llamada del mdulo de retorno HHeck.tis

CALL"GS"()

Llamada del programa de posicin inicial

RELEASE("R11")
ENDPROG("HKOMBI")

Si el robot ya se encontraba en un mdulo de pintado al arrancar el retorno,


entonces se ejecuta uno de los mdulos de retorno. Si, sin embargo, el robot se
encontraba an en el programa principal, porque el retorno deba ser ejecutado
inmediatamente despus del arranque del programa de pintado, entonces son
saltadas todas las consultas IF. El robot llama el programa de posicin inicial y
marcha directamente a la posicin inicial.
Lo mismo sucede si el robot estaba en un mdulo de pintado no considerado en el
programa principal de retorno a la posicin inicial. Existe entonces peligro de colisin.
Se tiene pues que asegurar que para cada mdulo de pintado exista un mdulo de
retorno y la correspondiente inscripcin en el programa principal de retorno.
En los programas de retorno se pueden utilizar todos comandos excepto los
comandos de tecnologa (GUN, BRUSH,...). Si en los programas de retorno se usan
consultas de colisin, entonces generalmente ya no es posible retornar el robot
individualmente.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

67

EcoTalk
8.5

Programacin del robot de manipulacin


La programacin del robot de manipulacin se basa en que un robot de pintado
encarga a un robot de manipulacin que ponga una pieza en una determinada
posicin. El robot de pintado tiene luego que esperar hasta que el robot de
manipulacin confirme que la pieza se encuentra en la posicin correspondiente.
Cada robot de pintado se comunica con hasta 4 robots de manipulacin. Cada robot
de manipulacin es capaz de manipular hasta 4 piezas distintas.
Robot

Handler

SET_ORDER(N de pieza Nombre de handler Posicin)


RECEIVE_ORDER(N de pieza )
SET_POSCODE (N de pieza Posicin)

RECEIVE_HANDLERPOS(N de pieza Nombre de handler Posicin)

8.5.1 Programa de robot de pintado


Todos los comandos para el encargo de trabajos a los robots de manipulacin y para
la consulta de posiciones de piezas se programan en el programa principal. ste
contiene primeramente un comando que borra todos los trabajos an pendientes:

SET_ORDER(Part0 All Delete )


Borrar trabajo
A todos los robots de
handling
Pieza 0

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)

El robot de manipulacin 1 debe en este caso abrir completamente la pieza 1. Luego


va el robot de pintado a la posicin de espera y solicita la confirmacin del handler.
El comando RECEIVE_HANDLERPOS se encarga de que el robot de pintado
interrumpa la ejecucin del programa de aprendizaje hasta que el robot de
manipulacin confirme la posicin correcta. Esta consulta va montada en un IF.
Cuando el robot de manipulacin es deseleccionado en la visualizacin, el robot de
pintado no espera y salta la consulta IF. En la rama ELSE se tiene ahora que
programar lo que el robot de pintado tiene que hacer en este caso.
S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

68

EcoTalk

IF RECEIVE_HANDLERPOS(Part0 H2 FullOpen)
CALL"J2108HG"()
ELSE
CALLZWIPOS()
ENDIF

El robot de pintado tiene an que comunicarle al robot de manipulacin que ya no


tiene ms trabajos para l.
SET_ORDER(Part0 All Finish)

Un programa principal completo podra ser el siguiente:


STARTPROG("J2108HP")
SELECT("R11")
--HANDLER INIT
SET_ORDER(Part0 All Delete)
--HANDLER BEAUFTRAGEN
SET_ORDER(Part0 H2 Wait)
--HANDLER BEAUFTRAGEN
SET_ORDER(Part0 H2 FullOpen)
CALL"J2108WP"()
--HANDLERPOSITION ABFRAGEN
IF RECEIVE_HANDLERPOS(Part0 H2 FullOpen)
CALL"J2108HG"()
ELSE
CALLZWIPOS()
ENDIF
--HANDLER BEAUFTRAGEN
SET_ORDER(Part0 H2 FullClose)
--HANDLERPOSITION ABFRAGEN
IF RECEIVE_HANDLERPOS(Part0 H2 FullClose)
CALL"J2108VB"()
ENDIF
--HANDLER BEAUFTRAGEN
SET_ORDER(Part0 All Finish)
PTP(R11HOME)
RELEASE("R11")
ENDPROG("J2108HP")
--PROGRAMM ENDE

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

EcoTalk

70

EcoTalk

8.5.3 Programa del robot de manipulacin


El comando central de un programa de handling es el macro RECEIVE_ORDER.
Este macro devuelve un valor numrico que corresponde a la posicin de la pieza
pedida.
Estn admitidos los siguientes valores:
Teil 0:
GanzAuf
HalbAuf
HalbZu
GanzZu
WartePosition
Beenden

= 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

2001 Drr Systems GmbH

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)

A continuacin comienza el bucle y la lectura del trabajo. El nmero de job es


guardado en la variable SOLLPOS.
--MAINLOOP
WHILE WEITER
--EINLESEN AUFTRAG
SOLLPOS = RECEIVE_ORDER(Part0)

Se decide ahora, teniendo en cuenta la posicin real y la posicin terica pedida, qu


programa de movimiento es ejecutado. Una vez alcanzada la posicin de la pieza, se
escribe la variable ISTPOS con el valor de SOLLPOS y se emite la posicin al robot
de pintado con SET_POSCODE.
--AUSWAHL TEILPROGRAMM
--BEWEGUNG VON GESCHLOSSEN
IF ISTPOS=GESCHLOSSEN
IF SOLLPOS=OFFEN
CALL"J2608WP"()
-- Mov. tras posicin de espera
SET_POSCODE(Part0 Wait)
CALL"J2608ZA"()
-- Abrir puerta
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullOpen)

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

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

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

--BEWEGUNG VON WARTEN


ELSEIF ISTPOS=WARTEN
IF SOLLPOS=OFFEN
CALL"J2608ZA"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullOpen)
ELSEIF SOLLPOS=HALBOFFEN
CALL"J2608ZH"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 HalfOpen)
ELSEIF SOLLPOS=HALBGESCHLOSSEN
CALL"J2608ZH"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 HalfClosed)
ELSEIF SOLLPOS=GESCHLOSSEN
CALL"J2608AS"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullClose)
ENDIF
S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

74

EcoTalk

--BEWEGUNG VON HALBOFFEN


ELSEIF ISTPOS=HALBOFFEN
IF SOLLPOS=OFFEN
CALL"J2608HA"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullOpen)
ELSEIF SOLLPOS=GESCHLOSSEN
CALL"J2608HZ"()
SET_POSCODE(Part0 Wait)
CALL"J2608AS"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullClose)
ELSEIF SOLLPOS=HALBGESCHLOSSEN
ISTPOS=SOLLPOS
SET_POSCODE(Part0 HalfClosed)
ELSEIF SOLLPOS=WARTEN
CALL"J2608HZ"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 Wait)
ENDIF

--BEWEGUNG VON OFFEN


ELSEIF ISTPOS=OFFEN
IF SOLLPOS=GESCHLOSSEN
CALL"J2608AZ"()
SET_POSCODE(Part0 Wait)
CALL"J2608AS"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 FullClose)
ELSEIF SOLLPOS=HALBGESCHLOSSEN
CALL"J2608AH"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 HalfClosed)
ELSEIF SOLLPOS=HALBOFFEN
CALL"J2608AH"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 HalfOpen)
ELSEIF SOLLPOS=WARTEN
CALL"J2608AZ"()
ISTPOS=SOLLPOS
SET_POSCODE(Part0 Wait)
ENDIF

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

El ejemplo precedente es vlido cuando el robot de manipulacin tiene que mover


una pieza. Si tuviese que mover varias piezas, el programa principal sera entonces
ms complejo.

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

76

EcoTalk

9 Variables globales de sistema


Las variables globales de sistema se utilizan para establecer ajustes fundamentales.
Algunos de ellos son evaluados directamente por el software de control, mientras
que otros slo son utilizados por los programas de aprendizaje.
Variables utilizadas por el software de control:
1. Defaultbase y Defaulttool
2. Posiciones fijas
Variables utilizadas por los programas de aprendizaje:
Velocidades
Aceleraciones
Parmetros de solapado
Datos de herramientas

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

= Axis -55.84 -1.6411 -56.9371 -51.6225 54.1299


42.7591 0 0 0
CONST POINT RHOME
= Axis -74.2425 20.8764 -66.9352 -54.2183 31.6929
45.5898 0 0 0
CONST POINT RZERO
= Axis -0.011825 -1.6e-05 -3.3e-05 0.002728 0.007054 0.002584 0 0 0
CONST POINT RMAINTEN = Axis 1.89778 43.2245 -58.3412 -34.8081 -4.66455
92.6705 0 0 0
CONST POINT RCLEAN
= Axis -46.4417 5.33643 -47.0194 -41.9515 88.5914 53.2222 0 0 0
CONST POINT RBYPASS
= World -505.986 2249.38 2023.4 -141.16 -85.2699
49.71 0 0 0
CONST POINT RUNSELECT = World 0 0 0 0 0 0 0 0 0
CONST POINT RCAPCLEAN = Axis -74.3184 22.0185 -66.7868 -51.7871 30.4701
43.7342 0 0 0

S043ES01 - V 1.1

2001 Drr Systems GmbH

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

2001 Drr Systems GmbH

EcoTalk

78

EcoTalk

10 Teach.rc
[var]
ENUM COORDTYPE

World=1 Base=2 Axis=3 Drive=4 FlgWorld=5 FlgBase=6 Object =


7 Unused8 = 8 Unused9 = 9 Unused10 = 10 Unused11 = 11
Unused12 = 12 Unused13 = 13 Unused14 = 14 Unused15 = 15
Unused16 = 16 RelWorld=17 RelBase=18 RelAxis=19 RelDrive=20
RelFlgWorld=21 RelFlgBase=22 RelObject=23
ENUM WAITTYPE
OFF=0 ON=1
ENUM GUNONOFF
GunOff=3 GunOn=2
ENUM GUNNO
Gun1=1 Gun2=2
ENUM CIRCTYPE
Point=0 Tangent=1
ENUM RAILONOFF
Off=0 On=1 Finished=3
ENUM RAMPTYPE
Trapez=1 Sinus=2 Triangle=3
ENUM OUTPUT
CollRequestX1=12368 CollRequestY1=12369
CollRequestX2=12370 CollRequestY2=12371 BrakeA8=4120
ENUM STARTSTOP
Start=1 Stop=2
ENUM INPUTTYPE
Prozess=12485 RobotAktiv=12370 SchwenkBuegel=8460
ENUM VARIANTENTYPE Rechtslenker=1 Abdaempfung=2 Zylinder6=3 Zylinder12=4
Stahldach=5 Glasdach=6 Raehmchen=7 USA=8 Test31=31
Test32=32 Test33=33 Test127=127 Test128=128
ENUM REPAIRTYPE
RF1=1 RF2=2 RF3=3 RF4=4 RF5=5 RF6=6 RF7=7 RF8=8 RF9=9
RF10=10 RF11=11 RF12=12 RF13=13 RF14=14 RF15=15
RF16=16 RF17=17 RF18=18 RF19=19 RF20=20 RF21=21
RF22=22 RF23=23 RF24=24
ENUM DEVICETYPE
Front=1 Rear=2
ENUM DEVICESTATE
Fix=1 Release=2
ENUM RECEIVETYPE
ISRA=1 CollisionX1=12368 CollisionY1=12369 CollisionX2=12370
CollisionY2=12371
ENUM IOTYPE
Data=1 High=2 Low=3
ENUM SETSENSOR
Aktive=1 Calibrate=2 Collision=3 Overload=4
ENUM SETPART
CheckPart=1 CheckPartOn=2 CheckPartOff=3
ENUM SETLOAD
CloseOpen=1 CloseHOpen=2 HOpenOpen=3 OpenClose=4
OpenHClose=5 HCloseCloseZu=6 Spare1=7 Spare2=8 TestFile=9
ENUM SETSEARCH
Go=1 Done=2 Error=3
ENUM PARTCODE
Part0=0 Part1=1 Part2=2 Part3=3
ENUM SETPOSCODE
Wait=1 HalfOpen=2 FullOpen=3 HalfClosed=4 FullClose=5
Delete=6 Finish=7
ENUM SETGRIPPER
Open=1 Close=2
ENUM CONTROL
Control=1 NotControl=2
ENUM SETHANDLER
H1=1 H2=2 H3=3 H4=4 H5=5 H6=6 All=7
ENUM OVERLAPMODE Fine=1 Vel=2 Pos=3 ConstPos=4 Cart=5 PTPVel=6
ENUM COORDAXIS
DueToX=1 DueToY=2 DueToZ=3
ENUM PLANETYPE
Foreward = 0 Backward = 1 Both = 2
ENUM AXISNAME
Axis1=0 Axis2=1 Axis3=2 Axis4=3 Axis5=4 Axis6=5 Axis7=6
Axis8=7 Axis9=8
ENUM INTERPOLATIONTYPE WristJnt=1 ZRotation=2
--!!! Dont use a initial letter twice at type definitions !!!
TYPE SSHIFT
NUM 2 X_mm NUM 2 Y_mm NUM 2 Z_mm NUM 2 A7_mm
TYPE TOOL
NUM 2 X_mm NUM 2 Y_mm NUM 2 Z_mm NUM 2 A_grd
NUM 2 B_grd NUM 2 C_grd
TYPE BASE
NUM 2 X_mm NUM 2 Y_mm NUM 2 Z_mm NUM 2 A_grd
NUM 2 B_grd NUM 2 C_grd
TYPE TRIGGERFRAME COORDTYPE Coord NUM 2 Nx NUM 2 Ny NUM 2 Nz NUM 2
Dist
TYPE GTRIGGERPAR
PLANETYPE Mode NUM Delay NUM Dist NUM Radius

V 1.1

2001 Drr Systems GmbH

EcoTalk

79

EcoTalk
TYPE VELOCITY
TYPE ACCELERATION
TYPE RAMPDCL
TYPE INTERPOLATION
TYPE JERKDCL
TYPE OVERLAPDCL
TYPE POINT

TYPE MTANGENT

NUM 2 Path_Val NUM 2 Rot_Val NUM 2 RotZ_Val NUM 2


PTP_Perc
NUM 2 Path_Acc NUM 2 Path_Dcc NUM 2 Rot_Val NUM 2
RotZ_Val NUM 2 PTP_Perc
RAMPTYPE RampType NUM RampFactor
INTERPOLATIONTYPE Mode NUM Parameter
NUM 2 Path_Val NUM 2 Rot_Val NUM 2 RotZ_Val NUM 2
PTP_Perc
OVERLAPMODE Mode NUM Vel_Perc NUM Path_Val NUM 2
Rot_Val NUM 2 RotZ_Val NUM 2 Axis_Perc
CONST COORDTYPE Coord NUM 2 A NUM 2 B NUM 2 C
NUM 2 D NUM 2 E NUM 2 F NUM 2 Aux1 NUM 2 Aux2 NUM 2
Aux3
NUM ELEMENT_X NUM ELEMENT_Y NUM ELEMENT_Z

[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

STARTPROG (STRING ProgName)


ENDPROG (STRING ProgName)

group "Device..."
select_device
release_device
set_base
set_object
set_tool
end

SELECT (STRING Device) SOFTKEY(12)


RELEASE (STRING Device) SOFTKEY(13)
SETBASE (BASE Base) SOFTKEY(14)
SETOBJECT (BASE Object) SOFTKEY(15)
SETTOOL (TOOL Tool) SOFTKEY(16)

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

VEL (VELOCITY Name) SOFTKEY(3)


VELPATH (NUM Path_Val)
ACC (ACCELERATION Name) SOFTKEY(4)
ACCPATH (NUM Path_Val)
RAMP (RAMPDCL Name)
JERK (JERKDCL Name)
OVERLAP (OVERLAPDCL Name) SOFTKEY(5)
VAS (NUM Percent) SOFTKEY(6)
SETINTMODE (INTERPOLATION Name)
SET_LIMOVR (NUM Percent)

S043ES01 - V 1.1

2001 Drr Systems GmbH

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)

RECEIVE (RECEIVETYPE Name IOTYPE State)


SET (OUTPUT Pin IOTYPE State)
GET (INPUTTYPE Pin IOTYPE State) NUM
GET_VARIANTE (VARIANTENTYPE Name) NUM
GET_REPAIRTYPE(REPAIRTYPE Name) NUM
HOMING(STRING Name) NUM

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

SET_ORDER (PARTCODE PartNo SETHANDLER Handler


SETPOSCODE Command)
receive_handlerpos RECEIVE_HANDLERPOS (PARTCODE PartNo SETHANDLER
Handler SETPOSCODE Command)NUM
end
group "Handler..."
set_opener_state
set_check_part
set_part
get_part
set_sensor
set_load
set_search
set_gripper
set_poscode
receive_order
end
end

S043ES01 - V 1.1

SETOPENER(DEVICETYPE Device DEVICESTATE State)


SET_CHECK (SETPART Command POINT Point TRIGGERFRAME
Trigger)
SET_PART (SETPART Command)
GET_PART (PARTCODE PartNo) NUM
SET_SENSOR (SETSENSOR Command)
SET_LOAD (SETLOAD Command)
SET_SEARCH (SETSEARCH Command)
SET_GRIPPER (CONTROL Status SETGRIPPER Command)
SET_POSCODE (PARTCODE PartNo SETPOSCODE Command)
RECEIVE_ORDER (PARTCODE PartNo)NUM

2001 Drr Systems GmbH

EcoTalk

81

EcoTalk

-- Suprimir comandos lgicos


[logic]
IFGOTO
DISABLE
IFNGOTO
DISABLE
WAIT
DISABLE
WAITN
DISABLE
START
DISABLE
STOP
DISABLE
ASSIGN
DISABLE
PARAM
DISABLE

S043ES01 - V 1.1

2001 Drr Systems GmbH

EcoTalk

82

También podría gustarte