11 de diciembre de 2009

Interrupción de tareas de movimiento en Simotion (parte 1ª)

Tengo una instalación con un Simotion D410 DP monoeje. Existe una barrera fotoeléctrica cuya misión es detener el movimiento del eje cuando se interrumpe y que una vez despejada continúe. Para conseguir este comportamiento he creado una Motion task que se ejecutará cíclicamente y tiene, programada en MCC (Motion Control Chart), el siguiente aspecto:


Lo que hago, básicamente, es vigilar la entrada en la que tengo cableada la señal del relé de la barrera y cuando detecto que se interrumpe, con el comando Stop axis, detengo el movimiento sin abortarlo (Normal stop without abort).


Cuando detecto que la barrera está despejada, con el comando Continue motion, permito al eje continuar.


Tal y como le he contado es válido para tareas de posicionado, pero no si estamos ejecutando una orden de referenciado (búsqueda de la posición cero del eje). Si se interrumpe una orden de referenciado, al darle el comando Continue motion el eje seguirá girando pasándose incluso el detector de referenciado hasta que lo detengamos o encuentre un límite de movimiento. Para solucionar este problema, antes de pausar el eje, compruebo si estoy ejecutando alguna orden de referenciado; en mi caso referencio en la Motion_Task_3. Si no está parada (TASK_STATE_STOPPED), o sea, que se estaba referenciando cuando la barrera fue interrumpida, aborto el movimiento completamente (Normal stop with abort) y, por tanto, se cancela la orden: será necesario reiniciarla.


Un detalle más, he incluido los comandos de parar y continuar el movimiento en la zona sombreada en gris debajo del comando Wait for signal para que se ejecuten con mayor prioridad en cuanto se dé la condición buscada.

Esta programación funciona y aparentemente cumple su cometido; si interrumpo la barrera el eje se para y al despejarse continúa sin mayor problema... pero digo aparentemente porque no es una solución correcta: no se cumplen condiciones de seguridad. La normativa de seguridad no permite que el controlador lógico (en este caso el Simotion) se haga cargo de un elemento de seguridad desde la lógica programada.

El Simotion D410 DP viene preparado para cumplir categoría III de seguridad y en una segunda parte comentaré la configuración necesaria para que nuestra instalación la cumpla.

Agradeceré cualquier comentario, crítica o corrección.

No hay comentarios:

Publicar un comentario

Por favor, no pidas copias de programas comerciales, licencias o números de serie.