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
esTrue
, 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í:
- Programa Principal: Cuando necesita una nueva pieza, ejecuta el comando
Set activar_banda = True
. - Hilo: En su siguiente ciclo del bucle, ve que la variable
activar_banda
ahora esTrue
y enciende la banda transportadora. - Programa Principal: Mientras la banda se mueve, el robot puede estar ocupado en otra cosa, como colocar la pieza anterior.
- Programa Principal: Una vez que ya no necesita que la banda avance, ejecuta
Set activar_banda = False
. - 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 >>
I couldn\’t agree more! Your post is a valuable resource that I\’ll be sharing with others.
Thank you! I\’m thrilled that you found the post valuable. Your support means a lot.
I\’m so glad I found your site. Your posts are consistently excellent.
Your dedication to providing quality content is truly admirable. I\’m a fan of your work.