Tesis Kuka
Tesis Kuka
Tesis Kuka
Septiembre 2009
Proyecto
Documento
INDICE
PROYECTO FIN DE CARRERA.....................................................................................................1
1
1.2
1.3
1.4
LA PALETIZACIN. .................................................................................................... 11
1.4.1
Ventajas. ............................................................................................................. 12
1.4.2
1.5
1.5.1
El kr 180-2 pa ...................................................................................................... 17
1.5.2
SINOPTICO DE LA INSTALACIN....................................................................................19
3.2
3.2.1
3.2.2
3.3
3.3.1
3.3.2
Cable CAN-OPEN................................................................................................... 41
3.3.3
3.3.3.1
3.3.3.2
3.3.3.3
3.3.3.4
3.3.3.5
3.3.4
3.3.5
3.3.5.1
Men Principal.............................................................................................. 53
3.3.5.2
3.3.5.3
3.3.5.4
3.3.5.5
3.3.5.6
3.3.5.7
Pginas de Sistema....................................................................................... 72
4.2
4.2.1
4.2.1.1
PC de Control............................................................................................... 77
4.2.1.2
4.2.1.3
Acumuladores. ............................................................................................. 78
Proyecto
Documento
4.2.1.4
4.2.1.5
4.2.2
4.2.2.1
4.2.2.2
4.2.2.3
4.2.2.4
4.2.2.5
4.2.2.6
4.2.2.7
4.2.2.8
4.2.3
4.3
4.4
SISTEMA DE COORDENADAS...................................................................................... 85
4.4.1
Movimientos Manuales........................................................................................... 85
4.4.1.1
4.4.1.2
4.4.1.3
4.4.2
4.5
4.5.1
4.5.2
4.5.2.1
4.5.2.2
4.5.2.3
4.5.3
4.5.4
Ejecutar un programa............................................................................................ 97
4.5.4.1
Velocidad de Programa.................................................................................. 97
4.5.4.2
4.5.4.3
4.5.4.4
4.5.5
4.5.6
4.5.7
4.6
4.6.1
4.6.2
4.6.3
4.6.4
4.6.4.1
4.6.4.2
4.6.4.3
4.6.4.4
4.6.4.5
4.6.5
OPERADORES..................................................................................................... 108
Proyecto
4.6.5.1
4.6.5.2
4.6.5.3
4.6.5.4
4.6.6
Documento
4.6.6.1
4.6.6.2
4.6.6.3
4.6.6.4
5.2
5.3
6.1.1
6.1.2
6.1.3
6.2
6.2.1
6.2.1.1
6.2.1.2
6.2.2
6.2.2.1
6.2.2.2
6.2.3
6.2.3.1
6.2.3.2
6.2.3.3
Home.src................................................................................................... 146
6.2.3.4
6.2.3.5
6.2.3.6
6.2.3.7
6.2.3.8
6.2.3.9
6.2.3.10
6.3
6.3.1
6.3.2
6.3.2.1
6.3.3
6.3.4
CONCLUSIONES............................................................................................................194
Proyecto
Documento
10
11
11.1.2
11.1.3
11.1.4
11.1.5
11.1.6
11.1.7
11.1.8
11.1.9
11.2
12
11.1.1
11.2.1
11.2.2
11.2.3
LD_Mast_Recogida_De_Saco............................................................................ 227
11.2.4
11.2.5
LD_Mast_Permisos.......................................................................................... 232
11.2.6
11.2.7
11.2.8
12.2
12.3
12.4
12.5
12.6
12.7
12.8
COGER_1.src.......................................................................................................... 265
12.9
COGER_2.src.......................................................................................................... 265
12.10
CERRAR.src............................................................................................................ 265
Proyecto
Documento
SISTEMAS
DE
PALETIZADO
Proyecto
Documento
1.1
1.2
Proyecto
Documento
a.
b.
c.
d.
2.
3.
Proyecto
Documento
a. Armario KRC-2.
b. Consola de programacin o KCP.
c. Sistema de coordenadas.
4.
5.
1.3
Proyecto
Documento
limitada por
la ejecucin
de
movimientos del robot, y andan
escasos
de
espacio; no
obstante, es
capaz
de
paletizar de
entre
400500 sacos la
hora.
(Fig.1.3-3) Palet Terminado.
Proyecto
Documento
(dibujo del palet), o cada vez que haya que reiniciar el sistema en caso de avera o
problema software, ya que el sistema KUKA se mueve bajo WindowsXP, y en
ocasiones puntuales y bajo fallas de suministro elctrico pueden quedarse
bloqueados los sistemas internos o la comunicacin con el PLC.
1.4
LA PALETIZACIN.
Proyecto
Documento
1.4.1 Ventajas.
1. Aumento
en
productividad.
la
2. Menor
cantidad
de
mano de obra en las
operaciones.
3. Disminucin en los
costos de carga y
descarga.
4. Mejor
aprovechamiento
del
espacio
para
almacenamiento sea
en
piso
o
en
estantera.
5. Disminucin de los
tiempos de carga, descarga
y almacenamiento.
(Fig.1.4-2) Almacenamiento
Vertical
Proyecto
Documento
(Fig.1.4-3) Distribucin
Global
(Fig.1.4-4) Optimizacin en
la logstica de trasnportes.
Proyecto
Documento
Proyecto
1.5
Documento
KUKA SYSTEM.
Proyecto
Documento
adaptar
Proyecto
Documento
agua y conexin elctrica mediante Harting. Todo ello sin interferir en los
movimientos y con posibilidad de ser sustituido rpidamente, ya que incorporan
bridas de sujecin que protegen en todo momento las conexiones.
(Fig.1.2-5) KR 180-2 PA.
1.5.1 El kr 180-2 pa
Empleado para cargas pesadas, estos robots
son ligeros, rpidos y fuertes. Los robots de
paletizado kuka kr 180-2 PA han sido concebidos
para realizar tareas a alta velocidad y con elevadas
cargas. Su cinemtica de ptimo diseo ha sido
confeccionada para tareas de paletizado. El robot
de 4 ejes destaca por el mnimo mantenimiento y
servicio que precisa. Todos los sectores se benefician de su elevado valor aadido y
tiempo de amortizacin. Los kr 180-2 PA son capaces de apilar hasta 3.000 mm
en europalets. Las caractersticas principales son las siguientes:
Capacidad de carga:
180 kg.
Carga Adicional:
50 kg.
Carga adic. brazo / brazo oscilacin / colum. giratoria : 250 kg.
Mx. Alcance:
3.200 mm.
Repetibilidad:
0,25 mm.
Nmero de ejes:
4.
Unidad de control:
KR C2.
Peso (sin unidad de control), aprox:
1.200 kg.
Posicin de montaje:
Piso.
PALETIZADO DE CAJAS.
Proyecto
Documento
En la industria de la bebida
deben paletizarse grandes cantidades de distintos
atados. Por este motivo la cervecera Carlsberg
en Suecia se decidi por un robot KUKA del tipo
KR 500. Este campen de peso pesado, que
dispone de una capacidad de carga de 500 kg,
apila all los atados con botellas de plstico. La
alta capacidad de carga es necesaria porque el
robot paletiza siempre una capa completa.
PALETIZADO DE SACOS.
(Fig.1.2-7) Paletizado de bebidas.
APILADO DE EMBALAJES.
Proyecto
Documento
SINOPTICO DE LA INSTALACIN.
(Fig.2-3) Mesa
alimentadora de
sacos
Proyecto
Documento
Una vez producida la entrada del saco a los rodillos de alimentacin, este
ser recogido por la garra del robot y trasportado al palet correspondiente. Los
palets tal como se muestran en la figura (Fig.2-6), se encuentran posicionados en
el suelo, siendo el carretillero quin recoja el palet manualmente una vez se
termine el paletizado en el mismo. Ambos palets se posicionan en el suelo con
ayuda de unas escuadras
(Fig.2-6) Situacin de los palets
LINEA_1
1000 mm
X+
800 mm (Mosaico 3)
Y+
LINEA_2
Proyecto
Documento
que facilitan que la posicin sea siempre la misma, esto es vital para que los sacos
depositados por el robot se queden en el palet siempre en la misma posicin, as
mismo habrn de emplearse siempre el mismo tipo de palet o europalet, siendo las
medidas de este de 1200 * 1000 (mm) para los mosaicos de 4 y 5 sacos o
1200*800 (mm) para el mosaico de 3 sacos.
El Robot; representado en el centro principal de la instalacin, se encuentra
ubicado lo ms paralelo y perpendicular posible a los palets donde se ha de
paletizar, esta posicin estratgica es vital pues nos permitir en un futuro poder
modificar los puntos de dejada de saco teniendo en cuenta nica y exclusivamente
las coordenadas en X e Y. No obstante; y tal como veremos ms adelante, se
crearon bases de coordenadas X e Y paralelos a los lados del palet para facilitar
dicha tarea.
El recinto se encuentra totalmente vallado; segn mandan las normas para
estos tipos de instalaciones robotizadas. En este caso no hay puertas de acceso,
siendo la nica forma de entrada a travs de las barreras de seguridad que se
encuentran en ambas entradas de recogida
de palets. Estas barrares se compone de
Proyecto
Documento
SINPTICO-1
Mesa Saturacin
Vuelcasacos
KR 180-2 PA
Armario
Electrico
X+
KRC-2
REER.Barreras
de Seguridad
Y+
Proyecto
Documento
Vemos
en
la
imagen
adjunta, donde estara situada la
entrada de conexin neumtica
con la unidad de mantenimiento
formada por el regulador de
caudal y el sensor de presin. La
entrada de aire se produce
mediante una electro vlvula que
se activar mientras haya tensin
en el armario elctrico; y as
proporcionar presin de aire a los
elementos de la mordaza del
robot.
A
la
izquierda
se
encontrara
el
Harting
de
conexiones
elctricas
que
alimentan
las
bobinas
y
detectores de la garra.
Regulador Presin._
Presostato.__
Electrovlvula.____
Documento: Instalacin de Robot Paletizado
Proyecto
Documento
(4), (5) Esta fotoclulas de presencia son de tipo reflex, esto significa que
nos darn presencia cuando el saco obstaculice un haz no visible que refleja
sobre un espejo situado al otro lado (Fig.2-10 y 2-11). El usar este tipo de
fotoclulas, aseguran que la presencia se ha producido por algn obstculo sin
haber falsas detecciones, esto es muy importante cuando se trabajan con distintos
materiales y diferentes colores, ya que una fotoclula reflex detecta algo que es
opaco, y no depende del color como pudiera pasar con las fotoclulas palpadoras
normales. Su lgica de funcionamiento es negada; es decir, nos dan seal true si
se produce una reflexin sobre el espejo, y no seal o false si hay algn
obstculo.
Proyecto
Documento
(7) Esta seal acta como paro de la cinta transportadora del cliente, en caso
de que la mesa de saturacin y la mesa de alimentacin estn ocupadas por
algn objeto, de esta manera si hay presencia en ambas mesas, en el momento
que algn saco sea detectado por la presencia en (7) se parar la cinta del cliente,
evitando as que entren nuevos sacos, ya que tanto la mesa de saturacin como la
mesa de alimentacin se encuentran paradas. Bajo estas circunstancias existen las
siguientes posibilidades:
1. La cinta del cliente siempre estar en marcha (controlada por los
operarios) siempre y cuando alguna de las presencias en (4) o (5) este
libre, ya que esto significa que puede entrar algn saco y no hay motivo
para realizar un paro de lnea.
2.
Proyecto
Documento
SINPTICO-2
7
5
6
8
2
1
3
X+
Y+
Proyecto
Documento
3.1
1. Apertura/Cierre DEDOS. Los dedos del robot (Fig.3-1) son los elementos
mviles en forma de L y son los que se sitan por debajo de los rodillos de la
mesa de alimentacin para que el peso del saco se apoye sobre ellos en el
momento de la recogida y desplazamiento. Realizan por lo tanto, un movimiento de
apertura y cierre como si de los dedos de la mano se tratara. La mordaza posee
hasta siete dedos en forma de L a ambos lados, por lo tanto los rodillos de
alimentacin tendrn que poseer un mnimo de siete huecos, de manera que los
dedos del robot queden por debajo de la superficie de apoyo del saco en el
momento de la recogida. En la siguiente figuramos simulamos la parte trasera de
un saco que ha llegado a su posicin y que se encuentra sobre los rodillos de la
mesa. Vemos que la entrada del robot a la recogida ha de hacerlo con los dedos
abiertos para posteriormente cerradlos.
(Fig.3-1) Desplazamiento
de los dedos.
Documento: Instalacin de Robot Paletizado
(Fig.3-2) Desplazamiento
de las manos.
Fecha de creacin: 04/10/2009 11:38
Pgina 27 de 265
Proyecto
Documento
2. Apertura/Cierre MANOS. Las manos (Fig.3-2) son los otros elementos mviles
de la mordaza, y tienen forma de varilla recta. Este cilindro tiene la misin de
sujetar el saco una vez que los dedos lo sostienen en el momento de la recogida y
la dejada en el palet. A diferencia de los dedos, estos se encuentran ligeramente
por encima de manera que no puedan golpearse con los rodillos en el momento de
la recogida. Observemos en la figura la accin que ejercen las manos en el
momento de recogida del saco, en este caso sera semejante a sostener algo con el
puo cerrado.
En la figura anterior, podemos divisar como en la posicin Dedos
Cerrados y Manos Cerradas el saco ya se encuentra perfectamente ubicado
en el centro de la mordaza, de manera que el primer movimiento que realiza el
robot hacia arriba, el saco se queda apoyado sobre los dedos y no se mover al
estar sujeto por las manos.
Sobre el punto de recogida determinamos que una vez que el robot esta
situado justo encima del saco, los dos cilindros actuaran conjuntamente de manera
que se cierren a la vez para ganar tiempo de ciclo. Mediante programa esperaremos
el tiempo suficiente para asegurar el cierre total de la garra antes de empezar a
subir (Fig.3-3); esto es debido a que no disponemos de sensores magnticos que
nos indique la posicin cerrado de ambos cilindros.
Proyecto
Documento
i.
ii.
iii.
iv.
DO3-1
DO3-1
DO3-1
DO3-1
->
->
->
->
Abrir_Dedos
Cerrar_Dedos
Abrir_Manos
Cerrar_Manos
DO2-4 -> Defecto_Mordaza -> $OUT[12] en el programa del robot -> %I5.11
-> Di_defecto_mordaza -> entrada directa al autmata.
2.
3.
Proyecto
Documento
SALIDAS.
(1). Abrir_Manos.
(2).Cerrar_Manos.
(3). Abrir_Dedos.
(4). Cerrar_Dedos.
(7)
(5)
(3)
(1)
(8)
ENTRADAS.
(5). Manos_abiertas.
(6). Dedos_abiertos
(6)
(4)
(2)
En cada una de
estas
posiciones,
se
acoplarn conectores que
unirn la base con los
sensores
o
bobinas
electromagnticas.
Proyecto
Documento
Alimentacin Neumtica
Finalmente y a modo de resumen se mostrar en la siguiente figura (Fig.311) la distribucin de los elementos importante de la mordaza del robot.
Apertura y
cierre de las
manos
Cilindros
(Apertura y
Cierre manos
Y dedos)
Dedos.
(Fig.3-11) Distribucin de
elementos en la Mordaza
Apertura y
cierre de los
dedos
Documento: Instalacin de Robot Paletizado
Proyecto
3.2
Documento
Una parte importante en toda instalacin que incluya un robot, son el tema
de las seguridades. Analizaremos en este punto aquellos puntos importantes sobre
las seguridades que dispone la instalacin, desde el paro del robot hasta las
barreras de seguridad que nos permiten el acceso al recinto. Para ello haremos uso
de las seguridades incluidas en los planos elctricos donde identificaremos
fcilmente los elementos integrantes.
Si observamos los esquemas adjuntos, el elemento principal y
desde donde se gobiernan las seguridades de la instalacin, es el
modulo de seguridades (Fig.3.2-1) integrado en el armario elctrico.
Desde este mdulo se activan los contactores de potencia que
suministran energa a los motores de la instalacin, y se supervisan
de manera constante todas las seales de seguridad, setas de
emergencia y barreras. De manera que de detectarse algn fallo,
inmediatamente se quitara potencia en el interior del armario
elctrico, y se abriran los dos canales de seguridad que llegan al
robot. (Ver. Anexos Planos elctricos).
(Fig.3.2-1) Mdulo
de seguridades.
(Fig.3.2-1) Mdulo
de seguridades.
Proyecto
Documento
7KM1
7KM2
(Fig.3.2-3) Canales de seguridad del bornero X11.
El cierre de estos dos reles puentear las seales 7-8 y 25-26 del conector
X11 (Ver punto 4.2.1.5 Bornero-X11) del robot, y ha de ser simultneo en ambos
canales, ya que de producirse en un canal antes que en el otro el robot no
rearmara y tendramos que volver a desactivar el mdulo de seguridades para
volverlo a rearmar. De esta manera y despus de haber rearmado la periferia,
procederemos a rearmar el robot mediante el botn Reset de Alarmas que es
una entrada directa al PLC (%I1.3) tal como veremos en el siguiente captulo,
donde el robot volver a estar en disposicin de ejecutar movimientos.
Generalmente sern necesarias dos pulsaciones para rearmar el robot. La
primera de ellas activar las seguridades internas del armario KRC-2 y entrarn los
accionamientos. Una vez que las seguridades del robot han entrado ser necesario
volver a producir un segundo rearme para la confirmacin de los mensajes de
alarma. (Ver Capitulo Automtico Externo).
Proyecto
Documento
NO PALET
L1
(Fig.3.2-4) Selector
7S11 y Bloquo de
Lnea_1
Esta situacin se dar cada vez que el operario no quiera trabajar en una
zona, o cada vez que el robot haya finalizado un palet, donde el operario tendr
que desactivar la barrera correspondiente, ya que de no ser as, las seguridades
saltaran y pararamos la otra lnea de paletizado. La forma de desactivar dicha
barrera o de bloquear una lnea es mediante el contacto en paralelo 7S11 (lnea
1) o 7S12 (lnea 2) que activamos con el selector.
Hay que tener en cuenta que para quitar un palet; haya terminado o no de
paletizar, ser siempre preciso desactivar la barrera correspondiente para entrar
el recinto, de manera que la otra lnea no se vea afectada. El hecho de desactivar
la barrera mediante el selector, implica que una vez que coloquemos un palet
nuevo, antes de volver a colocar el selector en su posicin tendremos que rearmar
la barrera de la forma que indicamos ms abajo, por que de no ser as, las seguridades
saltaran. Despus de rearmada la barrera podremos volver a poner el selector en su posicin,
y daremos al botn Palet nuevo que se encuentra en el armario elctrico para que el robot
comience a paletizar nuevamente en la zona.
Proyecto
Documento
Seales en el emisor.
Seales en el Receptor.
La denominacin
barreras.
Proyecto
Documento
(Fig.3.2-7)
Conexin del
emisor
(Fig.3.2-8)
Conexin del
receptor
RX->Conexin al
receptor.
TX->Conexin al
emisor.
(Fig.3.2-9) BOX de
conexiones y rearme
Seales BARRERA
1 y BARRERA 2
Proyecto
3.3
Documento
(Fig.3.3-1) Distribucin de
componentes.
Fuente
de
Alimentacin
(24V)
(3V1). Est ser la fuente de suministro
de energa para todos los elementos y
sensores que se alimenten a 24 V con
corriente continua. Estar por lo tanto
dimensionada acorde con el consumo
total necesario siendo este 24V, 5Amp.
Con ella alimentaremos el autmata o
PLC, as como la Interface XBT para la
comunicacin con el usuario.
Fusible (3F3). Se utiliza para las protecciones del enchufe auxiliar siendo
de 1Amp de esta manera el transformador estar protegido en caso de
consumo excesivo en dicho terminal.
Proyecto
(Fig.3.3-2)
Proteccin
trmica.
(Fig.3.3-3)
Contactor de
Potencia.
Documento
Magneto trmico (3F1). Este magneto trmico est destinado para hacer
las funciones de interruptor general pues est cableado a la salida del
seccionador principal del armario, permitiendo por lo tanto la entrada de
alimentacin trifsica al armario. Su valor es de (20Amp).
Reles de Proteccin (7KA1 y 7KA2). Son los reles con contactos libre de
potencial, que permanecern activados mientras lo est el mdulo de
seguridad. Mediante contactos abierto permiten la activacin de los
contactores principales 7KM1 y 7KM2.
Proyecto
Documento
Device_Net
(Can-BUS)
(Fig.3.3-4) Conexiones
Mdulo Beckhoff.
Proyecto
Documento
5 Mdulos de 8
entradas (40bit
de entrada)
4 Mdulos de 8
salidas (32bit
de salida)
(Fig.3.3-5) Mdulo de
entradas de 8 bit.
(Fig.3.3-6) Mdulo de
salidas de 8 bit.
Beckhoff
Can BUS
Rels de
Proteccin
Terminal
XBT
TSX3710
Mdulos de
entrada 10BO
Mdulos de
salida 10BO
(Fig.3.3-7)
Distribucin del
autmata y modulos
de entrada/salida.
Proyecto
Documento
BeckHoff 5150
BK51x0 PIN
1
2
3
4
5
Functin
CAN Ground
CAN Low
Screen(malla)
CAN High
not used
(Fig.3.3-10) Cable
ZS1052-3000
Proyecto
Documento
BASE
Extensin
Proyecto
Documento
1. D(B)
2. D(A)
3. no conectado
4. /DE
5. /DPT (1 = maestro UniTelway)
6. no conectado
7. 0 V
8. 5 V
(Fig.3.3-12) Conector Terminal TSX 37-10.
Funciones
Memoria interna
Extensin de memoria
Tiempo de ejecucin por
Kinst.(5)
Carga general del sistema
Estructura de la aplicacin
Bloques de funciones
predefinidos
Tarea maestra
Tarea rpida
Tarea segn sucesos
Temporizadores (Timers)
Contadores
268
408
1
0
S
No
S
No
14 Kpalabras
4,7/2,7 Kinst.
1 Kpalabras (2)
128 palabras (2)
16 Kpalabras (3)
No
0,3 ms
1,9 ms
1
1
1a8
64 (4)
32
Proyecto
Documento
Proyecto
Documento
RUN este indicador (de color verde) se enciende para sealizar que el
autmata est en marcha (RUN) y parpadea para indicar que est en la
modalidad STOP. Este indicador se apaga cuando no hay ninguna aplicacin
vlida en el autmata o cuando ste tiene un fallo.
TER Este indicador (de color amarillo) se enciende para sealar que las
informaciones se intercambian a travs del enlace del terminal. El trfico por
el conector terminal puede dar la impresin de que este indicador parpadea.
I/O Este indicador (de color rojo) se enciende para sealizar un fallo
relativo a las entradas/salidas:
1. Fallo de alimentacin o disyuncin de al menos un canal.
2. No hay mdulo, no est de acuerdo con la configuracin o se encuentra
fuera de servicio. Para ms informacin acerca de los fallos sealizados
por el indicador I/O (fallos de canal o mdulo), es necesario pulsar
durante ms de un segundo el pulsador para pasar a la modalidad de
diagnstico.
ERR Este indicador (de color rojo) se enciende para sealizar un "fallo de la
CPU" del autmata. Este indicador parpadea cuando no existe ninguna
aplicacin vlida en el autmata o cuando hay un "fallo con bloqueo (Vase
Deteccin de fallos a partir de los indicadores de estado del autmata, p.
226)" del programa de aplicacin.
BAT Este indicador (de color rojo) se enciende para sealizar que la pila es
defectuosa o que no hay pila (opcional). Esta pila que asegura el guardado
de la memoria RAM se debe cambiar segn un procedimiento especfico. Si
el bit del sistema %S66 est en estado 1, se inhibe el encendido de este
indicador.
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
RESTOS
Proyecto
Documento
y ANEX0.A ),
;=============================RESTOS=========================
if $in[25]==true then
$out[25]=true
endif
;=======================MANTENIMIENTO=========================
continue
if (($in[17]==false) and ($in[18]==false) and($in[19]==true) and ($in[20]==false) and
(registro_1==2)) then
mantenimiento()
endif
;=======================ZONA PALETIZADO 1=====================
continue
if $out[25]==false then
continue
if (($in[11]==true) and ($in[13]==true) and ($out[30]==false)) then
Proyecto
Documento
ESC. Anula una introduccin, suspende o detiene una accin en curso, sube
un nivel en un men.
Proyecto
Documento
Sacos totales.
Palets terminados.
HOME.
MANTENIMIENTO.
LIBERACIN.
Proyecto
Documento
Proyecto
Documento
LINEA
1.
Visualizaremos
y
modificaremos
las
opciones
de
configuracin de mosaico, altura e
incremento de altura, lo que hagamos
en LINEA 1 afectar a las dos lneas
de paletizado, ya que en esta
instalacin
las
opciones
de
configuracin sern las mismas para
ambas lneas.
Estando en el men
principal, navegaremos a travs
de las opciones comentadas
mediante
las
flechas
de
navegacin de desplazamiento
arriba/abajo. Dos flechas de
color verde nos indican con las
teclas que podemos usar. De
esta manera si vamos bajando
irn apareciendo todos los
paneles.
Proyecto
Documento
Tipo
de
mosaico:
Dejaremos
seleccionado
el
mosaico
que
queremos
paletizar.
Solamente
podremos introducir en dicho campo
los valores 1,2 3. Ms adelante
explicaremos que condiciones son
necesarias para que el robot coja el
nuevo cambio de programa.
Proyecto
Documento
DEF zona_1( )
alt_incr_1=190
$out[30]=true
coger_1 ( )
..
..
;;;;;;;;;;;saco 5 capa 1;;;;;;;;;;;;
if (saco_1==5) or (saco_1==15) or (saco_1==25) or (saco_1==35) or (saco_1==45) or
(saco_1==55) or (saco_1==65) or (saco_1==75) then
PTP P5 CONT Vel= 100 % PDAT10 Tool[1] Base[3
pulse ($out[19],true,2)
wait sec 0.3
base_data[3].z=base_data[3].z+alt_incr_1+altura_1
endif
FINAL DEL PROGRAMA
;;;;;;;;;;;saco 5 capa 2;;;;;;;;;;;;
if (saco_1==10) or (saco_1==20) or (saco_1==30) or (saco_1==40) or (saco_1==50) or
(saco_1==60) or (saco_1==70) then
PTP P10 CONT Vel= 100 % PDAT11 Tool[1] Base[3
pulse ($out[19],true,2)
wait sec 0.3
base_data[3].z=base_data[3].z+alt_incr_1+altura_1
endif
Proyecto
Documento
si no en la ltima altura, el robot resultara estar demasiado cerca para dejar caer
el siguiente saco Figuras (Fig.3.3-21 y 3.3-22).
Si >190mm (fsicamente)
Si <190mm (fsicamente)
Proyecto
Documento
Para enviar este nuevo valor al PLC que gestiona la comunicacin con el
Robot, tendremos que marcar en flecha derecha para enviar el valor al
autmata, esto se representa mediante un 1 en el campo que antes
pona un cero, haciendo entender al operario que el valor se ha registrado
correctamente y ha sido enviado al PLC. El 1 se mantendr mientras
mantengamos pulsada la tecla derecha.
Proyecto
Documento
->
->
->
->
Tipo de mosaico.
Numero de capas.
Incremento de altura.
Mosaico Maniobra o seleccionado.
1->
1->
1->
Sacos: Contador que muestra el nmero total de sacos que deja el robot
sobre el palet de la lnea_1 + lnea_2.
Proyecto
Documento
1->
Proyecto
Documento
(Fig.3.3-23) Entrada a
HOME en CELL.src
Proyecto
Documento
Dentro de CELL se
entra en el programa de
paletizado
correspondiente.
Mosaico_5(), mosaico_4()
o mosaico_3 (). Segn el
valor
de
los
bits
PGNO_Bit_1, PGNO_Bit_2
y PGNO_Bit_3 (Ver Seccin
Automtico externo).
Veamos a continuacin
Proyecto
Documento
las ltimas lneas de programa MOSAICO_3 () para ver que sera necesario que
se cumpliera en caso de que queramos cambiar de programa.
;=====================SALIDA CONDICIONAL======================
continue
if (((program==1) or (program==2)) and ($in[11]==false) and (saco_1<2) and (saco_2<2))
then
wait sec 1
exit
FINAL DE PROGRAMA
endif
MOSAICO_3 ()
endloop
wait sec 0
coi_sgrd ()
END
;DEFAULT
;P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
ENDSWITCH
ENDLOOP
Proyecto
Documento
DEF mantenimiento( )
INI
;Make your modifications here
coi_sgrd ()
PTP P1 CONT Vel= 100 % PDAT1 Tool[1] Base[0
PTP P2 CONT Vel= 30 % PDAT2 Tool[1] Base[0
PTP P3 CONT Vel= 30 % PDAT3 Tool[1] Base[0
;punto de mantenimiento
PTP P4 CONT Vel= 30 % PDAT4 Tool[1] Base[0
;===================salida de mantenimiento====================
wait for (($in[17]==false) and ($in[18]==false) and ($in[19]==true) and ($in[20]==false)
and (registro_1==3))
PTP P5 CONT Vel= 30 % PDAT5 Tool[1] Base[0
coi_sgrd ()
END
Proyecto
Documento
Nos situaremos en la
lnea
de
pantalla
correspondiente mediante las
flechas de navegacin, hasta
que el campo 0 deseado
empiece
a
parpadear
y
enviaremos la orden mediante
flecha
derecha,
mientras
observamos como el campo 0 pasa a ser 1 indicndonos el envo de dicha
orden. Las seales de comunicacin con el autmata sern las siguientes:
1->
1->
1->
Proyecto
Documento
variable de programa del robot Registro_1 tal cual se muestra, de manera que
se cumplan o no las condiciones necesarias en el programa.
1->
1->
1->
Proyecto
Documento
Proyecto
Documento
Defecto_Mordaza.
Proyecto
Documento
$timer_stop[1]=false
endif
continue
if $timer[1]>=4000 then
wait sec 0
$timer_stop[1]=true
$timer[1]=0
pulse ($out[12],true,2)
endif
continue
if (($in[27]==true) and ($in[28]==true)) then
$timer_stop[1]=true
$timer[1]=0
exit
endif
endloop
END
se
Proyecto
Documento
1. %I1.5 -> Entrada al PLC que llega mediante la seal del presostato.
2. %MW119:X2 -> Bit de alarma que activar el PLC para su aparicin en
la pantalla.
Seguridad Maquina
Las
seguridades
de
mquina
provocan el paro inmediato de la instalacin.
Esta alarma est provocada por la
desactivacin del mdulo de seguridad;
provocado por lo tanto, por la activacin de
alguna de las setas de emergencia o por
saltarnos la barrera de seguridad mediante
una maniobra incorrecta.
Dicha alarma provoca la cada de
potencia de la instalacin, y la marcha de la
misma, imposibilitando el rearme del robot
hasta que esta no sea solventada.
1. %I1.4 -> Entrada al PLC que llega mediante el contacto abierto del
contactor 7KM2 de seguridad.
2. %MW119:X1 -> Bit de alarma que activar el PLC para su aparicin en
la pantalla.
La nica manera de rearmar este defecto, es mediante la activacin el
mdulo de seguridades tal como se vio en el captulo correspondiente, para
despus proseguir con el rearme del robot y la marcha de la instalacin.
Proyecto
Documento
Trmico _ motores
Proyecto
Documento
Proyecto
Documento
Los
1. Habilitar
seguridades
(damos
accionamientos)
2. Habilitar movimiento (damos marcha
al robot).
Proyecto
Documento
MANEJO BSICO
ROBOT KUKA
SISTEMA
KRC-2
Proyecto
4
4.1
Documento
Proyecto
4.2
Documento
3x400 V~ (-10%) a
3x415 V~ (+10%)
Frecuencia de red: 49 61 Hz
Potencia Nominal entrada segn paquete:
-7.3 13.5 Kva.
Clasificacin de proteccin: IP 54.
Temperatura Ambiente:
-Sin unidad de refrigeracin +5C a 45C
-Con unidad refrigeracin +20C a 55C
(Fig.4.2-2) Armario KRC-2
Proyecto
Documento
3
2
4
8
6
7
9
(Fig.4.2-3) Elementos Armario KRC-2
1.
2.
3.
4.
5.
6.
7.
8.
9.
Interruptor General.
Servo convertidores 4 a 6 ejes (KSD_1 a KSD_6).
Fuente de alimentacin de potencia (KPS-600).
PC de control.
Tarjeta de seguridad (ESC).
Acumuladores.
Consola (KPC).
Tarjeta de Interface (MFC).
Conexiones Parte Inferior Conector de seguridades (X11).
En la parte inferior del armario se encuentran las conexiones; esto es, cables
de alimentacin/RED, cables de motor a robot, cables de seales del robot y
conexin a KCP. El equipamiento estndar incluye adems en el interior del
armario, puerto Device Net y Ethernet para los sistemas de BUS habituales. Desde
la KCP (7) y a travs del ordenador de abordo (4), se maneja y opera la unidad de
control del robot
Proyecto
Documento
4.2.1.1 PC de Control.
El PC de control opera bajo aplicacin de Windows que esta destinado nica
y exclusivamente a la aplicacin KRL (software de KUKA) y debe estar
dimensionado con un mnimo de frecuencia de reloj de 733 MHz y una memoria
RAM de 256 MB. A su vez incorpora las unidades de disco anteriormente
mencionadas accesibles cuando la puerta del armario esta abierta. El resto del
equipo es el Hardware estndar (fuente de alimentacin, tarjeta grfica KUKA con
conexin a KCP). Existe la posibilidad de conectar un ratn estndar a travs del
puerto de comunicaciones COM1, as como un ratn/teclado con Interface PS/2. Se
integra a modo de tarjeta PCI la tarjeta multifuncin MFC con tarjeta digital Servo
DSE. La MFC contiene el controlador de todas las entradas y salidas a modo de
diferentes tipos de conexin Device Net/CAN formando la Interface entre la KCP y
el ordenador, mientras que la DSE toma los valores nominales de los servos en
cuanto a consumo y parametrizacin se refiere ; procesa por lo tanto, el estado de
los servo controladores.
(Fig.4.2-4) Conexiones PC KRC-2
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Canales PCI.
Enchufe AGP Pro.
Puertos USB.
Conexin Ethernet.
Interface COM1 Serie.
Interface LPT1 Paralelo.
Interface COM2 Serie.
Puertos USB.
Conexin de teclado PS/2.
Conexin de ratn PS/2.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Proyecto
Documento
4.2.1.3 Acumuladores.
Estas bateras mantienen activa la memoria intermedia del sistema, de
manera que los datos del ordenador se salven correctamente. Esto ser siempre
as, mientras la carga de los acumuladores no baje por debajo de los 19V, situacin
que ser advertida mediante mensaje en el prximo arranque del equipo.
4.2.1.4 Servo convertidores KSD1.
Los servo convertidores (Fig.4.2-6) obtienen la etapa final rectificada para el
control de cada unos de los ejes mediante regulacin de corriente. Todos los KSD
estn conectados por interbus para la comunicacin y conmutacin entre ejes.
Proyecto
Documento
Proyecto
Documento
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Teclado numrico.
Teclas de funcin.
Tecla de arranque haca atrs.
Tecla de arranque.
Tecla de Stop.
Tecla de cambio de ventana.
Tecla de escape ESC.
Teclas de estado izquierda (men).
Teclas de men.
1.
2.
3.
Placa de caractersticas.
Tecla de Arranque.
4 y 5 Pulsador de Hombre muerto con tres posiciones.
3.
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Los
componentes
que
interconectan
son
la
fuente
de
alimentacin de potencia o KPS, la
consola de control o KCP y la tarjeta de
control de entradas y salidas MFC,
siendo los circuitos elctricos destinados
a la seguridad los dispositivos de parada
de emergencia, pulsador de hombre
muerto, protecciones de usuario y modos
de servicio, ya que en funcin del
sistema de seguridad que acte, la
reaccin de la ESC ser de un tipo u
otro.
Fecha de creacin: 04/10/2009 11:38
Pgina 83 de 265
Proyecto
Documento
Elemento KPS.
ESC.
MFC (Elemento Pasivo seguridades controladas por periferia).
KPC o elemento MASTER de seguridad.
4.3
Proyecto
4.4
Documento
SISTEMA DE COORDENADAS.
1.
2.
4.
3.
5.
6.
8.
1.
2.
3.
4.
5.
6.
7.
8.
7.
Brazo.
Mueca.
Brazo de oscilacin.
Sistema de compensacin.
Columna rotatoria.
Base del robot.
Ejes A1, A2, A3 principales.
Ejes A4, A5, A6.
(Fig.4.4-2)
Modo manual.
(Fig.4.4-3) Tipo
Movimiento.
(Fig.4.4-4)
Velocidad.
Proyecto
Documento
(Fig.4.4-5) Teclas de
desplazamiento.
(Fig.4.4-6)
Ratn 6D.
Sentido
Sentido
Sentido
Sentido
Sentido
Sentido
Proyecto
Documento
(Fig.4.4-8) Teclas de
desplazamiento.
(Fig.4.4-9)
Ratn 6D.
En dicho sistema seleccionaremos con respecto a la base del robot, si este ser
desplazado en X, Y o Z, adems le indicaremos la orientacin A, B o C del eje final
donde se ancla la herramienta, donde A ser el giro sobre la coordenada Z, B el
giro sobre la coordenada Y, y C el ngulo de rotacin sobre X. El sistema de ejes se
desplazar sincrnicamente para provocar el desplazamiento a lo largo de las
coordenadas.
Para definir el sentido positivo o negativo de un movimiento, debemos
obedecer a la regla bsica de la mano derecha (Fig.4.4-11) donde se muestra la
direccin del sistema de coordenadas y del sistema de rotaciones tal como sigue.
Proyecto
Documento
4.4.2
TCP
Proyecto
Documento
4.5
Proyecto
Documento
Despus de una seleccin de paso sobre las coordenadas del punto en el que
se encuentra el puntero de paso.
Proyecto
Documento
Movimiento hasta un
punto de trayectoria.
COI alcanzada.
COI No alcanzada.
RUN de programa
Fuera de trayectoria.
Coi_sgrd ()
En esta parte del programa si el eje principal A1 se encuentra entre -35 y 50, significar que estar encima de la zona de los rodillos de alimentacin o mesa
de recogida. En este se realizar un movimiento al pto HOME directamente.
Cualesquiera de los puntos de programa P1,P2,P3,P4,P5,P6,P7,P8 y
HOME, seran puntos de COI ALCANZADA (Ver ANEXO Coi_sgrd()).
Proyecto
Documento
1.
Tool
o
herramienta
seleccionada
(hasta
16
herramientas); que en nuestro caso ser Nula o la
misma para todos los puntos Nullframe.
2.
3.
Proyecto
Documento
(Fig.4.5-5) Mvto.PTP_P2
con aproximacin.
Proyecto
Documento
4.5.2.2
Proyecto
Documento
(Fig.4.5-7) Control de la
orientacin standard.
(Fig.4.5-8) Control de la
orientacin constante.
4.5.2.3
(Fig.4.5-9) Movimiento
circular con contorno.
Documento: Instalacin de Robot Paletizado
Proyecto
Documento
Proyecto
Documento
4.5.4.1
Velocidad de Programa.
4.5.4.2
Modo Paso a Paso Atrs. Igual que el modo Paso a Paso pero en
sentido inverso.
Proyecto
Documento
Proyecto
Documento
Accionamientos en ON.
Accionamientos en OFF.
Proyecto
Documento
Ext.
Cualquier programa que es iniciado puede ser detenido fcilmente
mediante la tecla de STOP, en donde el puntero de programa se detendr en
ese mismo instante. Para la configuracin de control por PLC o automtico
externo; el par adems, ser controlado mediante seal.
Proyecto
Documento
DECLARACIN BYTES DE
ENTRADA Y SALIDA.
5,0
5,1
5,2
5,3
->Direccin
->Direccin
->Direccin
->Direccin
5
5
5
5
byte
byte
byte
byte
(entradas)
(entradas)
(entradas)
(entradas)
0
1
2
3
UNIDADES: 5
DECENAS: 0
Proyecto
Documento
(Fig.4.5-15) Reconfiguracin de
Drivers.
(Fig.4.5-16) Men
Indicacin.
Proyecto
Documento
(Fig.4.5-17) Configuracin de
temporizadores.
Proyecto
Documento
Proyecto
4.6
Documento
PROGRAMACIN LGICA.
Proyecto
Documento
(Fig.4.6-2) Llamada de un
subprograma.
Proyecto
Documento
Proyecto
Documento
Variables SIGNAL.
Variables de sistema.
4.6.5 OPERADORES.
Para la manipulacin de datos y las operaciones, se hace uso de los
denominados operadores aritmticos. La mayora de estos operadores y smbolos
son los habituales en cualquier lenguaje de programacin.
4.6.5.1 Operadores aritmticos.
*. Multiplicacin.
/. Divisin.
:. Operador geomtrico.
Proyecto
Documento
4.6.5.4
Operadores lgicos.
AND. Y Lgico.
OR. O Lgico.
EXOR. O Exclusivo
ELSE
Sentencia
ENDIF
Documento: Instalacin de Robot Paletizado
Proyecto
Documento
DEFAULT
ENDSWITCH
Sentencia n
ENDLOOP
DEF zeros( )
INI
Proyecto
Documento
En trminos generales, lo
configuraciones necesarias que se
ser controlado mediante PLC, y
declaradas y asociadas al PLC para
CELL.SRC
es el programa encargado de la organizacin de las
aplicaciones; de paletizado en este caso, que se han de ejecutar, y todo ello
mediante asignacin de entradas y salidas fsicas a variables de sistema para el
control del robot.
Lo primero que debemos hacer en este caso en configurar la Interface de
seales desde el men [Configurar > Entradas/Salidas > Automtico
Externo] y en la que nos encontraremos las opciones de configuracin de
entradas y salidas:
Una de las seales que tendremos que declarar para activar la Interface es
la variable de sistema $IO_ACT, de manera que si a travs de PLC la activamos
estaremos estableciendo comunicacin con el KRC, y as podremos iniciar la
ejecucin del programa CELL.SRC .
El programa de comunicaciones, cuenta en la cabecera con la secuencia de
inicializacin, donde estn declarados los programas que desde cell.src se van a
ejecutar de manera continua. Estos son los siguientes:
DEF CELL ( )
EXT mosaico_5 ( )
EXT mosaico_4 ( )
EXT mosaico_3 ( )
EXT home ( )
home ()
;FOLD CHECK HOME
$H_POS=XHOME
IF CHECK_HOME==TRUE THEN
P00 (#CHK_HOME,#PGNO_GET,DMY[],0 ) ;Testing Home-Position
ENDIF
Proyecto
Documento
5.1
SEALES DE ENTRADAS.
Nos
encontramos
una
ventana
con
las
siguientes
caractersticas en las que se hace
una diferenciacin; como bien
comentamos anteriormente, sobre
las variables del sistema y las I/O
; en este caso entradas ,que se
manejan (Fig.9.1-1).
Proyecto
Documento
en
la
que
Proyecto
5.2
Documento
SEALES DE SALIDA.
ha
producido
una
parada
de
Proyecto
5.3
Documento
DIAGRAMA DE SEALES.
Proyecto
Documento
Proyecto
Documento
SOFTWARE DE LA INSTALACIN.
6.1
CONFIGURACIN DE MOSAICOS.
Proyecto
Documento
190mm
145mm
El Robot en cada
altura se situar 190mm
(el espesor del saco) por
encima. A este valor se le
aade
un
_Altura
(Incremento de altura)
configurable desde la XBT
N401, donde se le da al
operario la posibilidad de
aumentar
o
disminuir
ligeramente
este
valor
350mm. Para ajustar la
altura del robot acorde a lo
lleno o vaco que venga el
saco.
Proyecto
Documento
alturas no implica ningn problema puesto que rara vez por no decir nunca, se
apilan ms de 10 alturas de sacos en un palet. En caso de sobreexceder la
limitacin software de los ejes del robot, se procedera con las indicaciones dadas
en captulos sucesivos.
(Fig.6.1-2) Mosaico
de 5 sacos
(Fig.6.1-3) Mosaico
de 4 sacos
(Fig.6.1-4) Mosaico
de 3 sacos
(Fig.6.1-6) Mosaico de
5 CAPA-2
Proyecto
Documento
4
3
10
(Fig.6.1-7) Capa-1
Altura-1
11
(Fig.6.1-8) Capa-2
Altura-2
12
(Fig.6.1-9) Capa-3
Altura-3
(Fig.6.1-10) Capa-4
Altura-4
De las cuatro capas diferentes los sacos 2-3-8-9 tienen las mismas
coordenadas X-Y, lo mismo ocurre con los sacos 5-6-11-12. El nico saco que tiene
coordenadas diferentes en las cuatro capas son el 1-4-7-10; es decir las capas
Capa-1 y Capa-3 son las mismas a excepcin de los sacos 1-7 a los que se les da
la vuelta a la boca para que el palet quede lo ms estable y simtrico posible. Lo
mismo ocurre con las capas Capa-2 y Capa-4 al que slo se le da la vuelta a los
sacos 4-10. A partir de estas cuatro capas para estas cuatro alturas, la quinta
altura sera exactamente igual que la primera (saco-13 = saco-1, saco-14 = saco 2,
saco-15 = saco-3), y la sexta altura igual que la segunda (saco-16 = saco-4, saco17 = saco-5 y saco-18 = saco-6), as sucesivamente.
14
17
13
14
16
15
18
(Fig.6.1-12) Capa-2 Altura-6
Proyecto
Documento
(Fig.6.1-13) Capa-1
Altura-1
(Fig.6.1-14) Capa-2
Altura-2
11
16
9
10
(Fig.6.1-15) Capa-1 Altura-3
13
(Fig.6.1-16) Capa-2 Altura-4
Proyecto
Documento
(Fig.6.1-16) Capa-1
Altura-1
(Fig.6.1-17) Capa-2
Altura-2
Proyecto
6.2
Documento
UN PROGRAMA DE ROBOT.
DI1-1 -> PGNO_BIT_1 -> $IN[1] -> Entrada directa del Robot.
DI1-2 -> PGNO_BIT_2 -> $IN[2] -> Entrada directa del Robot.
DI1-3 -> PGNO_BIT_3 -> $IN[3] -> Entrada directa del Robot.
- PROGRAM=1
Programa de paletizado
con mosaico de 5 sacos
- PROGRAM=2
Programa de paletizado
con mosaico de 4 sacos
- PROGRAM=3
Programa de paletizado
con mosaico de 3 sacos
$IN[1] = true
$IN[2] = false
$IN[3] = false
$IN[1] = false
$IN[2] = true
$IN[3] = false
$IN[1] = true
$IN[2] = true
$IN[3] = false
Como puede verse el tercer bit de programa carece de uso, pero puede
usarse como bit de paridad o como entrada reserva para futuras expansiones.
Proyecto
Documento
;=====================SALIDA CONDICIONAL======================
continue
if (((program==1) or (program==2)) and ($in[11]==false) and (saco_1<2) and (saco_2<2))
then
wait sec 1
exit
FINAL DE PROGRAMA
endif
MOSAICO_3 ()
endloop
wait sec 0
coi_sgrd ()
END
DI1-4 -> PGNO/PARITY -> $IN[4] -> Entrada directa del Robot.
El PLC mediante salida directa levantar esta seal hacia el robot para
indicarle que se quiere transmitir un nuevo nmero de programa a travs de las
variables de entrada anteriores.
DI1-5 -> PGNO_VALID -> $IN[5] -> Entrada directa del Robot.
KRC
PGNO_PARITY
%Q6.3
%I5.4
%Q6.4
%I5.5
$IN[1]
$IN[2]
$IN[3]
$IN[4]
PGNO_REQ
PGNO_VALID
APPL_RUN
$OUT[5]
$IN[5]
$OUT[6]
Proyecto
Documento
DI1-6 -> EXT_ESTART -> $IN[6] -> Entrada directa del Robot.
DI1-7 -> MOVE_ENABLE -> $IN[7] -> Entrada directa del Robot.
DI1-8 -> CONF_MESS -> $IN[8] -> Entrada directa del Robot.
DI2-1 -> DRIVES_ON -> $IN[9] -> Entrada directa del Robot.
DI2-2 -> DRIVES_OFF -> $IN[10] -> Entrada directa del Robot.
MOVE_ENABLE
ALARM_STOP
%I5.6
$IN[7]
$OUT[7]
%Q6.8
%Q6.9
DRIVES
%I5.0
PERY_RDY
%I5.2
STOP_MESS
%Q6.7
KRC
CONF_MESS
$IN[9]
$IN[10]
$OUT[1]
$OUT[3]
$IN[8]
Proyecto
Documento
DI2-7 -> Carga_Datos_L1 -> $IN[15] -> Entrada directa del Robot.
DI2-8 -> Carga_Datos_L2 (opcional) NO usada puesto que los datos
cargados en L2 son los mismos que en L1.
DI3-1 -> GND (Seal False) -> $IN[17] -> Entrada directa de Robot.
DI3-2 -> Carga_Datos_Capas -> $IN[18] -> Entrada directa Robot.
DI3-3 -> Carga_Datos_Ordenes -> $IN[19] ->Entrada directa Robot.
DI3-4 -> Carga_Datos_Incr_Alturas -> $IN[20] -> Entrada directa
del Robot.
DI3-5 -> DATO_1 -> $IN[21] -> Entrada directa del Robot.
DI3-6 -> DATO_2 -> $IN[22] -> Entrada directa del Robot.
DI3-7 -> DATO_3 -> $IN[23] -> Entrada directa del Robot.
DI3-8 -> DATO_4 -> $IN[24] -> Entrada directa del Robot.
Proyecto
Documento
ORDEN HOME.
MANTENIMIENTO
LIBERACIN
=
=
=
=
=
No usada.
false
false
true
false
$IN[24]->DATO_4
$IN[23]->DATO_3
$IN[22]->DATO_2
$IN[21]->DATO_1
Registro_1 = 1
HOME
false
false
false
true
Registro_1 = 2
MANTENIMIENTO
false
false
true
false
Registro_1 = 3
LIBERACION
false
false
true
true
;=======================MANTENIMIENTO=========================
continue
if (($in[17]==false) and ($in[18]==false) and($in[19]==true) and ($in[20]==false) and
(registro_1==2)) then
mantenimiento()
endif
;=======================ZONA PALETIZADO 1=====================
continue
if $out[25]==false then
continue
if (($in[11]==true) and ($in[13]==true) and ($out[30]==false)) then
zona_11 ()
endif
endif
;=======================ZONA PALETIZADO 2=====================
continue
DENTRO DEL BUCLE
if $out[25]==false then
PROGRAMA MOSAICO_3 ()
continue
Documento: Instalacin de Robot Paletizado
Proyecto
Documento
$IN[15]
$IN[17]
$IN[18]
$IN[19]
$IN[20]
CARGA DATOS
DE CAPAS.
=
=
=
=
=
true
false
true
false
false
$IN[24]->DATO_4
$IN[23]->DATO_3
$IN[22]->DATO_2
$IN[21]->DATO_1
Registro_1 = 1
NAlturas = 1
false
false
false
true
Registro_1 = 2
NAlturas = 2
false
false
true
false
Registro_1 = 3
NAlturas = 3
false
false
true
true
Registro_1 = 4
NAlturas = 4
false
true
false
false
Registro_1 = 5
NAlturas = 5
false
true
false
true
Registro_1 = 6
NAlturas = 6
false
true
true
false
Registro_1 = 7
NAlturas = 7
false
true
true
true
Registro_1 = 8
NAlturas = 8
true
false
false
false
Registro_1 = 9
NAlturas = 9
true
false
false
true
Registro_1 = 10
NAlturas = 10
true
false
true
false
Proyecto
Documento
DEF home( )
coi_sgrd ()
;marca para saber que estamos dentro del Home y cambiar de programa
$out[21]=true
wait for (($in[17]==false) and ($in[18]==false) and ($in[19]==true) and ($in[20]==false)
and (registro_1==3))
;======================CAMBIO DE MOSAICOS=======================
;Mosaico seleccionado
$out[21]=false
;=======================CAMBIO DE CAPAS=========================
capas_1=reg_capas_1
if program==1 then
sacos_1=capas_1*5
sacos_2=capas_1*5
endif
if program==2 then
sacos_1=capas_1*4
sacos_2=capas_1*4
endif
if program==3 then
sacos_1=capas_1*3
sacos_2=capas_1*3
endif
SUBPROGRAMA
HOME ()
END
Proyecto
Documento
$IN[15]
$IN[17]
$IN[18]
$IN[19]
$IN[20]
CARGA DATOS
INCREMENTOS.
=
=
=
=
=
true
false
false
false
true
Con la seal $IN[20] puesta a true, el PLC indica al robot por medio del
programa del submit, que el valor a enviar a travs de las variables de dato ser el
incremento de altura. En este caso se utilizar la seal registro_2 tambin
declarada como signal. Se usarn las variables DATO_1, DATO_2 y DATO_3 como
valor a incrementar y DATO_4 como bit de signo.
$IN[24]->DATO_4 $IN[23]->DATO_3
Registro_2 = 0
Incr.Alt = 0
$IN[22]->DATO_2
$IN[21]->DATO_1
(mm)
false
false
false
Registro_2 = 1
Incr.Alt = 1
false
false
false
true
(+)1
Registro_2 = 2
Incr.Alt = 2
false
false
true
false
(+)2
Registro_2 =3
Incr.Alt = 3
false
false
true
true
(+)3
Registro_2 = 4
Incr.Alt = 4
false
true
false
false
(+)4
Registro_2 = 5
Incr.Alt = 5
false
true
false
true
(+)5
Registro_2 = 6
Incr.Alt = 6
false
true
true
false
(+)6
Registro_2 = 7
Incr.Alt = 7
false
true
true
true
(+)7
Registro_2 = -1
Incr.Alt = -1
true
false
false
true
(-)1
Registro_2 = -2
Incr.Alt = -2
true
false
true
false
(-)2
Registro_2 = -3
Incr.Alt = -3
true
false
true
true
(-)3
Registro_2 = -4
Incr.Alt = -4
true
true
false
false
(-)4
Registro_2 = -5
Incr.Alt = -5
true
true
false
true
(-)5
Registro_2 = -6
Incr.Alt = -6
true
true
true
false
(-)6
Registro_2 = -7
Incr.Alt = -7
true
true
true
true
(-)7
Proyecto
Documento
;;;;;;;;;;;;;;;;;;;;Incrementos
if (($in[15]==true) and ($in[17]==false) and ($in[18]==false) and ($in[19]==false) and
($in[20]==true)) then
if $in[24]==false then
reg_alt_incr_1=registro_2
PROGRAMA
altura_1=reg_alt_incr_1*5
MULTITAREA
endif
if $in[24]==true then
reg_alt_incr_1=0-registro_2
altura_1=reg_alt_incr_1*5
endif
endif
DI4-1 -> Restos -> $IN[25] -> Entrada directa del Robot.
La seal de restos, no tiene ninguna conexin con el PLC, siendo esta entrada
de robot accionada directamente desde el armario elctrico y a travs del pulsador
para tal fin. Mediante esta entrada el robot recibir la orden de finalizar cada palet
de cada una de las lneas. Comunicndoselo de esta manera al PLC, de manera que
una vez terminados los movimientos en ejecucin el robot se detendr en espera
de que los palets sean sustituidos.
Desde el programa multitarea se captura esta pulsacin, poniendo a true la
variable $OUT[25]. En el momento que esta variable se active, se deshabilitar el
paletizado en ambas lneas y el PLC quitar el permiso de carga y descarga hasta
que el operario coloque un palet nuevo.
;=========================RESTOS==============================
continue
if $out[25]==true then
wait sec 1
pulse ($out[10],true,2)
pulse ($out[11],true,2)
saco_1=1
saco_2=1
base_data[3]=base_data[1]
base_data[4]=base_data[2]
wait sec 3
$out[25]=false
endif
DI4-3 -> Manos_abiertas -> $IN[27] -> Entrada directa del Robot.
DI4-4 -> Dedos_abiertos -> $IN[28] -> Entrada directa del Robot.
Proyecto
Documento
de reposo, enviaremos una seal de alarma al PLC, que ser transmitida por
pantalla. (Ver captulos de Alarmas XBT.)
6.2.1.2 Salidas.
DO1-1
DO1-2
DO1-3
DO1-4
DO1-5
DO1-6
DO1-7
DO1-8
->
->
->
->
->
->
->
->
DO2-1 -> MODO_EXTERN -> $OUT[9] -> Salida directa del Robot.
DO2-2 -> Fin_Palet_L1 -> $OUT[10] -> Salida directa del Robot.
DO2-3 -> Fin_Palet_L2 -> $OUT[11] -> Salida directa del Robot.
Proyecto
Documento
DENTRO Subprograma
Zona ()
;;;;;;;;;;;;;incremento saco;;;;;;;
saco_1=saco_1+1
DO2-4 -> Defecto_Mordaza -> $OUT[12] -> Salida directa del Robot.
DO3-1
DO3-1
DO3-1
DO3-1
->
->
->
->
Proyecto
Documento
DO3-1 -> Dentro_HOME -> $OUT[21] -> Salida directa del Robot.
$OUT[21] ser la seal que el KRC activar para indicar al PLC que se
encuentra en el estado ptimo preparado para el cambio de programa y por tanto
de las alturas; es decir, dentro del subprograma home() una vez se hayan
producido todas las condiciones lgicas necesarias para ello. Esta seal permite la
recepcin del nuevo envo de programa desde el PLC a travs de los bits de
programa PGNO_BIT y una vez liberado del home, la asignacin de los sacos
totales en funcin del programa seleccionado y del nmero de alturas transmitido.
Podemos cambiar slo el nmero de alturas por eso para entrar en home ser
condicin indispensable que los palets estn vacos. Una vez cambiado liberado el
robot y cambiado el nmero de alturas, si el programa sigue siendo el mismo,
continuar con el programa de paletizado en ejecucin, pero si la variable
PROGRAM ha cambiado, entonces saldremos del bucle del programa de paletizado
para entrar nuevamente en cell.src donde se seleccionar el programa adecuado.
En esta parte del PLC, se establece que si el KRC, est dentro de home ()
se produce una igualdad entre las variables %MW1 (Programa seleccionado desde
el XBT) y %MW18 (programa a visualizar tambin en el XBT) de manera que los
tres primeros bits de esta son transmitidos por las lneas PGNO_BIT que llegarn
hasta el beckhoff del robot en forma de entradas y se modificar as la seal
PROGRAM.
Proyecto
Documento
;==================================
; Userdefined Variables
;==================================
;DECL INT CONTEO=0
SIGNAL registro_1 $in[21] TO $in[24]
;SIGNAL registro_4 $in[21] TO $in[24]
SIGNAL registro_2 $in[21] TO $in[23]
SIGNAL program $in[1] TO $in[3]
DECL INT sacos_1=40
DECL INT sacos_2=40
;decl int mosaico_1=1
;decl int reg_mosaico_1=1
;decl int mosaico_2=1
;decl int reg_mosaico_2=1
DECL INT reg_capas_1=8
;decl int reg_capas_2=8
DECL INT alt_incr_1=180
DECL INT altura_1=0
;decl int altura_2=0
;decl int alt_incr_2=160
DECL INT reg_alt_incr_1=0
;decl int reg_alt_incr_2=0
DECL INT saco_1=1
DECL INT saco_2=1
DECL INT capas_1=8
;decl int capas_2=8
;decl int r_sacos_1=0
;decl int r_sacos_2=0
;DECL INT zvel=80
;DECL FRAME basepalet1
;FRAME base_2={x 0.0,y 0.0,z 0.0,a 0.0,b 0.0,c 0.0}
Declaracin en
$Config.dat
CARGA ORDENES
$IN[15] a $IN[20]
registro_1 = 1
Orden ir a HOME
registro_1 = 2
Orden ir a MANTENIMIENTO
registro_1 = 3
Orden LIBERACION
registro_1 = N alturas
reg_capas_1 = registro_1
registro_2 = alturas
reg_alt_incr_1 = registro_2
altura_1 = reg_alt_incr_1*5
Proyecto
Documento
;;;;;;;;;;;;;;;;;;;;Capas
if (($in[15]==true) and ($in[17]==false) and ($in[18]==true) and ($in[19]==false) and
($in[20]==false)) then
reg_capas_1=registro_1
Dentro del
endif
SPS.sub
Proyecto
Documento
PROGRAM = 1
Mosaico_5 ()
PROGRAM = 2
Mosaico_4 ()
PROGRAM = 3
Mosaico_3 ()
reg_capas_1 = 1
capas_1 = 1
sacos_1 = 5
sacos_2 = 5
sacos_1 = 4
sacos_2 = 4
sacos_1 = 3
sacos_2 = 3
reg_capas_1 = 2
capas_1 = 2
sacos_1 = 10
sacos_2 = 10
sacos_1 = 8
sacos_2 = 8
sacos_1 = 6
sacos_2 = 6
reg_capas_1 = 3
capas_1 = 3
sacos_1 = 15
sacos_2 = 15
sacos_1 = 12
sacos_2 = 12
sacos_1 = 9
sacos_2 = 9
reg_capas_1 = 4
capas_1 = 4
sacos_1 = 20
sacos_2 = 20
sacos_1 = 16
sacos_2 = 16
sacos_1 = 12
sacos_2 = 12
reg_capas_1 = 5
capas_1 = 5
sacos_1 = 25
sacos_2 = 25
sacos_1 = 20
sacos_2 = 20
sacos_1 = 15
sacos_2 = 15
reg_capas_1 = 6
capas_1 = 6
sacos_1 = 30
sacos_2 = 30
sacos_1 = 24
sacos_2 = 24
sacos_1 = 18
sacos_2 = 18
reg_capas_1 = 7
capas_1 = 7
sacos_1 = 35
sacos_2 = 35
sacos_1 = 28
sacos_2 = 28
sacos_1 = 21
sacos_2 = 21
reg_capas_1 = 8
capas_1 = 8
sacos_1 = 40
sacos_2 = 40
sacos_1 = 32
sacos_2 = 32
sacos_1 = 24
sacos_2 = 24
reg_capas_1 = 9
capas_1 = 9
sacos_1 = 45
sacos_2 = 45
sacos_1 = 36
sacos_2 = 36
sacos_1 = 27
sacos_2 = 27
reg_capas_1 = 10
capas_1 = 10
sacos_1 = 50
sacos_2 = 50
sacos_1 = 40
sacos_2 = 40
sacos_1 = 30
sacos_2 = 30
sacos_1 = capas_1*5
sacos_2 = capas_1*5
sacos_1 = capas_1*4
sacos_2 = capas_1*4
sacos_1 = capas_1*3
sacos_2 = capas_1*3
Proyecto
Documento
Proyecto
Documento
DEF zona_1( )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;; #### ### # # ### ### ;;;;;;;;;;;
;;;;;;;;;;;;
#
# # # # # # # # ;;;;;;;;;;;
;;;;;;;;;;;;
#
# # # ## ###
#
;;;;;;;;;;;
;;;;;;;;;;;; #### ### # # # # ## ;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
alt_incr_1=190
$out[30]=true
coger_1 ( )
INICIO
SUBPROGRAMA
ZONA ()
COMPROBACIN
PALET TERMINADO
INCREMENTO DE
LA VARIABLE SACO
Proyecto
Documento
VERIFICACION
REPOSO DE LA
MORDAZA
Proyecto
Documento
Proyecto
Documento
Arranque
Multitarea
Bucle LOOP
Fin Palet
L1
Contadores a
Cero
Fin Palet
L2
SI
Reset saco_1
Reset base_data[3]
SI
Simultaneidad
de Lneas
$OUT[30]
Reset saco_2
Reset base_data[4]
registro_1
Carga Datos de
Capas
Reg_capas_1
registro_2
Carga Datos de
Incrementos
altura
altura_1
Restos
Entrada
datos XBT
DATO_1
DATO_4
Entrada
datos XBT
DATO_1
DATO4
$IN[25]
true
SI
$IN[7]
true
Paro
Temporizador
$OUT[25]
true
SI
$Timer_stop[1]
true
Proyecto
Documento
Proyecto
Documento
Definicin Subprogramas
Seleccionar
CELL.src
EXT mosaico_5 ()
EXT mosaico_4 ()
EXT mosaico_3 ()
EXT home ()
Arranque PLC
CELL.src
Coi_sgr ()
PTP HOME
SPS.sub ()
Subprograma
home ()
capas_1
sacos_1
sacos_2
Reg_capas_1
NO
HOME?
Entrada
datos XBT
DATO_1
DATO_4
registro_1
XBT wait
Liberacin?
Bucle LOOP
NO
SI
Entrada
datos XBT
PGNO_BIT
SI-> registro_1=3
PROGRAM ?
CONFIG.dat
Interface
Automatico
Externo
ModuloP00
Switch PGNO
PROGRAM
= 1?
PROGRAM
= 2?
PROGRAM
= 3?
NO
NO
SI
SI
MOSAICO_5 ()
NO
END?
NO
SI
MOSAICO_4 ()
NO
SI
MOSAICO_3 ()
NO
END?
SI
END?
SI
Proyecto
Documento
Proyecto
Documento
6.2.3.3 Home.src.
CELL.src
MOSAICO_3 ()
MOSAICO_4 ()
MOSAICO_5 ()
DEF home()
Subprograma
Coi_sgrd ()
PTP HOME
NO
HOME?
SI
$OUT[21] =
true -> Dentro
de HOME
SPS.sub
Reg_capas_1
Entrada
datos XBT
DATO_1
DATO_4
WAIT
LIBERAR?
PROGRAM ?
CONFIG.dat
registro_1
Entrada
datos XBT
DATO_1
DATO_4
SI-> registro_1=3
$OUT[21] =
false -> Dentro
de HOME
Clculos
Capas_1 = reg_capas_1
PROGRAM=1 =>sacos_1=capas_1*5
PROGRAM=1 =>sacos_2=capas_1*5
PROGRAM=2 =>sacos_1=capas_1*4
PROGRAM=2 =>sacos_1=capas_1*4
PROGRAM=3 =>sacos_1=capas_1*3
PROGRAM=3 =>sacos_1=capas_1*3
END
Proyecto
Documento
Proyecto
Documento
6.2.3.4 Coi_sgrd.src.
DEF coi_sgrd()
A1>60
NO
SI
Encima de la mesa de
paletizado LINEA_2
PTP P1
PTP P2
PTP P3
NO
A1<=60
A1>-35
SI
Trnsito LINEA_2 a
rodillos de alimentacin
PTP P6
NO
A1<-50
A1>=-80
SI
Trnsito LINEA_1 a
rodillos de alimentacin
PTP P7
NO
A1<=-80
SI
Encima de la mesa de
paletizado LINEA_1
PTP P8
A1>=-50
A1<=-35
NO
SI
Encima de la zona de
recogida. Posicin HOME
PTP HOME
PTP P4
PTP P5
PTP HOME
END
Proyecto
Documento
PTP HOME
A1=-80
Trnsito LINEA_2 a
rodillos de alimentacin
Encima de la mesa de
paletizado LINEA_1
Encima de la mesa de
paletizado LINEA_2
A1=60
Para el caso de estar encima del palet de la lnea 2, el ngulo del eje
principal es a1>60 en este caso se genera la trayectoria PTP P1,P2 y P3 para
situar al robot en una zona libre de obstculos. Si el robot se encuentra entre los
ngulos a1<=60 y a1>-35 corresponde a una zona de trnsito a los rodillos de
alimentacin, por lo tanto se ha de situar al robot en el punto PTP P6. De esta
manera en funcin de los grados de desvo del robot se determina una posicin
auxiliar hasta alcanzar el punto exacto de reposo PTP HOME. Los puntos PTP P4 y
PTP P5 son exactamente el punto home situado por encima y por debajo del
mismo, de esta manera cada vez que el robot haga este gesto, le indicar
visualmente al operador que se ha alcanzado la posicin solicitada.
Seguidamente se continuar con el proceso desde el cual fue llamado
coi_sgrd ().
Documento: Instalacin de Robot Paletizado
Proyecto
Documento
MOSAICO_4 ()
MOSAICO_5 ()
DEF Mantenimiento()
Subprograma
Coi_sgrd ()
PTP HOME
NO
HOME?
SI
PTP P1
PTP P2
PTP P3
PTP MANTENIMIENTO
WAIT
LIBERAR?
registro_1
Entrada
datos XBT
DATO_1
DATO_4
SI-> registro_1=3
PTP P5
Subprograma
Coi_sgrd ()
PTP HOME
NO
HOME?
SI
END
Proyecto
Documento
Proyecto
Dpto.Robtica
DEF mosaico_3()
DEF mosaico_4()
DEF mosaico_5()
CELL.src
Subprograma
Coi_sgrd ()
Subprograma
Coi_sgrd ()
PTP HOME
NO
HOME?
SI
$OUT[21] =
false -> fuera
de home()
pulse ($out[17],true,2)
pulse ($out[19],true,2)
$timer[1]=0
saco_1=1
saco_2=1
base_data[3]=base_data[1]
base_data[4]=base_data[2]
$out[30]=false
Reset
Mordaza.
Inicializacin
variables
Bucle LOOP
$OUT[6] = true
NO
RUN?
$OUT[6]
Fin LINEA_1 $out[10]
Fin LINEA_2 $out[11]
Inicializo Variables saco
Inicializo bases
$out[25]=false
SI
Restos?
$OUT[25]
SI
Wait
3Seg
NO
Mantenimiento ()
SI registro_1=2
mantenim
iento?
SI
NO
Entrada
datos XBT
DATO_1
DATO_4
Liberacin
registro_1
Proyecto
Dpto.Robtica
Zona_1/11/111 ()
SI
Permiso
ZONA_1?
END
NO
Zona_2/22/222 ()
SI
Permiso
ZONA_2?
END
NO
home ()
Home?
SI registro_1=1
Liberacin
registro_1
Entrada
datos XBT
DATO_1
DATO_4
NO
Salida
MOSAICO_3
/4/5 ?
NO
SI
ENDIF
ENDLOOP
Subprograma
Coi_sgrd ()
PTP HOME
NO
HOME?
SI
END
CELL.src
Proyecto
Documento
MOSAICO_4()
Zona_22 ()-> Paletizado en la lnea 2.
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
que siempre ser preciso sacarlo y generar un nuevo palet mediante los
procedimientos establecidos.
La entrada a HOME se realiza como ltimo proceso del bucle de ejecucin,
de manera que si al salir de HOME hemos cambiado la variable PROGRAM, no
coincidiendo con el programa en ejecucin actual, se saldr del bucle mediante la
funcin EXIT , no volviendo a paletizar en las zonas correspondientes al mosaico
actual. A parte de tener en cuenta el cambio de programa en la salida condicional
del bucle, se precisar que no entren sacos en los rodillos de alimentacin; es decir,
no tener permiso de carga.
Una finalizado el bucle, se vuelve a ejecutar una coincidencia de trayectoria,
de manera que cuando el robot ejecute los movimientos arriba y abajo del Home,
indicar al operario que este ha salido del programa actual y a entrado en el nuevo.
En este momento se admitir nuevamente la entrada de palets pero no tendremos
permiso de descarga hasta que el operario quite los palets finalizados con el
mosaico anterior.
Proyecto
Documento
MOSAICO_5 ()
DEF zona_1()
DEF zona_2()
Alt_incr_1=190
$OUT[30]=true
cerrar ()
subprograma
coger_1/2 ()
PTP encima del palet
NO
Saco_1/2?
1,11,21,31,41
SI
PTP P1
Abrir Dedos
Saco_1/2?
6,16,26,36,46
Posicin 1 Capa_1
NO
SI
Posicin 1 Capa_2
NO
PTP P6
Abrir Dedos
Saco_1/2?
2,12,22,32,42
SI
PTP P2
Abrir Dedos
Posicin 2 Capa_1
Proyecto
Documento
Saco_1/2?
7,17,27,37,47
NO
SI
Posicin 2 Capa_2
NO
PTP P7
Abrir Dedos
Saco_1/2?
3,13,23,33,43
SI
PTP P3
Abrir Dedos
Saco_1/2?
8,18,28,38,48
Posicin 3 Capa_1
NO
SI
Posicin 3 Capa_2
NO
PTP P8
Abrir Dedos
Saco_1/2?
4,14,24,34,44
SI
PTP P4
Abrir Dedos
Posicin 4 Capa_1
Proyecto
Dpto.Robtica
Saco_1/2?
9,19,29,39,49
NO
SI
Posicin 4 Capa_2
NO
PTP P9
Abrir Dedos
Saco_1/2?
5,15,25,35,45
SI
PTP P5
Abrir Dedos
Posicin 5 Capa_1
Base_data[3/4].z=base_data[3/4].z+alt_incr_1+altura_1
Saco_1/2?
10,20,30,40,50
NO
SI
Posicin 5 Capa_2
PTP P10
Abrir Dedos
Base_data[3/4].z=base_data[3/4].z+alt_incr_1+altura_1
NO
Saco_1/2 =
Sacos_1/2?
SI
Proyecto
Documento
Saco_1/2 =
Saco_1/2 + 1
Abrir Manos
Posicin de recogida
NO
Desdos abiertos?
Manos abiertas?
SI
$Timer_Stop[1]=true
$Timer[1]=0
$Timer_Stop[1]=false
END
$Timer[1]
>
4000?
SI
XBT
NO
MOSAICO_5 ()
Defecto
Mordaza
$OUT[12]
Rearme
Proyecto
Documento
5
2
Una vez posicionados los diez primeros sacos, el saco nmero once que
ocupar la posicin saco_1/2 = 11 corresponder con el saco n 1 de la altura 3,
y por lo tanto su punto de dejada ser el mismo que el punto PTP P1 de la altura
uno. Cada cinco sacos tendremos que incrementar el valor constante alt_incr_1,
esto ser como veremos, en los sacos mltiplos de 5; es decir saco_1/2=
5,10,15,20,25 y as hasta el final del palet. De esta manera vemos que los procesos
de zonas se componen de condiciones IF dependientes de la variable de posicin
saco_1 o saco_2 la cual se ir incrementando por cada saco dejado en el palet.
Proyecto
Documento
Una vez que el robot esta posicionado encima del palet con el saco entre sus
garras, se evala el valor de la variable saco_1/2, de manera que solamente se
ejecutar la condicin IF correspondiente a este valor. Para posicionar un saco el
robot ejecutar el punto PTP (referenciado a la base_data[3] en la lnea 1 o
base_data[4] en la lnea 2) para posicionarse justo encima de donde debe
soltarse el saco, seguidamente antes de abrir los dedos del robot se har un
movimiento relativo en Z de manera lineal a la posicin PTP anterior.
Soltado el saco en la posicin correspondiente, esperaremos el tiempo que
asegura la retirada del robot sin peligro de llevarse el saco que se encuentra en
cada. Si el saco depositado es un mltiplo de 5, se incrementar la base del palet,
con la constante de altura y el valor configurado a travs del XBT.
Despus de evaluadas las posiciones de saco, se comprobar si el palet esta
completo. Esto se hace mediante la igualdad saco_1/2 == sacos_1/2, de
manera que si el valor de la variable saco_1/2 coincide con el valor de sacos totales
a paletizar sacos_1/2 se generar la seal de final de palet y se iniciar la variable
saco_1/2 = 0. Se igualar Base_data[3] = base_data[1] o Base_data[4] =
base_data[2] de manera que el valor de Z que se ha ido incrementado adquiere
el valor de la variable Z de base_data[1] o base_data[2] , que no se modifica
en ningn momento y que guarda las coordenadas iniciales de base_data[3] y
base_data[4] respectivamente en el config.dat.
Por ltimo se incrementa el valor de saco_1/2, de esta manera en el caso
de que se finalice el palet, la variable saco_1/2 adquirir el valor mnimo de uno,
de manera que para el siguiente palet saco_1/2 = 1 y entrar en la posicin de
saco correspondiente.
Las siguientes acciones posicionar el robot nuevamente en la zona de
recogida de saco, esto se hace a la vez que se abren las manos en trayectoria
mediante la funcin SYN PULSE.
El proceso finalizar con el bucle de ejecucin para comprobar el estado de
reposo de la mordaza, y no se saldr de este bucle hasta que los dos detectores
magnticos envan las seales correspondientes para el reposo.
Proyecto
Documento
DEF zona_11/22()
Alt_incr_1=200
$OUT[30]=true
cerrar ()
subprograma
coger_1/2 ()
PTP encima del palet
NO
Saco_1/2?
1,9,17,25,33
SI
PTP P1
Abrir Dedos
Saco_1/2?
5,13,21,29,37
Posicin 1 Capa_1
NO
SI
Posicin 1 Capa_2
NO
PTP P5
Abrir Dedos
Saco_1/2?
3,11,19,27,35
SI
PTP P2
Abrir Dedos
Posicin 2 Capa_1
Proyecto
Documento
Saco_1/2?
7,15,23,31,39
NO
SI
Posicin 2 Capa_2
NO
PTP P6
Abrir Dedos
Saco_1/2?
2,10,18,26,34
SI
PTP P3
Abrir Dedos
Saco_1/2?
6,14,22,30,38
Posicin 3 Capa_1
NO
SI
Posicin 3 Capa_2
NO
PTP P7
Abrir Dedos
Saco_1/2?
4,12,20,28,36
SI
PTP P4
Abrir Dedos
Posicin 4 Capa_1
Base_data[3/4].z=base_data[3/4].z+alt_incr_1+altura_1
Proyecto
Dpto.Robtica
Saco_1/2?
8,16,24,32,40
NO
SI
PTP P8
Abrir Dedos
Posicin 4 Capa_2
Base_data[3/4].z=base_data[3/4].z+alt_incr_1+altura_1
NO
Saco_1/2 =
Sacos_1/2?
SI
Saco_1/2 =
Saco_1/2 + 1
Abrir Manos
Posicin de recogida
NO
Desdos abiertos?
Manos abiertas?
$Timer_Stop[1]=false
SI
SI
$Timer_Stop[1]=true
$Timer[1]=0
MOSAICO_4 ()
NO
END
XBT
$Timer[1]
>
4000?
Defecto
Mordaza
$OUT[12]
Proyecto
Documento
MOSAICO_3 ()
DEF zona_111()
DEF zona_222()
Alt_incr_1=165
$OUT[30]=true
cerrar ()
subprograma
coger_1/2 ()
PTP encima del palet
NO
Saco_1/2?
1,13,25
SI
PTP P1
Abrir Dedos
Saco_1/2?
4,16,28
Posicin 1 Capa_1
NO
SI
Posicin 1 Capa_2
NO
PTP P4
Abrir Dedos
Saco_1/2?
7,19,31
SI
PTP P7
Abrir Dedos
Posicin 1 Capa_3
Proyecto
Documento
Saco_1/2?
10,22,34
NO
SI
Posicin 1 Capa_4
NO
PTP P10
Abrir Dedos
Saco_1/2?
2,14,26
SI
PTP P2
Abrir Dedos
Saco_1/?
5,17,29
Posicin 2 Capa_1
NO
SI
Posicin 2 Capa_2
NO
PTP P5
Abrir Dedos
Saco_1/?
8,20,32
SI
PTP P2
Abrir Dedos
Posicin 2 Capa_3
Proyecto
Dpto.Robtica
Saco_1/2?
11,23,35
NO
SI
Posicin 2 Capa_4
NO
PTP P5
Abrir Dedos
Saco_1/2?
3,15,27
SI
PTP P3
Abrir Dedos
Posicin 3 Capa_1
Base_data[3/4].z=base_data[3/4].z+alt_incr_1+altura_1
Saco_1/2?
6,18,30
NO
SI
Posicin 3 Capa_2
PTP P6
Abrir Dedos
Base_data[3/4].z=base_data[3/4].z+alt_incr_1+altura_1
NO
Saco_1/2?
9,21,33
SI
Proyecto
Dpto.Robtica
PTP P3
Abrir Dedos
Posicin 3 Capa_3
Base_data[3/4].z=base_data[3/4].z+alt_incr_1+altura_1
Saco_1/2?
12,24,36
NO
SI
Posicin 3 Capa_4
PTP P6
Abrir Dedos
Base_data[3/4].z=base_data[3/4].z+alt_incr_1+altura_1
NO
Saco_1/2 =
Sacos_1/2?
SI
Saco_1/2 =
Saco_1/2 + 1
Abrir Manos
Posicin de recogida
Proyecto
Documento
NO
Desdos abiertos?
Manos abiertas?
SI
$Timer_Stop[1]=true
$Timer[1]=0
$Timer_Stop[1]=false
END
$Timer[1]
>
4000?
SI
XBT
NO
MOSAICO_3 ()
Defecto
Mordaza
$OUT[12]
Proyecto
Documento
Coger_1.src / Coger_2.src
DEF coger_1()
DEF coger_2()
PTP P5
PTP P6 recogida
Subprograma
cerrar()
Pulse ($OUT[18],true,2)
Pulse ($OUT[20],true,2)
Wait
0.6 seg
SI
Zona_1/2 ()
Zona_11/22()
Zona_111/222 ()
PTP P5
PTP P8
PTP P9
PUNTO ENCIMA DEL PALET
END
Proyecto
6.3
Documento
Proyecto
Documento
1.
2.
3.
4.
Proyecto
Documento
%I3.1-> Di_presencia_rodillo.
%I3.2-> Di_paro_saturacion.
Proyecto
Documento
El PLC es informado del estado dentro de HOME del robot, mediante %I3.3.
Esta seal ser usada por el PLC nica y exclusivamente para enviar el valor de
programa marcado desde el terminal XBT a travs de los bits PGNO_BIT para el
cambio de mosaico. Ser la condicin necesaria para igualar las palabras de estado
%MW1 y %MW18 cada vez que enviemos el dato de programa desde el XBT la
cual activar la variable %MW20:X0.
%I5.9-> Di_palet_terminado_l1.
%I5.10-> Di_palet_terminado_l2.
Proyecto
Documento
%I5.11-> Di_defecto_mordaza.
Seal activada por el KRC, para indicar el defecto de reposo de la mordaza.
Proyecto
Documento
Robot_auto_exter
General
NO
Seguridades %M0?
Marcha %M1?
SI
%M5?
RESET
Drives_ON (%Q6.8)
Drives_OFF (%Q6.9)
Marcha Robot (%M4)
NO
Drives_Off = 1
SI
%TM25>800
Pery_rdy?
%I5.0
RESET
Conf_Mess (%Q6.7)
Ext_Start (%Q6.5)
Pgno_Parity (%Q6.3)
Pgno_Valid (%Q6.4)
Pulse Drives_On
%TM26
%M4?
NO
Proyecto
Documento
SI
SI
Segd. %I1.4?
Alarm_Stop?
%M4?
Habt.Movimiento %Q6.6
Move Enable
NO
Stop_Mess?
%I5.2
SI
SI
Segd. %I1.4?
Alarm_Stop?
%M4?
Pulse %TM27
Conf_Mess %Q6.7
Pulse %TM28
EXT_STAR %Q6.5
NO
Pro_act%I5.3
Pno_req%I54
SI
SI
Segd. %I1.4?
Alarm_Stop?
%M4?
Peticin de Programa
%M6
NO
%TM29>
20
NO
SI
Segd. %I1.4?
Alarm_Stop?
%M4?
Pulse %TM29
pgno_parity %Q6.3
Pulse %TM30
pgno_valid %Q6.3
NO
%TM31>30
Pgno_req = 0
SI
RESET
Pgno_parity (%Q6.3)
Pno_valid (%Q6.4)
Proyecto
Documento
Para la activacin y rearme del robot (%M5) tendrn que cumplirse las
siguientes condiciones:
1. %I5.6->alarm_stop-> No deben existir eventos de alarmas ni mensajes
por confirmar en el KRC.
Proyecto
Documento
Proyecto
Documento
Representan las seales a 24V para activar los contactores de potencia que
alimentarn los motores de cinta de saturacin y rodillos de alimentacin
correspondientemente.
Proyecto
Documento
Proyecto
Documento
Existe una seguridad de saturacin que para la lnea de entrada del cliente
antes del vuelca sacos, para evitar el atascamiento del mismo. La situacin se
produce cuando habiendo un saco en los rodillos de alimentacin se produce una
presencia de saco antes del vuelca sacos, contando con que puede existir un saco
en la cinta de saturacin, no se debera de accionar el vuelca sacos ya que la cinta
de saturacin estara parada y el saco se podra quedar atascado. De esta manera a
travs de esta seal se activar un rel con contacto libre de potencial por el cual
se lleva la alimentacin al contactor de la cinta de entrada, provocando as su paro
hasta que el robot recoja el saco correspondiente dejando libre la presencia.
En la imagen adjunta se observa que si detectamos presencia con el saco 1
habiendo un saco 3 en los rodillos de alimentacin, la cinta de entrada tendra que
pararse puesto que el saco 2 har detenerse la cinta de saturacin y el saco 1
podra quedarse atascado si actuase el vuelca sacos.
Proyecto
Documento
SACO 1
Paro_Cinta L1
SACO 2
SACO 3
Proyecto
Documento
%Q4.0-> Do_permiso_descarga_l1.
%Q4.1-> Do_permiso_descarga_l2.
%Q4.2-> ser enviada por el PLC haca el robot para indicar que se quiere
enviar algn dato procesado desde el terminal XBT n de programa, alturas, etc.
Proyecto
Documento
Cada vez que se procesa una orden desde el Terminal XBT se activa la
marca de memoria (%M11), esto ser si ejecutamos algn movimiento manual a
travs de los bits de la palabra %MW20 o si la variable %MW31 que captura el
valor de la orden a travs de los bits de la palabra %MW21 es distinto de cero.
En nuestro caso las nicas rdenes que procesamos desde el XBT son las
siguientes:
%MW20:X0
%MW20:X1
%MW20:X2
%MW20:X6
->
->
->
->
%MW31
Proyecto
Documento
Una vez que la palabra %MW31 es cargado con algn valor, y a la vez que
se activa %M11. se activa mediante un pulso de seal la salida %Q4.2, este pulso
ser de una duracin de 1 segundo a travs de %TM7 suficiente para que el KRC
realice la lectura. Mientras se enva el dato %M11 volver a desactivarse mientras
que %M12 permanecer desactivada puesto que en esta instalacin las rdenes
procesadas desde el XBT en la lnea 1 sern las mismas que en la lnea2.
Proyecto
Documento
Proyecto
Documento
Por ltimo, las salidas %Q4.2, %Q4.3, %Q4.4, %Q4.5, %Q4.6, %Q4.7
y %Q4.8 (DATO_1), %Q4.9 (DATO_1), %Q4.10 (DATO_1), %Q4.11
(DATO_1), y %MW31 = 0 sern reseteadas en el momento que %M11 caiga a
nivel bajo nuevamente.
Estos bits que en el programa del robot forman una seal a travs de
variables declaradas en el archivo $Config.dat, se pondrn en estado 1 o 0
dependiendo de las variables anteriores; es decir, si se van a enviar datos se
enviar el valor en binario del nmero de capas o el incremento de alturas, y si se
van a ejecutar ordenes se enviarn en binario los valores de la variable registro_1
declarada en el robot y la cual usamos para entrar en home(), Mantenimiento ()
o provocar la liberacin.
Proyecto
Documento
Proyecto
Documento
%MW3 > 0.
%Q4.8 = %MW3:X0
%Q4.9 = %MW3:X1
%Q4.10 = %MW3:X3
%MW3 < 0.
%Q4.8 = %MW0:X0
%Q4.9 = %MW0:X1
%Q4.10 = %MW0:X3
Proyecto
Documento
Como ltimo caso nos queda el cambio de la variable registro_1 del robot
cuando lo que transmitimos es un tipo de orden. Las seales de salidas
adquirirn los siguientes valores:
%Q4.10->DATO_3
%Q4.9->DATO_2
%Q4.8->DATO_1
Registro_1 = 1
HOME
false
false
false
true
Registro_1 = 2
MANTENIMIENTO
false
false
true
false
Registro_1 = 3
LIBERACION
false
false
true
true
Proyecto
Documento
CONCLUSIONES.
OPTIMIZACION DE UNA INDUSTRIA ALIMENTARIA
Proyecto
Documento
DESARROLLO SOFTWARE.
El software de KUKA (Vx-Works); a pesar se poseer una sintaxis propia, es
muy familiar, pues la lgica de programacin es parecida a otros lenguajes
existentes, y son pocos los conocimientos necesarios para su entendimiento.
Bsicamente existen dos partes bien diferenciadas a la hora de desarrollar un
programa en (Vx-Works).
1. Programacin lgica. Se programan todas las condiciones, bucles y
activacin de las salidas fsicas, etc.
2. Programacin de trayectorias. Intercaladas en la parte lgica del
programa, se detallan todos los puntos con sus velocidades y
Proyecto
Documento
Proyecto
Documento
DEF SPS ( )
LOOP
;Make your modifications here
;======================CONTADORES A CERO=======================
if $out[10]==true then
saco_1=1
base_data[3]=base_data[1]
endif
if $out[11]==true then
saco_2=1
base_data[4]=base_data[2]
endif
;=====================SIMULTANEIDAD DE LINEA====================
if (($in[13]==true) and ($in[14]==false) and ($out[30]==true)) then
$out[30]=false
endif
if (($in[13]==false) and ($in[14]==true) and ($out[30]==false)) then
$out[30]=true
endif
;===================CAPTURA DE DATOS BINARIOS===================
;;;;;;;;;;;;;;;;;;;;Capas
if (($in[15]==true) and ($in[17]==false) and ($in[18]==true) and ($in[19]==false) and
($in[20]==false)) then
reg_capas_1=registro_1
endif
;;;;;;;;;;;;;;;;;;;;Incrementos
if (($in[15]==true) and ($in[17]==false) and ($in[18]==false) and ($in[19]==false) and
($in[20]==true)) then
if $in[24]==false then
reg_alt_incr_1=registro_2
altura_1=reg_alt_incr_1*5
endif
if $in[24]==true then
reg_alt_incr_1=0-registro_2
altura_1=reg_alt_incr_1*5
endif
endif
;=============================RESTOS==========================
if $in[25]==true then
$out[25]=true
endif
;=======================Paro temporizador======================
if $in[7]==false then
$timer_stop[1]=true
endif
;ENDFOLD (USER PLC)
ENDLOOP
;FOLD ;%{H}
;FOLD
END
Documento: Instalacin de Robot Paletizado
Proyecto
Documento
9.1
CELL.SRC
DEF CELL ( )
EXT mosaico_5 ( )
EXT mosaico_4 ( )
EXT mosaico_3 ( )
EXT home ( )
;FOLD INIT
DECL CHAR DMY[3]
DMY[]="---"
;ENDFOLD (INIT)
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
home ()
;FOLD CHECK HOME
$H_POS=XHOME
IF CHECK_HOME==TRUE THEN
P00 (#CHK_HOME,#PGNO_GET,DMY[],0 ) ;Testing Home-Position
ENDIF
;ENDFOLD (CHECK HOME)
;FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P
1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
$H_POS=XHOME
PDAT_ACT=PDEFAULT
BAS (#PTP_DAT )
FDAT_ACT=FHOME
BAS (#FRAMES )
BAS (#VEL_PTP,100 )
PTP XHOME
;ENDFOLD
;FOLD AUTOEXT INI
P00 (#INIT_EXT,#PGNO_GET,DMY[],0 ) ; Initialize extern mode
;ENDFOLD (AUTOEXT INI)
LOOP
P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
SWITCH PGNO ; Select with Programnumber
CASE 1
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
mosaico_5 ( ) ; Call User-Program
CASE 2
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
mosaico_4 ( ) ; Call User-Program
CASE 3
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
mosaico_3 ( ) ; Call User-Program
;DEFAULT
;P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
ENDSWITCH
ENDLOOP
END
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
ENTRADAS
DI1-1
DI1-2
DI1-3
DI1-4
DI1-5
DI1-6
DI1-7
DI1-8
->
->
->
->
->
->
->
->
PGNO_BIT_1
PGNO_BIT_2
PGNO_BIT_3
PGNO/PARITY
PGNO_VALID
EXT_ESTART
MOVE_ENABLE
CONF_MESS
DI2-1
DI2-2
DI2-3
DI2-4
DI2-5
DI2-6
DI2-7
DI2-8
->
->
->
->
->
->
->
->
DI3-1
DI3-2
DI3-3
DI3-4
DI3-5
DI3-6
DI3-7
DI3-8
->
->
->
->
->
->
->
->
DI4-1
DI4-2
DI4-3
DI4-4
DI4-5
DI4-6
DI4-7
DI4-8
->
->
->
->
->
->
->
->
SALIDAS
Restos
RESERVA
Manos_abiertas
Dedos_abiertos
RESERVA
RESERVA
RESERVA
RESERVA
DO1-1
DO1-2
DO1-3
DO1-4
DO1-5
DO1-6
DO1-7
DO1-8
->
->
->
->
->
->
->
->
PERY_RDY
I_O_ACTCONF
STOP_MESS
PRO_ACT
PGNO_REQ
APPL_RUN
ALARM_STOP
MODO_T1
DRIVES_ON
DRIVES_OFF
Permiso_Carga_L1
Permiso_Carga_L2 (opcional)
Permiso_Descarga_L1
Permiso_Descarga_L2
Carga_Datos_L1
Carga_Datos_L2
DO2-1
DO2-2
DO2-3
DO2-4
DO2-5
DO2-6
DO2-7
DO2-8
->
->
->
->
->
->
->
->
MODO_EXTERN
Fin_Palet_L1
Fin_Palet_L2
Defecto_Mordaza
DEFECTO_2
DEFECTO_3
DEFECTO_4
RESERVA
DO3-1
DO3-1
DO3-1
DO3-1
DO3-1
DO3-1
DO3-1
DO3-1
->
->
->
->
->
->
->
->
Abrir_Manos
Cerrar_Manos
Abrir_Dedos
Cerrar_Dedos
Dentro_HOME
RESERVA
RESERVA
RESERVA
Proyecto
Documento
Bit(s) Internos(s)
VARIABLE
SIMBOLO
%M0
Seguridades_activadas
%M1
Instalacion_en_marcha
%M4
Marcha_robot
%M5
Rearme_robot
%M6
Peticin_programa
%M7
Sigue_peticion
%M8
Filtrado_cel_recogida
%M9
Filtrado_cel_rodillo
%M10
Sigue_camino_recogida
%M11
Se_va_a_enviar_dato_l1_a_robot
%M12
Se_va_a_enviar_dato_l2_a_robot
%M40
Aux_camino_recogida_saco_l1
%M42
Aux_permiso_dejar_saco_l1
%M43
Aux_permiso_dejar_saco_l2
%M50
Marca_reset_contadores
11.1.2
COMENTARIO
Palabra(s) Internas(s).
VARIABLE
SIMBOLO
COMENTARIO
%MW0
Inc_capas_por_menos_1
%MW1
Mag_mosaico
Mosaico lineas
%MW2
Mag_capas
Capas lineas
%MW3
Mag_inc_capas
%MW4
Inc_capas_l2_por_menos_1
%MW5
Mag_mosaico_l2
%MW6
Mag_capas_l2
%MW7
Mag_inc_capas_l2
%MW8
Sacos_totales
%MW9
Palet_totales
%MW15
Mag_automatico_man
%MW15:X0
Robot_automtico_externo
%MW18
Programa_magelis
Proyecto
Documento
%MW18:X0
Programa_magelis_bit_1
%MW18:X1
Programa_magelis_bit_2
%MW18:X2
Programa_magelis_bit_3
%MW20
%MW20:X0
Mag_cambiar_tipo_mosaico
%MW20:X1
Mag_cambiar_capas
%MW20:X2
Mag_incrementar_alturas
%MW20:X3
Mag_cambiar_tipo_mosaico_l2
%MW20:X4
Mag_cambiar_capas_l2
%MW20:X5
Mag_incrementar_alturas_l2
%MW20:X6
Mag_reset_contadores
%MW21
%MW21:X0
Mag_robot_home
%MW21:X1
Mag_robot_mantenimiento
%MW21:X2
Mag_robot_liberacin
%MW21:X3
Mag_robot_orden4
%MW21:X4
Mag_robot_orden5
%MW21:X5
Mag_robot_orden6
%MW21:X6
Mag_robot_orden7
%MW21:X7
Mag_robot_orden8
%MW21:X8
Mag_robot_orden9
%MW21:X9
Mag_robot_orden10
%MW21:X10
Mag_robot_orden11
%MW21:X11
Mag_robot_orden12
%MW21:X12
Mag_robot_orden13
%MW21:X13
Mag_robot_orden14
%MW22
%MW22:X0
Mag_manual_cinta_entrada
%MW22:X2
Mag_manual_mesa_recogida
%MW22:X3
Mag_manual_bajar_rodillo
%MW31
Orden_a_enviar_al_robot
%MW118
Robot_defectos
%MW118:X0
Robot_en_marcha
%MW118:X1
Interface_preparada
%MW118:X2
Accionamientos_preparados
%MW119
Periferia_defectos
%MW119:X0
Defecto_trmico_motores
%MW119:X1
Defecto_seguridades
%MW119:X2
Defecto_presin_aire
%MW119:X3
Defecto_mordaza
Proyecto
11.1.3
VARIABLE
Documento
Temporizador(es).
SIMBOLO
%TM0
PRESET
MODO
TB
REG
SI
15
TON
10 ms
%TM1
T_filtrado_bajar_rodillo
15
TON
10 ms
SI
%TM2
T_filtrado_cel_recogida
15
TON
10 ms
SI
%TM3
T_espera_dato_robot_l1
20
TON
10 ms
SI
%TM4
T_espera_dato_robot_l2
20
TON
10 ms
SI
%TM5
T_envio_dato_robot_l1
15
TON
100 ms
SI
%TM6
T_envio_dato_robot_l2
15
TON
100 ms
SI
%TM7
T_seal_mantenida_l1
10
TP
100 ms
SI
%TM8
T_seal_mantenida_l2
10
TP
100 ms
SI
%TM25
T_activar_drives_on
TON
100 ms
SI
%TM26
T_pulso_drives_on
TON
10 ms
SI
%TM27
T_conf_mess
TON
10 ms
SI
%TM28
T_pro_act
TON
10 ms
SI
%TM29
T_peticion_programa
TON
10 ms
SI
%TM30
T_pgno_valid
TON
10 ms
SI
%TM31
T_desactivacion
TON
10 ms
SI
%TM32
T_alarma_ioact
10
TON
1s
SI
%TM34
T_paro_l1
15
TON
100 ms
SI
%TM63
T_camino_recogida_saco
10
TON
1s
SI
11.1.4
VARIABLE
Mdulo de entradas_1.
SIMBOLO
COMENTARIO
%I1.0
Di_boton_paro
%I1.1
Di_boton_marcha
%I1.2
Reserva
%I1.3
Di_boton_reset_alarmas
%I1.4
Di_seguridades
%I1.5
Di_presion_aire
%I1.6
Di_serie_termicos
%I1.9
Di_presencia_palet_lleno_l1
%I1.10
Di_presencia_palet_lleno_l2
%I1.11
Di_celula_recogida_saco
%I1.12
Di_entrada_saco_saturacion
%I1.13
Di_robot_no_actua_l1
%I1.14
Di_robot_no_actua_l2
%I1.15
Di_boton_palet_nuvo_l1
Proyecto
11.1.5
VARIABLE
Documento
Mdulo de entradas_3.
SIMBOLO
COMENTARIO
%I3.0
Di_boton_palet_nuevo_l2
%I3.1
Di_presencia_rodillo
%I3.2
Di_paro_saturacion
%I3.3
Dr_dentro_de_home
11.1.6
Mdulo de entradas_5.
VARIABLE
SIMBOLO
COMENTARIO
%I5.0
Di_r_peri_rdy
%I5.1
Di_r_i_o_actconf
%I5.2
Di_r_stop_mess
%I5.3
Di_r_pro_act
%I5.4
Di_r_pgno_req
%I5.5
Di_r_appl_run
%I5.6
Di_r_alarm_sto
%I5.7
Di_r_modo_t1_manual
%I5.8
Di_r_modo_aut_externo
%I5.9
Di_palet_terminado_l1
%I5.10
Di_palet_terminado_l2
%I5.11
Di_defecto_mordaza
11.1.7
Mdulo de salidas_2.
VARIABLE
SIMBOLO
COMENTARIO
%Q2.0
Do_cinta_entrada_saco_l1
%Q2.1
Do_camino_recogida_saco_l1
%Q2.2
Do_paro_l1
Paro lnea 1
%Q2.3
Do_robot_en_marcha
Robot en marcha
%Q2.4
Do_bajar_rodillo
Proyecto
11.1.8
Documento
Mdulo de salidas_4.
VARIABLE
SIMBOLO
COMENTARIO
%Q4.0
Do_permiso_descarga_l1
%Q4.1
Do_permiso_descarga_l2
%Q4.2
Do_robot_carga_datos
%Q4.3
Do_robot_carga_datos_l2
%Q4.4
Do_robot_carga_datos_mosaico
%Q4.5
Do_robot_carga_datos_capas
%Q4.6
Do_robot_carga_datos_ordenes
%Q4.7
Do_robot_carga_datos_incremento
%Q4.8
Do_robot_dato1
ROBOT: Dato 1
%Q4.9
Do_robot_dato2
ROBOT: Dato 2
%Q4.10
Do_robot_dato3
ROBOT: Dato 3
%Q4.11
Do_robot_dato4
ROBOT: Dato 4
11.1.9
VARIABLE
Mdulo de salidas_6.
SIMBOLO
COMENTARIO
Bit 1 del cdigo binario para determinar el
programa
Bit 2 del cdigo binario para determinar el
programa
Bit 3 del cdigo binario para determinar el
programa
%Q6.0
Do_r_pgno_bit_1
%Q6.1
Do_r_pgno_bit_2
%Q6.2
Do_r_pgno_bit_3
%Q6.3
Do_r_pgno_pgno_parity
%Q6.4
Do_r_pgno_valid
%Q6.5
Do_r_ext_start
%Q6.6
Do_r_move_enable
%Q6.7
Do_r_conf_mess
%Q6.8
Do_r_drives_on
%Q6.9
Do_r_drives_off
%Q6.10
Do_r_permiso_carga
Proyecto
Documento
LD_Mast_General.
Proyecto
11.2.2
Documento
LD_Mast_Robot_Auto_Extern.
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
11.2.3
Documento
LD_Mast_Recogida_De_Saco.
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
11.2.4
Documento
LD_Mast_Saturacin.
Proyecto
11.2.5
Documento
LD_Mast_Permisos.
Proyecto
Documento
Proyecto
11.2.6
Documento
LD_Mast_Com_Robot.
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
Proyecto
11.2.7
Documento
LD_Mast_Alarmas.
Proyecto
Documento
Proyecto
Documento
Proyecto
11.2.8
Documento
LD_Mast_Produccin.
Proyecto
Documento
zona_222 ()
zona_111 ()
coi_sgrd ()
mantenimiento ()
home ()
DEF mosaico_3()
zona_222()
zona_111()
INI
;Make your modifications here
= DEF mosaico_4 ()
= zona_22 ()
= zona_11 ()
= DEF mosaico_5 ()
= zona_2 ()
= zona_1 ()
Mosaico_4() y
Mosaico_5() sera
igual pero cambiando
las variables.
;======================PUNTOS DE SEGURIDAD=======================
coi_sgrd ()
$out[21]=false
;======================Reset de mordaza=========================
pulse ($out[17],true,2)
pulse ($out[19],true,2)
$timer[1]=0
saco_1=1
saco_2=1
base_data[3]=base_data[1]
base_data[4]=base_data[2]
$out[30]=false
;============PROGRAMA CICLICO DEPENDIENDO DE SELECION============
loop
continue
if (($out[6]==false) and ($in[7]==true) and ($out[9]==true)) then
$out[6]=true
endif
;=========================RESTOS==============================
continue
if $out[25]==true then
wait sec 1
pulse ($out[10],true,2)
pulse ($out[11],true,2)
saco_1=1
saco_2=1
base_data[3]=base_data[1]
base_data[4]=base_data[2]
wait sec 3
$out[25]=false
endif
;=======================MANTENIMIENTO=========================
continue
if (($in[17]==false) and ($in[18]==false) and($in[19]==true) and ($in[20]==false) and
(registro_1==2)) then
mantenimiento()
endif
;=======================ZONA PALETIZADO 1=====================
continue
if $out[25]==false then
continue
if (($in[11]==true) and ($in[13]==true) and ($out[30]==false)) then
zona_111 ()
Documento: Instalacin de Robot Paletizado
Proyecto
Documento
endif
endif
;=======================ZONA PALETIZADO 2=====================
continue
if $out[25]==false then
continue
if (($in[11]==true) and ($in[14]==true) and ($out[30]==true)) then
zona_222 ()
endif
endif
;===========================HOME=============================
=
continue
if (($in[17]==false) and ($in[18]==false) and($in[19]==true) and ($in[20]==false) and
(registro_1==1) and (saco_1<2) and (saco_2<2)) then
home ()
endif
;=====================SALIDA CONDICIONAL======================
continue
if (((program==1) or (program==2)) and ($in[11]==false) and (saco_1<2) and (saco_2<2))
then
wait sec 1
exit
endif
MOSAICO_5 () -> if (((program==2) or (program==3))
MOSAICO_4 () -> if (((program==1) or (program==3))
endloop
wait sec 0
coi_sgrd ()
END
12.2 MANTENIMIENTO.src
DEF mantenimiento( )
INI
;Make your modifications here
coi_sgrd ()
PTP P1 CONT Vel= 100 % PDAT1 Tool[1] Base[0
PTP P2 CONT Vel= 30 % PDAT2 Tool[1] Base[0
PTP P3 CONT Vel= 30 % PDAT3 Tool[1] Base[0
;punto de mantenimiento
PTP P4 CONT Vel= 30 % PDAT4 Tool[1] Base[0
;===================salida de mantenimiento====================
wait for (($in[17]==false) and ($in[18]==false) and ($in[19]==true) and ($in[20]==false)
and (registro_1==3))
PTP P5 CONT Vel= 30 % PDAT5 Tool[1] Base[0
coi_sgrd ()
END
Proyecto
Documento
12.3 HOME.src
DEF home( )
coi_sgrd ()
;marca para saber que estamos dentro del Home y cambiar de programa
$out[21]=true
wait for (($in[17]==false) and ($in[18]==false) and ($in[19]==true) and ($in[20]==false)
and (registro_1==3))
;======================CAMBIO DE MOSAICOS=======================
;Mosaico seleccionado
$out[21]=false
;=======================CAMBIO DE CAPAS=========================
capas_1=reg_capas_1
if program==1 then
sacos_1=capas_1*5
sacos_2=capas_1*5
endif
if program==2 then
sacos_1=capas_1*4
sacos_2=capas_1*4
endif
if program==3 then
sacos_1=capas_1*3
sacos_2=capas_1*3
endif
END
12.4 COI_SGRD.src
DEF coi_sgrd( )
INI
;Make your modifications here
Proyecto
Documento
endif
PTP HOME CONT Vel= 100 % PDAT19
;punto por encima de Home
PTP P4 CONT Vel= 100 % PDAT4 Tool[1] Base[0
;punto por debajo de Home
PTP P5 CONT Vel= 100 % PDAT5 Tool[1] Base[0
PTP HOME CONT Vel= 100 % PDAT18
END
alt_incr_1=190
$out[30]=true
coger_1 ( )
;;;;saco 1 capa 1;;;;;;;
Zona_1.src
= Zona_2.src
DEF zona_1()
= DEF zona_2 ().
Coger_1 ()
= Coger_2 ().
Saco_1
= saco_2.
Base_data[3] = base_data[1].
Base_data[4] = base_data[2].
Sacos_1
= Sacos_2.
pulse_out[10] = pulse_out[11].
PTP->Tool[1] Base[3] = PTP->Tol[1] Base[4]
Zona_2.src sera
igual que
Zona_1.src pero
cambiando las
variables.
Proyecto
Documento
Proyecto
Documento
;;;;;;;;;;;;;incremento saco;;;;;;;
saco_1=saco_1+1
ptp_rel{z 110}c_ptp
;;;;;;;;;;;;;;punto elevado encima de zona 2
SYN PULSE 17 'Abrir_Manos' State= TRUE Time= 0.5 sec at START Delay= 0 ms
PTP P16 CONT Vel= 100 % PDAT16 Tool[1] Base[0]
PTP P11 CONT Vel= 100 % PDAT1 Tool[1] Base[0]
PTP P24 CONT Vel= 100 % PDAT24 Tool[1] Base[0]
PTP P25 CONT Vel= 100 % PDAT25 Tool[1] Base[0]
;verificacion manos y dedos abiertos
continue
loop
continue
if (($in[27]==false) or ($in[28]==false)) then
$timer_stop[1]=false
endif
continue
if $timer[1]>=4000 then
wait sec 0
$timer_stop[1]=true
$timer[1]=0
pulse ($out[12],true,2)
endif
continue
if (($in[27]==true) and ($in[28]==true)) then
$timer_stop[1]=true
$timer[1]=0
exit
endif
endloop
END
alt_incr_1=200
$out[30]=true
coger_1 ( )
Zona_11.src
DEF zona_11()
Coger_1 ()
Saco_1
Base_data[3]
Base_data[4]
Sacos_1
pulse_out[10]
= Zona_22.src
= DEF zona_22 ().
= Coger_2 ().
= saco_2.
= base_data[1].
= base_data[2].
= Sacos_2.
= pulse_out[11].
Zona_22.src
sera igual que
Zona_11.src
pero cambiando
las variables.
Proyecto
Documento
pulse ($out[19],true,2)
wait sec 0.3
endif
;;;;;;;;;;;;saco 2 capa 1;;;;;;;;;;;;
if (saco_1==3) or (saco_1==11) or (saco_1==19) or (saco_1==27) or (saco_1==35) or
(saco_1==43) or (saco_1==51) or (saco_1==59) then
PTP P2 CONT Vel= 100 % PDAT2 Tool[1] Base[3]
ptp_rel {z -100} c_ptp
pulse ($out[19],true,2)
wait sec 0.3
endif
;;;;;;;;;;;;;saco 2 capa 2;;;;;;;;;;;;
if (saco_1==7) or (saco_1==15) or (saco_1==23) or (saco_1==31) or (saco_1==39) or
(saco_1==47)or (saco_1==55) then
PTP P6 CONT Vel= 100 % PDAT6 Tool[1] Base[3]
ptp_rel {z -100} c_ptp
pulse ($out[19],true,2)
wait sec 0.3
endif
;;;;;;;;;;;;;;saco 3 capa 1;;;;;;;;;;;
if (saco_1==2) or (saco_1==10) or (saco_1==18) or (saco_1==26) or (saco_1==34) or
(saco_1==42) or (saco_1==50) or (saco_1==58) then
PTP P3 CONT Vel= 100 % PDAT3 Tool[1] Base[3]
ptp_rel {z -120} c_ptp
pulse ($out[19],true,2)
wait sec 0.3
endif
;;;;;;;;;;;;;;saco 3 capa2;;;;;;;;;;;;
if (saco_1==6) or (saco_1==14) or (saco_1==22) or (saco_1==30) or (saco_1==38) or
(saco_1==46) or (saco_1==54) then
PTP P7 CONT Vel= 100 % PDAT7 Tool[1] Base[3]
ptp_rel {z -120} c_ptp
pulse ($out[19],true,2)
wait sec 0.3
endif
;;;;;;;;;;;;;;;saco 4 capa 1;;;;;;;;;;;
if (saco_1==4) or (saco_1==12) or (saco_1==20) or (saco_1==28) or (saco_1==36) or
(saco_1==44) or (saco_1==52) or (saco_1==60) then
PTP P4 CONT Vel= 100 % PDAT4 Tool[1] Base[3]
pulse ($out[19],true,2)
wait sec 0.3
base_data[3].z=base_data[3].z+alt_incr_1+altura_1
endif
;;;;;;;;;;;saco 4 capa 2;;;;;;;;;;;;
if (saco_1==8) or (saco_1==16) or (saco_1==24) or (saco_1==32) or (saco_1==40) or
(saco_1==48) or (saco_1==56) then
PTP P8 CONT Vel= 100 % PDAT8 Tool[1] Base[3]
pulse ($out[19],true,2)
wait sec 0.3
base_data[3].z=base_data[3].z+alt_incr_1+altura_1
endif
;;;;;;;;;;permiso para sacar palet;;;;;;;;;;;
wait sec 0
if (saco_1==sacos_1) then
Documento: Instalacin de Robot Paletizado
Proyecto
Documento
pulse ($out[10],true,2)
saco_1=0
base_data[3]=base_data[3]
wait sec 0.5
endif
;;;;;;;;;;;;;incremento saco;;;;;;;
saco_1=saco_1+1
ptp_rel{z 110}c_ptp
;;;;;;;;;;;;;;punto elevado encima de zona 2
SYN PULSE 17 'Abrir_Manos' State= TRUE Time= 0.5 sec at START Delay= 0 ms
PTP P16 CONT Vel= 100 % PDAT16 Tool[1] Base[0]
PTP P11 CONT Vel= 100 % PDAT1 Tool[1] Base[0]
PTP P24 CONT Vel= 100 % PDAT24 Tool[1] Base[0]
PTP P25 CONT Vel= 100 % PDAT25 Tool[1] Base[0]
;verificacion manos y dedos abiertos
continue
loop
continue
if (($in[27]==false) or ($in[28]==false)) then
$timer_stop[1]=false
endif
continue
if $timer[1]>=4000 then
wait sec 0
$timer_stop[1]=true
$timer[1]=0
pulse ($out[12],true,2)
endif
continue
if (($in[27]==true) and ($in[28]==true)) then
$timer_stop[1]=true
$timer[1]=0
exit
endif
endloop
END
alt_incr_1=165
$out[30]=true
coger_1 ( )
;;;;saco 1 capa 1;;;;;;;;;;;;;;;;;;;;
Zona_112.src
DEF zona_111()
Coger_1 ()
Saco_1
Base_data[3]
Base_data[4]
Sacos_1
pulse_out[10]
= Zona_222.src
= DEF zona_222 ().
= Coger_2 ().
= saco_2.
= base_data[1].
= base_data[2].
= Sacos_2.
= pulse_out[11].
Zona_222.src
sera igual que
Zona_111.src
pero cambiando
las variables.
Proyecto
Documento
Proyecto
Documento
Proyecto
Documento
wait sec 0
$timer_stop[1]=true
$timer[1]=0
pulse ($out[12],true,2)
endif
continue
if (($in[27]==true) and ($in[28]==true)) then
$timer_stop[1]=true
$timer[1]=0
exit
endif
endloop
END
12.8 COGER_1.src
DEF coger_1( )
12.9 COGER_2.src
DEF coger_2( )
PTP
PTP
PTP
PTP
END
12.10
CERRAR.src
DEF cerrar( )
pulse ($out[18],true,2)
pulse ($out[20],true,2)
END