Saltar al contenido
Piezas de automatización, suministro mundial
How to Tune PID Loops on Micro800 PLCs?

¿Cómo ajustar los lazos PID en los PLC Micro800?

Este artículo técnico ofrece a los ingenieros una guía práctica para la programación de Micro800, incluyendo el orden de ejecución de la lógica escalera, configuración de contadores de alta velocidad para aplicaciones de precisión, ajuste PID sin herramientas especializadas, direccionamiento indirecto para el procesamiento de matrices y casos de aplicación reales para líneas de embotellado, prensas hidráulicas y control de zonas en transportadores.

Dentro del Allen-Bradley Micro800: Guía práctica de ingeniería para control industrial

Descifrando la familia de hardware Micro800

La serie Micro800 incluye cuatro modelos principales. El Micro810 está dirigido a reemplazos básicos de relés con 10 puntos de E/S. El Micro820 añade conectividad Ethernet y soporta hasta 24 puntos de E/S. El Micro850 maneja máquinas más grandes con 48 E/S integradas y capacidad de expansión hasta 128 puntos. El Micro870 ofrece el mayor número de E/S con 280 puntos. Cada modelo comparte el mismo entorno de programación pero difiere en potencia de procesamiento y capacidad de memoria. Elija el Micro820 para máquinas independientes con necesidades de monitoreo remoto. Seleccione el Micro850 cuando necesite más de dos entradas analógicas o funciones de contador de alta velocidad.

Comprendiendo el orden de ejecución de Ladder Logic

Los peldaños de ladder logic se ejecutan de arriba hacia abajo y de izquierda a derecha. Este orden de ejecución es importante para bobinas de salida e instrucciones de enclavamiento. Una bobina de salida escrita más tarde en el programa sobrescribe una asignación anterior al mismo tag. Coloque las verificaciones críticas de seguridad al inicio de la rutina. Ponga la lógica de activación de salidas cerca del final. Use instrucciones one-shot rising para eventos activados por flanco como pulsaciones de botón. Sin un one-shot, una entrada mantenida activará en cada ciclo de escaneo. Pruebe el orden de sus peldaños monitoreando los estados de los tags durante la ejecución paso a paso.

Trabajando con tipos de datos definidos por el usuario

Los tipos de datos definidos por el usuario agrupan tags relacionados en una sola estructura. Cree un UDT para control de motor que incluya comando de arranque, comando de paro, retroalimentación de funcionamiento, estado de falla y acumulador de tiempo de operación. Este enfoque reduce la cantidad de tags y mejora la legibilidad del código. Para implementar un UDT, defina la estructura en el administrador de tipos de datos. Instáncielo como un tag global. Acceda a los miembros individuales usando notación de punto como Motor1.RunFeedback. Los UDT también simplifican las operaciones con arreglos. Una línea de 10 motores se convierte en un solo arreglo de UDTs de motor en lugar de 50 tags separados. Esta técnica reduce errores de programación y acelera la puesta en marcha.

Configuración de contador de alta velocidad para aplicaciones de precisión

Los contadores de alta velocidad miden pulsos de codificadores o señales de sensores de alta frecuencia. El Micro850 soporta frecuencias HSC de hasta 100 kHz. Configure el HSC para conteo ascendente, descendente o modos de codificador en cuadratura. El modo cuadratura rastrea posición y dirección usando dos canales de entrada. Conecte las fases A y B del codificador a entradas HSC dedicadas. Establezca el valor preajustado donde el contador se reinicia automáticamente. Adjunte una rutina de interrupción al evento preajustado para acción inmediata como cortar una banda o activar un cilindro. Los conteos HSC operan independientemente del ciclo de escaneo, haciéndolos adecuados para medición precisa de longitud o monitoreo de velocidad.

Ajuste de lazo PID sin herramientas especializadas

El control proporcional-integral-derivativo mantiene variables de proceso como temperatura, presión o flujo. Comience el ajuste poniendo las ganancias integral y derivativa en cero. Aumente la ganancia proporcional hasta que el proceso oscile de forma estable. Registre el período de oscilación en segundos. Ajuste la ganancia proporcional a la mitad del valor de oscilación. Ajuste la ganancia integral a 1.2 dividida por el período de oscilación. Ajuste la ganancia derivativa a 0.075 multiplicada por el período de oscilación. Pruebe la respuesta haciendo un pequeño cambio en el punto de consigna. El proceso debe estabilizarse en tres a cinco ciclos de oscilación. Si el sobrepaso supera el 25 por ciento, reduzca aún más la ganancia proporcional. Documente los valores finales de ajuste en los comentarios del programa para referencia futura.

Mensajería EtherNet/IP implícita vs. explícita

La mensajería implícita transfiere datos de E/S a intervalos fijos para control en tiempo real. El Micro800 actúa como adaptador, produciendo hasta 500 bytes de datos de entrada y consumiendo 500 bytes de datos de salida. Configure el intervalo del paquete de solicitud entre 2 y 100 milisegundos. Intervalos más cortos proporcionan respuesta más rápida pero consumen más ancho de banda de red. La mensajería explícita maneja datos no críticos como parámetros de configuración o información diagnóstica. Use instrucciones MSG para leer o escribir tags individuales en dispositivos remotos. Los mensajes explícitos tardan más en completarse pero ofrecen mayor flexibilidad. Reserve la mensajería implícita para E/S críticas en tiempo y la explícita para tareas de configuración y monitoreo.

Manejo de datos en arreglos con direccionamiento indirecto

El direccionamiento indirecto usa un índice variable para acceder a elementos de un arreglo. Declare un arreglo de 20 temporizadores para un horno multi-zona. Cree un tag índice entero llamado [ZoneNumber]. Acceda a TimerArray[[ZoneNumber]].ET para leer el tiempo transcurrido de una zona específica. Cambie el valor del índice para recorrer todas las zonas en un ciclo FOR. Esta técnica elimina código repetitivo. Un solo ciclo FOR procesa 20 zonas en lugar de 20 peldaños idénticos. Limite los ciclos a 100 iteraciones por escaneo para evitar tiempos de espera del watchdog. Use lógica condicional para saltar ciclos cuando el índice esté fuera del rango válido. El direccionamiento indirecto hace el código más pequeño, fácil de mantener y menos propenso a errores por copiar y pegar.

Solución de problemas con el búfer de diagnóstico

El búfer de diagnóstico almacena eventos en tiempo de ejecución incluyendo ciclos de energía, cambios de modo, descargas de programa y fallas mayores. Acceda al búfer a través de la herramienta Connected Components Workbench. Cada evento incluye una marca de tiempo, código de evento y texto descriptivo. Códigos comunes incluyen 0x1000 para encendido normal y 0x2001 para inserción de módulo de E/S. El código 0x4002 indica un tiempo de espera de comunicación en un puerto específico. Use el búfer para determinar cuándo apareció una falla por primera vez y qué la precedió. Limpie el búfer después de resolver problemas para mantener limpias las futuras diagnósticas. Exporte el búfer a un archivo CSV para seguimiento a largo plazo de problemas intermitentes.

Caso de aplicación: sincronización de línea de embotellado

Una empresa de bebidas necesitaba sincronizar un llenador, tapador y etiquetador en una sola línea. El ingeniero instaló un Micro850 con tres contadores de alta velocidad y seis entradas analógicas. Cada máquina proporcionaba un pulso por botella. El PLC calculaba la velocidad de línea y ajustaba la velocidad del llenador para mantener 60 botellas por minuto. Las entradas analógicas monitoreaban niveles de llenado con precisión del 0.1 por ciento. El sistema redujo atascos de botellas en un 75 por ciento y aumentó la producción de 48 a 58 botellas por minuto. El período de recuperación fue de cuatro meses basado en reducción de desperdicio y mayor producción.

Caso de aplicación: control de prensa hidráulica

Un taller de conformado metálico actualizó una prensa antigua con un PLC Micro820. La lógica de relés previa causaba tiempos de ciclo inconsistentes. El nuevo sistema usó dos entradas analógicas para retroalimentación de posición y detección de presión. Cuatro salidas digitales controlaban válvulas direccionales. El ingeniero programó un ciclo de prensa de tres etapas: aproximación rápida a velocidad completa, prensado lento a flujo reducido y mantenimiento a presión establecida por 3 segundos. La consistencia del tiempo de ciclo mejoró de más o menos 1.2 segundos a más o menos 0.2 segundos. La tasa de desperdicio bajó del 5 por ciento al 1.5 por ciento. La interfaz de operador mostraba datos en tiempo real de presión y posición, ayudando al operador a ajustar parámetros para diferentes piezas.

Caso de aplicación: control de zona en transportadores

Un centro de distribución requería transportadores controlados por zonas para evitar acumulación de productos. El ingeniero desplegó seis PLCs Micro810 comunicándose por RS-485 Modbus. Cada controlador gestionaba ocho zonas con sensores fotoeléctricos y arrancadores de motor. El PLC maestro coordinaba la velocidad de línea y enviaba comandos de liberación de zona. El sistema manejó 1200 paquetes por hora sin atascos registrados en tres meses. Los costos de cableado disminuyeron un 40 por ciento comparado con un PLC centralizado porque cada clúster de zona usaba E/S local en lugar de cables largos. El personal de mantenimiento valoró el diseño modular porque fallas individuales de zona no detenían toda la línea.

Errores comunes de programación y soluciones

Un error frecuente es usar salidas enclavadas para funciones de seguridad. Las instrucciones de enclavamiento mantienen su estado a través de ciclos de energía y cambios de modo. Use circuitos de sellado en su lugar. Los circuitos de sellado se desactivan cuando la condición habilitante se vuelve falsa. Otro error es mezclar tipos de datos en operaciones matemáticas. Sumar un REAL y un INT requiere conversión explícita usando la instrucción INT_TO_REAL. Pasar esto por alto causa errores de compilación. Un tercer error es colocar temporizadores retentivos en tareas periódicas. Los temporizadores retentivos acumulan tiempo solo cuando la tarea se ejecuta. Use temporizadores TONR en tareas continuas para medición precisa de tiempo transcurrido. Finalmente, evite modificar tags del sistema como _IO_EM_DI_00 directamente. Asigne entradas físicas a tags internos para mejor portabilidad del código entre revisiones de hardware.

Preguntas frecuentes del campo

P: ¿Cómo conecto un Micro800 a una red Modbus existente?
R: Configure el puerto serial para modo maestro o esclavo Modbus RTU. Ajuste la velocidad en baudios, paridad y bits de parada para coincidir con la red. Direccione cada dispositivo esclavo de forma única del 1 al 247.

P: ¿Cuál es la longitud máxima de cable para entradas discretas Micro800?
R: Cables sin blindaje hasta 300 metros. Cables blindados hasta 600 metros. Más allá de estas distancias, use repetidores de entrada o E/S remotas.

P: ¿Puedo ejecutar dos programas independientes en un solo Micro800?
R: Sí. Cree múltiples tareas periódicas. Cada tarea se ejecuta independientemente en su intervalo configurado. La tarea principal se ejecuta continuamente por defecto.

Volver al Blog