Dark Mode Light Mode

Programación de Robots con Hilos (Threads)

Lleva tu programación de robots al siguiente nivel. Aprende a usar hilos (threads) para controlar bandas transportadoras y otros procesos en paralelo.
alfieforshort Programación de Robots con Hilos (Threads) alfieforshort Programación de Robots con Hilos (Threads)

Programación de Robots con Hilos (Threads)

Hasta ahora, tus programas han sido secuenciales: el robot ejecuta un comando y no pasa al siguiente hasta que el anterior ha terminado. Pero, ¿qué pasa si necesitas que la banda transportadora avance mientras el robot se está moviendo hacia la caja donde dejará la pieza? Para esto, necesitas la multitarea, y en la programación de robots UR, esto se logra con los Hilos (Threads).

Este módulo introduce un concepto que cambiará por completo la eficiencia y la estructura de tus aplicaciones, permitiendo la ejecución de procesos en paralelo.


¿Qué es un Hilo (Thread) en Programación de Robots?

Un Hilo (o Thread) es un sub-programa que se ejecuta simultáneamente y en paralelo al programa principal del robot. Es como tener dos cerebros trabajando a la vez con tareas distintas.

La regla de oro de la programación de robots con hilos en PolyScope es:

  • Programa Principal: Se encarga de todos los comandos de movimiento del robot (MoveJ, MoveL, etc.).
  • Hilo (Thread): No puede contener comandos de movimiento. Su trabajo es gestionar procesos de fondo, como monitorear entradas, activar salidas y manipular variables.

Esta separación es la clave para crear aplicaciones complejas y eficientes.


Controlando una Banda Transportadora con un Hilo

El caso de uso perfecto para un hilo es el control de una banda transportadora (conveyor). Si pusieras el comando “encender banda” en el programa principal, el robot se detendría hasta que la banda se apague. ¡Muy ineficiente!

Usando un hilo, el robot puede seguir moviéndose y realizando otras tareas mientras el hilo gestiona la bandade forma independiente.

Estructura de un Hilo para Bandas

Un hilo para controlar una banda transportadora normalmente contiene un bucle infinito (Loop Forever). Dentro de ese bucle, una declaración condicional (If...Else) revisa el estado de una variable para decidir qué hacer.

Por ejemplo, el hilo podría estar constantemente revisando:

  • Si la variable activar_banda es True, entonces enciende la salida digital de la banda.
  • Si no, apaga la salida digital de la banda.

El Rol Clave de las Variables

Si el hilo y el programa principal corren por separado, ¿cómo se comunican? La respuesta es a través de variables. Las variables actúan como un buzón o un pizarrón donde uno puede dejar un mensaje para que el otro lo lea.

El flujo de trabajo sería así:

  1. Programa Principal: Cuando necesita una nueva pieza, ejecuta el comando Set activar_banda = True.
  2. Hilo: En su siguiente ciclo del bucle, ve que la variable activar_banda ahora es True y enciende la banda transportadora.
  3. Programa Principal: Mientras la banda se mueve, el robot puede estar ocupado en otra cosa, como colocar la pieza anterior.
  4. Programa Principal: Una vez que ya no necesita que la banda avance, ejecuta Set activar_banda = False.
  5. Hilo: Detecta el cambio en la variable y apaga la banda.

Ventajas de esta Técnica de Programación de Robots

Dominar el uso de hilos lleva tu programación de robots a un nivel profesional, brindándote enormes ventajas:

  • Eficiencia: Reduce drásticamente los tiempos de ciclo, ya que el robot no tiene tiempos muertos esperando a otros procesos.
  • Código Limpio: Organiza tu aplicación de forma lógica, separando el control de movimiento del control de procesos.
  • Escalabilidad: Facilita la gestión de aplicaciones más complejas que requieren múltiples tareas simultáneas.

<< Volver a la guía completa: Conoce el Curso e-Series Core Universal Robots >>

<< Anterior: Módulo 5 - Cómo Controlar un Robot con Comandos

Siguiente: Módulo 7 – Seguridad en Robots: Guía de Ajustes UR >>

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
View Comments (4) View Comments (4)

Deja un comentario

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

Previous Post
alfieforshort Cómo Controlar un Robot con Comandos

Cómo Controlar un Robot con Comandos

Next Post
alfieforshort Seguridad en Robots Guía de Ajustes UR

Seguridad en Robots: Guía de Ajustes UR