Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) falha T04:C20: Falha de programa: índice de array grande demais ou POS/LEN de CONTROL inválido
Um índice de array era grande demais para o array, ou o valor .POS ou .LEN de uma estrutura CONTROL (usada por instruções FIFO, de arquivo e sequenciadores) era inválido. Ação corretiva da Rockwell: ajustar o valor para a faixa válida e não exceder o tamanho do array nem suas dimensões definidas.
Diagnostique esta falha com IA
Diagnóstico grátis Envie uma foto do display, o histórico de falhas ou os parâmetros do seu Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000). O InduQT compara as evidências e sugere os próximos testes.
Quando aparece
- Em Run, quando um índice indireto assume um valor fora do array
- Na passagem para Run (prescan), em controladores anteriores à revisão 13
Causas prováveis e testes
1Índice indireto calculado ou incrementado além dos limites do array
- Indícios
- Falha em lógica que usa um tag como índice, ex. Array[Index]; índice igual ou maior que o tamanho do array, ou negativo.
- Teste
- Ler o valor do índice na falha e comparar com a dimensão do array; incluir uma verificação de limite antes do acesso.
2.LEN da estrutura CONTROL maior que o array, ou .POS fora da faixa
- Indícios
- Falha em FFL/FFU, instruções de arquivo ou sequenciadores com tag CONTROL.
- Teste
- Comparar .LEN e .POS com o tamanho do array endereçado pela instrução.
3Índice escrito de fora do programa (IHM, receita, mensagem) sem validação
- Indícios
- A falha segue uma entrada do operador ou uma receita.
- Teste
- Rastrear onde o índice é escrito e limitá-lo no ponto de entrada.
Como diferenciar
- T04:C21 é o código separado para .LEN ou .POS de CONTROL menor que 0; T04:C83 é valor fora da faixa com arrays BOOL e endereçamento de bit.
- A partir da revisão 13.0 o controlador apaga automaticamente as falhas de índice durante o prescan (um handler interno apaga Tipo 4 Códigos 20 e 83 só no prescan); falha na passagem para Run em revisão 11.x ou anterior aponta para o prescan.
- Se uma rotina de falha apaga a falha, a instrução com falha não é executada e o programa segue para a próxima; os dados que ela deveria escrever não são atualizados.
Evidências para reunir
- Captura da aba Major Faults (programa, rotina e linha)
- Valor do tag índice e dimensão do array na falha
- Exportação (L5X) da rotina
- Entradas de IHM ou receitas logo antes da falha
- Revisão de firmware do controlador
Trabalhos em linhas de combustível, queimadores, vasos de pressão e equipamentos elétricos devem ser feitos por pessoal qualificado, seguindo a documentação do fabricante e as normas locais (como a NR-10 e a NR-13). Nunca faça jumper em um dispositivo de segurança ou intertravamento.
Relacionados
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T01:C01: Falha de energização: energia perdida e restabelecida em modo RUN
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T03:C16: Falha de E/S: conexão com um módulo obrigatório falhou
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T03:C23: Falha de E/S: conexão obrigatória não estabelecida antes do RUN
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T04:C16: Falha de programa: instrução desconhecida
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T04:C31: Falha de programa: quantidade de parâmetros JSR/RET não confere
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T04:C34: Falha de programa: temporizador com PRE ou ACC negativo
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T04:C83: Falha de programa: valor fora da faixa
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T06:C01: Falha de watchdog: watchdog da tarefa expirou
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T07:C40: Falha não volátil: gravação na memória não volátil falhou
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T07:C41: Falha não volátil: carga falhou, tipo de controlador não confere
- Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) T07:C42: Falha não volátil: carga falhou, revisão não confere
- Todos os códigos de falha do Rockwell Automation / Allen-Bradley ControlLogix / CompactLogix (Logix 5000) (em inglês)