Controlar Robot KUKA en Modo Automático Externo

hace 2 años · Actualizado hace 2 años

Controlador KRC5 micro
Controlador KRC5 micro

El control automático externo es un modo de operación del Robot KUKA que consiste en que un equipo externo controle y monitore el estatus del Robot. El objetivo de este artículo es mostrar como elegir un Programa del Robot desde el PLC y que el Robot lo ejecute, además de monitorear algunos estados del Robot para un óptimo funcionamiento.

Esta práctica es una continuación del artículo en el que comunicamos el PLC Compactlogix con un Robot Kuka. Por lo tanto, para poder realizar está práctica se recomienda haber realizado antes la comunicación entre el PLC y el Robot Kuka, además del “Mapping Input & Mapping Output”. Eso lo puedes revisar en el artículo publicado "Comunicar Robot KUKA con PLC CompactLogix Allen Bradley" Como requisito es un necesario tener las siguientes configuraciones.

Mapping Inputs Ethernet IP
Mapping Inputs Ethernet IP
Mapping Outputs Ethernet IP
Mapping Outputs Ethernet IP
Módulo Génerico Studio 5000
Módulo Génerico Studio 5000
📋Aquí podrás Encontrar✍
  1. Señales de Entradas y Salidas del Robot Kuka
  2. Configuración de Entradas
  3. Configuración de Salidas
  4. Mapping Input & Outputs KUKA<->PLC
  5. Programa CELL.SRC
  6. Ejecutar Programa en Modo Automático Externo

Señales de Entradas y Salidas del Robot Kuka

El Robot KUKA cuenta con algunas señales de sistema necesarias para dicho modo de operación, dichas señales cumplen funciones específicas, algunas son entradas del sistema y otra son salidas. El uso de ellas dependerá de la necesidad de cada proceso, pero existen señales que son primordiales.

⭐️ Antes de continuar suscríbete a nuestras Redes Sociales ⭐️

Desde el KukaSmartPad podemos acceder a dichas señales. Primero debemos iniciar sesión en modo “experto” o “administrador”.

Inicio de sesión KUKA
Inicio de sesión KUKA

También debemos de tomar en cuenta que debemos de “Anular la elección del Programa” (RESET Program). Nota: se recomienda “Anular la selección del programa” cuando el robot no esté en movimiento.

Reset Program

Una vez hecho lo anterior, debemos presionar la Tecla del Menú Principal y seguir la ruta de “Configuración” -> “Entradas/Salidas” -> “Automático Externo”.

Configuración Automático Externo
Configuración Automático Externo

Después de que hagamos los pasos anteriores nos aparecerá una ventana llamada “Configuración de Automático Externo: Entradas”, en la parte inferior hay un botón para cambiar a las salidas.

Configuración de Entradas

Cada una de estas señales cumple un propósito específico, para nuestro objetivo, solo usaremos algunas señales, sin embargo, recomiendo hacer la configuración como aparece en la imagen siguiente:

Nota: algunas señales son de tipo “VAR” y otras de tipo “I/O”. La diferencia es que las de tipo “VAR” se les debe indicar un valor, cada valor tiene un significado. Para las señales de tipo “I/O” se le debe de indicar una dirección, la cual dependerá de como se haya hecho el “Mapping Input & Mapping Output”.

Configuración de entradas
Configuración de entradas

PGNO_TYPE: Indica el formato en el que será recibido el programa deseado por el controlador externo. El valor de 1 significa que el formato será “Binario”.

REFLECT_PROG: habilita o deshabilita la opción de que el Robot envíe al PLC cual programa es el deseado actualmente. El PLC indica el número del programa deseado y el Robot responde cual programa es el que se eligió. Es una retroalimentación.

PGNO_LENGHT: indica el tamaño de la memoria que contendrá el número de programa deseado, el valor colocado corresponde al número de bits de esa memoria. Por ejemplo, en este caso un 7 indica que el número de programa mayor puede ser 127 (27).

PGNO_FBIT: indica la entrada que corresponderá al primer BIT que contendrá el programa deseado. En este caso la entrada elegida es 108 y como PGNO_LENGHT=7 quiere decir que el espacio de memoria para el programa deseado es desde 108-->>114.

Mapping PGNO_FBIT
Mapping PGNO_FBIT

PGNO_PARITY: cuando se requiere tener una mayor seguridad de que el programa deseado se ha enviado correctamente se utiliza el bit de paridad. En este caso nosotros colocamos un 0, por lo tanto no evaluamos el bit paridad.
Nota: si se requiere evaluar el bit de pardidad debemos elegir una entrada, por ejemplo 140, ahora si queremos que la evaluación sea "impar" debemos colocar -140.

PGNO_PARITY Robot Kuka
PGNO_PARITY Robot Kuka

PGNO_VALID: es una señal que el PLC debe enviar siempre y cuando revise que el programa del Robot deseado es igual al programa del Robot que está actualmente seleccionado en el Robot.

Robot solicita programa a KUKA
KUKA le responde el programa solicitado

$EXT_START: señal utilizada para indicarle al Robot que comience un programa. La idea es ejecutar el programa principal CELL.

$MOVE_ENABLE: esta señal sirve para habilitar o deshabilitar el movimiento. Un valor lógico de 1 permite el movimiento y un valor lógico de 0 lo detiene.

$CONF_MESS: habilitando esta señal sirve para darle “RESET” a los mensajes de error. Estos mensajes solo se eliminarán siempre y cuando no siga presente el error.

$DRIVES_ON: esta señal sirve para energizar los ejes del robot, con un pulso positivo de al menos 20ms de duración.

$DRIVES_OFF: esta señal sirve para des energizar los ejes del robot, con un pulso bajo de al menos 20ms

$I_O_ACT: señal necesaria para habilitar el funcionamiento de la interfaz I_O, al trabajar en modo Externo es necesario tenerla siempre en 1 lógico.

Aplicaciones Premium

Suscríbete a nuestro boletín de noticias

🤖 Antes de suscribirte acepta nuestros términos y condiciones.


✅ Recuerda que al Suscríbete a nuestro boletín de noticias, recibirás por correo electrónico cada nueva publicación y también las actualizaciones de los mismos.

Configuración de Salidas

Ahora pasaremos a revisar las señales de salida. Para esto debemos presionar el botón “Salidas” que se encuentra en la parte inferior.

Las señales de salida esta ordenadas en 4 pestañas:

  • Condiciones de Inicio
  • Estado del Programa
  • Posición del Robot
  • Modo de Operación

La primera pestaña muestra las "Condiciones de Inicio", son algunas de las señales mas importante.

Kuka Salidas - Conciciones de Inicio
Kuka Salidas - Conciciones de Inicio

$RC_RDY1: el robot esta listo para ejecutar un programa

$ALARM_STOP: Esta salida se pone a cero en caso de evento de PARADA DE EMERGENCIA.

$USER_SAF: esta salida se restablece cuando el interruptor que monitorea la seguridad se abre (en Modo AUTO) o si se deja de presionar el botón de habilitación (en Modo “Test”).

$PERY_RDY: esta señal indica que los drives de los ejes del motor están habilitados.

$STOP_MESS: esta señal se pone en estado de 1 Lógico cuando ocurre cualquier condición que necesite detener el robot, por ejemplo un Paro de Emergencia, seguridad del operador, etc.

$PGNO_FBIT_REFL: corresponde al primer bit donde se ubica la memoria que contiene la retroalimentación del programa deseado. Por ejemplo, el PLC indica en PGNO_FBIT el programa deseado 5, entonces el Robot responde en PGNO_FBIT_REFL con un valor de 5.

NOTA: la cantidad de bits de la memoria es el valor de PGNO_LENGHT, en este caso 7 bits, por lo tanto abarca desde 124 hasta 130.

Mapping PGNO_FBIT_REFL
Mapping PGNO_FBIT_REFL

La siguiente petaña muestra las señales de "Estado del Programa".

$PRO_ACT: muestra el estado actual del programa, "TRUE" significa que el programa esta activo y "FALSE" significa lo contrario.

PGNO_REQ: un cambio en esta señal indica una solicitud de que se envíe un nuevo programa.

APPL_RUN: esta señal sirve para indicarle al PLC que un programa se encuentra en ejecución.

$PRO_MOVE: indica el estado del movimiento.

Kuka Salidas - Estado del Programa
Kuka Salidas - Estado del Programa

La siguiente pestaña muestra el apartado de "Posición del Robot".

$IN_HOME: esta señal se enciende solamente cuando el robot se encuentra en su posición de "HOME".

Kuka Salidas - Posición del Robot
Kuka Salidas - Posición del Robot

Por último tenemos la pestaña de "Modo de Operación". Estas salidas se mantienen encendidas cada vez que su correspondiente modo de operación se encuentre activo.

Kuka Salidas - Modo de Operación
Kuka Salidas - Modo de Operación

Mapping Input & Outputs KUKA<->PLC

Al finalizar el "mapping" deberá de verse de una manera similar a la que se muestra en las siguientes tablas. La primera corresponde a las entradas del PLC que son las salidas del Robot. La segunda tabla muestra las salidas del PLC que son las entradas del Robot.

Mapping Inputs PLC / Outputs Kuka
Mapping Inputs PLC / Outputs Kuka
Mapping Outputs PLC / Inputs Kuka
Mapping Outputs PLC / Inputs Kuka

Programa CELL.SRC

Después de haber configurado las entradas y salidas del modo de funcionamiento automático externo, el siguiente paso es seleccionar el programa CELL.SRC. Este programa es un ejemplo que tiene por default el Robot Kuka y contiene las funciones necesarias para la transferencia del programa deseado desde el PLC. El código que contiene dicho programa es el siguiente:

DEF  CELL ()
  ;EXT EXAMPLE1 ( )
  ;EXT EXAMPLE2 ( )
  ;EXT EXAMPLE3 ( )

  INIT ; secuencia de inicialización
  BASISTECH INI
  CHECK HOME
  PTP HOME  Vel= 100 % DEFAULT
AUTOEXT INI
  LOOP; Inicio del Loop
    P00 (#EXT_PGNO,#PGNO_GET,DMY[],0); módulo P00 llamado para obtener el número de programa deseado por el PLC
    SWITCH  PGNO ; estructura del programa dependiendo del número recibido

    CASE 1; si el programa recibido en PGNO=1 ejecuta el programa EXAMPLE1()
      P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0) ; Reset Progr.No.-Request
      EXAMPLE1 ( ) ; Aquí se debe colocar el nombre del programa que se quiere ejecutar

    CASE 2; si el programa recibido en PGNO=2 ejecuta el programa EXAMPLE2()
      P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0) ; Reset Progr.No.-Request
      EXAMPLE2 ( ) ; Llamar el programa de usuario

    CASE 3 ;si el programa recibido en PGNO=3 ejecuta el programa EXAMPLE3()
      P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0) ; Reset Progr.No.-Request
      EXAMPLE3 ( ) ; Llamar el programa de usuario

    DEFAULT
      P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0)
    ENDSWITCH
  ENDLOOP
END

Ejecutar Programa en Modo Automático Externo

Para la ejecución de un programa se requieren las siguientes condiciones:

  • Llevar el Robot a HOME en T1
  • Seleccionar el Programa CELL.SRC
  • Poner el KUKASmartPad en modo "Automatic External"
  • $USER_SAF, $MOVE_ENABLE, $ALARM_STOP, $DRIVES_OFF deben estar en 1 Lógico (Desde el PLC)
  • Poner en SET la señal $DRIVES_ON
  • Poner en RESET la señal $DRIVES_ON al recibir la señal $PERY_RDY
  • Indicar el programa deseado en PGNO
  • Comparar que el programa enviado en PGNO_FBIT sea el mismo que el recibido en PGNO_FBIT_REFL
  • Si PGNO_FBIT (PGNO) es igual a PGNO_FBIT_REFL (PGNO_REFL) activar PGNO_VALID
  • El programa deseado se deberá de ejecutar, revisar señal APPL_RUN

⭐️ Si quieres saber más de otros artículos parecidos a Controlar Robot KUKA en Modo Automático Externo puedes visitar nuestra categoría KUKA. Te esperamos dentro 👍

Entradas de Interes

  1. Arnau Romero Hazas dice:

    Buenas tardes,
    Primero muchas gracias he aprendido mucho con tu artículo,
    Solo tengo un problema y es con el pgno_valid, e seguido todos los pasos tal y como los describes pero el robot me envia literalmente "-128", llevo horas mirando que las variables las tenga bien ordenadas y de que no me haya equivocado en nada pero no veo el error, se te ocurre que puede estar pasando? Yo le envio bien qual es mi numero de programa pero el robot no me envia bien la respuesta.

    1. Black Knight dice:

      Hola Arnau, en la configuración de automático externo de las entradas debes de poner en 1 REFLECT_PROG_NR y en la configuración de la salidas debes indicar la dirección de PGNO_FBIT_REFL, en el caso de este ejemplo es $124 y como en el PGNO_LENGHT pusimos 7 pues el número del programa que enviará el robot al PLC irá del $124 al $130, como lo puedes ver en la tabla de excel que esta arriba.
      Para el tema del PGNO_VALID, debes de configurarlo también en la "configuración de automático externo de las entradas", ahí debes de indicar la dirección, en este caso elegí la $116

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tu puntuación: Útil

Subir