Teniendo el servomotor configurado y comunicando en la primera parte, vamos ahora con la programación.
En el CD que acompaña al servomotor viene un ejemplo de programación para Step7 y no dice nada de Beckhoff (ni de ningún otro fabricante). Explorando un poco el ejemplo veo que el control se hace a través de un FB escrito en lista de instrucciones (AWL), que afortunadamente no está protegido y puedo analizarlo: lo que se hace es leer 8 bytes de entrada a través de Profibus, se interpretan según el modo de funcionamiento del servomotor, se codifican los posibles comandos al servomotor en 8 bytes de salida y finalmente se transmiten por Profibus. Lo que voy a hacer es 'traducir' el código en AWL de Step7 a lenguaje ST para el CX9010.
ADVERTENCIA: El código que presento a continuación lo he probado únicamente utilizando el servomotor en posicionamiento absoluto. Para los demás modos de funcionamiento debería funcionar, he procurado ser meticuloso a la hora de transcribir el código, pero puede haber errores. Si usas este código y te funciona, si le haces modificaciones o si encuentras un error te agradecería que me lo comuniques.
Para empezar voy a declarar los tipos de datos necesarios. He intentado respetar al máximo la programación hecha en Step7 por Festo, los nombres de las variables son un calco y su funcionalidad idéntica.
Mostrando entradas con la etiqueta Seguridad. Mostrar todas las entradas
Mostrando entradas con la etiqueta Seguridad. Mostrar todas las entradas
11 de enero de 2010
21 de diciembre de 2009
Interrupción de tareas de movimiento en Simotion (parte 2ª)
Tal y como terminé comentando en la 1ª parte, el Simotion D410 DP viene preparado para cumplir categoría III de seguridad. Para que el funcionamiento de la barrera sea conforme hay que, en primer lugar, cablear desde el dispositivo de seguridad (en mi caso el relé de la barrera) un doble canal redundante.
El cableado será el siguiente: uno de los canales del relé de la barrera debe estar cableado a una de las primeras 4 entradas (DI0, DI1, DI2 ó DI3) del conector X121 en el frontal del Simotion. El otro canal debe estar cableado al borne 7 del conector X120 (EP). No olvidar cablear los correspondientes negativos, para más detalle consultar la completa documentación de Siemens. Con esto ya tenemos el doble canal redundante, ahora hay que configurar el equipo para que active la seguridad.
La seguridad no se maneja desde el Simotion, es tarea del Sinamics_integrated, lo cual tiene sentido ya que es el componente que ataca directamente al servomotor.
IMPORTANTE: Para realizar esta configuración es imprescindible estar on line con el Simotion.
El cableado será el siguiente: uno de los canales del relé de la barrera debe estar cableado a una de las primeras 4 entradas (DI0, DI1, DI2 ó DI3) del conector X121 en el frontal del Simotion. El otro canal debe estar cableado al borne 7 del conector X120 (EP). No olvidar cablear los correspondientes negativos, para más detalle consultar la completa documentación de Siemens. Con esto ya tenemos el doble canal redundante, ahora hay que configurar el equipo para que active la seguridad.
La seguridad no se maneja desde el Simotion, es tarea del Sinamics_integrated, lo cual tiene sentido ya que es el componente que ataca directamente al servomotor.
IMPORTANTE: Para realizar esta configuración es imprescindible estar on line con el Simotion.
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).

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).
Suscribirse a:
Entradas (Atom)

