Simatic Kuka Es
Simatic Kuka Es
Simatic Kuka Es
Control de una
KUKA Robot industrial SIMATIC
S7-1500 El uso de un
SIMATIC S7-1500 / TIA Portal V13 SP1 / KUKA.PLC mxAutomation
https://support.industry.siemens.com/cs/ww/en/view/109482123
Garantía y responsabilidad
Garantía y responsabilidad
Nota Los ejemplos de aplicación no son vinculantes y no pretenden ser completos en cuanto a la configuración, el
equipamiento y cualquier eventualidad. Los Ejemplos de aplicación no representan soluciones específicas del
cliente. Sólo están destinados a proporcionar soporte para aplicaciones típicas. Usted es responsable de
asegurar que los productos descritos se utilizan correctamente. Estos ejemplos de aplicaciones no le dispensan
de la responsabilidad de utilizar prácticas seguras en la aplicación, instalación, operación y mantenimiento. Al
usar estos ejemplos de aplicación, usted reconoce que no se puede hacer responsable de los daños /
reclamaciones más allá de la cláusula de responsabilidad descrita. Nos reservamos el derecho a realizar
cambios en estos Ejemplos de aplicación en cualquier momento sin previo aviso.
No aceptamos ninguna responsabilidad por la información contenida en este documento. Quedarán excluidos como
resultado del uso de los datos ejemplos, información, programas, ingeniería y rendimiento, etc., descritos en este
ejemplo de aplicación - a cualquier reclamación contra nosotros - sobre la base de la razón que sea legal. Tal exclusión
no se aplicará en el caso de responsabilidad obligatoria, por ejemplo, bajo la Ley de Responsabilidad de Productos
Alemanes ( “Produkthaftungsgesetz”), en caso de dolo, negligencia grave o lesión de la vida, el cuerpo o la salud, la
garantía de la calidad de un producto , silencio malintencionado o debido al incumplimiento de las obligaciones
contractuales fundamentales ( “wesentliche Vertragspflichten”). Los daños y perjuicios por incumplimiento de
obligaciones contractuales fundamentales son, sin embargo, limitada a los daños previsibles, típicos para el tipo de
contrato, excepto en el caso de dolo o negligencia grave o lesión a la vida, el cuerpo o la salud. Las disposiciones
Siemens AG 2016 Todos los derechos reservados
Cualquier forma de duplicación o distribución de estos Ejemplos o extractos del presente documento de aplicación está
prohibida sin el consentimiento expresado de Siemens AG.
•
seguridad Siemens ofrece productos y soluciones con funciones de seguridad industrial que apoyan la seguridad de
informa- funcionamiento de las plantas, soluciones, máquinas, equipos y / o redes. Son componentes importantes de un
ción concepto de seguridad industrial integral. Con esto en mente, los productos y soluciones de Siemens experimentan
un desarrollo continuo. Siemens recomienda encarecidamente que compruebe periódicamente las actualizaciones
de productos.
Para la operación segura de los productos y soluciones de Siemens, es necesario tomar medidas preventivas adecuadas
(por ejemplo, el concepto de protección celular) e integrar cada componente en un concepto integral de seguridad
industrial del estado de la técnica. productos de terceros que puedan estar en uso también deben ser considerados. Para
obtener más información acerca de la seguridad industrial, la visita http://www.siemens.com/industrialsecurity .
Para mantenerse informado sobre actualizaciones de productos que se producen, inscribirse en un boletín
productspecific. Para más información visite
http://support.industry.siemens.com.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 2
Tabla de contenido
Tabla de contenido
Garantía y responsabilidad ............................................... .................................................. 2
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 3
Tabla de contenido
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 4
Tarea 1
1.1 Introducción
1 Tarea
1.1 Introducción
Los robots industriales son cada vez más populares. Hoy en día, se utilizan cada vez más en las máquinas e
instalaciones. Su sistema mecánico estandarizado es completamente desarrollada y altamente flexible en términos
de los movimientos posibles para que un robot se ha convertido en la opción preferida más de un costoso equipo
mecánico especial. Esto permite la producción de un tamaño de lote al alza, incluso sin costosas modificaciones de
las máquinas e instalaciones.
Desafortunadamente, sin embargo, el sistema de control de la planta y el controlador de robot son típicamente dos sistemas
diferentes. La comunicación entre los dos controladores se lleva a cabo en su mayoría sólo a nivel de bits y programas de
movimiento del robot se almacenan permanentemente en el controlador del robot y sólo puede ser llamado por el sistema de
control de la planta. Por lo tanto, es relativamente difícil de implementar una respuesta flexible del robot para eventos
especiales de plantas.
Además, la programación del sistema de control de la planta y la del robot principalmente difieren en gran medida
de modo que ambos sistemas pueden en general no estar apoyadas por una sola persona. problemas de interfaz y
la coordinación son, por tanto, inevitable.
1.2 requisitos
Siemens AG 2016 Todos los derechos reservados
El objetivo es integrar totalmente el control de control y el movimiento del robot en el sistema de máquina y control de la
planta para hacer el uso de un robot industrial en una planta de producción más fácil y más flexible.
• El robot debe ser totalmente programable y controlable mediante el sistema de la máquina y la planta de
control (PLC).
•
• El robot puede ser operado usando el mismo panel de operador de la PLC o de la máquina (único punto de operación).
• Debería ser posible integrar funciones relacionadas tales como seguridad integrada y PROFIenergy y
controlarlos mediante el PLC.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 5
2 Solución
2 Solución
El objetivo es utilizar un controlador S7-1500 SIMATIC de controlar totalmente y operar un robot industrial KUKA.
Para ello, la librería de bloques KUKA.PLC mxAutomation se utiliza en la norma TIA Portal, que ofrece todos los
bloques de funciones necesarias. La comunicación entre el controlador SIMATIC S7-1500 y el robot industrial
KUKA tiene lugar a través de una conexión PROFINET. Todos los comandos y la información de estado entre el
controlador SIMATIC y el robot se intercambian a través de esta conexión.
Nota El uso de un controlador SIMATIC S7-1500, hasta cinco robots industriales KUKA puede ser controlado de forma
simultánea con la ayuda de la librería de bloques KUKA.PLC mxAutomation en TIA Portal.
Sin embargo, este ejemplo de aplicación se limita a la conexión de un único robot a un SIMATIC S7-1500.
representación esquemática
SIMATIC S7-1516
•
CPU
compacta KR C4
PROFINET IE
Utilizando la biblioteca de bloques KUKA.PLC mxAutomation, el controlador SIMATIC toma el control total del robot
industrial KUKA.
El robot industrial KUKA consiste en el control del robot KUKA KR C4 y sistema mecánico del robot, el robot real. El
intérprete para los comandos de la librería de bloques KUKA.PLC mxAutomation está instalado en el controlador de
robot. El intérprete recibe los comandos desde el controlador SIMATIC y las ejecuta en el sistema mecánico del
robot, incluyendo la transformación cinemática.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 6
2 Solución
ventajas
El control de un robot industrial KUKA utilizando controlador SIMATIC S7-1500 con la ayuda de la librería de
bloques KUKA.PLC mxAutomation en TIA Portal ofrece las siguientes ventajas:
• Sólo se requiere una conexión PROFINET para conectar el robot al controlador SIMATIC.
• Fácil integración del robot en TIA Portal en la configuración de hardware del controlador SIMATIC mediante un
archivo GSDML.
• Opción de operar completamente las funciones de robot más importantes usando el controlador SIMATIC por
medio de los comandos de la biblioteca KUKA.PLC mxAutomation.
• Opción para indicar movimientos del robot controladas por eventos dependiendo del estado de los sensores
conectados al controlador SIMATIC.
Alcance
El ejemplo de aplicación descrito aquí presenta un ejemplo del uso de la biblioteca de bloques KUKA.PLC
mxAutomation en TIA Portal y muestra qué funciones del robot puede ser controlado con la ayuda de los
bloques de función utilizando el controlador SIMATIC.
El objetivo del ejemplo de aplicación es para que se familiarice con las funciones y opciones de la biblioteca de bloques
KUKA.PLC mxAutomation en la norma TIA Portal básicas y proporcionar apoyo en la toma de decisiones y la planificación de
Siemens AG 2016 Todos los derechos reservados
Para una descripción detallada de las funciones y el uso de la biblioteca de bloques KUKA.PLC mxAutomation,
consulte la documentación de KUKA para la biblioteca KUKA.PLC mxAutomation enumerados en los “Enlaces y
Literatura” de esta documentación o disponible en el KUKA sitio web.
•
conocimientos requeridos
Este ejemplo de aplicación no transmite, sino que requieren conocimientos básicos de la creación de un programa de
usuario en el SIMATIC S7-1500 en el TIA Portal o la creación de la configuración de hardware.
He aquí un resumen de las funciones proporcionadas por la librería de bloques KUKA.PLC mxAutomation:
• Funciones administrativas:
Conectar el robot, comprobar el estado actual del robot, leer datos de la herramienta de lectura / escritura y los datos de base, uso de periféricos
• programación de movimiento:
Mover la cinemática del robot en líneas rectas, arcos circulares o trayectorias de velocidad optimizada. Mover los
ejes del robot en modo manual.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 7
2 Solución
• la programación de interrupción:
Definir, activar / desactivar las interrupciones en el controlador de robot y comprobar el estado actual.
Definir y activar condiciones de activación para funciones de conmutación Path- o relacionados con la distancia.
• Funciones de diagnóstico:
Leer mensajes de error, los mensajes de diagnóstico y estado del robot.
• Funciones especiales:
Enseñar y puntos de control de tienda en el controlador de robot, realizar la prueba de rotura y se leen los valores del sistema /
escritura.
AVISO El uso de la opción de seguridad KUKA SafeOperation cuando se opera el robot a través
un HMI común sin necesidad de utilizar el panel de control KUKA smartPAD.
Cuando el control de un robot industrial KUKA usando un controlador SIMATIC S7-1500 con la ayuda de la
librería de bloques KUKA.PLC mxAutomation, se debe considerar utilizar, además, la opción de seguridad KUKA
SafeOperation. Sin embargo, si desea mover el robot en modo manual a través de un HMI común sin necesidad
de utilizar el panel de control KUKA smartPAD, es obligatorio el uso de la opción de seguridad KUKA
SafeOperation.
Para obtener información relacionada en la opción de seguridad KUKA SafeOperation, consulte el capítulo 5.2
de esta documentación o llame a la línea KUKA.
Siemens AG 2016 Todos los derechos reservados
2.3.1 Validez
•
Componentes de hardware
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 8
2 Solución
componentes de software
La lista siguiente contiene todos los archivos y proyectos que se utilizan en este ejemplo.
Tabla 2-5
Componente Nota
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 9
3 Principios básicos
3 Lo esencial
El objetivo de este capítulo es describir las funciones básicas y proporcionar información de fondo para el uso de
un robot industrial KUKA en conjunto con la librería de bloques KUKA.PLC mxAutomation.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 10
3 Principios básicos
La siguiente figura proporciona una visión funcional del paquete de funciones KUKA.PLC
mxAutomation.
Figura 3-2 Visión general de las funciones proporcionadas por KUKA.PLC mxAutomation
interfaz de bus
SIMATIC de campo
•
PLC
PROFINET IE
interfaz de bus
de campo
acciones
instrucciones
KUKA
controlador del robot KR C4
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 11
3 Principios básicos
El paquete opcional KUKA.PLC mxAutomation para un robot industrial KUKA consta de dos partes:
• Una librería de bloques de control de un robot industrial KUKA desde un controlador SIMATIC.
• Un intérprete en el controlador del robot que interpreta los comandos de los bloques de función del
controlador SIMATIC y los pasa a la planificación de la trayectoria del robot.
La librería de bloques KUKA.PLC mxAutomation ofrece diferentes bloques de control de un robot industrial KUKA.
Las funciones deseadas del robot KUKA se pueden seleccionar simplemente llamando el bloque apropiado de la
librería de bloques. La llamada de un bloque de función de la biblioteca de bloques transfiere los comandos
respectivos al controlador del robot KUKA, donde se interpretan.
El intérprete en el controlador de robot KUKA recibe las órdenes de los bloques de funciones de la librería de
bloques KUKA.PLC mxAutomation en el controlador de robot y los almacena en una memoria intermedia. En
el momento apropiado, los comandos se transfieren desde la memoria tampón a la planificación de la
trayectoria del robot para que el robot ejecuta las funciones instruidos usando el controlador SIMATIC.
Siemens AG 2016 Todos los derechos reservados
Los bloques de la librería de bloques KUKA.PLC mxAutomation siempre cuentan con las siguientes
entradas y salidas:
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 12
3 Principios básicos
Interfaz Función
entradas
salidas
3.3.2
Siemens AG 2016 Todos los derechos reservados
Con un flanco ascendente en la entrada ExecuteCmd, el bloque de función seleccionada transfiere el comando para
ejecutar la función deseada robot al controlador del robot. A través de la salida Busy del bloque de función, esta
transferencia se devuelve al programa de usuario. Si múltiples bloques de funciones de la librería de bloques son
para ser ejecutado, uno tras otro, que se pueden transferir al controlador del robot en rápida sucesión. Cada vez que
un bloque de función iniciada por un flanco ascendente establece la salida de ocupado, el comando se transfirió al
•
controlador del robot y el siguiente bloque de función se puede iniciar. Si no se establece la salida Busy del bloque
de función comenzado,
Los errores que se han producido se devuelven al programa de usuario por los bloques de función a través de la salida de
error. de proceso de bloque Anula o sustitución por el inicio de otro bloque de función se señalizan a través de la salida
abortados.
La siguiente figura muestra un ejemplo de la llamada de cuatro funciones de movimiento a través de los bloques de funciones
de la librería de bloques, por ejemplo el bloque de función KRC_MoveLinearAbsolute, que se almacenan temporalmente en el
controlador de robot y ejecutado uno después del otro.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 13
3 Principios básicos
1
Ejecutar
Tiempo
Ocupado
Movimiento Tiempo
1 Activo
4
Tiempo
Hecho
Tiempo
2
Ejecutar
3
Tiempo
Ocupado
5
Movimiento Tiempo
2 Activo 4
Tiempo
Hecho
2 Tiempo
Ejecutar
3
Tiempo
Ocupado
Movimiento Tiempo
3 Activo
4
Tiempo
Hecho
2 Tiempo
Ejecutar
3
Tiempo
Ocupado
Movimiento Tiempo
4 Activo 4
Tiempo
Hecho
Tiempo
6
No. Explicación
1 Un flanco ascendente en la entrada Execute de la primera función de movimiento se inicia la secuencia de movimiento.
2 Una vez que la función de movimiento señales de ocupado, la siguiente función de movimiento se puede iniciar con un flanco
ascendente en la entrada Ejecutar.
4 Si las señales de función de movimiento hace esto, el movimiento se ha completado y la entrada Ejecutar se puede restablecer.
5 Si el búfer de peticiones en el controlador del robot no puede aceptar más puestos de trabajo, la señal de ocupado se retrasará
hasta que los nuevos puestos de trabajo se pueden transferir al controlador del robot.
6 Con la señal de Hecho de la última función de movimiento de la secuencia, la secuencia de movimiento ha sido
completamente procesado.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 14
Generación Programa 4
4 programa de Generación
El objetivo de este capítulo es para ofrecerle una explicación básica de cómo crear un programa de usuario para
controlar un robot KUKA usando la biblioteca KUKA.PLC mxAutomation.
Nota Para obtener información más detallada sobre la función y los parámetros de los bloques de la biblioteca
KUKA.PLC mxAutomation, por favor refiérase a la documentación apropiada KUKA.
El robot KUKA se integra en la configuración de hardware del proyecto TIA Portal como un dispositivo PROFINET
IO. El robot está integrada a través de un archivo GSDML a ser integrado adicionalmente en TIA Portal que contiene
la descripción del hardware del robot y los posibles mensajes de datos para el intercambio de datos entre el
controlador SIMATIC y el robot.
El archivo GSDML del robot se suministra generalmente con la documentación robot o robot o se puede obtener
del departamento de servicio KUKA. El archivo GSDML se puede integrar en TIA Portal utilizando la función de
gestión de archivos GSD.
Cuando el archivo GSDML se ha integrado en TIA Portal, el controlador de robot KUKA KR C4 con la versión de
firmware apropiado se puede integrar en la configuración de hardware TIA Portal usando arrastrar y soltar.
Haga doble clic en el controlador del robot en la configuración de hardware le permite configurar los componentes
para el intercambio de datos con el controlador SIMATIC. Para ser capaz de intercambiar los datos necesarios para
controlar el robot usando el controlador SIMATIC, configurar el telegrama de intercambio de datos requerido con el
controlador del robot en la configuración de hardware. Para ello, utilizar arrastrar y soltar para integrar al menos el
telegrama para 256 entradas y salidas digitales de la selección telegrama en el componente de control del robot de
la configuración de hardware.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 15
Generación Programa 4
Nota Opcionalmente, telegramas adicionales o extensiones telegrama para funciones opcionales tales como Safety
Integrated se pueden integrar en el controlador del robot en este punto.
En la configuración de hardware TIA Portal, utilice arrastrar y soltar para integrar los telegramas
adicionales en el controlador del robot.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 dieciséis
Generación Programa 4
Por último, utilizar una conexión PROFINET para conectar el controlador de robot al controlador SIMATIC.
Para ello, asignar direcciones IP adecuados en los dispositivos individuales o en la configuración de
hardware.
Opcionalmente, un panel de operador utilizado para controlar y supervisar las funciones de robot puede ser integrado en la
configuración en este punto.
El uso de un controlador SIMATIC adecuado, hasta cinco robots KUKA se pueden controlar por separado el
Siemens AG 2016 Todos los derechos reservados
uno del otro en la configuración estándar con la ayuda de la librería de bloques KUKA.PLC mxAutomation.
Para este fin, el bloque de datos se suministra con la librería de bloques KUKA.PLC mxAutomation proporciona cinco
matrices de datos para el intercambio de datos entre el controlador SIMATIC y el robot.
La asignación de los datos para el robot apropiada se realiza a través de las direcciones de telegramas definidos
en el rango de IO del controlador SIMATIC como se define en la configuración de hardware.
•
La asignación de los bloques de función o funciones robot para los robots individuales en el programa de usuario se
realiza a través de la entrada AxisGroupIdx de los bloques que representa el índice de la matriz de datos en el
bloque MxADBRobots datos. Sin embargo, esta funcionalidad se explicará en detalle en los siguientes capítulos.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 17
Generación Programa 4
Antes de poder utilizar la librería de bloques KUKA.PLC mxAutomation en el programa de usuario, debe aplicar los
bloques de funciones de la biblioteca de módulos a su proyecto TIA Portal.
La librería de bloques KUKA.PLC mxAutomation para TIA Portal se suministra como una librería global de la que todos los
bloques de funciones de la librería de bloques se pueden aplicar a un proyecto TIA Portal usando arrastrar y soltar.
Para poder utilizar la biblioteca global para TIA Portal, extraiga el archivo de biblioteca global a un lugar
adecuado en el disco duro de su programador.
Nota La librería de bloques KUKA.PLC mxAutomation para TIA Portal puede ser solicitada a KUKA Service GmbH o la
línea directa de la empresa.
Después de la extracción, puede utilizar las funciones de acceso TIA Portal para abrir la librería global.
Siemens AG 2016 Todos los derechos reservados
La librería de bloques KUKA.PLC mxAutomation se almacena en la librería global como una copia maestra.
Sólo tiene que utilizar arrastrar y soltar para transferir la biblioteca de bloques KUKA.PLC mxAutomation de la biblioteca
global para el programa de usuario. Transferir tanto los tipos de datos necesarios PLC y los bloques de función a su
proyecto TIA Portal.
• Primero arrastre el objeto incluido en las copias maestras de la librería global en los tipos de datos de PLC a los
tipos de datos de PLC carpeta en su proyecto. En esta carpeta, una subcarpeta se crea automáticamente que
contiene todos los tipos de datos PLC de la librería de bloques KUKA.PLC mxAutomation.
• A continuación, arrastre el objeto incluido en el programa de bloques en la carpeta Bloques de programa de su proyecto
TIA Portal. En esta carpeta, también, una subcarpeta se crea automáticamente que contiene todos los bloques de
funciones de la librería de bloques KUKA.PLC mxAutomation.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 18
Generación Programa 4
Figura 4-8 Transferencia de los bloques y tipos de datos de PLC al programa de usuario
Ahora su proyecto TIA Portal incluye todos los tipos de datos necesarios y bloques de funciones de la librería de bloques
KUKA.PLC mxAutomation. Ahora puede utilizar las funciones de la biblioteca de bloques del programa de usuario.
4.3.1 Concepto
Siemens AG 2016 Todos los derechos reservados
Conceptualmente, el intercambio de datos entre el controlador SIMATIC y el robot KUKA con la ayuda de la librería
de bloques KUKA.PLC mxAutomation sigue la funcionalidad del controlador SIMATIC. Sin embargo, este concepto
debe ser implementado en el programa de usuario del controlador SIMATIC con los bloques de la librería
apropiadas.
Ciclo leer
principal datos
Función
1
Función
2
escribir
datos
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 19
Generación Programa 4
En el bloque de organización en la que el programa del robot se va a procesar, esto requiere que los datos de robot leer
de la función de control del robot ser llamados como el primer bloque. Como la última función en el módulo de
organización, coloque la escritura de datos calculadas a la función de control del robot. Entre estos dos bloques, se
pueden colocar los bloques de función para ejecutar el programa de robot real en el controlador SIMATIC. Para la
llamada del programa de robot en el controlador SIMATIC, utilizando el módulo de organización estándar (ciclo principal
o OB 1) es generalmente suficiente.
Para estructurar un programa de usuario para controlar un robot industrial KUKA usando la librería de
bloques KUKA.PLC mxAutomation, podemos dar la siguiente recomendación:
• Para cada robot que se controla mediante el controlador SIMATIC, un bloque de función separada se debe
utilizar lo que se llama en el Ciclo de OB Programa (OB 1).
• Dentro del bloque de funciones de un robot, el bloque para leer los datos del robot debe ser llamado en la
primera red y el bloque para escribir los datos del robot debe ser llamado en la última red.
• Las llamadas - entre las llamadas anteriores - de los otros bloques de funciones de la librería de bloques
KUKA.PLC mxAutomation pueden entonces también pueden dividir en otros bloques funcionales estructurados por
función.
• Todas las llamadas de bloques de la librería KUKA.PLC mxAutomation deben ser implementados como
Siemens AG 2016 Todos los derechos reservados
El (FB 953) KRC_ReadAxisGroup bloque de la biblioteca KUKA.PLC mxAutomation le permite leer los datos
desde el controlador del robot en la gestión de datos interna de la biblioteca de bloques KUKA.PLC
•
mxAutomation.
Esto proporciona los datos del robot o de control del robot para el programa de usuario en el controlador SIMATIC
para los otros bloques de la biblioteca KUKA.PLC mxAutomation. La asignación de los datos al robot apropiado
conectado al controlador SIMATIC se hace a través de la entrada AxisGroupIdx que corresponde al índice de la
matriz de datos en el bloque MxADBRobots de datos y la entrada InputStartByte que informa al bloque de dirección
telegrama del robot de la IO gama del controlador SIMATIC.
A continuación, únicamente el índice de la entrada AxisGroupIdx se puede utilizar para asignar el robot a los bloques de
programa del programa de robot en el SIMATIC.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 20
Generación Programa 4
Después de leer en los datos procedentes del controlador de robot, todos los bloques de función de la biblioteca de
KUKA.PLC mxAutomation se pueden utilizar y llamados. Los bloques utilizan los datos leídos en almacenados en el bloque
MxADBRobots datos.
Después de procesar el programa del robot en el controlador SIMATIC, la KRC_WriteAxisGroup (FB 954)
manzana de las transferencias de la biblioteca KUKA.PLC mxAutomation los datos del bloque de datos
MxADBRobots al robot definido por la dirección de telegrama.
El robot se conecta utilizando el bloque de KRC_AutoExt. Esto requiere que las entradas del bloque de ser
operados en una secuencia de señal especificado y en función de las salidas de los bloques.
Nota Para ser capaz de operar el robot utilizando la librería de bloques KUKA.PLC mxAutomation, el controlador del robot debe
estar en modo EXT. Puede ser necesario seleccionar en primer lugar este modo usando el interruptor de llave de la KUKA
SmartPad.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 21
Generación Programa 4
2
MOVE_ENABLE
Tiempo
4 4
•
CONF_MESS
Tiempo
2
AHUYENTA
KRC_AutoExt Tiempo
3 3
EN DRIVES_ON
Tiempo
5
EXT_START
tiempo
1
ENABLE_EXT
Tiempo
2
Alarm_Stop
Tiempo
3
PERI_RDY
Tiempo
KRC_AutoExt
IO_ACTCONF
Tiempo
FUERA
4
STOPMESS
Tiempo
5
PRO_ACT
Hora
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 22
Generación Programa 4
No. Explicación
1 Para ser capaz de operar el robot utilizando la librería de bloques KUKA.PLC mxAutomation, modo EXT primero debe ser
seleccionado en el bloque KRC_AutoExt. Esto se logra mediante el establecimiento de la señal de ENABLE_EXT en el
bloque de función.
Nota:
El cambio al modo EXT sólo es posible si se selecciona este modo en el robot.
2 A continuación, establezca las señales MOVE_ENABLE y de entrada DRIVES_OFF del bloque. El robot responde a estas
El robot responde a ella mediante la indicación de listo periferia a través de la señal de salida PERI_RDY.
Una vez que la periferia está listo, puede restablecer las señales de entrada DRIVES_ON en el bloque.
4 Entonces reconocer los mensajes pendientes en el controlador de robot mediante el establecimiento de la entrada CONF_MESS.
Después de reconocer los mensajes, el robot coloca la salida STOPMESS del bloque como una señal de
realimentación.
La entrada CONF_MESS se puede restablecer después de la señal de realimentación por el robot.
5 A continuación, iniciar el robot mediante el establecimiento de la señal EXT_START. Las señales del controlador de robot
listos para la operación y robot conmutan con éxito en estableciendo la señal de salida PRO_ACT.
Ahora el robot ha sido activado y puede ser operado utilizando los bloques de funciones de la librería de
bloques KUKA.PLC mxAutomation.
Siemens AG 2016 Todos los derechos reservados
Nota Un bloque preparado a partir de SIEMENS Robotics soporte está disponible para la conmutación en el robot. Se
puede obtener a partir de la dirección que figura en el Apéndice.
•
Antes de los datos pueden ser intercambiados entre el SIMATIC S7 y el robot, la interfaz KUKA.PLC mxAutomation
debe ser inicializado. Se inicializa mediante una llamada al bloque KRC_Initialize.
Además, el bloque devuelve los identificadores de versión del intérprete KUKA.PLC mxAutomation y la librería de
bloques KUKA.PLC mxAutomation y el número de serie del controlador de robot:
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 23
Generación Programa 4
El estado de robot o el estado actual del robot deben ser determinados utilizando múltiples bloques de
funciones de la librería de bloques KUKA.PLC mxAutomation.
A través del tipo de datos MXA_STATUS PLC, la información de estado se devuelve en una salida del bloque
que puede tener los siguientes estados:
• Los bloques de función de la biblioteca KUKA.PLC mxAutomation no pueden intercambiar datos con el
controlador de robot.
El bloque de función KRC_ReadKRCError le permite determinar el estado de error actual del controlador del
robot.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 24
Generación Programa 4
El controlador del robot contiene una memoria intermedia de mensajes para múltiples mensajes de error. Con una
llamada del bloque de función KRC_ReadKRCError, hasta diez mensajes se pueden leer al mismo tiempo fuera de la
memoria intermedia de mensajes. Además, el bloque contiene un offset de entrada que le permite leer los mensajes de
error restantes en grupos de diez mensajes.
Siemens AG 2016 Todos los derechos reservados
Nota Los mensajes de error del controlador de robot deben ser reconocidos a través de la entrada
CONF_MESS del bloque de función KRC_AutoExt de la librería de bloques KUKA.PLC mxAutomation.
•
El bloque de función KRC_Diag le permite determinar diversos datos de diagnóstico del controlador del robot o
envía intérprete para el procesamiento de las órdenes de los bloques de funciones de la librería de bloques
KUKA.PLC mxAutomation en el controlador del robot.
Los siguientes datos de diagnóstico es proporcionada por el bloque de función en el controlador SIMATIC:
• señal del latido del corazón del intérprete presentar que procesa las órdenes de los bloques de función de la
biblioteca de KUKA.PLC mxAutomation en el controlador de robot como el seguimiento de señales de vida.
• Actual, más corto, más largo y el tiempo promedio de ciclo del intérprete presentar.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 25
Generación Programa 4
Nota Para cada robot, este bloque de función solamente puede ser llamado o instanciado una sola vez. Si el bloque se llama varias
veces, la inconsistencia de datos puede ocurrir cuando la salida de datos.
El bloque de función KRC_ReadMXAError le permite determinar el estado actual de error de un grupo de ejes. La
causa de error se emite como un número de error a través de la salida ErrorID.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 26
Generación Programa 4
Para reconocer los diversos mensajes de error, la librería de bloques KUKA.PLC mxAutomation ofrece varios
bloques de función.
Nota Los mensajes de error del controlador de robot sólo se pueden reconocer cuando el robot está en parada.
El bloque de función KRC_MessageReset permite que usted reconozca el estado actual de error de un grupo
de ejes de la interfaz KUKA.PLC mxAutomation.
Utilizando el bloque de función KRC_AutomaticExternal, mensajes de error del controlador de robot pueden ser
reconocidas por un borde ascendente en la entrada CONF_MESS.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 27
Generación Programa 4
Nota Este bloque también se utiliza para cambiar en unidades de potencia del robot y seleccionar los modos del controlador del robot.
La librería de bloques KUKA.PLC mxAutomation proporciona dos bloques de función diferentes para leer la
posición actual del robot.
El bloque KRC_ReadActAxisPos se utiliza para leer cíclicamente la posición actual de los ejes del robot.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 28
Generación Programa 4
La salida AxisPosition se utiliza para dar salida a la posición de los ejes del robot en la estructura E6AXIS
definido. Además, las salidas A1 a A6 contiene la misma información que los valores individuales.
Salidas E1 a E6 mostrar la posición actual de los ejes externos, que también pueden ser influenciados mediante el
controlador de robot.
El bloque KRC_ReadActualPosition se utiliza para leer cíclicamente la posición actual del punto de robot o una herramienta
de centro (TCP) en el cartesiano seleccionado actualmente sistema de coordenadas.
La salida de la posición se utiliza para la salida de la posición actual en la estructura 6POS definido. Además, las
salidas x a la Z y A a C contiene la misma información que los valores individuales para la posición en el espacio y la
rotación alrededor de los ejes de coordenadas. Los valores de estado y su vez se utilizan para especificar la
orientación del robot en la posición actual con mayor detalle.
A través de las salidas de la herramienta y la base, la herramienta activa y el número del sistema de coordenadas
seleccionado actualmente son, además de salida.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 29
Generación Programa 4
Nota Para obtener información relacionada sobre los sistemas de coordenadas del robot, consulte el Apéndice de este
documento.
La función de anulación es la función más importante al poner en marcha y mover manualmente el robot. Esta
función permite influir en la velocidad especificada por el robot de entre el 0% y el 100%.
Para poder utilizar la función de anulación en cualquier momento, se recomienda llamar al bloque de función
KRC_SetOverride en cada ciclo de PLC y transferir la configuración de invalidación actual para el robot.
Siemens AG 2016 Todos los derechos reservados
Nota Siempre empezar los movimientos del robot programadas de nuevo o movimientos de desplazamiento manual con una
corrección de velocidad reducida y aumentar la velocidad sólo cuando el robot ejecuta el movimiento deseado y esperado.
•
Los ejes de robot individuales se mueven de manera totalmente independiente uno del otro. No existe una
interpolación entre los ejes. Por lo tanto, la trayectoria del robot es difícil de predecir y depende de la
posición actual de los ejes del robot. El movimiento se ejecuta a la velocidad máxima programada, en
porcentaje, de los ejes individuales o limitada por esta velocidad.
• movimiento cartesiano
Los ejes de robot individuales se mueven coordinados entre sí a través de la transformación de coordenadas de modo
que los puntos de referencia se mueve del robot a lo largo de la ruta especificada. De esta manera, el punto de
referencia del robot puede moverse en una línea recta o trayectoria circular con coordenadas especificadas en el
sistema de coordenadas seleccionado. el movimiento de punto a punto en el sistema de coordenadas también es
posible.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 30
Generación Programa 4
movimiento específico de eje requiere que la posición final de los ejes individuales especificarse mediante el tipo de datos
E6AXIS PLC. Para la definición de los valores de los ejes individuales en este tipo de datos, la librería de bloques
KUKA.PLC mxAutomation proporciona una función que cambia las posiciones individuales de los ejes al tipo de datos
E6AXIS PLC.
Del mismo modo, para el movimiento cartesiano, la biblioteca KUKA.PLC mxAutomation proporciona una función para la
definición de las coordenadas X, Y y Z y que gira alrededor del ejes de coordenadas A, B y C en el tipo de datos E6POS
PLC.
Además, los parámetros de estado y de giro para la definición precisa de la posición del eje del robot pueden ser
incluidos en este tipo de datos.
•
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 31
Generación Programa 4
Nota Las dos funciones para el establecimiento de los tipos de datos PLC, E6AXIS y E6POS, adicionalmente incluyen parámetros de
entrada para seis ejes externos, E1 a E6, que se pueden utilizar para controlar ejes adicionalmente conectados al controlador del
robot, tales como cintas transportadoras, ejes de herramientas, etc.
movimiento cartesiano requiere que, además de la posición final del movimiento, se seleccionará el sistema de
coordenadas. Para este propósito, la librería de bloques KUKA.PLC mxAutomation proporciona una función de
entrada para el tipo de datos CoordSys PLC.
El uso de esta función, el siguiente procedimiento puede hacerse para todas las funciones de movimiento cartesiano:
Interfaz Función
entradas
salidas
En un movimiento de punto a punto, punto de referencia del robot se mueve hasta el punto final especificado. El
controlador del robot determina de forma independiente la trayectoria entre la posición actual del robot y el punto final de
manera que se logra la más alta posible velocidad del robot de desplazamiento durante el movimiento.
El controlador de robot selecciona la trayectoria de tal manera que robot lento ejes como ejes A4 a A6 preferiblemente ejecutan
movimientos cortos mientras ejes del robot rápido se mueven distancias más largas.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 32
Generación Programa 4
Utilizando la biblioteca de bloques KUKA.PLC mxAutomation, movimientos de punto a punto se pueden ejecutar con
los comandos siguientes:
• KRC_MoveAxisAbsolute:
Específico de eje movimiento de desplazamiento de los ejes individuales mediante la especificación de las posiciones de los ejes
Nota Tenga en cuenta que es difícil o incluso imposible de predecir la trayectoria de un movimiento de punto a punto.
Especialmente en los rangos de movimiento limitado, esto puede resultar en una colisión inesperada del robot con
su entorno.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 33
Generación Programa 4
Nota Lineales movimientos del robot son generalmente más lento que los movimientos de punto a punto como mover el robot en una línea
recta requiere que todos los ejes del robot pueden mover sobre una base definida.
cartesiano puede ser ejecutado a lo largo de una trayectoria circular entre la posición actual del robot y la posición
del punto final especificado como un valor absoluto o definido por la distancia.
La definición exacta de la trayectoria circular requiere que se defina un punto auxiliar absoluta adicional. La
posición del punto final y punto auxiliar se especifica en el sistema actualmente seleccionado de
coordenadas.
•
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 34
Generación Programa 4
Los comandos de movimiento que figuran en los capítulos anteriores tienen los llamados parámetros de aproximación que le
permiten definir el comportamiento de acercamiento del punto final del movimiento. posicionamiento aproximado permite que
el robot para ejecutar trayectorias compuestas de comandos individuales en un movimiento continuo.
Los parámetros de aproximación para los comandos de movimiento se definen utilizando el tipo de datos APO PLC
para cuyo ajuste la librería de bloques KUKA.PLC mxAutomation proporciona una función.
El uso de esta función, el siguiente procedimiento puede hacerse para todas las funciones de movimiento:
Siemens AG 2016 Todos los derechos reservados
Interfaz Función
entradas
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 35
Generación Programa 4
Interfaz Función
salidas
control de orientación le permite definir la orientación centro de la herramienta (TCP) durante el movimiento.
Para el control de la orientación, el parámetro de entrada OriType le permite realizar los siguientes ajustes en los
bloques de control de movimiento de la biblioteca KUKA.PLC mxAutomation:
•
• OriType = 0: VAR
El punto central de la herramienta (TCP) orientación cambia continuamente durante el movimiento.
• OriType = 1: CONSTANT
La orientación punto central de la herramienta (TCP) permanece constante durante el movimiento.
• OriType = 2: JOINT
La orientación TCP cambia continuamente durante el movimiento, pero no de manera uniforme. Esto se hace mediante
transformación lineal (movimiento en el eje específico) de los ángulos de los ejes de la muñeca.
Para mover manualmente los ejes del robot, la librería de bloques KUKA.PLC mxAutomation proporciona dos bloques de
función: KRC_JogLinearRelative y KRC_JogToolRelative. Estos dos bloques de función le permiten acercarse a una
posición cartesiana se define en el Sistema de Coordenadas Universal o una herramienta de sistema de coordenadas en
una línea recta con respecto a la posición actual del robot.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 36
Generación Programa 4
A partir de las funciones jog siempre aborta todas las funciones de movimiento activo o amortiguada en el robot y el
robot se frena hasta la parada antes de ejecutar el movimiento por impulsos.
Si desea mover los ejes del robot utilizando teclas de paso a la función KRC_MoveLineaAbsolute, para un movimiento
en el sistema de coordenadas, o la función KRC_MoveAxisAbsolute, por un movimiento de los ejes del robot, y la
función KRC_Abort tienen que estar interconectadas en un bloque de función. El uso de teclas de jog específicos del
eje, el movimiento del eje respectivo a continuación, se puede iniciar, por ejemplo, con un flanco de señal ascendente
de la tecla. Un flanco de señal descendente de la llave termina la del movimiento del eje utilizando la función KRC_Abort
y por lo tanto se detiene el eje.
Cuando se utiliza este procedimiento, un valor de posición poco antes del final de carrera de software del eje tiene que
ser seleccionado para el eje apropiado.
Nota Un bloque preparado a partir de SIEMENS Robótica El soporte está disponible para mover el robot utilizando teclas de
jog. Se puede obtener a partir de la dirección que figura en el Apéndice.
La siguiente figura muestra un ejemplo de un bloque de este tipo de desplazamiento para mover los ejes del robot utilizando teclas de
jog.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 37
Generación Programa 4
Figura 4-37 bloques preparado para mover los ejes del robot utilizando teclas de jog
Siemens AG 2016 Todos los derechos reservados
El objetivo de este capítulo es ilustrar una vez más la estructura básica de un programa de usuario para
controlar un robot industrial KUKA usando la librería de bloques KUKA.PLC mxAutomation.
La figura a continuación muestra un ejemplo de los bloques de función de biblioteca de bloque, y su secuencia de
llamada, que son al menos necesario con el fin de mover un robot industrial KUKA de un SIMATIC S7.
El ejemplo de programa está diseñado para el control de dos robots industriales KUKA separadas desde el
mismo controlador SIMATIC S7.
Para cada robot, la figura muestra los bloques de función para la lectura y escritura de los datos del robot. Entre
estos bloques, dos bloques de función se llaman que contienen el control básico del robot utilizando las funciones
administrativas y de control de movimiento del robot. Los siguientes dos capítulos proporcionan una explicación
detallada de estos dos bloques.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 38
Generación Programa 4
KRC_
Ciclo
Robot_01 Grupo
principal
ReadAxis
ver el detalle
Robot
gráfico
ver el detalle
RobotMove
gráfico
KRC_
Grupo
WriteAxis
KRC_
Robot_02 Grupo
ReadAxis
Siemens AG 2016 Todos los derechos reservados
ver el detalle
Robot
gráfico
ver el detalle
RobotMove
gráfico
•
KRC_
Grupo
WriteAxis
El bloque de función del robot contiene funciones administrativas del robot que le permiten ejecutar las
siguientes funciones:
• Leer mensajes de error del controlador del robot, los datos de diagnóstico del robot y los mensajes de error
de la interfaz de datos KUKA.PLC mxAutomation.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 39
Generación Programa 4
• Lectura a la posición actual del robot en posiciones de los ejes o coordenadas cartesianas.
Robot Poder
KRC_
Inicializar
KRC_
ReadMxa
Estado
KRC_
ReadKrc
error
KRC_
Diag
KRC_
ReadMxa
Error
Siemens AG 2016 Todos los derechos reservados
Restablecer
KRC_
Mensaje
KRC_
AutoExt
KRC_
•
SetOverride
KRC_
ReadAxis
Posición
KRC_
ReadActual
Posición
El bloque de función RobotMove contiene todos los bloques de función para ejecutar los movimientos del robot. Este bloque
muestra un ejemplo de la programación de una secuencia de movimiento utilizando diferentes bloques de movimiento a partir de
la librería de bloques KUKA.PLC mxAutomation. En este bloque, se realiza la siguiente: En primer lugar los parámetros se
establecen para cada movimiento utilizando los parámetros adecuados y entonces el bloque de función para el movimiento
deseado se llama.
El comienzo del bloque de muestra, además, las funciones de ajuste de los parámetros para el posicionamiento
aproximado de los movimientos y seleccionar el sistema de coordenadas para la ejecución del movimiento.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 40
Generación Programa 4
El bloque preparado para implementar movimientos de los ejes del robot utilizando teclas de jog también se integra al
comienzo del bloque de función.
RobotMove EMPUJONCITO
mxAValues
a
APO
mxAValues
a
CoordSys
mxAValues KRC_
a MoveAxis
E6AXIS Absoluto
Siemens AG 2016 Todos los derechos reservados
mxAValues KRC_
a MoveAxis
E6AXIS Absoluto
mxAValues KRC_
a MoveAxis
E6AXIS Absoluto
•
...
mxAValues KRC_
a MoveAxis
E6AXIS Absoluto
mxAValues
a
E6AXIS
Nota Si desea que los movimientos individuales a ser aproximadas, los bloques de función KRC_MoveAxisAbsolute deben estar
interconectadas a través de la salida Busy; es decir, una vez que las señales de los bloques de función ocupadas, el
siguiente bloque de función se puede iniciar.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 41
5 Funciones adicionales
5 Funciones adicionales
El objetivo de este capítulo es presentar a las funciones adicionales seleccionadas que van más allá del control
básico de un robot industrial KUKA con la ayuda de la biblioteca KUKA.PLC mxAutomation.
Para un robot industrial para realizar las actividades deseadas, una herramienta debe estar instalado en el robot. Estas
herramientas por lo general cuentan con numerosas entradas y salidas o un puerto de bus para poder controlar la herramienta
como se desee o comprobar el estado actual de la herramienta. A medida que el robot se controla mediante el controlador
SIMATIC S7 con la ayuda de la librería de bloques KUKA.PLC mxAutomation, control de la herramienta tiene dos opciones para
transferir los comandos deseados a la pinza.
El controlador del robot de un robot industrial KUKA también cuenta con un PLC integrado que le permite controlar las
entradas y salidas de una herramienta.
Esto le permite conectar las entradas y salidas de una herramienta también directamente al controlador del robot.
ventajas
Siemens AG 2016 Todos los derechos reservados
• La herramienta puede ser controlado mediante el control de las entradas del PLC y salidas del
controlador de robot con la ayuda de los bloques KRC_ReaddidigtalOutput y KRC_WriteDigitalOutput de
la librería de bloques KUKA.PLC mxAutomation.
•
desventajas
• Los datos de control para la herramienta primero deben transferirse al controlador de robot.
• Si la herramienta se controla mediante un sistema de bus desde el controlador de robot, la transferencia de datos puede ser
retrasado debido a la transferencia de datos en el controlador de robot al segundo sistema de bus.
Como el controlador SIMATIC S7 toma el control total y el control de movimiento del robot, la herramienta del robot
también se puede aplicar directamente desde el SIMATIC S7 o distribuido I / O conectado al controlador.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 42
5 Funciones adicionales
ventajas
• Fácil control de la herramienta desde el programa de usuario del controlador SIMATIC S7 usando los comandos de
E / S conocidos integrados en el programa para la generación de comandos de movimiento del robot.
• Opción para integrar el I / O distribuido del controlador SIMATIC S7 directamente en el brazo de herramienta o robot, lo
que reduce significativamente el cableado de E / S a la herramienta.
desventajas
• Activación de las funciones de la herramienta requiere que el estado actual del robot de comprobación y se
compara con el controlador SIMATIC S7.
Para utilizar la funcionalidad de seguridad integrada en combinación con un robot industrial KUKA, KUKA ofrece
la opción de seguridad SafeOperation:
Siemens AG 2016 Todos los derechos reservados
5.2.1 componentes
componentes de software
Componentes de hardware
5.2.2 funcionalidad
• supervisión segura de máx. 16 específica del eje definido por el usuario o espacios de monitoreo cartesianas.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 43
5 Funciones adicionales
5.3 PROFIenergy
5.2.3 Controlar
Si desea utilizar esta conexión, sólo tiene que integrar la extensión PROFIsafe en la configuración del telegrama
del controlador del robot KUKA. Para este propósito, la extensión del telegrama PROFIsafe se incluye en el
archivo GSDML del controlador de robot KUKA.
Nota Como una alternativa al intercambio de datos a través de PROFIsafe, funciones de seguridad del robot también se pueden
•
controlar mediante señales de hardware discretos a través de la X11interface del controlador de robot.
5.3 PROFIenergy
En su configuración básica, el robot industrial KUKA es ya un dispositivo PROFIenergy que le permite utilizar las
opciones de ahorro de energía proporcionada por PROFIenergy. El uso de telegramas PROFIenergy
estandarizados, el robot puede ser ajustado en o traído de modo de hibernación.
Con respecto a PROFIenergy, el robot industrial KUKA cuenta con los siguientes estados posibles:
Estado Función
bus de accionamiento OFF Las unidades de robots están en OFF, el robot no se puede utilizar.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 44
5 Funciones adicionales
Estado Función
Los frenos aplicados El controlador de robot o robot está listo para la operación,
pero se han aplicado los frenos del robot.
Nota Si la ruptura de producción es demasiado corta para utilizar el autobús conducir fuera del estado, sin embargo
es posible ahorrar energía utilizando los frenos aplicados estado.
Para configurar el robot a este estado, sin embargo, debe estar en la parada programada.
Nota Al configurar un tiempo de pausa para el robot, es decir, al establecer el estado de pausa adecuada en el robot,
asegúrese de que el tiempo total que seleccione es mayor que la suma de la fase para conciliar el sueño
(Time_to_Pause) y la fase de alerta (Time_to_operate ) del robot.
Siemens AG 2016 Todos los derechos reservados
Nota Si un telegrama PROFIenergy se envía al robot, este trabajo será ejecutado directamente en el controlador del
robot. Por lo tanto, hay que asegurarse de enviar el telegrama PROFIenergy para el robot sólo cuando está en
punto muerto.
•
Además de los bloques para la determinación de los mensajes de estado y de error del controlador de robot y la interfaz
de datos de la biblioteca de bloques KUKA.PLC mxAutomation mencionado en los capítulos anteriores, el usuario tiene
la opción adicional para recibir mensajes de robot desde el controlador de robot en texto sin formato a través de una
interfaz de UDP.
El controlador de robot da salida a todos los mensajes de robot a través de una conexión UDP en la conexión
PROFINET. Estos mensajes pueden ser recibidos en el controlador SIMATIC y, si es necesario, que se muestra en
el panel del operador de operador. Además, también es posible enviar comandos al controlador del robot a través de
la conexión UDP que le permiten configurar el envío de los mensajes de robots. Los siguientes comandos son
posibles:
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 45
5 Funciones adicionales
Mando Función
GetAllKrcMessages AllNoInfo Recibir textos de aviso puros del robot. En este modo de recepción,
Número de caracteres = 27 un área de datos de destino 150 caracteres es suficiente para que
los mensajes de robot.
Para la transferencia al controlador del robot, los comandos se deben introducir en el área de datos fuente para los
comandos que se enumeran en la tabla anterior. Para el envío, la tabla también incluye la longitud del comando, es
decir, el número de caracteres. En el controlador SIMATIC, el área de datos fuente para los comandos y la zona de
datos de destino de los mensajes de robot se crean como una matriz [0..150] de Char.
5.4.2 Programación
La conexión UDP entre el controlador de robot y el controlador SIMATIC se establece utilizando el controlador de
robot. Por lo tanto, es importante utilizar el ID de conexión especificado por el controlador de robot para los bloques
TUSEND y TURCV. La ID de conexión de 256 DIC o 16 # 100 MALEFICIO se establece generalmente en el controlador de
robot. La ID de conexión debe ser transferido a los bloques TUSEND y TURCV mediante el parámetro ID.
Siemens AG 2016 Todos los derechos reservados
Además, la dirección IP y el puerto de comunicación del controlador de robot tienen que ser transferidos a la
TUSEND y TURCV bloques a través del parámetro ADDR. Los datos se guardan como tipo de datos
TADDR_Param PLC que contiene una matriz para la dirección IP y número de puerto. El controlador del robot envía
los mensajes de robots a los nodos UDP a través del puerto 9050 DIC. Para el control del robot KUKA, la misma
variable puede ser utilizado para el parámetro ADDR para los bloques TUSEND y TURCV ya que tanto los
•
el envío de comandos
A través del bloque TUSEND, los comandos deseados se envían al controlador del robot con un flanco ascendente
en la entrada REQ. La entrada LEN debe contar con el número de caracteres que se enviará. El área de memoria de
origen donde el comando que se enviará se almacena debe ser transferido a la entrada de datos.
Figura bloque de función 5-2 TU_SEND para enviar a través de una conexión UDP
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 46
5 Funciones adicionales
Los mensajes de robot se reciben a través del bloque TURCV siempre que la entrada EN_R se establece en True.
Al recibir mensajes de robot, nunca es necesario cambiar el valor 0 de la entrada LEN. El área de datos de destino
a la que el mensaje se va a guardar se transfiere a la entrada de datos.
Figura bloque de función 5-3 TU_RCV para recibir a través de una conexión UDP
A través de la salida NDR, el bloque de señales de un nuevo mensaje y, a través de la salida RCVD_LEN, transfiere
el número de caracteres realmente recibidos al programa de usuario.
Siemens AG 2016 Todos los derechos reservados
•
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 47
6 Apéndice
6 Apéndice
El objetivo de este capítulo es proporcionar información básica adicional sobre el manejo y programación de robots
industriales.
sistemas de coordenadas múltiples se definen en el controlador de robot. Ellos determinan la posición de la pieza de trabajo
y la herramienta y forman la base de los movimientos del robot individuales.
El sistema mundial de coordenadas es el sistema de coordenadas original de todo el sistema. Esta coordenada
formas del sistema de base para todos los otros sistemas de coordenadas que resultan de traslación y rotación.
Si no hay rotaciones y traslaciones de la otra sistemas de coordenadas se definen, el origen del mundo
sistema de coordenadas está situado en la base del robot.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 48
6 Apéndice
En el programa del robot, las rotaciones y traslaciones de la otra sistemas de coordenadas en relación con el
sistema de coordenadas son transferidos como una posición del robot con seis parámetros y los parámetros
individuales tienen las siguientes funciones:
• Una coordenada: la mano derecha de rotación del sistema de coordenadas alrededor del eje X del sistema de
coordenadas.
• B de coordenadas: la rotación de la mano derecha del sistema de coordenadas alrededor del eje Y del sistema de
coordenadas.
• Coordenada C: la rotación de la mano derecha del sistema de coordenadas alrededor del eje Z del sistema de
coordenadas.
Nota La rotación del sistema de coordenadas alrededor de los ejes del sistema de coordenadas mundial sigue este
orden:
Sistema de coordenadas de la base del robot (ROBROOT) le permite lograr un desplazamiento del lugar del robot
de la instalación en relación con el origen del sistema de coordenadas.
•
Nota Al poner en marcha el robot, coordinar la base del robot sistema debe estar definido en los datos del controlador de
robot.
Estos datos no se puede cambiar desde el programa de usuario mediante bloques de la librería de bloques
KUKA.PLC mxAutomation.
El sistema de coordenadas de la pieza (BASE) se utiliza para definir el origen de la pieza a mecanizar con
respecto al sistema de coordenadas mundial. La traducción y la rotación del sistema de coordenadas de la pieza
(BASE) se pueden definir de programa de usuario mediante la función KRC_WriteBaseData. La configuración
actual de la traducción en el sistema de coordenadas del sistema de coordenadas o se pueden determinar
usando la función KRC_ReadBaseData.
Hasta 32 diferentes sistemas de coordenadas o de coordenadas traducciones del sistema para la pieza de trabajo del sistema (BASE) de
coordenadas se pueden almacenar en el controlador de robot. A continuación, pueden ser seleccionados para una fácil definición de
comandos de movimiento del robot utilizando el programa de usuario.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 49
6 Apéndice
El sistema de coordenadas de la herramienta (herramienta) se utiliza para definir el origen de la herramienta fijada al robot en relación
con el Sistema de Coordenadas Universal.
La traducción y la rotación del sistema de coordenadas de la herramienta (herramienta) se pueden definir de programa de
usuario mediante la función KRC_WriteToolData. La configuración actual de la traducción en el sistema de coordenadas del
sistema de coordenadas o se pueden determinar usando la función KRC_ReadToolData.
Hasta 16 herramientas diferentes o coordinar herramienta traducciones del sistema (herramienta) se pueden almacenar en el controlador
de robot. A continuación, pueden ser seleccionados para una fácil definición de comandos de movimiento del robot utilizando el programa
de usuario.
Un robot industrial KUKA cuenta con hasta seis ejes individuales que permiten al usuario mover la cinemática del robot.
Para posicionar el robot, estos ejes pueden controlarse ya sea directamente desde el programa de usuario mediante
coordenadas de ejes A1 a A6 o mediante la transformación de coordenadas en el controlador de robot especificando,
desde el programa de usuario, una posición en un sistema de coordenadas definido en el controlador de robot a través
de las coordenadas cartesianas X, y y Z y los ángulos de rotación alrededor del ejes de coordenadas A, B y C.
Siemens AG 2016 Todos los derechos reservados
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 50
6 Apéndice
Nota Además de los ejes del robot A1 a A6, el controlador del robot KUKA proporciona seis ejes externos E1 a E6 que
también puede ser influenciada desde el controlador SIMATIC usando el programa de usuario.
Sin embargo, los ejes externos (E1 a E6) no son objeto de este ejemplo. Para obtener más información,
consulte la documentación KUKA.PLC mxAutomation o la documentación de control del robot.
Posicionamiento directo de los ejes del robot se puede lograr mediante la especificación de las posiciones de los ejes
deseados en el programa de usuario mediante el tipo de datos E6AXIS. El comando KRC_MoveAxisAbsolute está
disponible para este propósito. Este comando se mueve directamente los ejes del robot desde la posición actual a la
posición especificada usando E6AXIS. En este proceso, no existe coordinación de los movimientos de los ejes individuales.
Cada eje del robot se mueve a la posición especificada en el porcentaje especificado de su velocidad máxima del eje.
El tipo de datos E6POS y varios comandos de movimiento están disponibles para posicionar los ejes del robot con la ayuda de la
Siemens AG 2016 Todos los derechos reservados
transformación de coordenadas del controlador del robot. Dependiendo del sistema de coordenadas seleccionado, tal como el
sistema de coordenadas de la pieza (BASE) o herramienta de sistema (herramienta) de coordenadas, los ejes del robot se
pueden posicionar mediante la especificación de una posición cartesiana y el vector de orientación en esta posición a través de la
transformación de coordenadas.
Dependiendo del comando de movimiento seleccionado, la transformación de coordenadas del controlador de robot
coordina los ejes del robot, por ejemplo, para el movimiento del punto de referencia de robot en una línea recta o
•
trayectoria circular.
Si el robot se coloca a través de la transformación de coordenadas del controlador de robot, que especifica la
posición (X, Y y Z) y la orientación (A, B y C) no es suficiente para definir de forma inequívoca la posición del eje del
robot en cada posición. Los datos adicionales de Estado (S) y girar (T) está disponible para este propósito.
Nota El controlador de robot considera especifica Status y Giro valores sólo para punto a punto (PTP) movimientos. Por lo
tanto, el primer movimiento en un programa de movimiento del robot debe ser siempre un movimiento PTP totalmente
definida de modo que una posición de partida único se define para el robot. Para todos los demás comandos de
movimiento, no es necesario cambiar el valor 0 de Estado y de giros. El controlador del robot en sí define la posición
del eje.
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 51
6 Apéndice
Los bits 0 a 4 de Estado le permiten definir la posición de los ejes del robot con respecto al sistema de coordenadas en
el eje A1 en la base del robot.
estado de bit
Estado
0 1
La intersección de los ejes de la muñeca A4, A5 y A6 muñeca A4, A5 y A6 está por encima del negativo X eje
El bit 0 está por encima del positivo X eje del sistema de del sistema de coordenadas con respecto al eje A1.
coordenadas con respecto al eje A1.
La posición del eje A3 es menor que cero. La posición del eje A3 es mayor que o igual a
El bit 1
cero.
La posición del eje A5 es menor que o igual a La posición de AA5 eje es mayor que cero.
bit 2
cero.
El punto era no enseñada con un robot con El punto fue enseñado con un robot con
bit 4
precisión absoluta. precisión absoluta.
y A6 A1 y A2
proyección de
la
intersección de la
coordenada
eje
Bit 0 = 1
Bit 0 = 0
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 52
6 Apéndice
Los bits 0 a 5 de la curva le permiten definir la posición directa de los ejes del robot en rangos de movimiento de los
ejes.
estado de bit
Giro
0 1
La posición del eje A1 es mayor que o igual a La posición del eje A1 es menor que cero.
El bit 0
cero.
La posición del eje A2 es mayor que o igual a La posición del eje A2 es menor que cero.
El bit 1
cero.
La posición del eje A3 es mayor que o igual a La posición del eje A3 es menor que cero.
bit 2
cero.
La posición del eje A4 es mayor que o igual a La posición del eje A4 es menor que cero.
bit 3
cero.
La posición del eje A5 es mayor que o igual a La posición del eje A5 es menor que cero.
bit 4
cero.
La posición del eje A6 es mayor que o igual a La posición del eje A6 es menor que cero.
bit 5
cero.
bit 3 bit 2
•
Bit 5
El bit 0
Bit 4
El bit 1
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 53
6 Apéndice
Nota Si el estado y la curva no se especifican cuando el posicionamiento del robot, el controlador del robot en sí decide
sobre la transición de una posición de eje robot a la siguiente.
6.2.5 singularidades
robots industriales KUKA de seis ejes tienen las siguientes tres singularidades diferentes:
• singularidad sobrecarga
Eje A5 es perpendicular al eje A1.
Ejes A4 y A6 son paralelos entre sí y el eje A5 mueve a la posición A5 extendida, es decir, A5 eje está en el
intervalo de ± 0,01812 °.
Al programar manualmente o acercarse a puntos, considerar y, cuando sea posible, evitar estas singularidades o
utilizar la programación diferente - por ejemplo, mover directamente los ejes del robot en lugar de moverlos
mediante un comando de movimiento cartesiano - a evitarlos.
DARSE CUENTA Si hay al menos una singularidad en el espacio de trabajo deseada del robot, puede ser necesario para
Siemens AG 2016 Todos los derechos reservados
comprobar y corregir la posición del robot en el sistema de modo que la singularidad ya no ocurre en
el espacio de trabajo.
Todos los comandos de movimiento cartesianas del robot se refieren al punto central de la herramienta (TCP). El punto de referencia de
la herramienta se define escribiendo un desplazamiento con respecto a la herramienta principal del mundo sistema de coordenadas con
el comando KRC_WriteToolData. Si no se selecciona ninguna herramienta, el TCP está en la brida del robot, es decir, se supone una
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 54
7 Enlaces y Literatura
7 Enlaces y Literatura
Tabla 7-1
Tema Título
https://support.industry.siemens.com/cs/ww/en/view/109011420/
https://support.industry.siemens.com/cs/ww/en/view/19292127/
https://support.industry.siemens.com/cs/ww/en/view/54110126
\6\ PROFIenergy Guía de aplicación para la aplicación de los conceptos de desconexión Con PROFIenergy
Ejemplo de aplicación Edición: 07/2014
•
https://support.industry.siemens.com/cs/ww/en/view/96837137
\7\ PROFIenergy ¿Qué módulos de las funciones de apoyo PROFIenergy cartera de Siemens?
Preguntas Edición: 08/2014
https://support.industry.siemens.com/cs/ww/en/view/95848378
https://support.industry.siemens.com/cs/ww/en/view/109478388
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 55
8 Contacto
Tema Título
\ 10 \ KUKA KUKA System Software KUKA System Software - Versión 8.3 Manual de
Software del sistema instrucciones y programación para los integradores de sistemas Edición: 18/12/12
Versión: 8.3 KSS SI V1 en número (PDF) Orden: -
8 Contacto
Si usted tiene alguna pregunta acerca de los robots industriales KUKA o la librería de bloques KUKA.PLC
mxAutomation o quiere pedir la documentación KUKA es necesario, por favor utilice los datos de contacto de abajo.
Para ponerse en contacto con SIEMENS Robótica textuales, por favor utilice la siguiente dirección de correo electrónico: Correo electrónico: robotic.industry@siemens.com
8.2 KUKA
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 56
9 Historia
Contacto:
Philipp.Kremer@kuka.com
•
9 Historia
Tabla 9-1
S7-1500 / mxAutomation
ID de Entrada: 109482123, V1.1, 01/2016 57