SUMO AUTOMATION

Blog de divulgación técnica. Artículos basados en FAQs referentes al campo de la automatización industrial.

lunes, 26 de abril de 2021

MOTION - Eje virtual

Motion Control
Es probable que hayas oído hablar del eje virtual en motion control... Se trata de un recurso de programación muy utilizado en la automatización para el sincronismo y control de ejes.
No obstante, en ocasiones, puede resultar un concepto poco intuitivo y genera dudas sobre para que sirve, como se debe tratar y en que casos es preferible usarlo.

El presente artículo hablará sobre ello e intentará resolver todas las dudas conceptuales al respecto. 

¿QUÉ ES?

Como su nombre indica, un eje virtual no existe físicamente. Por definición, es un servomotor simulado por software.
No tiene asociado ningún accionamiento con control de lazo cerrado o encoder, por lo que no puede verse afectado por problemas de cableado, ruido, mecánica, electrónica, etc.

Entonces, la dinámica de este eje siempre será ideal.
Se comporta como una consigna, no dispone de
 "valor actual" por programa

A nivel de programación en el autómata, se configura/programa como un eje físico. La única diferencia es que no se asocia a ningún hardware.
Es necesario definirle la conversión de unidades mecánicas, los limites dinámicos, configurar el contaje (lineal/rotativo)... Igual que en cualquier otro eje estándar.
 


¿PARA QUÉ SIRVE?

- Hacer pruebas de simulación sin disponer de los equipos físicos. 
Permite simular la ejecución del programa de motion en el autómata sin disponer de los servos, pudiendo confirmar de antemano que la secuencia de movimiento es correcta.

- Diagnosticar fallos en servoaccionamientos. 
Si salta algún error en un servodrive o el motor presenta problemas de dinámica, se puede substituir en programa por un eje virtual con comportamiento ideal. Esto nos permitiría ver si el fallo es de programa o está asociado a algún tema físico.

- Programar sincronismos con ejes reales.  
Un eje virtual puede representar un eje principal de máquina (o cualquier otro intermedio) y utilizarse para relaciones complejas. Puede trabajar con rol de maestro y esclavo...
Para ver alguna instrucción de sincronismo en el que se podría utilizar, hacer click aquí.


¿EJEMPLO DE APLICACIÓN?

Como se comentaba anteriormente, en aplicaciones de sincronización de múltiples ejes, las características ideales de un eje virtual lo hacen adecuado para acoplar ejes.
Se reemplaza por ejes físicos, eliminando el retraso en el sincronismo.

Planteemos, a modo de ejemplo, una aplicación vertical con dos ejes que están siempre sincronizados (MC_GearIn).
En un principio, es viable definir un eje  físico como maestro y otro como esclavo. No obstante, podemos encontrarnos con un pequeño delay entre ambos...

MOTION

Para cerciorarnos de que no habrá ningún offset de posición entre los dos ejes (lo que podría resultar crítico), hay una solución más robusta. Pasaría por trabajar con tres ejes; uno por cada servomotor y otro virtual.
La filosofía a seguir sería sincronizar los dos servos físicos (esclavos) al virtual (maestro).

A nivel de programa, se gobernaría solo el eje virtual con instrucciones de control de posición simples (p.e. MC_MoveAbsolute). Previamente, se lanzarían los sincronismos de los dos esclavos (MC_GearIn) que siguieran la secuencia del maestro virtual. 
Resumiendo, solo gobernamos el movimiento en el eje virtual. Los servos físicos únicamente siguen fielmente el perfil ideal del maestro.

No hay comentarios:

Publicar un comentario