Descreva as etapas do Ciclo de Varredura (Scan Cycle) de um CLP. O que acontece com as saídas físicas da máquina se o programa do usuário entrar em um loop infinito e estourar o tempo do Watchdog Timer?

Passo 1

O enunciado pede duas coisas claras:
  • Descrever as etapas do Ciclo de Varredura (Scan Cycle) de um CLP — ou seja, listar e explicar, passo a passo, o que o CLP faz repetidamente enquanto está em modo de execução.
  • Explicar o que acontece com as saídas físicas da máquina se o programa do usuário entrar em um loop infinito e estourar o tempo do Watchdog Timer.
Informações implícitas que vamos usar (não pedirei nada mais):
  • Assume‑se o CLP funcionando em modo cíclico clássico (read‑execute‑write).
  • Assume‑se existência de um Watchdog Timer que monitora o tempo de execução do programa e impõe uma ação quando o tempo limite é ultrapassado.

Passo 2

Visão geral do objetivo do Ciclo de Varredura — por que existe e qual o sentido de cada etapa.
Um CLP trabalha ciclicamente para ler o mundo, decidir e agir. O ciclo garante previsibilidade: em cada varredura o CLP:
  • “amostra” o estado das entradas (sensores, botões etc.);
  • executa o programa do usuário com base nessas amostragens e no estado interno;
  • atualiza as saídas (atuadores, válvulas, motores) de acordo com o resultado da execução;
  • faz tarefas de sistema/diagnósticos/comunicação.
    Essa sequência (ler → executar → escrever) é chamada de scan cycle porque acontece repetidamente e em ordem fixa.

Passo 3

Etapa 1 — Leitura das entradas (Input Scan). O que acontece e por quê.
  • O CLP lê fisicamente os sinais das entradas digitais e analógicas e os transfere para a memória interna (as “variáveis de entrada” do programa).
  • Objetivo: garantir que, durante a execução do programa, o código trabalhe com uma imagem consistente das entradas (uma amostra fixa).
  • Detalhe prático: essa leitura é rápida e normalmente fixa no começo do ciclo; alterações que ocorram depois dessa leitura só serão vistas no próximo ciclo.

Passo 4

Etapa 2 — Execução do programa do usuário (Program Scan / Logic Execution). O que acontece e o que considerar.
  • O processador executa as instruções do programa em sequência (ladder, blocos de função, texto estruturado, etc.), usando as variáveis de entrada lidas e os estados internos (memória, temporizadores, contadores).
  • Durante essa execução o programa pode alterar variáveis internas e preparar comandos para as saídas.
  • Importante: o tempo total gasto aqui é o que normalmente domina a duração do ciclo. Se o programa ficar mais lento (muitas instruções, loops longos, instruções de bloqueio), o ciclo aumenta.

Passo 5

Etapa 3 — Atualização das saídas (Output Update / Write). O que acontece e quando.
  • Após terminar a execução, o CLP escreve os valores calculados para as saídas físicas: energiza/desenergiza relés, muda níveis analógicos, aciona válvulas, etc.
  • Esse passo aplica, de uma só vez, a decisão tomada durante a execução, garantindo que as saídas sejam consistentes com o resultado do programa daquela varredura.
  • Observação: em muitos CLPs a atualização das saídas é atômica (todas ao mesmo tempo lógico), evitando efeitos intermediários indesejáveis.

Passo 6

Etapa 4 — Tarefas de sistema, comunicação e housekeeping. O que é feito entre/ao final dos ciclos.
  • O CLP executa tarefas administrativas: atualizar relógio, tratar comunicação com supervisório/IO remoto, executar diagnósticos internos, processar pedidos de manutenção, atualizar displays, gravar dados de diagnóstico.
  • Alguns CLPs têm “tasks” de prioridade: tempo crítico (scan principal) e background (comunicação lenta). Essas tarefas podem ser executadas entre ciclos ou quando o processador está ocioso.

Passo 7

Onde o Watchdog Timer entra e qual o seu propósito.
  • O Watchdog Timer é um mecanismo de segurança que monitora se o CLP está progredindo corretamente (por ex., se o ciclo principal termina dentro de um tempo esperado).
  • Existem implementações diversas: hardware watchdog que exige “pet” periódico do firmware, ou watchdog de aplicação que verifica se a execução do usuário terminou em tempo.
  • Objetivo: detectar travamentos, loops infinitos ou situações em que o CLP deixou de executar a lógica em tempo útil, e então forçar uma ação segura (fail‑safe).

Passo 8

O que acontece quando o programa do usuário entra em loop infinito e o tempo do Watchdog é estourado — sequência típica de eventos.
  1. O loop infinito faz com que a etapa de execução (Passo 2) nunca termine — o ciclo não chega à etapa de escrita de saídas nem ao housekeeping.
  2. O tempo de execução do scan aumenta continuamente. O Watchdog observa que a execução extrapolou o tempo máximo configurado.
  3. Ao ultrapassar o limite, o Watchdog é disparado: o CLP detecta uma falha de tempo (timeout) e entra em uma rotina de falha/segurança.
  4. A CPU do CLP tipicamente interrompe a execução normal do programa do usuário e passa para um estado de erro/falha. Dependendo do projeto do CLP, isso pode significar parar a CPU, reiniciar, ou colocar a aplicação em modo de segurança.

Passo 9

Efeitos imediatos nas saídas físicas — comportamentos possíveis (explicados de forma didática).
Há variações de comportamento entre fabricantes e configurações, mas as reações típicas são:
  • Saídas forçadas para um estado seguro padrão (mais comum em CLPs industriais): geralmente “desenergizadas” (OFF) — por ex., desligar motores, fechar válvulas, remover sinal de comando. Isso evita ações perigosas se a lógica não estiver sendo atualizada.
  • Saídas podem assumir um “valor de segurança” configurado pelo usuário (se o CLP permite configurar failsafe). Ou seja, antes do problema foi definido que uma saída crítica deve ir para ON ou para um valor analógico específico — o CLP aplica essa configuração.
  • Em alguns casos (menos seguro) o CLP simplesmente para de atualizar as saídas, deixando‑as no último estado conhecido (“freeze” / hold). Isso mantém o último comando físico ativo até que o sistema seja reiniciado — esse comportamento é arriscado se o último estado for inseguro.
  • Em CLPs com recursos de segurança (safety PLCs), o watchdog causa transição para modo seguro com efeitos determinísticos (por exemplo: cortar alimentação de segurança, ativar freio de motor, etc.).
  • Em implementações de hardware-level watchdog, pode ocorrer reset do processador; após reset, as saídas serão reestabelecidas de acordo com o modo de inicialização (normalmente neutro/off até que o CLP volte a executar o programa).

Passo 10

Sinais visuais/diagnósticos e consequências operacionais após o Watchdog disparar.
  • O CLP geralmente sinaliza erro: LED de Fault/Alarm acende, mensagem de erro registra o motivo (watchdog timeout), e possivelmente é gerado alarme para o supervisório (SCADA/HMI).
  • A comunicação com IHM/SCADA pode cair ou indicar status de erro.
  • O operador precisa intervir: corrigir o programa (remover loop), reiniciar o CLP, ou aplicar procedimento de emergência conforme procedimento da planta.
  • Importante para prova: o Watchdog protege contra travamentos, mas a ação exata sobre as saídas é determinada pela implementação e configuração — portanto, sempre verifique a documentação do fabricante e as configurações de failsafe.

Passo 11

Dicas práticas e de projeto (como evitar esse problema na prova e na prática).
  • Evitar loops infinitos no código de usuário: não usar loops com condição que nunca muda; preferir lógica cíclica natural (deixe o CLP executar o próximo scan).
  • Se for necessário aguardar, usar temporizadores internos (timers do CLP) que não bloqueiam o scan, em vez de delays ocupantes da CPU.
  • Testar e medir o tempo de varredura em aplicação real; evitar algoritmos cuja execução exceda o tempo máximo permitido.
  • Configurar adequadamente o Watchdog e definir valores de segurança para as saídas críticas (fail‑safe) no projeto.
  • Em prova, se perguntarem “o que acontece”, responda que o CLP detecta timeout e coloca a CPU em falha; as saídas geralmente vão para estado seguro (normalmente OFF) ou para um valor de segurança configurado — e que existe variação entre equipamentos.

Passo 12

Exemplo curto e concreto (mini‑simulação mental).
  • Suponha um CLP com scan típico de 10 ms. Se um trecho de código entra em loop e prende a CPU por 500 ms e o Watchdog está configurado para 200 ms, o Watchdog dispara antes dos 500 ms.
  • Resultado prático: CLP sinaliza erro, usuário program disable, e as saídas críticas são colocadas em OFF (ou em valor de segurança configurado). O equipamento conectado pára em estado seguro até intervenção.

Resposta

Etapas do Ciclo de Varredura: Leitura das entradas (Input Scan) → Execução do programa do usuário (Program Scan) → Atualização das saídas (Output Update / Write) → Tarefas de sistema/diagnósticos/comunicação (housekeeping).
O que acontece com as saídas se o programa entra em loop infinito e o Watchdog estoura: o CLP detecta timeout e entra em estado de falha/segurança; o programa do usuário é interrompido e as saídas passam para o estado de segurança configurado (na prática, geralmente são desenergizadas — OFF — ou colocadas em um valor de “fail‑safe” definido); em alguns sistemas as saídas podem ficar “congeladas” no último estado ou o CPU pode reiniciar, dependendo do fabricante e da configuração.