SEMAIQ · Automatización y PLC · Querétaro
PLC y servomotores: control de posicion y movimiento
1. Qué es el control de movimiento con PLC
El control de movimiento es la parte de la automatización que gobierna posición, velocidad, aceleración y par de ejes mecánicos con una referencia programada. En una máquina real se reparte en tres niveles. El PLC decide qué movimiento se hace, cuándo y con qué parámetros: secuencia, permisos, interlocks, recetas y coordinación entre ejes. El accionamiento ejecuta la consigna y cierra los lazos internos de corriente, velocidad y posición en escalas de microsegundos a pocos milisegundos. La mecánica convierte el giro en movimiento útil, y con ella llegan la inercia, la rigidez, el juego y la resonancia, causa de la mayoría de los problemas que se atribuyen al programa.
Programar movimiento no es darle arranque a un motor. Un eje bien implementado tiene referencia establecida, unidades calibradas, límites de velocidad y de par definidos, rampas y jerk configurados, ventana de error de seguimiento vigilada, estados de eje administrados y rutinas de homing y recuperación probadas. Cuando falta cualquiera de esas piezas aparece el síntoma clásico: la máquina trabaja en manual, pero en automático se sobrepasa, se atasca o pierde la posición después de un corte de energía.
Hay además una diferencia de naturaleza entre el programa de lógica y el de movimiento. La lógica tolera ciclos irregulares de 12 o 20 ms sin consecuencia; el control de posición no, porque es una función determinista y un retraso en el cálculo de la consigna se convierte en un eje que llega tarde y con error. Por eso el movimiento corre en una tarea de alta prioridad o isócrona, con su propio tiempo de ciclo.
2. Velocidad con variador frente a posición con servo
La confusión más común empieza aquí. Un variador de frecuencia controla la velocidad de un motor de inducción y en la mayoría de las aplicaciones no necesita saber dónde está el eje: mueve una bomba, un ventilador o un transportador y eso basta. Su control puede ser escalar (V/f) en lazo abierto, vectorial sin encoder o vectorial en lazo cerrado con encoder. Con encoder y un módulo de posicionamiento en el PLC que corrija la consigna de velocidad se puede llegar a posicionar, pero la dinámica y la repetibilidad quedan muy por debajo de las de un servo. Ese camino lo detallamos en la guía de integración de PLC con variador de frecuencia para control de movimiento.
El servomotor es un motor síncrono de imanes permanentes con encoder integrado, acoplado a un drive que controla par, velocidad y posición en lazo cerrado. Sus ventajas son medibles: entrega par nominal a velocidad cero, soporta sobrecargas de dos a tres veces su par continuo durante tiempos cortos (justo lo que se necesita al acelerar), responde en pocos milisegundos y su repetibilidad es de décimas o centésimas de milímetro en mecánicas rígidas. La contraparte es el costo y la exigencia de dimensionar bien: un servo mal seleccionado es más caro que un variador y también más problemático.
La regla práctica es sencilla. Si el eje debe llegar a un punto con precisión y repetirlo millones de veces, es servo. Si solo gira a velocidad regulada y basta con saber que está en marcha, es variador. Entre ambos extremos está el motor paso a paso con encoder, útil en cargas pequeñas, que pierde pulsos bajo aceleraciones fuertes y no avisa del error.
3. Arquitecturas para controlar un servo desde el PLC
Existen cuatro formas de que el PLC controle un servo. Elegir bien es la mitad del proyecto, porque de la arquitectura dependen la precisión alcanzable, los ejes que se pueden sincronizar y la calidad del diagnóstico.
Consigna analógica con señales discretas
El PLC entrega una referencia de ±10 V (de velocidad o de par) y habilita el drive con salidas digitales. Sin encoder de retorno, el controlador no sabe dónde está el eje, la deriva del convertidor analógico introduce error y el cableado es sensible al ruido. Se conserva cuando el drive no tiene red y la precisión exigida es baja.
Pulsos de paso y dirección
Con salidas de alta velocidad el PLC genera trenes de pulsos (paso/dirección, CW/CCW o cuadratura) y el drive ejecuta el posicionamiento contando esos pulsos. Los módulos actuales superan los 500 kHz, suficiente para indexar rápido con motores de tamaño medio: es simple, sin red que configurar, ideal para pocos ejes sin coordinación. Sus límites: cable diferencial y corto, un pulso perdido es posición perdida en silencio y el PLC no conoce la posición real salvo que la lea por otra entrada.
Objetos tecnológicos de eje en el PLC
Aquí el PLC deja de ser un generador de pulsos y se convierte en controlador de movimiento. En Siemens se configura un objeto tecnológico: TO_PositioningAxis para un eje de posicionamiento, TO_SynchronousAxis para un esclavo sincronizado a un maestro, y TO_Cam o TO_Kinematics en las CPU S7-1500T para levas y cinemática; el drive recibe consignas cíclicas de posición por PROFINET. En Allen-Bradley el eje se define en Studio 5000 y un drive Kinetix trabaja con movimiento integrado sobre EtherNet/IP. El PLC ve posición, estado y códigos de error de cada eje como datos de su propio programa.
Movimiento sobre red determinista
Cuando varios ejes deben moverse juntos, la consigna viaja por red industrial: PROFINET con canal isócrono, EtherNet/IP con CIP Motion o EtherCAT. El ciclo de actualización se fija típicamente entre 1 y 4 ms en la mayoría de las máquinas y baja a 250 o 500 microsegundos en aplicaciones de altas prestaciones. La ventaja es que hay sincronismo con deriva mínima, diagnóstico por eje, menos cableado y posibilidad de sumar ejes o periferia remota; el requisito es un diseño de red de verdad, con switches gestionados y tráfico de control separado, como se detalla en la comparativa de PROFINET, EtherNet/IP y Modbus TCP en automatización industrial.
4. Tabla: tipo de movimiento, tecnología y cuándo usarla
Antes de comprar hardware conviene nombrar el movimiento que la máquina necesita:
| Tipo de movimiento | Tecnología | Cuándo usarla |
|---|---|---|
| Marcha/paro o velocidad regulada sin posición | Arrancador o variador (V/f o vectorial) | Bombas, ventiladores, transportadores sin punto de parada crítico |
| Posicionamiento punto a punto simple | Servo con pulsos paso/dirección u objeto tecnológico de posicionamiento | Alimentadores, mesas indexadas, uno o dos ejes sin sincronía |
| Posicionamiento con varios ejes y periferia remota | Movimiento sobre PROFINET o EtherNet/IP | Máquinas de cuatro ejes o más, con recetas y diagnóstico por eje |
| Sincronismo de velocidad entre dos ejes | Gearing electrónico (MC_GearIn, MC_GearInPos) | Doble tracción de banda, estirado, alimentación acoplada |
| Perfil no lineal que se repite (leva) | Leva electrónica con tabla de perfil (MC_CamIn) | Llenado, doblado, corte rotativo, sellado, formado |
| Coordinación de varios ejes en trayectoria | Interpolación PLCopen Part 4 y cinemática | Mesas XY, portales, robots delta o SCARA sobre controlador |
| Control de fuerza o presión | Modo par (MC_TorqueControl) con límite de posición | Prensado, dosificación, atornillado, cierre de tapas |
| Corrección sobre la marcha con una marca | Captura por touch probe (MC_TouchProbe) | Etiquetado, corte con registro, impresión, corte de film |
5. Los parámetros que hay que dominar antes de escribir una línea
La mayoría de los problemas de un eje no nacen del programa sino de la configuración. Estos datos deben quedar definidos, probados y documentados antes de la puesta en marcha, porque un número mal puesto produce fallas que parecen mecánicas:
| Parámetro | Qué define | Qué pasa si se deja mal |
|---|---|---|
| Unidades de posición y resolución del encoder | Cuántos incrementos equivalen a un milímetro o a un grado | Desplazamientos diez veces mayores o menores de lo pedido |
| Relación de engranajes (numerador/denominador) | Vueltas de motor por vuelta de carga | Error de escala acumulado y sobrepaso al final del movimiento |
| Límites de velocidad, aceleración y deceleración | La dinámica que soporta la mecánica | Bandas estiradas, husillos que chillan, vibración y desgaste |
| Jerk (derivada de la aceleración) | La suavidad del arranque y de la llegada | Golpeteo al invertir el sentido y castigo a reductores y guías |
| Par continuo y par pico | Capacidad térmica del motor y del drive | Motor caliente o alarma de sobrecarga en producción continua |
| Límites de posición y finales de carrera | El recorrido seguro del eje | Choque contra topes mecánicos |
| Ventana de error de seguimiento | Desviación máxima entre consigna y posición real | El eje nunca avisa que va frenado, atascado o desenganchado |
| Offset de referencia y cero de máquina | Distancia entre el punto físico de referencia y el cero lógico | Piezas corridas de forma sistemática en todas las corridas |
Las unidades de posición merecen un párrafo aparte porque casi todos los errores de arranque viven ahí. La cuenta sale de la resolución del encoder multiplicada por la relación de transmisión y dividida entre el avance por vuelta del elemento final. Un encoder absoluto de 23 bits entrega del orden de 8.4 millones de incrementos por vuelta, así que con un husillo de 10 mm por vuelta sobran incrementos: declarar la milésima de milímetro cuando la mecánica tiene dos centésimas de juego solo vuelve imposible cumplir la ventana de error de seguimiento.
6. Homing y referencia: el paso que casi todos dejan para el final
Un eje sin referencia no sabe dónde está. El homing establece el cero de máquina y se ejecuta de formas distintas según el encoder y la mecánica:
- Ajuste directo de valor: se escribe la posición actual sin mover el eje. Sirve para mantenimiento, pero si el eje se movió con la energía apagada la referencia queda falsa.
- Homing activo con interruptor de referencia: el eje busca el sensor rápido, retrocede y vuelve a entrar lento. Es el método estándar con encoder incremental y, para ganar repetibilidad, se combina con el pulso cero del encoder en lugar de quedarse con el flanco del sensor.
- Ajuste absoluto sobre encoder absoluto: el encoder ya conoce su posición y solo se corrige el offset contra un punto físico conocido, después de cambiar motor, encoder o reductor.
En las plataformas Siemens los modos de referencia se eligen por parámetro en el bloque de homing: la búsqueda activa con interruptor aplica a encoders incrementales, mientras que un objeto tecnológico con encoder absoluto solo acepta el ajuste directo o el ajuste absoluto único, porque escribir una posición arbitraria destruiría la escala del encoder. De ahí un error de comisión muy común: llamar al modo de búsqueda activa con encoder absoluto y recibir un mensaje de modo de homing no soportado para el tipo de encoder configurado. No es falla del equipo: es la configuración diciendo que el método de referencia es otro.
El segundo tema crítico es la recuperación ante corte de energía. Un encoder absoluto multivuelta conserva la referencia y el eje arranca sin homing; un absoluto de una vuelta o un incremental la pierde en cada apagón. Lo que se programa no es el homing en sí, sino la secuencia de arranque completa: si el eje está referenciado se habilita el ciclo; si no, el programa ejecuta el homing dentro de una zona verificada y bloquea la producción hasta terminar. Dejar esto para el final es la causa más frecuente de arranques con producto fuera de posición y de choques contra topes tras una interrupción eléctrica.
7. Funciones de movimiento que vas a usar todo el tiempo
- Punto a punto (MC_MoveAbsolute / MC_MoveRelative): mover a una posición absoluta o a una distancia relativa con rampas definidas. Es la base de alimentadores, mesas y ejes de carga y descarga.
- Velocidad constante (MC_MoveVelocity): mantener un eje girando a una velocidad hasta que algo lo detenga.
- Control de par (MC_TorqueControl): el eje obedece una consigna de par y la posición solo se vigila con límites. Es lo que se usa en prensado, dosificación y cierre de tapas.
- Gearing electrónico (MC_GearIn, MC_GearInPos): un esclavo copia velocidad o posición de un maestro con una relación dada por numerador y denominador; la variante por posición define el punto exacto de sincronización.
- Leva electrónica (MC_CamIn / MC_CamOut): el esclavo sigue un perfil no lineal definido en una tabla, con segmentos polinómicos o sinusoidales. Es la versión programable de la leva mecánica y permite cambiar el perfil por receta.
- Interpolación y cinemática (PLCopen Part 4): varios ejes coordinados para seguir una trayectoria lineal o circular, o una cinemática completa. En celdas con robot y PLC el reparto de responsabilidades importa tanto como el bloque que se use, tema que tratamos en la guía de integración de robots industriales con PLC.
- Captura por touch probe (MC_TouchProbe): una entrada rápida congela la posición del eje en el instante en que pasa una marca; con ese dato el programa corrige el registro y el corte queda siempre en el mismo lugar.
- Override y jog (MC_SetOverride): ajustar la velocidad en porcentaje sin reescribir el movimiento, y mover el eje a mano para mantenimiento.
8. El movimiento vive dentro del programa de PLC: bloques, estados y alarmas
La buena noticia es que el comportamiento de un eje está estandarizado. La especificación PLCopen Motion Control define los bloques de función que casi todas las plataformas implementan con los mismos nombres: MC_Power, MC_Home, MC_MoveAbsolute, MC_MoveRelative, MC_MoveVelocity, MC_Halt, MC_Stop, MC_GearIn, MC_CamIn, MC_TorqueControl, MC_Reset, MC_SetOverride y los de lectura, como MC_ReadActualPosition, MC_ReadActualTorque y MC_ReadStatus. Siemens y Allen-Bradley usan nombres propios para lo mismo (technology objects en TIA Portal; instrucciones MSO, MSF, MAM, MAH, MAG, MAPC y MAAT en Studio 5000), pero el modelo mental es idéntico y se transfiere entre marcas.
Junto con los bloques, la especificación define una máquina de estados por eje: reposo, referencia, movimiento discreto, movimiento continuo, movimiento sincronizado, parando y error de eje. Esa máquina explica varios comportamientos desconcertantes: un comando nuevo aborta el anterior y produce la salida de comando abortado, así que el programa debe decidir si eso es secuencia normal o falla; un eje en error no se mueve hasta que se ejecuta un reset con el comando apagado y la causa corregida; y cada bloque devuelve terminado, en curso o error con un código numérico que hay que mapear al HMI. Un eje que no responde casi siempre está en error con un código que nadie lee.
Para que esto funcione en producción hacen falta tres capas: la lógica de secuencia, que no debe permitir un movimiento sin condiciones; el manejo de errores, con códigos traducidos a mensajes comprensibles, histórico con hora y eje, y rearme que no dispare un movimiento inesperado; y las funciones de seguridad del accionamiento, como la parada segura de par (STO) o el monitoreo seguro de velocidad conforme a IEC 61800-5-2, que no se programan en la lógica de movimiento sino que se cablean y se validan con el nivel de prestaciones que exige el análisis de riesgo, según se explica en la guía de PLC de seguridad y seguridad funcional en maquinaria industrial. Confundir control de movimiento con función de seguridad es un error costoso en auditorías.
9. Sintonización, backlash y precisión repetible
Un servo alineado mecánicamente puede rendir mal por sintonización. El drive trabaja con lazos en cascada: corriente el más rápido, velocidad en medio y posición en el drive o en el PLC según la arquitectura. La mayoría de los servos se autoajustan analizando inercia y rigidez; después conviene afinar: subir la ganancia proporcional hasta que aparezca vibración y retroceder, agregar filtros de muesca si hay una resonancia identificable y usar las ganancias de avance (feedforward) de velocidad y aceleración para reducir el error de seguimiento, que es lo que importa cuando varios ejes se sincronizan o cuando hay levas.
La relación de inercia entre carga y motor es el criterio más olvidado. Como regla práctica, cuando la carga reflejada supera diez veces la inercia del rotor el control se vuelve difícil, y en dinámica alta los fabricantes recomiendan quedarse por debajo de cinco. Si el servo va corto de par, en cambio, los síntomas aparecen en la aceleración: error de seguimiento alto al arrancar, alarma de sobrecarga con carga ligera y desgaste raro en la mecánica.
El backlash necesita números, no intuiciones. Con encoder montado en el motor, los errores entre encoder y carga (juego de engranajes, torsión y dilatación del husillo) afectan a la posición real, y el accionamiento permite compensar el juego con un parámetro que hace recorrer ese tramo al invertir el sentido sin cambiar la posición real; la advertencia de los manuales es no declarar más juego del que existe, porque la diferencia se entrega como salto de consigna. Cuando la precisión importa de verdad, la solución no es software: es un encoder montado en la carga (lazo cerrado completo) o una mecánica con juego reducido. Y conviene no confundir dos números: la exactitud es la diferencia contra la posición ideal, la repetibilidad es la dispersión entre ciclos, y en producción la repetibilidad define la calidad.
Errores comunes en control de movimiento con servos
- Dimensionar por par pico en lugar de por par eficaz. El resultado es un eje térmicamente insuficiente que falla en el turno largo.
- No prever el freno del eje vertical. El freno del servomotor es de retención, no de parada dinámica; necesita secuencia con retardo y, en carga pesada, contrapeso o dispositivo adicional contra la caída.
- Dejar el homing y la recuperación para el final. Sin rutina de referencia y sin lógica de rearranque, cada corte de energía se convierte en horas de parada o en un choque mecánico.
- No configurar la ventana de error de seguimiento. Un eje frenado por una guía seca sigue intentando llegar y la falla aparece como pérdida de piezas, no como alarma.
- Cancelar la referencia sin avisar. Un movimiento manual de mantenimiento sin homing posterior deja el cero falso y la primera pieza sale desplazada.
- Confundir control de movimiento con función de seguridad. Los límites de software y el modo par no sustituyen STO, monitoreo seguro de velocidad ni enclavamientos certificados.
- Poner el movimiento en la tarea lenta. Si el cálculo de la consigna compite con el escaneo de lógica y con comunicaciones no críticas, aparecen microcortes que la mecánica amplifica.
- Olvidar las baterías del encoder multivuelta. El aviso de batería baja ignorado equivale a perder la referencia en el siguiente paro de planta.
Para la puesta en marcha, esta lista funciona como punto de verificación antes de dejar la máquina en producción:
- El eje queda referenciado de forma verificable y el ciclo no se habilita sin referencia
- Unidades de posición validadas con medición física, no con cálculo teórico
- Límites de recorrido de software y finales de carrera probados en ambos sentidos
- Rampas, desaceleraciones y jerk aprobados con la mecánica cargada
- Ventana de error de seguimiento probada introduciendo una obstrucción controlada
- Secuencia del freno verificada al habilitar y al parar, con la carga máxima
- Prueba de corte de energía con recuperación asistida y sin movimiento inesperado
- Códigos de error del eje mapeados al HMI con texto comprensible y hora
- Juego mecánico medido con indicador antes de decidir si se compensa por software
- Funciones de seguridad del drive (STO) probadas y documentadas
Caso práctico: rediseño del motion en una llenadora rotativa
Situación (escenario representativo): una planta de alimentos y bebidas del Bajío opera una llenadora y selladora con cinco ejes: transportador de entrada, estrella de indexado, bomba de llenado, alimentación de film y sello horizontal. El diseño original usaba servos movidos por pulsos de paso y dirección desde el PLC, un eje maestro mecánico con embrague para sincronizar film y sello, y llenado por tiempo de apertura de válvula. Cada cambio de presentación obligaba a ajustar el embrague y recalibrar tiempos, con paros del orden de 40 minutos; la variación de volumen generaba rechazos y, tras un corte de energía, los contadores de pulsos volvían a cero y el arranque se hacía a mano.
Solución: se migró a movimiento sobre PROFINET con eje maestro virtual y objetos tecnológicos por eje. El sello pasó a leva electrónica con tabla de perfil, la estrella se engranó al transportador con gearing electrónico, la bomba trabajó en modo par con límite de posición y receta por producto, y el registro del film se corrige sobre la marcha con entrada de captura por touch probe. Se instalaron encoders absolutos multivuelta para no repetir la referencia en cada arranque, se limitaron las rampas con jerk definido y se configuró una ventana de error de seguimiento por eje, con los códigos de falla mapeados al HMI.
Resultados representativos del rediseño:
- Cambio de presentación resuelto por receta, con ajustes en el orden de minutos en lugar de decenas de minutos.
- Volumen de llenado repetible por producto al pasar de control por tiempo a ejes con modo par.
- Arranque directo después de un corte de energía, sin homing manual ni piezas fuera de posición.
- Diagnóstico por eje en el HMI: qué eje falló, con qué código y a qué hora.
- Menos cableado en el gabinete al desaparecer los trenes de pulsos.
- Perfil de leva modificable por programa, sin fabricar una leva nueva.
Este tipo de proyecto se aborda igual en máquinas de empaque, corte, formado o envasado, y encaja con los trabajos de programación de PLC en Querétaro donde el control de movimiento es la parte crítica del ciclo.
Preguntas frecuentes
¿Puedo posicionar con un variador de frecuencia en lugar de un servo?
Solo en casos limitados. Un variador con encoder y un módulo de posicionamiento en el PLC puede gobernar la posición corrigiendo la consigna de velocidad, y funciona en ejes lentos o de baja exigencia. La diferencia es de dinámica: un servo entrega par nominal a velocidad cero, soporta sobrecargas de dos a tres veces su par continuo al acelerar y responde en pocos milisegundos. Si la precisión y el tiempo de ciclo son críticos, la solución es un servo.
¿Qué diferencia hay entre mover un servo por pulsos y moverlo por PROFINET o EtherNet/IP?
Con pulsos el PLC genera el tren paso/dirección y el drive cierra el lazo: solución simple, sin red que configurar, adecuada para pocos ejes sin sincronía. Con movimiento sobre red el drive recibe consignas cíclicas en una tarea isócrona: hay sincronismo entre ejes, el PLC conoce estado y errores de cada uno y se puede sumar periferia remota. Su requisito es un diseño de red con switches gestionados y tráfico de control separado.
¿Por qué mi eje pierde la posición cuando se corta la energía?
Porque el encoder es incremental o absoluto de una sola vuelta y la referencia se pierde al apagar. La solución es un encoder absoluto multivuelta con batería o con sistema de memoria, o bien un programa de arranque que ejecute el homing automáticamente antes de permitir el ciclo. Si la batería se agota o se cambia el motor, hay que referenciar con el modo de ajuste absoluto y verificar el cero contra un punto físico conocido.
¿Por qué el eje vertical se desliza al deshabilitarse?
Porque el freno del servomotor es un freno de retención, no un dispositivo de parada dinámica, y porque la secuencia de liberación y cierre debe programarse con retardo. Al habilitar, el drive toma el par antes de que el freno abra; al detener, el freno cierra antes de retirar el par. Si se invierte el orden, la carga cae unos milímetros en cada ciclo y el freno se desgasta rápido.
¿Qué es el backlash y cómo se corrige?
Es el juego mecánico que existe al invertir el sentido de giro: el motor gira un tramo sin que la carga se mueva. Se corrige de tres maneras: con el parámetro de compensación de backlash cuando el encoder está en el motor, con un encoder montado sobre la carga en lazo cerrado completo, o mecánicamente con husillos precargados y reductores de juego reducido. La compensación por software debe configurarse con el valor real medido: si se declara más juego del que existe, el eje acelera de forma peligrosa al invertir.
Necesitas controlar ejes servo con tu PLC?
SEMAIQ programa control de movimiento y ejes sincronizados en Siemens TIA Portal y Allen-Bradley Studio 5000 en Queretaro, Guanajuato, Aguascalientes, San Luis Potosi y todo el Bajio: dimensionamiento de ejes, objetos tecnologicos, homing, levas electronicas, gearing, sintonizacion y puesta en marcha con diagnostico por eje.


