0% encontró este documento útil (0 votos)
861 vistas272 páginas

KUKA Programacion Avanzada

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
861 vistas272 páginas

KUKA Programacion Avanzada

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

_________________________

LIBRO DE

DOCUMENTACIÓN DE ROBOT

Para Software KUKA V5.x

PROGRAMACIÓN AVANZADA

Manual MP3 05.06.00 es


KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Copyright

© Copyright 2006

KUKA Roboter GmbH KUKA Sistemas de automatización S.A.


Zugspitzstraße 140 Pol. Ind. Torrent de la Pastera
D-86165 Augsburg 08800 Vilanova i la Geltrú

This documentation or excerpts therefrom may not be reproduced or disclosed to third parties without the express
permission of the publishers.
Other functions not described in this documentation may be operable in the controller. The user has no claims to these
functions, however, in the case of a replacement or service work.
We have checked the content of this documentation for conformity with the hardware and software described.
Nevertheless, discrepancies cannot be precluded, for which reason we are not able to guarantee total conformity. The
information in this documentation is checked on a regular basis, however, and necessary corrections will be
incorporated in subsequent editions.
Subject to technical alterations without an effect on the function.
KUKA Roboter GmbH accepts no liability whatsoever for any errors in technical information communicated orally or in
writing in the training courses or contained in the documentation. Nor will liability be accepted for any resultant damage
or consequential damage.

Responsible for this training documentation: College Development (WSC-IC)

Libro_programación_avanzado.doc 2
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

ÍNDICE

1. ESTRUCTURA DE PROGRAMACIÓN ...................................................... 5

1.1 Metodología de programación – conceptualización.................................. 5

1.2 Programación flowchart ............................................................................. 17

1.3 Metodología de programación – realización ............................................ 32

2. INFORMACIÓN GENERAL SOBRE EL NIVEL EXPERTO ..................... 56

2.1 Navegador ................................................................................................... 56

2.2 Fold - Concepto........................................................................................... 63

3. VARIABLES Y DECLARACIONES .......................................................... 68

3.1 Tipo de datos simple .................................................................................. 68

3.2 Monitorización de variables ....................................................................... 79

3.3 Arrays........................................................................................................... 85

3.4 Estructuras .................................................................................................. 96

3.5 Tipos de dato enumerales........................................................................ 101

4. SUBPROGRAMAS Y FUNCIONES ....................................................... 106

4.1 Definición de subprogramas ................................................................... 106

4.2 Transferencia de parámetros................................................................... 114

4.3 Función ...................................................................................................... 121

5. LISTA DE DATOS .................................................................................. 125

6. MANIPULACIÓN DE DATOS................................................................. 130

7. PROGRAMACIÓN DE MOVIMIENTO .................................................... 141

7.1 Sistemas de coordenadas........................................................................ 141

7.2 Movimiento axial – PTP ............................................................................ 146

7.3 Movimiento continuo en trayectoria – LIN y CIRC................................. 155

Libro_programación_avanzado.doc 3
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

7.4 Control de orientación.............................................................................. 162

7.5 Funcionamiento del advance................................................................... 171

7.6 Posición aproximada................................................................................ 178

7.7 Status y Turn ............................................................................................. 188

8. VARIABLES DE SISTEMA..................................................................... 195

9. CONTROL DE EJECUCIÓN DE PROGRAMA ...................................... 201

9.1 Instrucciones de salto y ramificaciones ................................................. 201

9.2 Bucles ........................................................................................................ 206

9.3 Funciones WAIT y HALT .......................................................................... 214

10. FUNCIÓN AUTOMÁTICO EXTERNO................................................. 218

10.1 Definición y secuencia ............................................................................. 218

10.2 Configuración de entradas ...................................................................... 240

10.3 Configuración de salidas ......................................................................... 256

11. INTERPRETADOR SUBMIT ............................................................... 266

Libro_programación_avanzado.doc 4
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

1. Estructura de programación
1.1 Metodología de programación – conceptualización

Libro_programación_avanzado.doc 5
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Metodología de programación-Objetivos

Objetivos de una metodología de programación


consistente:

¾ Una programación estructurada facilita la resolución de


problemas complejos imponiendo una estructura rígida,
mapa jerarquico de programa.

¾ Una programación estructurada es un método para la


creación de programas en los que el proceso que se
realiza es comprensible y transparente.

¾ El sentido de la programación estructurada no es limitar al


programador, sino incrementar la eficiencia a la hora de
realizar el mantenimiento del programa (modificación y
expansión).

01/2006 1
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 6
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Requisitos de un programa

Los programas deben ser:

¾ Eficientes

¾ Libres de errores

¾ Fáciles de entender

¾ Mantenimiento sencillo

¾ Claramente estructurados

¾ Económicos

¾ Cada una de estas características describe un


aspecto específico de la utilidad del programa.

01/2006 2
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 7
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diseño y planificación

Necesidades:

¾ Antes de planificar cómo proceder, es necesario


definir qué es lo que se pretende conseguir.

¾ Esto no incrementa el trabajo global de


programación, ya que el trabajo extra en la fase de
planificación está más que compensado con el
trabajo ahorrado en la fase de prueba.

01/2006 3
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 8
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Concepción y planificación – Especificación de requisitos

Espectativas del usuario como base de la planificación del


programa:
¾ Especificación de la oferta o
especificación de requisitos

• Qué hace el programa?

• Qué entradas requiere el programa?

• Qué salidas suministra el programa?

• Cómo debe manejarse el programa?

• Cómo reacciona el programa ante un fallo/mal funcionamiento?

01/2006 4
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 9
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Concepción y planificación – Especificación de requisitos

Definición:

Especificación de requisitos

Una especificación de requisitos es la


especificación organizativa y técnica
para la creación del programa.

01/2006 5
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 10
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Concepción y planificación – Especificación de requisitos

Ventajas de la especificación de requisitos:

¾Descripción de la aplicación

¾ Definición de entradas/salidas/parámetros y secuencia de programa

¾ Transparencia de las averías

¾ Fácil familiarización con el proyecto

01/2006 6
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 11
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diseño y planificación

Debe existir una descripción funcional exacta antes de iniciar la


programación. Debe ser clara y simple, pero exhaustiva. La descripción
funcional debe corresponderse con los requisitos. Constituye la base de
la planificación.

Esto es así porque:

¾ Las incertidumbres incrementan la posibilidad de error del


usuario/opertador.

¾ En todo momento, el programa debe hacer lo que el usuario


espera que haga – lo que parezca lógico y comprensible.

01/2006 7
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 12
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Metodología de planificación del programa

1. División de las tareas en módulos:

¾ La tarea principal se divide en


subtareas.

¾ Los componentes individuales pueden


ser desarrollados individualmente con
seguridad.

¾ Los componentes que realizan el mismo trabajo pueden


intercambiarse sin afectar a otras funciones.

01/2006 8
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 13
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Metodología de planificación del programa

2. Independencia de componentes:

¾ Empezando por las espectativas del usuario, el problema


se va refinando gradualmente hasta que los componentes
resultantes son suficientemente manejables como para
convertirlos a código KRL.

¾ Los proyectos desarrollados en los pasos posteriores


quedan solidamente detallados.

01/2006 9
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 14
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Repesentación de la planificación del programa

Representación gráfica del proceso:

¾ Uso del diagrama de flujo del programa (DIN 66001)

START

No No

Yes Yes

No

Yes

END

01/2006 10
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 15
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Representación de la planificación del programa - ventajas

Esto tiene las siguientes ventajas:

¾ La representación gráfica del algoritmo de un


programa es significativamente más legible que el
mismo algoritmo en un lenguaje de programación
secuencial ya que la estructura es mucho más fácil
de reconocer.
¾ Errores en la estructura (ej. if, while, for) serás
mucho más fáciles de evitar cuando se traduzca el
programa ya que ésta es directa en la mayoría de
los casos.

¾ El programa puede ser claramente documentado.

01/2006 11
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 16
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

1.2 Programación flowchart

Libro_programación_avanzado.doc 17
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo del programa – comparación con el lenguaje de programación

Ejemplo de diagrama de flujo de un programa:

Se requiere un algoritmo para calcular el maximo factor común de dos números a


y b. Esto se integra en una función ‘hcf’ con dos parametros a transferir (a and b).

Diagrama de flujo KRL Pascal

function hcf (a,b:integer);


function

while a<>b do

while
If a>b

then a:=a-b else b:=b-a;


if

hcf:=a;
a-b b-a

01/2006 2
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 18
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo del programa - símbolos

Símbols Instrucción Descripción


Instrucción general Las insgtrucciones se ejecutan
del código de secuencialmente Instrucción 1, Instrucción 2,
programa ..., Instrucción n.

01/2006 3
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 19
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo del programa - símbolos

Símbolos Instrucción Descripción


Instrucción Entrada Esta instrucción se utiliza para entradas/salidas
/salida y se trata como una instrucción normal.

01/2006 4
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 20
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbolos Instrucción Descripción


Instrucción IF (sin Si se cumple la condición lógica (verdadero),
Condition
ELSE) se ejecutan las instrucciones A, en caso
No
contrario no se ejecutan y se salta a la
Yes
siguiente instrucción.
Statement A

01/2006 5
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 21
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbolos Instrucción Descripción


Instrucción IF (con Si se cumple la condición lógica (verdadero),
Condition
ELSE) o ramificación se ejecutan las instrucciones A, sino se
No ejecutan las instrucciones B.
Yes

Statement A Statement B

01/2006 6
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 22
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbolo Instrucción Descripción


Ramificación Una ramificación / transferencia incondicional

01/2006 7
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 23
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbolos Instrucción Descripción


Terminal Inicio o fin del proceso o programa.
START

END

01/2006 8
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 24
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbols Instrucción Descripción


Líneas de flujo Instrucciones de enlace u operaciones.

01/2006 9
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 25
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbolos Instrucción Descripción


Búcle WHILE Las instrucciones se ejecutan mientras se
WHILE
cumpla la condición. Si no se cumple la
Condition ? condición cuando se inicia de nuevo el búcle,
se termina la ejecución del búcle y se ejecuta
Yes No la siguiene instrucción al mismo.

Statement

01/2006 10
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 26
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbolos Instrucción Descripción


Búcle REPEAT Las instrucciones se ejecutan hasta que se
cumpla la condición. Tan pronto se cumpla la
condición, se termina la ejecución dle búcle y
No
Statement se continúa con la siguiente instrucción al
búcle.
Las instrucciones se ejecutan por lo menos una
Repeat
Condition ?
vez.

Yes

01/2006 11
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 27
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbolos Instrucción Descripción


Búcle FOR Las instrucciones se ejecutan un número
For i = conocido de veces. La variable I empieza con
un valor inicial (“desde”) y se incrementa hasta
un valor final (“hasta”) con un incremento
Statement especificado (step”). Un búcle FOR cuenta
hasta que la variable de conteo excede o pasa
por debajo de un determinado valor.

01/2006 12
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 28
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

Símbolos Instrucciones Descripción


Llamadas a Una determinada secuencia de instrucciones
subprogramas es segregada de una parte del programa y se
implementa en un subprograma separado que
será llamado desde el programa principal.
Fetch ( )

01/2006 13
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 29
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

START

Boss No
Employee No
present tiered
Ejemplo de
diagrama de Yes Yes

flujo: un día Set alarm for Kill time


en la vida de 1 hour
un trabajador No Answer
question

Sleep until
Is it alarm rings
5 o’clock?

Yes

Go home

END
01/2006 14
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 30
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Diagrama de flujo de programa - Símbolos

START

Ejemplo de
Set alarm for next
diagrama de whole hour
flujo: un día
en la vida de
un trabajador No Read book
until alarm Go and eat
rings

Is it Yes
12 o'clock?

No

Is it
5 o'clock?

END

01/2006 15
program_flowchart_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 31
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

1.3 Metodología de programación – realización

Libro_programación_avanzado.doc 32
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Repesentación de la planificación del programa

¾ Este diagrama de flujo básico sirve, por un lado


como especificación del programa, y por otro
como documentación del programa.

¾ El autor del diagrama de flujo debería tener en


cuenta que la documentación suele se creada
para otros (cliente final) en vez de para su propio
uso.

01/2006 13
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 33
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Tranparencia:

¾ La legibilidad hace mucho más fácil localizar los


errores y evitarlos.

¾ La legibilidad hace más fácil entender los


programas y modificarlos.

¾ No es suficiente añadir comentarios. Deben tenerse en cuenta los


siguientes puntos.

01/2006 14
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 34
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Identificación de los datos:

¾ Deben utilizarse nombres con significado para los nombres de los


datos.

¾ Para la identificación precisa, debe utilizarse un prefijo (cuando


sea apropiado), ej. IN_IMM_READY.

01/2006 15
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 35
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa – Configuración de los nombres de datos

Identificación de los nombres de datos

1. Texto largo

Outputs

SYS Ausgänge

18 Output
19 Gripper open
20 Gripper close
21 Output

01/2006 16
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 36
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa – Configuración de los nombes de datos

Identificación de los nombres de los datos en el sistema:

2. Designación de BASE y TOOL

Designación de BASE Designación de TOOL

01/2006 17
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 37
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa – Configuración de los nombes de datos

Identificación de los nombres de los datos en el sistema:

2. Designación de BASE y TOOL

DEF AIR ( )
...
PTP HOME Vel= 100% DEFAULT

PTP P3 CONT Vel= 100% Tool[2]:Gripper Base[2]: table


PTP P4 CONT Vel= 100% Tool[2]:Gripper Base[2]: table
PTP xP5
...
END

01/2006 18
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 38
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa – Configuración de los nombes de datos

Identificación de los nombres de los datos en KRL:

3. Uso dde la declaración “signal“

DEF PART_1 ( )
; Inputs / Outputs
SIGNAL machine_OK $IN[32]
SIGNAL Programnumber $IN[33] to $IN[40]
SIGNAL cycle_start $OUT[88]

IF machine_OK==TRUE THEN
cycle_start = TRUE

ENDIF

END

01/2006 19
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 39
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Escalonado de las secuencias de programa:

¾ Con el fin de identificar las estructuras dentro de los


módulos de programa, es recomendable escalonar las
secuencias de comandos anidadas en el texto del
programa y escribir las instrucciones una debajo de la
otra a la misma profundidad del anillo.

¾ El efecto conseguido es puramente optico y sirve


únicamente para hacer más comprensible el
programa a la gente.

01/2006 20
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 40
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Indexación de la secuencia de comandos en KRL

DEF INDENTION ( )
INT pieza, contador
INI
PTP HOME Vel= 100% DEFAULT
LOOP
FOR contador = 1 TO 20
pieza = pieza + 1
; los formularios en línea no se pueden indexar !!!
PTP P3 CONT Vel= 100% Tool[2]:Greifer Base[2]: Tisch
PTP P4 CONT Vel= 100% Tool[2]:Greifer Base[2]: Tisch
PTP xP5
ENDFOR

ENDLOOP
END

01/2006 21
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 41
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Uso de comentarios:

¾ Los comentarios por sí solos no hacen más legible un


programa; pero incrementan la legibilidad de un
programa bien estructurado.

¾ Es responsabilidad del programador aegurar que el


contenido de los comentarios esten en consonacia
con las instrucciones del programa. Si se modifica un
programa, también deben revisarse los comentarios.

01/2006 22
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 42
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Uso de los comentarios en KRL:

Se pueden seleccionar los siguientes comandos de comentario:

File Program Configure Monitor Setup Commands Technology Help


0 Last command
1 Motion ?
2 Moveparams ?
3 Logic ?
4 Analog output ?
5 Comment ? 0 Normal
1 Stamp

Cualquier línea de texo

Línea de texo expandida

01/2006 23
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 43
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad de programa – Comentario: “NORMAL”

Se puede introducir cualquier línea de texto con el comando “NORMAL”:

; Cualquier texto

Cuadro de texto
Ejemplo:

...
INI
PTP HOME Vel= 100% DEFAULT
; Cualquier texto
PTP P1 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
...

Cuando se selecciona nuevamente el comando, la cadena


introducida previamente será presentada como texto por
defecto en el formulario en linea.
01/2006 24
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 44
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa – Comentario: “STAMP”

El nombre y el texto se pueden introducir libremente tras la


selección del comando “SELLO”:

; 01.01.05 10:15 NAME USUARIO CHANGES: Cualquier texto

Nombre Cuadro de texto


Ejemplo:

...
INI
PTP HOME Vel= 100% DEFAULT
; 01.01.05 10:15 NAME: User CHANGES: Any text
PTP P1 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
...

Mediante las Softkeys „New time“, „New name“ y „new text“


se puede seleccionar o actualizar el correspondiente cuadro.
01/2006 25
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 45
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa – Comentario: “NORMAL EXPERT”

Tras cambiar a modo Experto, el probramador puede converrtir cualquier


linea en un comentario escribiendo “;” como primer caracter (excepción:
formularios en línea).
DEF LIMPIEZA ( )
; **************************************
; *** AUTOR Don Nadie ***
; *** Último cambio 05/05/07 ***
; **************************************
INI
PTP HOME Vel= 100% DEFAULT

pieza = pieza + 1; Incrementa contador de piezas
; mover a purga
PTP P4 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
PTP xP5 ; Última posición de limpieza
También es posible añadir un comentario al final de una línea de comandos
usando “;”.
01/2006 26
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 46
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Uso de FOLDs:

¾ A diferencia de otros editores,el Editor KRC permite visualizar


el contenido del programa de distintas formas. El usuario sólo
ve el contenido importante del programa, mientras que en el
nivel experto se puede ver el programa completo.

¾ La interficie de usuario de KUKA utiliza las FOLDs para mostrar


el programa con claridad. Esto se hace incorporando las
declaraciones o instrucciones relevantes dentro de la
designación “;FOLD” y “;ENDFOLD”. Las FOLDs se muestran
por defecto con su contenido oculto. Las FOLDsse pueden abrir
o cerrar usando un menú.

01/2006 27
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 47
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Uso de FOLDs – cerradas:

DEF LIMPIEZA ( )
FOLD

USUARI
INI
O
IO_SETUP
PTP HOME Vel= 100% DEFAULT
… FOLD
PTP P21 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table KUKA
PTP HOME Vel= 100% DEFAULT
END

01/2006 28
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 48
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Uso de FOLD‘s – KUKA FOLD abrir

DEF LIMPIEZA ( )

INI
IO_SETUP
PTP HOME Vel= 100% DEFAULT
FOLD
$BWDSTART = FALSE
KUKA
PDAT_ACT=PDEFAULT
abierta
BAS(#PTP_DAT)
FDAT_ACT=FHOME
BAS(#FRAMES)
BAS(#VEL_PTP,100)
$H_POS=XHOME
PTP XHOME

PTP P21 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
PTP HOME Vel= 100% DEFAULT
END

01/2006 29
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 49
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Legibilidad del programa

Uso de FOLD‘s – USER FOLD abrir

DEF LIMPIEZA ( )
… FOLD
INI USUARIO
IO_SETUP abierta
$OUT[12]=TRUE ;cell OK
part = 0 ; counter reset
glue = FALSE ; glueing off
position = 0 ; position-counter reset
PTP HOME Vel= 100% DEFAULT

PTP P21 CONT Vel= 100% Tool[2]:Gripper Base[2]: Table
PTP HOME Vel= 100% DEFAULT
END

01/2006 30
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 50
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Conversión a estructuras de programa

¾ Como hemos visto, no se necesita mucho


para estructurar problemas. El problema
debe ser identificado y dividido en pasos.
Estos pasos pueden dividirse a su vez en
pasos más pequeños.

¾ Dependiendo de la naturaleza del problema, se requiere una de


las siguientes rutinas básicas: instrucciones condicionales
(ramificaciones), bucles y datos.

01/2006 31
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 51
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Conversión a estructura de programa – Instrucción condicional, elección

¾ Con instrucciones [ if (condición) ....; else; ...endif ], es posible


establecer la condición necesaria para continuar con la ejecución
del programa. Estas instrucciones condicionales tambi´´en se
llaman selecciones, ramificaciones o instrucciones IF.

Sintaxis: Sintaxis:
IF ... THEN SWITCH
ELSE CASE
ENDIF ENDSWITCH

01/2006 32
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 52
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Conversión a estructura de programa – Bucles

¾ Los bucles pueden utilizarse simplemente para repetir partes de


un programa. El número de repeticiones puede especificarse en
un bucle con contador o asociandolo a ina instrucción condicional.

Sintaxis:
• FOR ENDFOR (bucle de conteo)
• WHILE ENDWHILE (bucle rechazante)
• REPEAT UNTIL (bucle no rechazante)
• LOOP ENDLOOP (bucle sin fin)

01/2006 33
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 53
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Conversión a estructura de programa – Datos generales

¾ Existen tipos de datos simples, los cuales tienen una asignación


de valor predefinida, como entero, real, estado lógico (true/false).
¾ Datos de tipo complejo son e.g. estructuras (posición de robot)

01/2006 34
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 54
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Conversión a estructura de programa – Programación

¾ Un algoritmo es un método para la resolución esquemática de un


problema. En consecuenciaun programa de robot tiene las
siguientes rutinas:

Sintaxis :
¾ SUBPROG ( ) Subprograma local o global
¾ DEFFCT Función
¾ INTERRUPT Proceso ejecutado en paralelo al programa del
robot
¾ TRIGGER Instrucciones de disparo relativas a la trayectoria

01/2006 35
programming_methodology_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 55
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

2. Información general sobre el nivel experto


2.1 Navegador

Libro_programación_avanzado.doc 56
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Cambio del grupo de usuario

Cuando se pulsa la tecla “Experto”, se pide introducir una


contraseña. La contraseña por defecto es “kuka”.

01/2006 1
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 57
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Símbolos en el Navegador

Símbolo Significado Símbolo Significado

Carpeta cerrada Modulo con errores

Carpeta abierta Archivo SRC con errores

Módulo Archivo DAT con errores

Archivo tipo SUB

Archivo tipo SRC

Archivo tipo DAT

01/2006 2
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 58
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Crecación de un nuevo módulo

Un programa KRL puede componerse de un fichero SRC y


un DAT:
• SRC – Contiene código de programa
• DAT – Contiene datos específicos del programa

Cell Programa con estructura básica para control via PLC

Expert Archivos SRC y DAT sin estructura básica de programa

Expert
Archivo SUB sin estructura básica de programa
Submit
Function Archivo SRCsin estructura básica de programa

Module Archivo SRC y DAT con estructura básca de programa

Submit Achivo SUB con estructura básica de programa

01/2006 3
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 59
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Modos de ejecución de programa (1)

Modo de
Descripción
ejecución

GO Modo GO

Se ejecutan sin parar todas las instrucciones del programa hasta el final
del mismo.

MSTEP Modo Paso a Paso

El programa se ejecuta movimieno a movimiento, i.e. con parada antes


de cada instruccion de movimiento. El programa se ejecua sin
procesamiento en advance.

ISTEP Modo Paso a Paso Incremental

El programa se ejecuta paso a paso, i.e. Co parada después de cada


instrucción (incluyendo las líneas en blanco). El programa se ejecua sin
procesamiento en advance.

01/2006 4
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 60
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Modos de ejecución de programa (2)

Modo de
Descripción
ejecución
PSTEP Paso de programa

El programa se ejecuta paso a paso sin procesamiento en


avance.
Los subprogramas se ejecutan completamente.

CSTEP Continuous Step (motion instruction)

Los puntos con contorno se ejecutan con aproximación en


avance, i.e. son aproximados. Los puntos con posicionamiento
exacto se ejecutan sin procesamiento en avance y sin parada
después de la instrucción de movimiento.

Los modos de ejecución de programa #PSTEP y


#CSTEP sólo pueden activarse a trávés de la
modificación de la variable ($PRO_MODE) y no
utilizando las teclas de esado.

01/2006 5
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 61
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Mostrar lo datos de máquina y la versión de software

Se puede acceder al resto de pestañas a través de de la


tecla “TAB”.

01/2006 6
navigator_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 62
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

2.2 Fold - Concepto

Libro_programación_avanzado.doc 63
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ocultar secciones de programa - FOLDS

¾ Las secciones de programa pueden ocultarse en FOLDS.


¾ Estas secciones de programa se procesan durante la ejecución
de programa.
¾ Las FOLDS se encuentran cerradas por defecto.
¾ Los contenidos de las FOLDS no son visibles por el usuario.
¾ Las FOLDS se pueden ramificar.
¾ Las Sub-FOLDS están codificadas por colores.

Codificación de colores de las


FOLDS:
FOLD cerrada
FOLD abierta
sub-FOLD cerrada
sub-FOLD abierta
Contenidos de FOLD

01/2006 1
fold_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 64
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ocultar secciones de programa - FOLDS

Sintaxis para la creación de una


FOLD:

;FOLD Nombre
Línea de Programa
Línea de Programa
;ENDFOLD

int x int x
INI INI
;fold Home_position Home_position
$out[1]=true
counter=0
advance=35.0
;endfold

01/2006 2
fold_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 65
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ocultar secciones de programa - FOLDS

int x int x
INI INI
Outputs Outputs
$out[1]=true
$out[2]=true
$out[3]=true

01/2006 3
fold_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 66
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ocultar secciones de programa - FOLDS

int x int x
INI INI
Outputs ;fold Outputs
$out[1]=true $out[1]=true
$out[2]=true $out[2]=true
$out[3]=true $out[3]=true
;endfold

01/2006 4
fold_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 67
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

3. Variables y declaraciones
3.1 Tipo de datos simple

Libro_programación_avanzado.doc 68
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Tipo de datos simples

01/2006 1
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 69
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Definición de variables

Además del uso de las constantes (dígitos, caracteres, etc),


las posiciones de memoria tambien se definen
in the robot controller in which these values can be stored.

Esta información almacenada se puede recuperar en el transcurso de un


programa para su evaluación o para su modificación posterior.

Una variables es una área de memoria fija, el contenido de la cual se


puede tratar utilizando su nombre.

Ejemplo: Nombre de la
Variable
...
...
Part_counter = 37 Contenido de la
Part_counter = 37
... variable
...

01/2006 2
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 70
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Declaración de Variables

La declaración de variables tiene siempre la sintaxis siguiente :

DECL Data_Type Variable_Name

Ejemplo:

Def Main( )
Def Main( )
DECL INT part_counter
DECL INT part_counter
INI
INI
...
...
End
End

01/2006 3
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 71
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Variables y nombres

Nombre de variables en KRL

¾ Puede tener una longitud máxima de 24 caracteres.


¾ Puede consistir entre las letras (A-Z), los números (0-9) i los
signos ‘_’ i ‘$’.
¾ Necesita no comenzar por un numero
¾ No puede ser una palabra clave.

01/2006 4
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 72
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Tipos de datos simples

Tipo de datos Entero Real Boleana Caracteres

Palabra clave INT REAL BOOL CHAR

Numero con
Significado Entero
coma flotante
Estado lógico 1 letra

-231 +/-1.1E-38
Rango de ASCII character 1-
... ... TRUE, FALSE
valores 255
(231-1) +/-3.4E+38

Ejemplo 32 1.43 TRUE “A”

01/2006 5
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 73
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Estructura básica de un programa de robot

DEF NAME( )
DEF NAME( )

;--- Sección de declaraciones ---


...

;--- Sección de inicialización ---


...

;--- Sección de instrucciones ---


...

END
END

01/2006 6
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 74
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Activación de una DEF línea

• Las variables se deben declarar antes de la línea INI


• Para utilizar sintaxis antes de la línea INI debe estar activada la
línea DEF.

01/2006 7
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 75
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Declaración y asignación de valores

DEF MAIN_PROGRAM( )
DEF MAIN_PROGRAM( )
;--- Sector de declaraciones ---
;--- Sector de declaraciones ---
DECL INT PART
DECL INT PART
;--- Sector de inizializaciones ---
;--- Sector de inizializaciones ---
INI ;Inicializaciones de aceleraciones y velocidadades
INI ;Inicializaciones de aceleraciones y velocidadades
;--- Sector de instrucciones ---
;--- Sector de instrucciones ---
PART=58 ;Asignación del valor, decimal
PART=58 ;Asignación del valor, decimal
PART='B111010' ;Asignación del valor, binario
PART='B111010' ;Asignación del valor, binario
PART='H3A' ;Asignación del valor, hexadecimal
PART='H3A' ;Asignación del valor, hexadecimal
...
...
END
END

La asignación de valores se hace en el transcurso del


funcionamiento de un programa!

01/2006 8
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 76
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Lifetime of variables

Declaración de variables ...


DEF HP1( )
DEF HP1( )
En el archivo SRC DECL INT CUBE
DECL INT CUBE
• ... Se reconocen solamente en su propio INI
INI
programa . CUBE=0
CUBE=0
• ... No se reconocen en subprogramas END
END
locales.

En el archivo DAT DEFDAT HP1( )


DEFDAT HP1( )
• ... se reconocen solamente en su propio DECL INT
DECL INT
programa, es decir, en el programa CUBE=0
CUBE=0
principal y en subprogramas locales. ...
...
ENDDAT
ENDDAT
En el archivo Config.dat DEFDAT $CONFIG
DEFDAT $CONFIG
• ... se reconocen en cada programa DECL INT CUBE=0
DECL INT CUBE=0
• ... puede ser llamado durante la ejecución ...
...
de programas. ENDDAT
ENDDAT

01/2006 9
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 77
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Declaración de constantes

La declaración de variables constantes tienen siempre la siguiente


sintaxis y solo se pueden declarar en una lista de datos ( data list )

DECL CONST Datentyp Variable_Name

Ejemplo :

Defdat Main( )
Defdat Main( )
Decl CONST REAL PI = 3.14159
Decl CONST REAL PI = 3.14159
...
...
End
End

No se puede modificar constantes en el archivo SRC. Su


modificación provoca un mensaje de error.

01/2006 10
simple_data_types_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 78
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

3.2 Monitorización de variables

Libro_programación_avanzado.doc 79
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Indicación de variables: únicos

Nombre de la variable actual;


Seleccionable con softkey „NOMBRE“
$PRO_MODE

Valor actual de la variable del campo


#GO
“Nombre”

Nuevo valor de la variable del campo


“Nombre” #ISTEP

Directorio del programa /R1/CELL.SRC

01/2006 1
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 80
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Indicación de variables: únicos

El valor actual de la variable


sólo será actualizado, al pulsar PART
sobre el campo “Nombre” la
tecla “Enter”. 51

El valor actual de la variable


será actualizado
automáticamente, al pulsar
sobre el campo “Nombre” las
teclas “Shift+Enter” a la vez. /R1/HAUPT.SRC

Atención: funcionalidad limitada con variables de ciclo


01/2006 2
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 81
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Resumen de variables: Mostrar

Para vigilar una variable desde el


resumen de variables debe ser:
¾Declarada en $config.dat
¾Variable de Sistema KUKA

01/2006 3
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 82
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Resumen de variables – Configurar

Actualización Descripción Nombre de la


continua de la variable variable

Softkeys Significado
Monitor Cambio entre diferentes vistas
Tab + Siguiente grupo/hoja
Salto Salto al grupo de parámetros
(p.ej.. Anchode columna)
Insertar Abrir menú “Insertar” (insertar
antes/después de grupo/línea)
Borrar Borrar un grupo/línea
OK Confirmar, guardar configuración y
cerrar
Interrupción Cerrar ventana sin guardar

01/2006 4
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 83
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Resumen de variables - Monitor

Actualización Descripción Estado de la


continua de la variable variable

Softkeys Significado
Configurar Cambiar entre los modos de configuración

Tab + Siguietne grupo/hoja


Actualizar todo Actualización estática
Start info / Activar/desactivar actualización continua
Cancel
info
Editar Cambiar el nombre o el valor de la
variable (acceso de escritura)
OK Confirmar, guardar configuración y
cerrar
Interrupción Cerrar ventana sin guardar

01/2006 5
monitor_variable_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 84
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

3.3 Arrays

Libro_programación_avanzado.doc 85
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Arrays

01/2006 1
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 86
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Arrays (una dimensión)

Sintaxis: Creación:
DECL Data_Type Nombre_variable[Número de elementos del array]
Uso:
Nombre_variable[Index] = Valor_Asignado

Ejemplo: DEF MAIN_PROGRAM( )


DEF MAIN_PROGRAM( )
DECL REAL medicion[3]
DECL REAL medicion[3]
INI
INI
medicion[1] = 17.5
medicion[1] = 17.5
medicion[2] = 35.7
medicion[2] = 35.7
medicion[3] = 67.2
medicion[3] = 67.2
...
...
END
END

01/2006 2
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 87
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Bucle simple de conteo

Sintaxis: FOR Contador = Inicio TO Final


Sentencia
ENDFOR

Ejemplo: DEF INIT_OUTPUTS ( )


DEF INIT_OUTPUTS ( )
DECL INT CONTADOR
DECL INT CONTADOR $OUT[X]
INI
INI
FOR CONTADOR=1 TO 10
FOR CONTADOR=1 TO 10 X>10 ?
no
;Poner salidas 1-10 a FALSE
;Poner salidas 1-10 a FALSE
$OUT[contador]=FALSE
$OUT[contador]=FALSE Sí
ENDFOR
ENDFOR
...
...
END
END

01/2006 3
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 88
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo: Bucle simple de conteo (1)

DEF MAIN_PROGRAM( )
DEF MAIN_PROGRAM( )
DECL INT CELL[4]
DECL INT CELL[4]
DECL INT FI ;Array index
DECL INT FI ;Array index
INI
INI
FOR FI = 1 TO 4
FOR FI = 1 TO 4
CELL[FI] = FI * 5
CELL[FI] = FI * 5
ENDFOR
ENDFOR
...
...
END
END

1*5=5

CELL 5

[1] [2] [3] [4]


01/2006 4
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 89
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo: Bucle simple de conteo (2)

DEF MAIN_PROGRAM( )
DEF MAIN_PROGRAM( )
DECL INT CELL[4]
DECL INT CELL[4]
DECL INT FI ;Array index
DECL INT FI ;Array index
INI
INI
FOR FI = 1 TO 4
FOR FI = 1 TO 4
CELL[FI] = FI * 5
CELL[FI] = FI * 5
ENDFOR
ENDFOR
...
...
END
END

2 * 5 = 10

CELL 5 10

[1] [2] [3] [4]


01/2006 5
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 90
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo: Bucle simple de conteo (3)

DEF MAIN_PROGRAM( )
DEF MAIN_PROGRAM( )
DECL INT CELL[4]
DECL INT CELL[4]
DECL INT FI ;Índice del
DECL INT FI ;Índice del
Array
Array
INI
INI
FOR FI = 1 TO 4
FOR FI = 1 TO 4
CELL[FI] = FI * 5
CELL[FI] = FI * 5
ENDFOR
ENDFOR
...
...
END
END

3 * 5 = 15

CELL 5 10 15

[1] [2] [3] [4]


01/2006 6
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 91
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo: Bucle simplo de conteo (4)

DEF MAIN_PROGRAM( )
DEF MAIN_PROGRAM( )
DECL INT CELL[4]
DECL INT CELL[4]
DECL INT FI ;Índice del
DECL INT FI ;Índice del
Array
Array
INI
INI
FOR FI = 1 TO 4
FOR FI = 1 TO 4
CELL[FI] = FI * 5
CELL[FI] = FI * 5
ENDFOR
ENDFOR
...
...
END
END

FI = 5 4 * 5 = 20

CELL 5 10 15 20

[1] [2] [3] [4]


01/2006 7
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 92
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Array (dos dimensiones)

DEF MAIN_PROGRAM( )
DEF MAIN_PROGRAM( )
DECL INT VALOR_MEDIDO [2,4]
DECL INT VALOR_MEDIDO [2,4]
DECL INT FILA,COLUMNA
DECL INT FILA,COLUMNA
INI
INI
; --- Preasignación de un array ---
; --- Preasignación de un array ---
FOR FILA = 1 TO 2
FOR FILA = 1 TO 2
FOR COLUMNA = 1 TO 4
FOR COLUMNA = 1 TO 4
VALOR_MEDIDO [FILA,COLUMNA] = 0
VALOR_MEDIDO [FILA,COLUMNA] = 0
ENDFOR
ENDFOR
ENDFOR
ENDFOR
...
...
END
END
Columna 1 2 3 4

0 Fila 1
0 0 0
Fila 2
0 0 0 0
01/2006 8
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 93
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo: Array tres dimensiones

BOOL MATRIZ [3, 3, 3]

Columna
Fila Nivel
01/2006 9
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 94
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Array (tres dimensiones)

DEF MAIN_PROGRAM( )
DEF MAIN_PROGRAM( )
BOOL MATRIZ [3,3,3]
BOOL MATRIZ [3,3,3]
INT FILA, COLUMNA, NIVEL
INT FILA, COLUMNA, NIVEL
INI
INI
FOR NIVEL = 1 TO 3
FOR NIVEL = 1 TO 3
FOR COLUMNA = 1 TO 3
FOR COLUMNA = 1 TO 3
FOR FILA = 1 TO 3
FOR FILA = 1 TO 3
MATRIZ [FILA, COLUMNA, NIVEL] = FALSE
MATRIZ [FILA, COLUMNA, NIVEL] = FALSE
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
...
...
END
END

La palabra clave "DECL" puede ser omitida al


declarar tipos de datos simples.

01/2006 10
arrays_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 95
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

3.4 Estructuras

Libro_programación_avanzado.doc 96
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Estructuras

Ejemplo: Definición exacta de un coche

Color Motor

Fabricación Aire
Acondicionado
01/2006 1
structure_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 97
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Estructuras

¾ Una estructura es una combinación de diferentes


tipos de datos, creando un grupo.
¾ Una estructura se inicializa with an aggregate.
¾ No todos los parámetros tienen que ser especificados
para poder agregarlos.
¾ El orden de los parámetros es insignificante.

Las estructuras definidas por el usuario deben terminar


en... TYPE!

01/2006 2
structure_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 98
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Definición de estructuras

Nombre de la Tipo de Nombre de la


estructura dato variable

DEF WELD ( )
DEF WELD ( )
STRUC WELDTYPE REAL V_WIRE, INT CHARAC, BOOL PULSE
STRUC WELDTYPE REAL V_WIRE, INT CHARAC, BOOL PULSE
DECL WELDTYPE SEAM1
DECL WELDTYPE SEAM1
INI
INI
SEAM1={V_WIRE 0.7, CHARAC 5, PULSE FALSE}
SEAM1={V_WIRE 0.7, CHARAC 5, PULSE FALSE}
...
...
SEAM1.PULSE=TRUE
SEAM1.PULSE=TRUE
...
...
END
END

La modificación de un valor tiene


que ir precedida de un punto

01/2006 3
structure_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 99
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Estructuras predefinidas

Las siguientes estructuras están predefinidas en el sistema del robot


KUKA:

STRUC AXIS REAL A1,A2,A3,A4,A5,A6

STRUC E6AXIS REAL A1,A2,A3,A4,A5,A6,E1,E2,E3,E4,E5,E6

STRUC FRAME REAL X,Y,Z,A,B,C

STRUC POS REAL X,Y,Z,A,B,C INT S,T

STRUC E6POS REAL X,Y,Z,A,B,C,E1,E2,E3,E4,E5,E6, INT S,T

01/2006 4
structure_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 100
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

3.5 Tipos de dato enumerales

Libro_programación_avanzado.doc 101
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Datos de tipo Enumeración - ENUM

Pelota Coche Pala Piedra

01/2006 1
enum_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 102
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Datos de tipo Enumeración

¾ Los datos de tipo Enumeración consisten en un número


limitado de constantes
¾ Las constantes son nombres definibles líbremente
¾ Las constantes son definidas por el programador
¾ Una variable solo puede tomar el valor de una de estas
constantes

Las variables ENUM definidas por el usuario deben


terminar en ...TYPE!

01/2006 2
enum_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 103
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Datos de tipo Enumeración

La siguiente variable ENUM está predefinida en el sistema de robot


KUKA:
ENUM MODE_OP T1, T2, AUT, EX, INVALID

DEF SEARCH ()
DEF SEARCH ()
ENUM COUNTRY_TYPE German, English, French
ENUM COUNTRY_TYPE German, English, French
DECL COUNTRY_TYPE LANGUAGE
DECL COUNTRY_TYPE LANGUAGE
Generar variable ENUM
INI
INI
...
... Declarar variable ENUM
LANGUAGE = #German
LANGUAGE = #German
...
...
Asignamiento de valores
LANGUAGE = #English
LANGUAGE = #English

… Asignamiento de valores
END
END

01/2006 3
enum_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 104
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Resumen de tipos de datos

Tipo de datos

Datos de tipo Simple Datos de tipo Complejo

- INT - BOOL
- REAL - CHAR

Datos de tipo
Arrays Structures
Enumeración
Todos los elementos Array Todos los elementos de Una variable ENUM
• Tienen el mismo tipo de una estructura • Puede tener solo
datos • Pueden tener diferentes una de las
• Tienen el mismo nombre tipos de datos constantes definidas
• Se diferencia unicamente en • Tienen diferentes anteriormente
su propio número de índice nombres
01/2006 4
enum_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 105
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

4. Subprogramas y funciones
4.1 Definición de subprogramas

Libro_programación_avanzado.doc 106
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Subprogramas locales

¾ El archivo KRL puede consistir de 255 subprogramas locales.


¾ El numero máximo de niveles de subprogramas es de 20.
¾ Los subprogramas locales están situados después del programa principal y
identificados por medio de DEF y END.
¾ Los subprogramas locales se pueden llamar en varias ocasiones.
¾ Las coordenadas de los puntos se guardan en su correspondiente archivo
DAT y están disponibles para todo el archivo.
¾ Una vez se haya ejecutado un subprograma local, el programa salta a la
instrucción posterior a la llamada del subprograma.

01/2006 1
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 107
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Subprogramas locales

DEF Main_Program ( )
DEF Main_Program ( )
INI
INI
...
...
Subprogram1 ( )
Subprogram1 ( )
...
...
Subprogram2 ( )
Subprogram2 ( )
...
...
END
END
DEF Subprogram1 ( )
DEF Subprogram1 ( )
...
...
Subprogram2 ( )
Subprogram2 ( )
...
...
END
END
DEF Subprogram2 ( )
DEF Subprogram2 ( )
...
...
END
END

01/2006 2
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 108
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Subprogramas locales

DEF Main_Program ( )
DEF Main_Program ( )
INI
INI
...
...
Subprogram1 ( )
Subprogram1 ( )
...
...
Subprogram2 ( )
Subprogram2 ( )
...
...
END
END
DEF Subprogram1 ( )
DEF Subprogram1 ( )
...
...
Subprogram2 ( )
Subprogram2 ( )
...
...
END
END
DEF Subprogram2 ( )
DEF Subprogram2 ( )
...
...
END
END

01/2006 3
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 109
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Subprogramas locales

DEF Main_Program ( )
DEF Main_Program ( )
INI
INI
...
...
Subprogram1 ( )
Subprogram1 ( )
...
...
Subprogram2 ( )
Subprogram2 ( )
...
...
END
END
DEF Subprogram1 ( )
DEF Subprogram1 ( )
...
...
Subprogram2 ( )
Subprogram2 ( )
...
...
END
END
DEF Subprogram2 ( )
DEF Subprogram2 ( )
...
...
END
END

01/2006 4
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 110
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Subprogramas locales

DEF Main_Program ( )
DEF Main_Program ( )
INI
INI
...
...
Subprogram1 ( )
Subprogram1 ( )
...
...
Subprogram2 ( )
Subprogram2 ( )
...
...
END
END
DEF Subprogram1 ( )
DEF Subprogram1 ( )
...
...
Subprogram2 ( )
Subprogram2 ( )
...
...
END
END
DEF Subprogram2 ( )
DEF Subprogram2 ( )
...
...
END
END

01/2006 5
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 111
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Subprogramas globales

¾ Los subprogramas globales contienen un archivo SRC


propio.
¾ Las variables declaradas en subprogramas globales no
se reconocen en el programa principal.
¾ Las variables declaradas en el programa principal no se
reconocen en los subprogramas globales.

DEF MAINPROG ( ) DEF GLOBAL_SP1 ( )


DEF MAINPROG ( ) DEF GLOBAL_SP1 ( )
INI INI
INI INI
...
...
...
...
GLOBAL_SP1() ...
GLOBAL_SP1() ...
...
...
END END
END END
01/2006 6
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 112
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salida desde un subprograma

RETURN

¾ La función RETURN termina la ejecución del


subprograma y hace volver el sistema al módulo que a
realizado la llamada.

DEF MAINPROG ( ) DEF GLOBAL_SP1 ( )


DEF MAINPROG ( ) DEF GLOBAL_SP1 ( )
INI INI
INI INI
...
...
...
...
GLOBAL_SP1() IF value >15 THEN
GLOBAL_SP1() IF value >15 THEN
RETURN
RETURN
... ENDIF
... ENDIF


END END
END END
01/2006 7
subprogram_def_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 113
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

4.2 Transferencia de parámetros

Libro_programación_avanzado.doc 114
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Transferencia de parametros de varibles

Main_program ( )

X=21.0
Y=TRUE
Calc (X,Y) Calc (……)

01/2006 1
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 115
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Transferencia de parametros de varibles

Hay dos opciones diferentes de transferir:

Parámetro IN Parámetro OUT


(llamada por valor) (llamada por referencia)

El valor de la varible se mantiene El valor de la variable se cambia


en el programa principal, ej. en el programa principal, ej. El
Continua siendo procesado con valor se toma del subprograma
el valor del programa principal.

01/2006 2
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 116
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Transferir una variable a un subprograma local

Sintaxis: Llamada al programa:


Nombre_Subprograma (Transferir_Variable)
Subprograma principal:
DEF Nombre_Subprograma (Nombre_Variable: Llamada por)

Ejemplo: DEF MAIN ( )


DEF MAIN ( )
REAL AMOUNT
REAL AMOUNT
INI
INI
...
...
CALC (AMOUNT)
CALC (AMOUNT)
END
END
DEF CALC (SUM:OUT)
DEF CALC (SUM:OUT)
REAL SUM
REAL SUM
...
...
END
END

01/2006 3
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 117
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Transferir una variable a un subprograma global

Sintaxis: Llamada al programa:


Nombre_Subprogram (Transferir_Variable)
Subprograma principal:
DEF Nombre_Subprograma (Nombre_variable: Llamada por)

Ejemplo: DEF MAIN ( )


DEF MAIN ( )
REAL AMOUNT
REAL AMOUNT
INI
INI
...
...
CALC (AMOUNT)
CALC (AMOUNT)
END
END

DEF CALC (SUM:OUT )


DEF CALC (SUM:OUT )
REAL SUM
REAL SUM
INI
INI
...
...
END
END
01/2006 4
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 118
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de transferencia de varibles

DEF PROG_1 ( )
DEF PROG_1 ( )
INT A, B
INT A, B
REAL C
REAL C
A=1
A=1 Dos tipos de lista de parametros
B=2
B=2 Llamada por valor: IN
C = 3.0
C = 3.0 ¡La secuencia es Llamada por referencia: OUT
CALC (A, B, C) importante!
CALC (A, B, C)
El uso de lista de parametros
HALT; A is now 11
HALT; A is now 11 es necesario en ambos
; B is now 2
; B is now 2 LOCAL
; C is now 3.0
; C is now 3.0
END
END
y
DEF CALC (X1: OUT, X2: IN, X3: IN) GLOBAL
DEF CALC (X1: OUT, X2: IN, X3: IN)
INT X1, X2 subprogramas.
INT X1, X2
REAL X3
REAL X3
X1 = X1+10 ; X1 is now 11
X1 = X1+10 ; X1 is now 11
X2 = X2+10 ; X2 is now 12
X2 = X2+10 ; X2 is now 12
X3 = X3+10 ; X3 is now 13.0
X3 = X3+10 ; X3 is now 13.0
END
END
01/2006 5
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 119
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Transferencia de parametros Array

¾ Los Arrays solo se pueden transferir con parametros


OUT (Llamada por referencia)
¾ Los Arrays solo se pueden enviar con la dimensión
especificada, ej. ARRAY_1D[ ] , ARRAY_2D[,] ,
ARRAY_3D[,,]

Ejemplo: DEF MAIN ( )


DEF MAIN ( )
CHAR NAME[8]
CHAR NAME[8]
INI
INI
...
...
SP1 (NAME[ ])
SP1 (NAME[ ])
END
END
DEF SP1 (FIRST_NAME[ ]:OUT)
DEF SP1 (FIRST_NAME[ ]:OUT)
CHAR FIRST_NAME[ ]
CHAR FIRST_NAME[ ]
...
...
END
END

01/2006 6
subprogram_parameter_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 120
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

4.3 Función

Libro_programación_avanzado.doc 121
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Funciones

Función

Algorismo
Valor de entrada Arotmético Valor se salida

Valor de vuelta

Ejemplo: usar la posición de corrección de la cámara fotográficaÆ


Calcular la posición de recolocación

© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 122
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Funciones

¾ Una función es un subprograma que vuelve cierto valor al


programa principal.
¾ El nombre del programa es también el nombre de una
variable de cierto tipo de dato.
¾ El valor que se transferirá se debe volver por medio de la
declaración de RETURN(x) antes de la declaración de
ENDFCT
.

Sintaxis: DEFFCT Data_Type NAME_FUNCTION (


)
...
RETURN(x)
ENDFCT

© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 123
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Funciones con parametros de entradas y salidas

X=15
Llamada por valor

15 DEFFCT INT SQUARE(NUMBER:IN)


DEFFCT INT SQUARE(NUMBER:IN)
INT NUMBER
NUMBER INT NUMBER
...
225 ...
NUMBER=NUMBER*NUMBER X = 15
DEF PROG() NUMBER=NUMBER*NUMBER
DEF PROG() RETURN(NUMBER) Y = 225
INT X,Y,E RETURN(NUMBER)
INT X,Y,E ... E = 15
... ...
... ENDFCT
X=5*3 ENDFCT
X=5*3
Y=SQUARE(X) ;Y=225
Y=SQUARE(X) ;Y=225
E=Y/X
E=Y/X Llamada por referencia
...
...
END DEFFCT INT SQUARE(NUMBER:OUT)
END DEFFCT INT SQUARE(NUMBER:OUT)
15 INT NUMBER
INT NUMBER
...
...
X , NUMBER NUMBER=NUMBER*NUMBER X = 225
NUMBER=NUMBER*NUMBER
RETURN(NUMBER) Y = 225
225 RETURN(NUMBER)
... E=1
...
ENDFCT
ENDFCT

© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 124
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

5. Lista de datos

Libro_programación_avanzado.doc 125
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Listas de Datos - locales

Las Listas de Datos se utilizan para preparar declaraciones específicas


de programa y de alto nivel (variables, coordenadas, etc.)

Archivo origen (SRC) Lista de Datos (DAT)

DEF PROG_1
PROG_1( () ) DEFDAT
DEFDATPROG_1
...DEF
...
PROG_1
INT OTTO = 0
HALT INT OTTO
ENDDAT =0
Asignamiento de valores
...HALT
...
ENDDAT
OTTO = 25
...OTTO
...
= 25 Declaración e inicialización
HALT
HALT
END
END
DEFDAT
DEFDATPROG_1
PROG_1
INT OTTO = 25
INT OTTO = 25
ENDDAT
El valor permanece sin ENDDAT
modificar tras la ejecución
del programa

01/2006 1
data_files_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 126
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Listas de Datos - globales

Ciertos archivos de sistema son Listas de Datos globales, p. ej. variables,


señales y declaraciones que son válidas para todos los programas.

$MACHINE.DAT
DEFDAT $MACHINE
$CONFIG.DAT .. DEFDAT
..
$MACHINE
..
DEFDAT $CONFIG $SOFTP_END[1] ==185.0
.. DEFDAT $CONFIG
. .. . $SOFTP_END[1] 185.0
.
E6AXIS HOME {A1 0.0,A2 - . ..
E6AXIS HOME {A1 0.0,A2 - ..
90.0,...}
.. 90.0,...} $SOFTP_END[6] ==350.0
.. $SOFTP_END[6] 350.0
. .. ..
..
.
ENDDAT ENDDAT
ENDDAT ENDDAT

01/2006 2
data_files_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 127
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Variables importadas

Las variables definidas en una lista de datos pueden ser importadas


a un programa principal “externo”.

PROG_1.SRC PROG_1.DAT
DEF PROG_1 ( ) DEFDAT PROG_1
...DEF PROG_1 ( ) DEFDAT PROG_1
PUBLIC
...
HALT PUBLIC
...HALT DECL INT OTTO = 0
...
OTTO = 25 ...DECL INT OTTO = 0
...OTTO = 25 ...
ENDDAT
... ENDDAT
END
END
PROG_2.SRC

DEF PROG_2 ( )
• El contenido de la variable
DEF PROG_2 ( ) no puede ser modificado
IMPORT INT OTTO_2 IS /R1/PROG_1 .. OTTO
...IMPORT INT OTTO_2 IS /R1/PROG_1 .. OTTO • Asegurarse que la ruta se
...... ha escrito correctamente
END...
END

01/2006 3
data_files_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 128
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Variables Globales

Las variables definidas en una lista de datos pueden hacerse


accesibles globalmente a un programa “externo”.

PROG_1.SRC PROG_1.DAT
DEF PROG_1 ( ) DEFDAT PROG_1 PUBLIC
...DEF PROG_1 ( ) DEFDAT PROG_1 PUBLIC
...
HALT DECL GLOBAL INT OTTO = 0
...HALT ...DECL GLOBAL INT OTTO = 0
...
OTTO = 25 ...
ENDDAT
...OTTO = 25 ENDDAT
END...
END
PROG_2.SRC

DEF PROG_2 ( )
DEF PROG_2 ( )
... El contenido de la variable
...
OTTO = 100
...OTTO = 100 puede ser modificado
END...
END

01/2006 4
data_files_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 129
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

6. Manipulación de datos

Libro_programación_avanzado.doc 130
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Manipulación de datos

01/2006 1
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 131
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Operaciones aritméticas

Operaciones aritméticas básicas para tipos de datos INTEGER y REAL:

Operador Descripción
+ Suma o signo positivo
- Resta o signo negativo
* Multiplicación
/ Division

Resultado de una operación aritmética:

Operandos INT REAL


INT INT REAL
REAL REAL REAL

01/2006 2
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 132
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de programa

DEF ARITH()
DEF Sección
;------- ARITH()de declaración --------
;-------
INT A,B,C Sección de declaración --------
INT A,B,C
REAL K,L,M
REAL
;--- K,L,M
Sección de inicialización --;Las variables no son válidas antes de la inicialización!
;---
A = 2 Sección de inicialización --;Las;A=2
variables no son válidas antes de la inicialización!
B A= =9.82 ;A=2
;B=10
CB= =7/4 9.8 ;B=10
;C=1
K C= =3.57/4 ;C=1
;K=3.5
L K= =0.1E01
3.5 ;K=3.5
;L=1.0 * E debe ser una letra mayúscula
ML= =3 0.1E01 ;L=1.0 * E debe ser una letra mayúscula
;M=3.0
M = 3 Sección principal----------- ;M=3.0
;-------------
A;-------------
= A * C Sección principal----------- ;A=2
B = =BA- 'HB‘
A *C ;A=2
;B=-1
CB= =CB+ -K'HB‘ ;B=-1
;C=5
KC= =KC* 10 +K ;C=5
;K=35.0
K = K
L = 10 / 4 * 10 ;K=35.0
;L=2.0
L L= =1010/ 4.0
/4 ;L=2.0
;L=2.5
L L= =1010/ 4./ 4.0 ;L=2.5
;L=2.5
L L= =10./
10 4/ 4. ;L=2.5
;L=2.5
CL= =10./10./4.4 ;L=2.5
;C=3
C = 10./
M = (10/3) * M 4. ;C=3
;M=9.0
M = (10/3) * M
END ;M=9.0
END

01/2006 3
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 133
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Operadores relacionales

Utilizando operadores relacionales, es posible formar expresiones lógicas. El


resultado de una comparación siempre es un dato de tipo BOOL.

Operador Descripción Tipos de dato permitidos


== Igual a INT, REAL, CHAR, ENUM, BOOL
<> Diferente a INT, REAL, CHAR, ENUM, BOOL
> Mayor que INT, REAL, CHAR, ENUM
< Menor que INT, REAL, CHAR, ENUM
>= Mayor o igual que INT, REAL, CHAR, ENUM
<= Menor o igual que INT, REAL, CHAR, ENUM

Ejemplo: BOOL A,B


...
B = 10 < 3 ;B=FALSE
A = 10/3 == 3 ;A=TRUE
B = ((B == A) <> (10.00001 >= 10)) == TRUE ;B=TRUE

01/2006 4
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 134
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Operadores lógicos

Los operadores lögicos se utilizan para operaciones lógicas con variables


Booleanas, constantes y expresiones lógicas simples.

Operador Núm. operando Descripción


NOT 1 Inversión
AND 2 AND lógico
OR 2 OR lógico
EXOR 2 OR exclusivo

01/2006 5
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 135
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Tabla de la verdad

Tabla de verdad para operaciones lógicas:

NOT A A AND B A OR B A EXOR B

1 & >1 =1
Operación
A=TRUE B=TRUE FALSE TRUE TRUE FALSE

A=TRUE B=FALSE FALSE FALSE TRUE TRUE

A=FALSE B=TRUE TRUE FALSE TRUE TRUE

A=FALSE B=FALSE TRUE FALSE FALSE FALSE

Ejemplo: ...
BOOL A,B,C
...
A = TRUE ;A=TRUE
B = NOT A ;B=FALSE
C = (A AND B) OR NOT (B EXOR NOT A) ;C=TRUE
A = NOT NOT C ;A=TRUE
...
01/2006 6
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 136
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Operadores de Bit

Los operadores de Bit se utilizan para formar operaciones lógicas en los bits
individuales de los números.

Operador Num Operando Descripción


B_NOT 1 Inversión Bit-a-bit
B_AND 2 Operación AND Bit-a-bit
B_OR 2 Operación OR Bit-a-bit
B_EXOR 2 Operación OR exclusiva Bit-a-bit

Como los caracteres ASCII pueden ser direccionados vía código entero ASCII,
el tipo de datos de los operandos pueden ser CHAR además de INT. El
resultado es de tipo INT.

01/2006 7
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 137
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Operadores de Bit

23 22 21 20
Valores
8 4 2 1

Ejemplo: 1er número 0 1 0 1 =5

2o número 1 1 0 0 =12

B_AND 0 1 0 0 =4

B_OR 1 1 0 1 =13

B_EXOR 1 0 0 1 =9

La inversión Bit-a-Bit no implica simplemente que todos los bits se


inviertan. De hecho, se añade 1 al operando y se cambia el signo,
p.ej.: B_NOT 10 = -11 o B_NOT -10 = 9

01/2006 8
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 138
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Prioridad de operadores

Los operadores se ejecutarán en orden de prioridad.

Prioridad Operador
1 NOT B_NOT
2 * /
3 + -
4 AND B_AND
5 EXOR B_EXOR
6 OR B_OR
7 == <> < > >= <=

Ejemplo: INT A,B


BOOL E,F
A=4
B=7
E = TRUE
F = FALSE
E = NOT E OR F AND NOT (-3 + A * 2 > B) ;E=FALSE

01/2006 9
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 139
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Funciones estandar

Funciones estandar para calcular problemas matemáticos:

Descripción Función
Valor absoluto ABS (X)
Raiz cuadrada SQRT (X)
Seno SIN (X)
Coseno COS (X)
Tangente TAN (X)
Arco coseno ACOS (X)
Arco tangente ATAN2 (Y, X)
X=COS (α)
X=SIN (α)

01/2006 10
manipulation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 140
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

7. Programación de movimiento
7.1 Sistemas de coordenadas

Libro_programación_avanzado.doc 141
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Transformacón de coordenadas en ciclo de interpolación (12 ms)

Realizar transformación

X,Y,Z,A,B,C(,S,T) A1,A2,A3,A4,A5,A6

Z
Y

Deshacer transformación

01/2006 1
motion_koordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 142
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Sistemas de coordenadas cartesianos

X
Sistema de coordenadas
Y
Z Tool $TOOL

Z
Y

Z X

Y Z
Y Sistema de coordenadas
X Base $BASE
Sistema de coordenadas X
de robot Sistema de coordenadas
$ROBROOT mundiales $WORLD

01/2006 2
motion_koordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 143
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Secuencia cinemática con interpolación relativa a Base

$IPO_MODE=#BASE

X
Y $TOOL
Z
$POS_ACT
Z
Y

X
Z
Z
Y
Y $BASE

X X
$ROBROOT $WORLD

01/2006 3
motion_koordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 144
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Secuencia cinemática con interpolación relativa a Tool

$IPO_MODE=#TCP

X
Y $TOOL
Z
$POS_ACT
Z
Y

X
Z
Z
Y
Y

X X $BASE
$ROBROOT $WORLD

01/2006 4
motion_koordinate_systems_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 145
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

7.2 Movimiento axial – PTP

Libro_programación_avanzado.doc 146
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Descripción de los tipo de movimientos

Tipos de movimiento del robot KUKA (Tipos de interpolación)

PTP LIN CIRC

Movimiento axial Movimiento CP

Movimiento más rápido El TCP de la tool actual El TCP de la tool actual


entre dos puntos. se mueve a lo largo de se mueve a lo largo de
una linea recta desde el una trayectoria circular
El control calcula los
punto inicial al punto definida.
diferentes ángulos
final.
requeridos.
P2
P2

P1 P2

P1
P1

01/2006 1
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 147
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Funcionamiento COI

• Antes de que un programa sea ejecutado, se debe establecer


primero la coincidencia del bloque (COI).
• Esto se consigue apretando la tecla “Start key” después de
seleccionar el programa.
• El robot se mueve automáticamente a velocidad reducida.
• Una vez el robot haya alcanzado la trayectoria programada,
se puede continuar el programa volviendo a presionar la tecla
“Start key”.

Un punto HOME se recomienda ponerlo al principio


y final del programa ya que éste representa una
posición inequívocamente definida.

¡No se realiza ninguna COI en modo automático


externo!

01/2006 2
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 148
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimiento PTP - simplificado

Fase de Fase constante Fase de de desaceleración


aceleración
Vmax
Eje 3

Eje 4

Eje 2

01/2006 3
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 149
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimiento PTP – Perfil más alto de movimiento

El perfil más alto de movimiento es usado como estandar para los movimientos PTP.
V

Vmax

desaceleración
constante

velocity because

constante
aceleración

torque too high


Reduction in
Fase
Fase de

Fase

Fase

t
01/2006 4
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 150
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimientos PTP – Específico ejes

La velocidad y aceleración axial debe ser inicializada antes


que un punto PTP sea ejecutado. Los valores específicos
son en %.

DEF PTP_AXIS ( )
DEF PTP_AXIS ( )
INT X
INT X
INI ;Inicialización
INI ;Inicialización
...
...
FOR X=1 TO 6
FOR X=1 TO 6
$ACC_AXIS[X]=70 ;Modificación de la aceleración de los ejes
$ACC_AXIS[X]=70 ;Modificación de la aceleración de los ejes
$VEL_AXIS[X]=70 ;Modificación de la velocidad de los ejes
$VEL_AXIS[X]=70 ;Modificación de la velocidad de los ejes
ENDFOR
ENDFOR
...
...
PTP {AXIS: A1 0, A2 –90, A3 90, A4 0, A5 0, A6 0}
PTP {AXIS: A1 0, A2 –90, A3 90, A4 0, A5 0, A6 0}
...
...
END
END

01/2006 5
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 151
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimientos PTP - Cartesiano

Los sistemas coordinados de base y tool deben ser


también definidos al incorporar un punto usando
coordenadas cartesianas.

DEF PTP_AXIS ( )
DEF PTP_AXIS ( )
INT X
INT X
INI
INI
$BASE=BASE_DATA[1] ;Fijar el sistema de coordenadas base
$BASE=BASE_DATA[1] ;Fijar el sistema de coordenadas base
$TOOL=TOOL_DATA[3] ;Fijar el sistema de coordeandas tool
$TOOL=TOOL_DATA[3] ;Fijar el sistema de coordeandas tool
FOR X=1 TO 6
FOR X=1 TO 6
$ACC_AXIS[X]=70 ;Modificación de la aceleración de los ejes
$ACC_AXIS[X]=70 ;Modificación de la aceleración de los ejes
$VEL_AXIS[X]=70 ;Modificación de la velocidad de los ejes
$VEL_AXIS[X]=70 ;Modificación de la velocidad de los ejes
ENDFOR
ENDFOR
...
...
PTP {POS:X 1025, Y 0, Z 1480, A 0, B 0, C 0}
PTP {POS:X 1025, Y 0, Z 1480, A 0, B 0, C 0}
...
...
END
END

01/2006 6
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 152
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Específico ejes en movimientos absolutos y relativos

Movimiento absoluto

PTP {A3 45}

A3 = 45°
90°
135° Posición actual

Movimiento relativo

PTP_REL {A3 45}

01/2006 7
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 153
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Cartesiano en movimiento absolutos y relativos

Z PTP_REL {X 50, Y 50}

PTP {X 50, Y 50}

Y in [mm]

200

150

100

50

50 100 150 200 X in [mm]

01/2006 8
motion_ptp_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 154
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

7.3 Movimiento continuo en trayectoria – LIN y CIRC

Libro_programación_avanzado.doc 155
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Tipos de movimiento

Tipos de movimiento de robots KUKA (Tipos de interpolación)

PTP LIN CIRC

Movimiento de ejes Movimiento CP

Movimiento más rápido El TCP de la herramienta El TCP de la herramienta


entre dos puntos. activa se mueve a lo activa se mueve a lo
largo de una línea recta largo de una trayectoria
El control calcula las
desde el punto de inicio circular.
diferencias de ángulo
hasta el punto final.
requeridas.
P2
P2

P1 P2

P1
P1

01/2006 1
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 156
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimientos CP (CP = Continuous Path)

La trayectoria, velocidades de giro y rotación y aceleraciones


deben inicializarse antes de ejecutar el movimiento CP.

Nombre variable Dato tipo Unidad Función


Velocidad de
$VEL.CP REAL m/s
Velocidad trayectoria
$VEL.ORI1 REAL °/s Velocidad de giro
$VEL.ORI2 REAL °/s Velocidad de rotación
$ACC.CP REAL m/s² Acceleración de trayectoria

Aceleración $ACC.ORI1 REAL °/s² Aceleración de giro


$ACC.ORI2 REAL °/s² Aceleración de rotación

01/2006 2
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 157
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimientos absolutos y relativos en relación a la trayectoria

Al realizar la secuencia del paquete básico, los valores por


defecto de las velocidades y índices de aceleración de los
movimientos CP están preestabcidas a los valores máximos
definidos en los datos de máquina o $CONFIG.DAT.

DEFDAT $CONFIG
DEFDAT $CONFIG
...
...
; CP - MOVEMENTS
; CP - MOVEMENTS
;----------------------------------
;----------------------------------
DECL CIRC_TYPE DEF_CIRC_TYP=#BASE
DECL CIRC_TYPE DEF_CIRC_TYP=#BASE
REAL DEF_VEL_CP=2.00
REAL DEF_VEL_CP=2.00
REAL DEF_VEL_ORI1=200.0
REAL DEF_VEL_ORI1=200.0
REAL DEF_VEL_ORI2=200.0
REAL DEF_VEL_ORI2=200.0
REAL DEF_ACC_CP=2.3
REAL DEF_ACC_CP=2.3
REAL DEF_ACC_ORI1=100.0
REAL DEF_ACC_ORI1=100.0
REAL DEF_ACC_ORI2=100.0
REAL DEF_ACC_ORI2=100.0
...
...
ENDDAT
ENDDAT

01/2006 3
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 158
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimientos absolutos y relativos en relación a la trayectoria

El primer movimiento en un programa debe ser PTP.

DEF CPMOTION ( )
DEF CPMOTION ( )
INI
INI
$BASE=BASE_DATA[1] ;Establecer el sistema de coordenadas Base
$BASE=BASE_DATA[1] ;Establecer el sistema de coordenadas Base
$TOOL=TOOL_DATA[3] ;Establecer el sistema de coordenadas Tool
$TOOL=TOOL_DATA[3] ;Establecer el sistema de coordenadas Tool
$VEL.CP=1.0 ;Modificación de velocidades
$VEL.CP=1.0 ;Modificación de velocidades
$VEL.ORI1=150
$VEL.ORI1=150
$VEL.ORI2=100
$VEL.ORI2=100
$ACC.CP=1.7 ;Modificación de aceleraciones
$ACC.CP=1.7 ;Modificación de aceleraciones
$ACC.ORI1=80
$ACC.ORI1=80
$ACC.ORI2=80
$ACC.ORI2=80
...
...
PTP HOME
PTP HOME
LIN {X 1050, Z 900} ;Especificación de coordenadas absolutas
LIN {X 1050, Z 900} ;Especificación de coordenadas absolutas
LIN_REL {X 100, Y 250, Z 125} ;Especificación de distancia relativa
LIN_REL {X 100, Y 250, Z 125} ;Especificación de distancia relativa
...
...
END
END

01/2006 4
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 159
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimiento Circular

CIRC Punto_Aux , Punto_Final , CA Angulo_Circular

Argumento Explicación
Coordenadas de punto auxiliar – Especificadas mediante un agregado (o
Punto_Aux nombre de punto) de un punto en la lista de datos

Coordenadas de punto final – Especificadas mediante un agregado (o nombre


Punto_Final de punto) de un punto en la lista de datos

CA = Circular Angle
Angulo_Circular
Angulo circular en grados

Al especificar el punto auxiliar punto final mediante un


agregado, asegurarse que la Tool y el sistema de
coordenadas Base están asignados correctamente!

01/2006 5
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 160
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimiento Circular

CA > 0° El círculo se ejecuta en la dirección programada:


Punto inicial – punto auxiliar – punto final

CA < 0° El círculo se ejecuta en dirección opuesta a la programada:


Punto inicial – Punto final – punto auxiliar

La orientación de los ángulos en el punto de destino “calculado” es identica a


la orientación de los ángulos en el punto de destino que fue memorizado.

CA = 290° Punto final CA = -290° Punto final


programado actual

Punto auxiliar Punto final


Punto auxiliar Punto final programado
actual

Punto de inicio

Punto de inicio

01/2006 6
motion_lin_circ_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 161
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

7.4 Control de orientación

Libro_programación_avanzado.doc 162
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de orientación en movimientos LIN

Variable Valor Descripción


La orientación permanece
constante durante el movimiento
$ORI_TYPE #CONSTANT
CP. La orientación programada en
el punto final no es tenida en cuenta

$ORI_
TYPE
= #CO
NSTA
NT

01/2006 1
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 163
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de orientación con movimientos LIN

Variable Valor Descripción


Durante los movimientos CP, la
$ORI_TYPE #VAR orientación cambia continuamente
hasta la orientación del punto final

$O R I _
TYPE
= #V A
R

01/2006 2
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 164
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de orientación en movimientos LIN

Variable Valor Descripción

Durante el movimiento sobre trayectoria, la


orientación de la Tool cambia
continuamente desde la posición de inicio a
la posición final. Esto se hace mediante la
transformación de los ángulos de los ejes de
$ORI_TYPE #JOINT la muñeca. El problema de la singularidad
de la muñeca puede eludirse usando esta
opción si no hay control de
orientaciónnrotando y pivotando la dirección
de la herramienta

01/2006 3
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 165
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Variables for orientation control with circular motions

Variable Valor Descripción


La orientación permanece constante
durante el movimiento circular. La
$ORI_TYPE #CONSTANT
orientación programada en el punto
final no se tiene en cuenta
Durante el movimiento circular la
$ORI_TYPE #VAR orientación cambia continuamente
hasta la orientación del punto final
Control de orientación relacionado
$CIRC_TYPE #BASE con el espacio durante el movimirnto
circular
Control de orientación relacionado
$CIRC_TYPE #PATH con la trayectoria duran el
movimiento circular

La variable “$CIRC_TYPE” no tiene sentido en el caso de una


transformación lineal de los ángulos de los ejes de la muñeca con
ORI_TYPE = #JOINT”.
01/2006 4
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 166
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de orientación con movimientos circulares

$ORI_TYPE = #CONSTANT
$CIRC_TYPE = #PATH

01/2006 5
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 167
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de orientación con movimientos circulares

$ORI_TYPE = #VAR
$CIRC_TYPE = #PATH

01/2006 6
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 168
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de orientación con movimientos circulares

$ORI_TYPE = #CONSTANT
$CIRC_TYPE = #BASE

01/2006 7
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 169
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de orientación con movimientos circulares

$ORI_TYPE = #VAR
$CIRC_TYPE = #BASE

01/2006 8
motion_orientation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 170
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

7.5 Funcionamiento del advance

Libro_programación_avanzado.doc 171
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Procesamiento en Avance

Qué es el procesamiento en Avance?


El puntero de programa (barra blanca), el cula puede verse en la interface
gráfica de usuario cuando el programa está funcionando, siempre indica el bloque
de programa que se está procesando actualmente. El puntero de procesamiento
en avance, al contrario, no es visible y precede al puntero de programa en tres
bloques de movimiento (configuración por defecto).

Cual es la función del Puntero de procesamiento en Avance?


Para que sea posible calcular la trayectoria, p. ej. en un movimiento de
aproximación, es necesario leer los datos de la trayectoria planeada mediante el
puntero de procesamiento en avance. No obstante, no solo se procesan los datos
de movimiento, sinó también datos aritméticos e instrucciones para controlar la
periferia.

Como está influenciado el Puntero de Procesamiento en Avance?


Las instrucciones y los datos que actuan sobre la periferia (p. ej. Instrucciones de
entradas/salidas) lanzan una parada del procesamiento en Avance. Si el puntero
de Avance se detiene, no es posible realizar posicionamientos aproximados.

01/2006 1
continue_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 172
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Puntero de procesamiento en avance

La variable $ADVANCE especifica el número máximo de bloques de


movimiento que el procesamiento en avance ejecutará por delante del puntero
de programa. El procesamiento en avance actual depende, en cualquier caso,
de la capacidad del PC.
Sintaxis:

$ADVANCE = Valor

Valor Explicación
0 Aproximación no posible, cada punto se posiciona exactamente
1 Valor mínimo para permitir aproximación
3 Por defecto
5 Valor máximo

01/2006 2
continue_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 173
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Posición del puntero de procesamiento en Avance

Puntero de
programa

Puntero de
procesamiento en
Avance

01/2006 3
continue_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 174
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Parada automática del procesamiento en Avance

Las instrucciones y los datos que afectan a la periferia (p.ej. Instrucciones de


E/S), o que están basadas en el estado actual del robot, lanzan una parada
del procesamiento en avance. Esto es necesario para garantizar la secuencia
correcta de sentencias y movimientos de robot.

Sentencias HALT WAIT PULSE


ANIN ON/OFF ANOUT ON/OFF
Variables de sistema $IN[x] $OUT[x]
modificables $ANIN[x] $ANOUT[x]

Variables importadas Todas, cuando se accede a ellas

Una tabla completa de instrucciones que lanzan una parada


automática del procesamiento en avance puede encontrarse en la
documentación (ver CD de documentación)

01/2006 4
continue_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 175
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

CONTINUE

Sintaxis: CONTINUE

En aplicaciones donde esta parada del procesamiento


en avance puede ser prevista, la instrucción
CONTINUE debe ser programada inmediatamente
antes de la instrucción relevante. El control permite
entonces que el procesamiento en avance continue.
El efecto de esta instrucción está limitado a la
siguiente línea de programa (Incluso en el caso que
esté en blanco!!).

01/2006 5
continue_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 176
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Posicionamiento aproximado usando CONTINUE

Sintaxis: CONTINUE

La condición o el asignamiento de valor es


interrogado por el puntero de procesamiento en
avance, pero aún es posible realizar la aproximación
al punto precedente.

DEF EXIT_PRO ( )
...
PTP XP9 C_PTP
CONTINUE
WAIT FOR $IN[14] == TRUE
...
END

01/2006 6
continue_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 177
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

7.6 Posición aproximada

Libro_programación_avanzado.doc 178
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Posicionamiento aproximado con instrucciones PTP

PTP Nombre_punto (o coordenada) C_PTP

• El tamaño del rango de posicionamiento aproximado se establece


mediante la variable $APO.CPTP (en %)
• La distancia máxima de aproximación está limitada en los datos de
máquina a 90º para todos los ejes

DEF PTP_AXIS_CPTP ( )
DEF PTP_AXIS_CPTP ( )
...
...
$APO.CPTP = 50
$APO.CPTP = 50
...
...
PTP XHOME
PTP XHOME
PTP {AXIS: A1 80, A2 –40, A3 0, A4 0, A5 0, A6 -90} C_PTP
PTP {AXIS: A1 80, A2 –40, A3 0, A4 0, A5 0, A6 -90} C_PTP
PTP XPOINT1 C_PTP
PTP XPOINT1 C_PTP
...
...
END
END

01/2006 1
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 179
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de posicionamiento aproximado PTP-PTP

PTP {POS:X 1159.08,Y -232.06,Z 716.38,A 171.85,B 67.32,C 162.65,S 2,T 10}
PTP {POS:X 1246.93,Y -98.86,Z 715,A 125.1,B 56.75,C 111.66,S 2,T 10} C_PTP
PTP {POS:X 1109.41,Y -0.51,Z 715,A 95.44,B 73.45,C 70.95,S 2,T 10}
$APO.CPTP=20
PTP {POS:X 1296.61,Y 133.41,Z 715,A 150.32,B 55.07,C 130.23,S 2,T 11} C_PTP
PTP {POS:X 988.45,Y 238.53,Z 715,A 114.65,B 50.46,C 84.62,S 2,T 11} C_PTP
PTP {POS:X 1209.5,Y 381.09,Z 715,A -141.91,B 82.41,C -159.41,S 2,T 11}

Di
re
cc
Punto final ión
de
mo
vim
ien
to

Punto de inicio

$APO.CPTP=20

01/2006 2
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 180
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Posicionamiento aproximado con movimientos CP

Unidad /
Variable Tipo de Descripción Keyword
datos

$APO.CDIS mm La distancia al punto final


debe ser menor que el valor C_DIS
(Distancia) REAL $APO.CDIS

$APO.CORI ° El ángulo de la orientación


dominante debe ser menor C_ORI
(Orientación) REAL que el valor $APO.CORI
La velocidad en la fase de
$APO.CVEL % deceleración al punto final
C_VEL
(Velocidad) INT debe ser menor que el valor
$APO.CVEL

01/2006 3
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 181
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Posicionamiento aproximado con movimientos CP

LIN Nombre_punto (o coordenada) Criterio_posicionamiento_ aproximado

El tamaño del rango de posicionamiento aproximado se establece


mediante las variables $APO.CDIS, $APO.CVEL y $APO.CORI

DEF LIN_CIRC_CONT ( )
DEF LIN_CIRC_CONT ( )
...
...
$APO.CVEL = 50
$APO.CVEL = 50
$APO.CDIS = 20
$APO.CDIS = 20
$APO.CORI = 20
$APO.CORI = 20
...
...
PTP XHOME
PTP XHOME
LIN_REL {X -500, Z 250, A 50, C 90} C_VEL
LIN_REL {X -500, Z 250, A 50, C 90} C_VEL
CIRC XHP, XZP, CA 270 C_ORI
CIRC XHP, XZP, CA 270 C_ORI
LIN {X 1050, Y 120, Z 1000, A 0, B 0, C 0} C_DIS
LIN {X 1050, Y 120, Z 1000, A 0, B 0, C 0} C_DIS
...
...
END
END

01/2006 4
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 182
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de posicionamiento aproximado LIN-LIN

PTP {POS: X 1159.08,Y -232.06,Z 716.38,A 171.85,B 67.32,C 162.65,S 2,T 10}
$APO.CDIS=20
LIN {X 1246.93,Y -98.86,Z 715,A 125.1,B 56.75,C 111.66} C_DIS
LIN {X 1109.41,Y -0.51,Z 715,A 95.44,B 73.45,C 70.95}
LIN {X 1296.61,Y 133.41,Z 714.99,A 150.32,B 55.07,C 130.23} C_ORI
LIN {X 988.45,Y 238.53,Z 714.99,A 114.65,B 50.46,C 84.62} C_VEL
LIN {X 1209.5,Y 381.09,Z 715,A -141.91,B 82.41,C -159.41}

Di
re
cc
Punto final ió n
mo
v im
ien
t o
$APO.CDIS=20
Punto inicial

01/2006 5
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 183
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Posicionamiento aproximado PTP-CP

Movimiento CP (CP = Continuous Path) = LIN o CIRC

Programa:
Programa:
...
...
LIN P1
LIN P1
LIN P2 C_DIS
LIN P2 C_DIS
PTP P3
PTP P3
...
...

Mesa

El problema en este caso es que el posicionamiento aproximado


es impredecible. Existe la posibilidad de colisión con la mesa.

01/2006 6
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 184
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Posicionamiento aproximado PTP-CP

Para evitar el problema anterior, eludiendo el posicionamiento exacto,


debe insertarse un movimiento CP adicional (P2_AUX).

Programa:
Programa:
...
...
P2_AUX LIN P1
LIN P1
LIN P2 C_DIS
LIN P2 C_DIS
LIN P2_AUX
LIN P2_AUX
C_DIS
C_DIS
PTP P3
PTP P3
...
...

Mesa

01/2006 7
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 185
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de posicionamiento aproximado CIRC-CIRC

PTP {POS: X 980,Y -238,Z 718,A 133,B 66,C 146,S 6,T 50}
$APO.CDIS=20
CIRC {X 925,Y -285,Z 718},{X 867,Y -192,Z 718,A 155,B 75,C 160} C_DIS
$ORI_TYPE=#CONST
CIRC {X 982,Y -221,Z 718,A 50,B 60,C 0},{X 1061,Y -118,Z 718,A -162,B 60,C 177}, CA 150 C_ORI

CIRC {X 963.08,Y -85.39,Z 718},{X 892.05,Y 67.25,Z 718.01,A 97.34,B 57.07,C 151.11} C_ORI
$APO.CVEL=50
CIRC_REL {X -50,Y 50},{X 0,Y 100} C_VEL
$APO.CDIS=40
CIRC_REL {X -50,Y 50},{X 0,Y 100} C_DIS Punto inicio
CIRC_REL {X -50,Y 50},{X 0,Y 100}

Punto final

01/2006 8
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 186
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Contorno de posicionamiento aproximado en bloques LIN-CIRC

La trayectoria de posicionamiento aproximado consiste en dos


segmentos parabólicos, que tienen una transición tangencial entre ellos
y los bloques individuales.

Fin de posicionamiento
aproximado

Inicio del posicionamiento aproximado

01/2006 9
motion_approximation_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 187
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

7.7 Status y Turn

Libro_programación_avanzado.doc 188
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Status y Turn

Las entradas “S” y “T” en una estructura tipo POS se ve especificada,


la posición inequívoco definida del robot donde son posibles varias
posiciones del eje para el mismo punto en espacio.

La especificación de Status y Turn solo se evaluan en


movimientos PTP. Por esta razón, el primer movimiento
en un programa debe ser un movimiento PTP.

DEFDAT MAIN_PROGRAM ( )
DEFDAT MAIN_PROGRAM ( )
DECL POS XPOINT1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27}
DECL POS XPOINT1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27}
DECL FDAT FPOINT1...
DECL FDAT FPOINT1...
...
...
STATUS TUR
ENDDAT N
ENDDAT

01/2006 1
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 189
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Status y Turn

Status = 1 Status = 2
Turn = 46 Turn = 43

Status = 6 Status = 4
Turn = 59 Turn = 63

01/2006 2
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 190
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Turn

Con ejes rotacionales, los bits individuales determinan el signo antes


del valor del eje de la manera siguiente:
Bit x = 0: ángulo del eje x ≥ 0°
Bit x = 1: ángulo del eje x < 0°

Valor Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 A6 ≥ A5 ≥ A4 ≥ A3 ≥ A2 ≥ A1 ≥
0° 0° 0° 0° 0° 0°
1 A6 < A5 < A4 < A3 < A2 < A1 <
0° 0° 0° 0° 0° 0°

Ejemplo:
Specificación T 19 Æ T‘B010011‘
Ejes A1, A2 y A5 negativos; ejes A3, A4 y A6 positivos

01/2006 3
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 191
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Status – BIT 0: Posición del punto central de la muñeca

Posición del punto


central de la muñeca

BA = Area básica Æ Bit 0 = 0


OHA = Area de arriba Æ Bit 0 = 1

01/2006 4
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 192
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Status – BIT 1: Configuración del brazo

Eje 5

Eje 3
Eje 2

Offset
Bit 1 specifica la posición del brazo. El valor del
bit depende del modelo de robot que se utilice.
Para robots donde el eje 3 y 4 interseccionan,
se aplica lo siguiente:
El bit 1 tiene valor 0, si el eje 3 < 0°, si no el
bit 1 = 1.
Para robots con un offset entre el eje 3 y 4 (ej.
KR 30), el ángulo con el cual el bit 1 cambia KR 30
depende del valor de este offset.

01/2006 5
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 193
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Status – BIT 2: Configuración de la muñeca

+180°

BIT2 = 1

-180°
BIT2 = 0

Bit 2 specifica la configuración de la muñeca. Esto depende de la


posición de eje 5.

01/2006 6
motion_s_t_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 194
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

8. Variables de sistema

Libro_programación_avanzado.doc 195
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Sistema de variables y sistema de archivos

¾ El KRC soporta the concept of predefined system variables and system


files.
¾ Las variables del sistema se pueden leer y escribir de la misma manera
que cualquier otra variable (con las limitaciones debido al tipo de datos).
¾ Es posible escribir listas separadas de datos con definiciones e
inicializaciones de datos si se requiere.
¾ El sistema contiene listas predefinidas de datos que no pueden ser
generadas ni suprimidas, ejemplo:
$MACHINE.DAT Adapt controller to robot
$CUSTOM.DAT Configura funciones de control
$CONFIG.DAT Lista predefinida de datos
$ROBCOR.DAT Robot-specific data

01/2006 1
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 196
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Utilización de contadores

Las variables del sistema $TIMER[1]…$TIMER[32] sirven para medir la


sequencia de tiempo (20 en el display). El proceso de sincronización se enciende
y se apaga por medio de las variables $TIMER_STOP[1]…$TIMER_STOP[16]:

Sintaxis:

$TIMER_STOP[No] = Value

Argument Type Explanation


Value BOOL FALSE: Start timer
TRUE: Stop timer

Ejemplo:
$TIMER[5] = 0 ;Reset el contador 5 para asignar un valor
$TIMER_STOP[5] = FALSE ;Start el contador 5
...
$TIMER_STOP[5] = TRUE ;Start el contador 5

01/2006 2
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 197
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Timer flag

1
$TIMER_STOP[No]
0
1
$TIMER_FLAG[No]
0

10000
$TIMER[No] in ms

0 Time

Zero position

-10000

01/2006 3
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 198
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Flags

Los Flags son 1 bit de memoria y se utilizan como marcas globales. Los Flags
son estáticos.

Sintaxis:

$FLAG[No] = Value

Argument Type Explanation


No. INT Flag number,
range of values: 1…1024 (999 on the display)
Value BOOL FALSE: Reset flag
TRUE: Set flag

Ejemplo:
$FLAG[1] = FALSE ;Reset flag 1

01/2006 4
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 199
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Flags ciclicos

Los flags cíclicos son un 1 bit de memoria que se utilizan como marcadores
globales.

Sintaxis :

$CYCFLAG[No] = Value

Argument Type Explanation


No. INT Cyclical flag number,
range of values: 1…256 (32 on the display)
Value BOOL FALSE: Reset cyclical flag
TRUE: Set cyclical flag

Ejemplo:
$CYCFLAG[1] = $IN[2] AND $IN[13] ;La expresión booleana se evalúa y
se pone al día.

01/2006 5
systemvariables_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 200
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

9. Control de ejecución de programa


9.1 Instrucciones de salto y ramificaciones

Libro_programación_avanzado.doc 201
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de ejecución del programa

Instrucción de salto GOTO

Ramificaciones Ramificación condicional IF - THEN - ELSE

Conmutación SWITCH - CASE

El control no detecta errores lógicos!

01/2006 1
program_control_branches_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 202
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Instrucción de salto

Sintaxis:
GOTO Marca

La instrucción GOTO nos puede llevar a la pertida de la claridad


estructural
dentro del programa por lo que debería limitarse su uso.

DEF PRG ( )
DEF PRG ( )
...
...
GOTO Marca1
GOTO Marca1
...
...
...
...
Marca:
Marca:
...
...
END
END
01/2006 2
program_control_branches_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 203
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ramificación condicional

Sintaxis: IF Condición de ejecución THEN


insrucción
ELSE
Instrucción
ENDIF

...
... Condition
OK ?
IF $IN[22]==TRUE THEN
IF $IN[22]==TRUE THEN No
PTP HOME Yes
PTP HOME
ELSE
ELSE
$OUT[17]=TRUE Statement A Statement B
$OUT[17]=TRUE
$OUT[18]=FALSE
$OUT[18]=FALSE
PTP HOME
PTP HOME
ENDIF
ENDIF
...
...
01/2006 3
program_control_branches_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 204
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Conmutación

Sintaxis: SWITCH Variable (INT o ENUM)


CASE 1
Instrucción
CASE 2
Instrucción Selection

DEFAULT
ENDSWITCH 1 2 3 n

Statement A Statement B Statement C Statement n


...
...
SWITCH PROG_NO
SWITCH PROG_NO
CASE 1
CASE 1
Part1 ( ) ; if Prog_No = 1
Part1 ( ) ; if Prog_No = 1
CASE 2
CASE 2
Part2 () ; if Prog_No = 2
Part2 () ; if Prog_No = 2
DEFAULT
DEFAULT
ERROR_SP( ) ; cualquier otro
ERROR_SP( ) ; cualquier otro
valor
valor
ENDSWITCH
ENDSWITCH
...
...
01/2006 4
program_control_branches_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 205
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

9.2 Bucles

Libro_programación_avanzado.doc 206
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Control de ejecución del programal

Búcles Búcle sin fin LOOP

Búcle de conteo FOR - TO - STEP

WHILE
Búcle condicional
REPEAT - UNTIL

El conrol no detecta errores de lógica!

01/2006 1
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 207
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Búcles - general

1. Se necesian búcles para repetir instrucciones de programa.


2. Existen diferencias entre bucles condicionales y de conteo.
3. El control no permite saltos al interior del búcle (mensajes de error).
4. El anidado de bucles es una técnica de programación más avanzada.

01/2006 2
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 208
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Búcle de conteo

Sintaxis:
FOR Contador = Inicio TO Fin STEP Incremento
Instrucción
ENDFOR

E6POS POSITION[4,4]
E6POS POSITION[4,4]
INT X, Y For i = 1 to 4
INT X, Y
...
...
FOR X=1 TO 4 STEP 1
FOR X=1 TO 4 STEP 1
FOR Y=4 TO 1 STEP -1 Statement
FOR Y=4 TO 1 STEP -1
POSITION[X,Y]=P1
POSITION[X,Y]=P1
POSITION[X,Y].X=P1.X+50
POSITION[X,Y].X=P1.X+50
POSITION[X,Y].Y=P1.Y+50
POSITION[X,Y].Y=P1.Y+50
ENDFOR
ENDFOR
ENDFOR
ENDFOR

01/2006 3
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 209
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Bucle rechazante

Sintaxis: WHILE Condicion

Instrucción

ENDWHILE

...
...
WHILE $IN[22]==TRUE WHILE
WHILE $IN[22]==TRUE condition ?

$OUT[17]=TRUE
$OUT[17]=TRUE Yes
$OUT[18]=FALSE No
$OUT[18]=FALSE
PTP HOME
PTP HOME Statement

ENDWHILE
ENDWHILE
...
...
01/2006 4
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 210
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Búcle no rechazane

Sintaxis: REPEAT

Instrucción

UNTIL Condición

...
...
REPEAT
REPEAT No
Statement

$OUT[17]=TRUE
$OUT[17]=TRUE
$OUT[18]=FALSE
$OUT[18]=FALSE
PTP HOME Repeat
PTP HOME condition ?

UNTIL $IN[22]==TRUE
UNTIL $IN[22]==TRUE Yes
...
...
01/2006 5
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 211
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Búcle sin fin

Sintaxis: LOOP
Instrucción 1
...
Instrucción n
ENDLOOP

Statement A
...
...
PTP HOME
PTP HOME
LOOP
LOOP Statement B
LIN XP1
LIN XP1
LIN XP2
LIN XP2
LIN XP4
LIN XP4 Statement C
ENDLOOP
ENDLOOP
PTP HOME
PTP HOME
...
...
01/2006 6
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 212
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Finalización prematura de un bucle

Sintaxis: EXIT

Cualquier búcle puede finalizarse prematuramente usnado la


instrucción EXIT.

DEF EXIT_PRO ( )
DEF EXIT_PRO ( )
PTP XHOME
PTP XHOME
LOOP ;Inicio del búcle sin fin
LOOP ;Inicio del búcle sin fin
LIN XP1
LIN XP1
IF $IN[1] == TRUE THEN ;Finalizar cuando
IF $IN[1] == TRUE THEN ;Finalizar cuando
EXIT ;Entrada 1 activa
EXIT ;Entrada 1 activa
ENDIF
ENDIF
LIN XP2
LIN XP2
ENDLOOP ; Fin del bucle sin fin???
ENDLOOP ; Fin del bucle sin fin???
PTP XHOME
PTP XHOME
END
END
01/2006 7
program_control_loops_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 213
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

9.3 Funciones WAIT y HALT

Libro_programación_avanzado.doc 214
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Instrucción de espera

Sintaxis: WAIT FOR Condición

DEF EXIT_PRO ( )
...
WAIT FOR $IN[14] == TRUE ;espera entrada 14
activa
...
END

¾Si la expresión lógica “Condición” ya es TRUE cuando se


llama al WAIT, no se detiene la ejecución del programa.
(en cualquier caso, se para el advance).
¾Si “Condición” es FALSE, se detiene la ejecución del
programa hasta que la expresion tome el valor TRUE.

01/2006 1
program_control_add_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 215
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Instrucciones de espera

Sintaxis: WAIT FOR Tiempo

DEF EXIT_PRO ( )
...
WAIT SEC 5 ;espera 5 segundos
...
WAIT SEC Tiempo*0.5+0.25 ;espera un tiempo
calculado

END

“Tiempo” es una expresión aritmetica REAL que puede


usarse para especificar cuántos segundos debe detenerse
la ejecución del programa. Si el valor es negativo, el
programa no espera.

01/2006 2
program_control_add_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 216
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Detención del programa

Sintaxis: HALT

La instrucción HALT se utiliza para detener programas. La última


instrucción de movimiento siempre se completará.

El programa puede continuar pulsando la tecla START.

Caso especíal: En el caso de programas de interrupción, la


rutina se procesa por completo (puntero de avance).

01/2006 3
program_control_add_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 217
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

10. Función automático externo


10.1 Definición y secuencia

Libro_programación_avanzado.doc 218
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Estructura del sistema

Controla el sistema
completo y guarda Servidor
datos

Componentes del
PLCs sistema control
(robots y periferia)

Robots

Ejecución de la aplicación

01/2006 1
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 219
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Estructura del sistema: KRC - PLC

Programa organizador para seleccionar programas de movimiento

Automático Externo:
Modo de operación en el
que un PLC ó Servidor
CELL.SRC
asume el control del
sistema robot

PLC
Intercambio de señales

T T

Información acerca del Todo el proceso del robot, ej.


funcionamiento y estados de habilitación de movimiento, fallos,
fallo se transmiten al PLC confirmación, arranque de
programa, es controlado por el PLC
01/2006 2
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 220
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Configuración de la interface

Las señales del Automático Externo deben ser asignadas a “entradas” y


“salidas” físicas del control del robot.

01/2006 3
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 221
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Entradas de Automático Externo

Descripción de Nombre de la
la función Variable

Var Variable Número de entrada o


I/O Entrada valor de la variable

01/2006 4
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 222
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas de Automático Externo – Condición de arranque

Descripción Nombre de la
de la función función

Número de salida

01/2006 5
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 223
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

$NEAR_POSRET

La señal $NEAR_POSRET puede utilizarse para determinar si el robot se encuentra o


no dentro de una esfera alrededor de la posición memorizada en $POS_RET*). El
radio de esta esfera puede indicarse en el archivo $CUSTOM.DAT usando la variable
de sistema $NEARPATHTOL.

$NEAR_POSRET=FALSE

$NEAR_POSRET=TRUE

Desviación de
trayectoria
causada
th
Pa por ejemplo,
$NEARPATHTOL por un frenado
dinámico

*) $POS_RET: Posición en la que el robot abandonó la trayectoria( )

01/2006 6
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 224
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Programa organizador: CELL.SRC


INIT
BASISTECH INI
CHECK HOME
Comprobar posición PTP HOME Vel= 100 % DEFAULT
AUTOEXT INI
LOOP
Función para P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
transferir nº de SWITCH PGNO
programa
CASE 1
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
• Borrar “;” ;EXAMPLE1 ( )

• Sustituir nombre de CASE 2


P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
programa por ;EXAMPLE2 ( )
EXAMPLEx
CASE 3
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
Si el número de ;EXAMPLE3 ( )
programa es inválido,
DEFAULT
rearranque programa P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
con $EXT_START
ENDSWITCH
ENDLOOP
01/2006 7
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 225
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Expandiendo CELL.SRC

LOOP

P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
SWITCH PGNO

• Seleccione una rama CASE CASE 1


con SHIFT + cursor y copiela P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
PROG1 ( )
como una nueva rama.
• Proceda del mismo modo CASE 2
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
para todos los programas. PROG2 ( )
• Modifique el número de CASE 3
programa (CASE) y el nombre P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
PROG3 ( )
del programa correspondiente. CASE 4
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 )
PROG4 ( )
DEFAULT
P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
ENDSWITCH

ENDLOOP

01/2006 8
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 226
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

“Automático Externo” Ejemplo de interface (no completa)

$STOPMESS
PGNO_REQ
APPL_RUN
$PERI_RDY

ENTRADAS
$ALARM_STOP
SALIDAS

$USER_SAF
$I_O_ACTCONF(EXT)
$ON_PATH
$PRO_ACT
$IN_HOME
PGNO / PGNO_PARITY
KRC PGNO_VALID PLC

SALIDAS
ENTRADAS

$EXT_START
$MOVE_ENABLE
$CONF_MESS
$DRIVES_ON
$DRIVES_OFF

01/2006 9
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 227
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Precondición

$STOPMESS (Mensaje de stop)

$PERI_RDY (accionamientos están


activos)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (Puerta de seguridad


cerrada)
$I_O_ACTCONF(EXT)

$IN_HOME (robot en posición HOME)

KRC PLC

ENTRADAS
SALIDAS

$MOVE_ENABLE (movimiento
habilitado)
$DRIVES_ON (acciona. activos)
$DRIVES_OFF (accionamientos no
desactivados)
01/2006 10
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 228
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: DRIVES_ON omitido

$STOPMESS (Mensaje de stop)

$PERI_RDY (accionamientos están


activos)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (Puerta de seguridad


cerrada)
$I_O_ACTCONF(EXT)

$IN_HOME (robot en posición HOME)

KRC PLC

SALIDAS
ENTRADAS

$MOVE_ENABLE (movimiento
habilitado)
$DRIVES_ON (acciona. activos)
$DRIVES_OFF (accionamientos no
desactivados)
01/2006 11
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 229
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Confirmación de mensajes

$STOPMESS (Mensaje de stop)

$PERI_RDY (accionamientos están


activos)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (Puerta de seguridad


cerrada)
$I_O_ACTCONF(EXT)

$IN_HOME (robot en posición HOME)

KRC PLC

SALIDAS
ENTRADAS

$MOVE_ENABLE (movimiento
habilitado)
$CONF_MESS (Confir. mensajes)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 12
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 230
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Confirmación de mensajes

$STOPMESS (Mensaje de stop)

$PERI_RDY (accionamientos están


activos)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (Puerta de seguridad


cerrada)
$I_O_ACTCONF(EXT)

$IN_HOME (robot en posición HOME)

KRC PLC

SALIDAS
ENTRADAS

$MOVE_ENABLE (movimiento
habilitado)
$CONF_MESS (Confir. mensajes)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 13
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 231
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Arranque de programa

$PERI_RDY (accionamientos están


activos)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (Puerta de seguridad


cerrada)
$I_O_ACTCONF(EXT)
$ON_PATH (robot en trayectoria)
$PRO_ACT (programa es activado)
$IN_HOME (robot en posición HOME)

KRC PLC

SALIDAS
ENTRADAS

$EXT_START (start programa)


$MOVE_ENABLE (movimiento
habilitado)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 14
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 232
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: EXT_START omitido

$PERI_RDY (accionamientos están


activos)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (puerta de seguridad


cerrada)
$I_O_ACTCONF(EXT)
$ON_PATH (robot en trayectoria)
$PRO_ACT (programa es activado)
$IN_HOME (robot en posición HOME)

KRC PLC

SALIDAS
ENTRADAS

$EXT_START (start programa)


$MOVE_ENABLE (motion enable)

$DRIVES_OFF (drives not


deactivated)
01/2006 15
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 233
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Transferir número de programa

PGNO_REQ (request)

$PERI_RDY (drives are on)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (safety gate closed)


$I_O_ACTCONF(EXT)
$ON_PATH (robot is on path)
$PRO_ACT (program is active)
$IN_HOME (robot in HOME position)
PGNO (number + parity)
KRC PGNO_VALID (read command) PLC

SALIDAS
ENTRADAS

$MOVE_ENABLE (movimiento
habilitado)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 16
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 234
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Programa funcionando

PGNO_REQ (requerimiento)
APPL_RUN (programa funcionando)
$PERI_RDY (acciona. están act.)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (P. seguridad cerrada)


$I_O_ACTCONF(EXT)
$ON_PATH (robot en trayectoria)
$PRO_ACT (programa es activado)
$IN_HOME (robot en posición HOME)
PGNO (número + paridad)
KRC PGNO_VALID (Leer comando) PLC

SALIDAS
SALIDAS

$MOVE_ENABLE (movimiento
habilitado)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 17
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 235
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Programa funcionando

PGNO_REQ (requerimiento)
APPL_RUN (programa funcionando)
$PERI_RDY (acciona. están act.)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (P. seguridad cerrada)


$I_O_ACTCONF(EXT)
$ON_PATH (robot en trayectoria)
$PRO_ACT (programa es activado)
$IN_HOME (robot en posición HOME)
PGNO (número + paridad)
KRC PGNO_VALID (leer comando) PLC

SALIDAS
ENTRADAS

$MOVE_ENABLE (movimiento
habilitado)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 18
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 236
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Final de programa

APPL_RUN (programa funcionado)


$PERI_RDY (acciona. están activos)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (P. seguridad cerrada)


$I_O_ACTCONF(EXT)
$ON_PATH (robot en trayectoria)
$PRO_ACT (programa es activado)
$IN_HOME (robot en posición HOME)

KRC PLC

SALIDAS
ENTRADAS

$MOVE_ENABLE (movimiento
habilitado)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 19
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 237
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Final de programa

APPL_RUN (programa funcionando)


$PERI_RDY (acciona. están activos)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (P. seguridad cerrada)


$I_O_ACTCONF(EXT)
$ON_PATH (robot en trayectoria)
$PRO_ACT (programa es activado)
$IN_HOME (robot en posición HOME)

KRC PLC

SALIDAS
ENTRADAS

$MOVE_ENABLE (movimiento
habilitado)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 20
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 238
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Ejemplo de diagrama de señales: Nuevo programa requerido

PGNO_REQ (requerimiento)

$PERI_RDY (Acciona. están act.)

ENTRADAS
$ALARM_STOP (no E-STOP)
SALIDAS

$USER_SAF (P seguridad cerrada)


$I_O_ACTCONF(EXT)
$ON_PATH (robot en trayectoria)
$PRO_ACT (programa es activado)
$IN_HOME (robot en posción HOME)
PGNO (número + paridad)
KRC PGNO_VALID (leer comando) PLC

SALIDAS
ENTRADAS

$MOVE_ENABLE (movimiento
habilitado)

$DRIVES_OFF (accionamientos no
desactivados)
01/2006 21
automatic_external_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 239
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

10.2 Configuración de entradas

Libro_programación_avanzado.doc 240
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Formato del número de programa: PGNO_TYPE

PGNO_TYPE – Tipo de número de programa

Este valor determina el formato en el cual se lee el número del programa


enviado por el servidor o PLC.

PGNO_TYPE Leer como.. Significado Ejemplo

1 Número binario Enviado como número entero binario cifrado Click


Click
2 Valor BCD Enviado como decimal codificado binario Click
Click
3 “1 de n” *1 Enviado como valor codificado “1 de n” Click
Click
*1 Cuando se utiliza este formato de transmisión, el valor de PGNO_REQ, PGNO_PARITY y
PGNO_VALID no son evaluados y no tienen ninguna significación.

01/2006 1
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 241
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Formato del número de programa: BINARIO

número entero binario cifrado: PGNO_TYPE=1

ENTRADA: ...E8 E7 E6 E5 E4 E3 E2 E1

Valores: 27= 26= 25 = 24 = 23= 22= 21 = 20 =


128 64 32 16 8 4 2 1

Ejemplo: 0 1 1 0 0 0 0 1

Nº Prog.: 97 =0 + 64 + 32 + 0 + 0 + 0 + 0 + 1

01/2006 1
automatic_external_pgno_type_1_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 242
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Formato del número de programa: BCD

Decimal codificado binario: PGNO_TYPE=2


Lugar 2º decimal Lugar del 1er decimal
Entrada: ... E8 E7 E6 E5 E4 E3 E2 E1

Valores: 8 4 2 1 8 4 2 1

Ejemplo: 0 0 1 0 0 1 1 1

Resultado: 2 7

Nº Prog.: 27
01/2006 1
automatic_external_pgno_type_2_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 243
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Formato del número de programa : “1 de n”

“1 de n” entero codificado: PGNO_TYPE=3

Entrada (max. 16): ... E8 E7 E6 E5 E4 E3 E2 E1


Nº Prog. 1 : 0 0 0 0 0 0 0 1
Nº Prog. 2 : 0 0 0 0 0 0 1 0
Nº Prog. 3 : 0 0 0 0 0 1 0 0
Nº Prog. 4 : 0 0 0 0 1 0 0 0
Nº Prog. 5 : 0 0 0 1 0 0 0 0
Nº Prog. 6 : 0 0 1 0 0 0 0 0
Nº Prog. 7 : 0 1 0 0 0 0 0 0
Nº Prog. 8 : 1 0 0 0 0 0 0 0

Solamente una entrada puede estar a “TRUE" en cualquier momento. El resto


de las combinaciones de entrada dan lugar a un número inválido del programa.
01/2006 1
automatic_external_pgno_type_3_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 244
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Espejo del número de programa: REFLECT_PROG_NR

REFLECT_PROG_NR – REFLECT_PROG_NR

Esta opción permite que usted decida si desea que el número de


programa sea reflejado en un área de salida definible.

REFLECT_PROG_NR Función
0 Desactivado
1 Activado

El area de salida definible se realiza en:


“PGNO_FBIT_REFL”.

01/2006 2
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 245
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Longitud del número de programa en bits: PGNO_LENGTH

PGNO_LENGTH
– Longitud del número de programa en bits

Su valor determina el número de bits que definen el número de programa


enviado por el host o PLC.

Rango de valores:PGNO_LENGTH = 1...16

Ejemplo:PGNO_LENGTH = 4

La longitud de programa es de cuatro bits


Mientras PGNO_TYPE tenga valor 2 (el número de programa es leido
como BCD), solo son permitidos valores 4, 8, 12 y 16 para el número
de bits.
01/2006 3
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 246
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Primer bit del número de programa: PGNO_FBIT

PGNO_FBIT – Primer bit del número de programa

Entrada representando el primer bit del número de programa.

Rango de valores:PGNO_FBIT = 1...4096

Ejemplo:PGNO_FBIT = 5

El número de programa comienza en la entrada $IN[5]

01/2006 4
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 247
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Bit de paridad: PGNO_PARITY

PGNO_PARITY – Bit de paridad

Entrada en la cual se transfiere el bit de paridad desde el servidor o


PLC.
Entrada Función

Valor negativo Paridad impar

0 No se evalua

Valor positivo Paridad par

Mientras PGNO_TYPE tiene valor 3 (el número de programa se


lee con valores de“1 a n”), PGNO_PARITY NO se evalua.

01/2006 5
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 248
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Validación del número de programa: PGNO_VALID

PGNO_VALID – Validación del número de programa

Entrada a la cual el comando de leer el número del programa se transfiere del


servidor o PLC. Si PGNO_TYPE tiene valor 3, PGNO_VALID no se evalua.

Entrada Función

El número de programa se transfiere en el flanco de bajada de la


Valor negativo
señal.

El número de programa se transfiere en el flanco de subida de la


0 señal en la linea EXT_START

El número de programa se transfiere en el flanco de subida de la


Valor positivo señal.

01/2006 6
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 249
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Arrancar programa: $EXT_START

$EXT_START – Arrancar programa

Si el interface de I/O está activo, esta entrada se utiliza para arrancar un


programa o continuar un programa.

Solamente se evalua la señal en el flanco de subida.

There is no BCO run in Automatic External mode, so there is no


program stop at the first programmed position.

01/2006 7
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 250
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Movimiento habilitado: $MOVE_ENABLE

$MOVE_ENABLE – Movimiento habilitado

Esta entrada la utiliza el servidor o PLC para habilitar o deshabilitar el


movimiento del robot.
Señal Función

TRUE Movimiento y ejecución de programa es posible

Todos los servos están parados y los comandos activos están


FALSE inhibidos

Si el servidor o PLC quita la señal , en la pantalla de la KCP aparecerá


el mensaje “LIBERACIÓN DE MOVIMIENTO GENERAL". Solamente
será posible mover el robot una vez se vuelve a activar la señal y se
haya confirmado este mensaje.
01/2006 8
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 251
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Supervisión de MOVE_ENABLE: $CHCK_MOVENA

$MOVE_ENABLE – Movimiento habilitado

Si la $CHCK_MOVENA tiene valor “FALSE”, puede obviarse MOVE_ENABLE. El valor


de la variable únicamente puede ser cambiado en el archivo
"C:\KRC\Roboter\KRC\Steu\MaDa\OPTION.DAT”.

Señal Función

TRUE Supervisión de MOVE_ENABLE está activado

FALSE Supervisión de MOVE_ENABLE está activado

Para poder utilizar la supervisión del MOVE_ENABLE,


$MOVE_ENABLE debe estar configurada sobre la entrada “$IN[1025]”.
Caso contrario, “$CHCK_MOVENA” no tiene efecto alguno.
01/2006 9
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 252
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Mensajes de fallo: $CONF_MESS

$CONF_MESS – Mensajes de fallo

Activando esta señal por el servidor o PLC se pueden autoborrar los mensajes
de fallo originados (confirmación).

Solo se evalua el blanco de subida de la señal.

Naturalmente solo se pueden confirmar los mensajes de fallo una vez se ha


solucionado la causa que los produjo.

1 1

0 0
Flanco de subida Flanco de bajada
01/2006 10
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 253
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Drives on/off: $DRIVES_ON / $DRIVES_OFF

DRIVES_OFF (negado)

Mediante un pulso a nivel bajo de 20 ms de duración, como mínimo, el


servidor o PLC puede desactivar los accionamientos del robot.

DRIVES_ON

Con un pulso a nivel alto durante más de 20 ms de duración en esta


entrada, el servidor o PLC puede activar los accionamientos del robot.

01/2006 11
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 254
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Drives on/off: $DRIVES_ON / $DRIVES_OFF

$I_O_ACT – Interface

El interface de I/O puede ser activado fijando este sistema variable a TRUE
($IN[1025])

01/2006 12
automatic_external_inputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 255
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

10.3 Configuración de salidas

Libro_programación_avanzado.doc 256
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas RC_RDY1 y ALARM_STOP

Condición de arranque

RC_RDY1 – Control preparado


Preparado para arrancar programa.

ALARM_STOP – E-Stop circuito cerrado


Esta salida es reseteada cuando se produce un evento de PARADA DE
EMERGENCIA.

01/2006 1
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 257
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas USER_SAF y PERI_RDY

Condición de arranque

USER_SAF – Dispositivo de serguridad de operador cerrado


Esta salida es reseteada al abrir un contacto del conmutador de control del
vallado de seguridad (en el modo de servicio AUTO), o bien al soltar un
pulsador de hombre muerto (en el modo de servicio TEST).

PERI_RDY – Accionamientos preparados


Con la activación de esta salida el control del robot comunica al ordenador
principal que los accionamientos del robot están activados.

01/2006 2
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 258
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas ROB_CAL y I_O_ACTCONF

Condición de arranque

ROB_CAL – Robot ajustado


Siempre que haya un eje o más desajustados esta señal estará a FALSE.

I_O_ACTCONF – Interface activa


La interface de Automático Externo está activa. Esta señal está en TRUE tan
pronto como el modo de operación se cambie a EXT.

01/2006 3
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 259
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas STOPMESS y PGNO_FBIT_REFL

Condición de arranque

STOPMESS – Colección de errores


Esta salida es puesta por el control del robot para indicarle al ordenador
principal que se ha producido un mensaje que requiere la parada del robot.
(Ej. PARADA--EMERGENCIA, liberación de movimientos, protección del
operador, velocidad nominal de mando, etc.)

PGNO_FBIT_REFL
Salida reflejada (espejo), que representa el primer bit del número de programa.
Si un programa, que ha sido seleccionado por el PLC es deseleccionado por el
operario, entonces la sección de salida, comenzando con PGNO_FBIT_REFL,
es puesta en “FALSE”. De este modo, el PLC puede evitar un nuevo
rearranque manual del programa.
01/2006 4
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 260
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas PRO_ACT y PGNO_REQ

Estado de programa

PRO_ACT – Programa activo


Esta salida estará activa cuando esté activo un proceso o bien la ejecución del
programa en el nivel de robot está activa. El proceso continúa activo mientras
se esté procesando el programa o una interrupción. La ejecución del programa
al final de programa pasará a estado inactivo cuando todas las salidas de
impulsos y de disparo (trigger) hayan sido procesadas.

PGNO_REQ – Número de programa requerido


Con un cambio de señal en esta salida se requiere servidor o PLC, que
transmita un número de programa.
Mientras que PGNO_TYPE tiene el valor 3 (lectura del número de programa
como valor “1 de n”), NO se evalúa PGNO_REQ .
01/2006 5
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 261
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salida APPL_RUN y PRO_MOVE

Estado de programa

APPL_RUN – Aplicación funcionando


Con la activación de esta salida, el control del robot comunica al servidor o
PLC que se está procesando en este preciso momento un programa.

PRO_MOVE – Programa de movimiento activo


Significa que un eje síncrono se está moviendo, incluyendo en modo manual.
Así, esta señal es la inversa de la señal $ROB_STOPPED.

01/2006 6
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 262
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas IN_HOME y ON_PATH

Posición del robot

IN_HOME – En posición HOME


Esta señal comunica al servidor o PLC si el robot está, ó no, en posición
HOME.

ON_PATH – Robot sobre la trayectoria


Esta salida estará activa mientras el robot se encuentra dentro de su
trayectoria programada. Después de un desplazamiento COI, se activa la
salida ON_PATH. Esta salida permanecerá activa hasta que el robot se salga
de su trayectoria, se resetee el programa o se ejecute una selección de paso.
La señal ON_PATH no dispone de una ventana de tolerancia, en el momento
que el robot abandone la trayectoria, la señal es reseteada.

01/2006 7
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 263
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas NEAR_POSRET y ROB_STOPPED

Posición del robot

NEAR_POSRET – Robot cerca de la trayectoria


Con esta señal, NEAR_POSRET, el servidor o PLC puede determinar si el
robot está dentro de un entorno esférico en la posición memorizada
$POS_RET. Con esta información, el ordenador principal puede decidir si el
programa se ha de arrancar o no.

ROB_STOPPED – Robot no está en movimiento


Esta señal se activa cuando todos los ejes del robot están en posición, por
ejemplo el robot está parado. En el acontecimiento de un comando de WAIT,
esta salida se activa durante la espera.

01/2006 8
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 264
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Salidas del modo de oparación

Modo de operación

Modos de operación: T1 – T2 – AUT – EXT


Una de estas salidas es activada cuando está seleccionado el correspondiente
modo de operación.

01/2006 9
automatic_external_outputs_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 265
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

11. Interpretador Submit

Libro_programación_avanzado.doc 266
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

SPS.SUB – Significado y proposito

El KRC tiene dos tareas internas que funcionen en paralelo:

- Interpretación del robot

- Interpretación del controlador

• Robot operator and control tasks

• Funcionamientos independientemente del programa


seleccionado del robot
• Cannot be used with time-critical applications

• Ejemplos: monitoring a cooling circuit or safeguard

This renders the use of an additional PLC unnecessary for smaller


applications as these tasks can be accommodated by the KRC.

01/2006 1
submit_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 267
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

SPS.SUB - Programación

DEF SPS ( )
DEF SPS ( ) Sección de declaración
del SUBMIT
DECLARATIONS
DECLARATIONS
Sección de inicialización
INI del SUBMIT
INI
LOOP
LOOP
GRIPPERKEYS
GRIPPERKEYS Los programas del
STATUSKEYS
STATUSKEYS Submit interpreter
USER están continuamente
USER funcionando
ENDLOOP
ENDLOOP

01/2006 2
submit_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 268
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

SPS.SUB - Programación

Control Robot

DEF SPS ( )
DEF SPS ( )
...RUN /R1/CELL( ) DEF CELL ( )
...RUN /R1/CELL( ) DEF CELL ( )
LOOP LOOP
LOOP LOOP
GRIPPERKEYS CASE1 EJEMPLO1.SRC
GRIPPERKEYS CASE1
STATUSKEYS
STATUSKEYS
CASE2 EJEMPLO2.SRC
CASE2
USER
USER CASE3 EJEMPLO3.SRC
CASE3
ENDLOOP
ENDLOOP
ENDLOOP
ENDLOOP
SUBMIT 0 START Selección
1 STOP

01/2006 3
submit_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 269
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

SPS.SUB - Características

• Solamente instrucciones de control (e.j. $OUT[x]) se pueden


utilizar en el archivo SPS.SUB, no instrucciones de movimiento
• Las instrucciones que deben ser ejecutadas solamente una vez,
se pueden insertar antes del LOOP.
• Dentro de un LOOP, las acciones de calculo, de supervisión o
otras acciones se pueden ejecutar en paralelo al proceso del
robot.
• El LOOP funciona de forma cíclica, (filosoíia de PLC) and should
not be held up by wait commands.

Precación: SPS.SUB must be stopped before it is


edited.

01/2006 4
submit_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 270
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Frequently-used system variables in the Submit interpreter (1)

$MODE_OP

Value Explanation
#T1 Controlador del robot en modo T1

#T2 Controlador del robot en modo T2

#AUT Controlador del robot en modo automático

#EX Controlador del robot en modo automático externo

#INVALID Controlador del robot no tiene una valor valido

01/2006 5
submit_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 271
KUKA Sistemas de Automatización, S.A.
Pol. Ind. Torrent de la Pastera 08800 Vilanova i la Geltrú Tel +34 93 814 23 53 Fax +34 93 814 29 50

Frequently-used system variables in the Submit interpreter (2)

$OV_PRO = Value

Argumento Data type Explicación


Value (%) INT Program override value

Ejemplo de un programa:
Si la velocidad de programa no puede ser alcanzada, la salida 2
($OUT[2]) se pone en estado ‘FALSE’:

...
...
IF (($MODE_OP == #T1) OR ($OV_PRO < 100)) THEN
IF (($MODE_OP == #T1) OR ($OV_PRO < 100)) THEN
$OUT[2] = FALSE
$OUT[2] = FALSE
ENDIF
ENDIF
...
...

01/2006 6
submit_en.ppt
© Copyright by KUKA Roboter GmbH College

Libro_programación_avanzado.doc 272

También podría gustarte