Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) falla T04:C20: Falla de programa: índice de arreglo muy grande o POS/LEN de CONTROL inválido
Un índice de arreglo era demasiado grande para el arreglo, o el valor .POS o .LEN de una estructura CONTROL (usada por instrucciones FIFO, de archivo y secuenciadores) era inválido. Acción correctiva de Rockwell: ajustar el valor dentro del rango válido y no exceder el tamaño del arreglo ni sus dimensiones definidas.
Diagnostica esta falla con IA
Diagnóstico gratis Sube una foto del panel, el historial de fallas o los parámetros de tu Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000). InduQT compara la evidencia y sugiere las siguientes pruebas.
Cuándo aparece
- En Run, cuando un índice indirecto toma un valor fuera del arreglo
- Al pasar a Run (prescan), en controladores anteriores a la revisión 13
Causas probables y pruebas
1Índice indirecto calculado o incrementado más allá de los límites del arreglo
- Indicios
- Falla en lógica que usa un tag como índice, p. ej. Array[Index]; el índice es igual o mayor que la longitud del arreglo, o negativo.
- Prueba
- Leer el valor del índice en la falla y compararlo con la dimensión del arreglo; agregar una verificación de límites antes del acceso.
2.LEN de la estructura CONTROL mayor que el arreglo, o .POS fuera de rango
- Indicios
- Falla en FFL/FFU, instrucciones de archivo o secuenciadores con un tag CONTROL.
- Prueba
- Comparar .LEN y .POS con el tamaño del arreglo que direcciona la instrucción.
3Índice escrito desde fuera del programa (HMI, receta, mensaje) sin validar
- Indicios
- La falla sigue a un ingreso del operador o a una receta.
- Prueba
- Rastrear dónde se escribe el índice y limitarlo en el punto de entrada.
Cómo distinguirla
- T04:C21 es el código aparte para .LEN o .POS de CONTROL menor que 0; T04:C83 es un valor fuera de rango con arreglos BOOL y direccionamiento a nivel de bit.
- Desde la revisión 13.0 el controlador borra automáticamente las fallas de índice durante el prescan (un handler interno borra Tipo 4 Códigos 20 y 83 solo en prescan); una falla al pasar a Run en revisión 11.x o anterior apunta al prescan.
- Si una rutina de falla la borra, la instrucción con falla no se ejecuta y el programa sigue con la siguiente; los datos que debía escribir no se actualizan.
Evidencia que conviene reunir
- Captura de la pestaña Major Faults (programa, rutina y renglón)
- Valor del tag índice y dimensión del arreglo en la falla
- Exportación (L5X) de la rutina
- Ingresos de HMI o recetas justo antes de la falla
- Revisión de firmware del controlador
El trabajo en trenes de combustible, quemadores, recipientes a presión y equipos eléctricos debe hacerlo personal calificado, siguiendo la documentación del fabricante y la normativa local. Nunca puentees un dispositivo de seguridad ni un enclavamiento.
Relacionado
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T01:C01: Falla de encendido: se perdió y volvió la energía en modo RUN
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T03:C16: Falla de E/S: falló la conexión con un módulo requerido
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T03:C23: Falla de E/S: conexión requerida no establecida antes de RUN
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T04:C16: Falla de programa: instrucción desconocida
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T04:C31: Falla de programa: cantidad de parámetros JSR/RET no coincide
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T04:C34: Falla de programa: temporizador con PRE o ACC negativo
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T04:C83: Falla de programa: valor fuera de rango
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T06:C01: Falla de watchdog: venció el watchdog de la tarea
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T07:C40: Falla no volátil: falló el guardado en memoria no volátil
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T07:C41: Falla no volátil: carga fallida, tipo de controlador no coincide
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T07:C42: Falla no volátil: carga fallida, revisión no coincide
- Todos los códigos de falla de Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) (en inglés)