Na programação Ladder, como chamamos e utilizamos os bits internos da CPU que substituem esses componentes físicos? Dê um exemplo de sua aplicação.

Passo 1

O enunciado pergunta duas coisas claras:
  • Como são chamados os bits internos da CPU que substituem componentes físicos na programação Ladder?
  • Como os utilizamos, com um exemplo de aplicação?
Não há outros dados numéricos ou figura no enunciado. Vou explicar o nome, o uso prático e mostrar passo a passo um exemplo concreto (do tipo que costuma cair na prova).

Passo 2

O que são esses bits internos e como os chamamos (nomes comuns).
  • Esses bits são posições de memória dentro do controlador lógico programável (CPU) que não correspondem a entradas/saídas físicas. Eles servem para guardar estados, bandeiras (flags) ou simular contatos/reles internos.
  • Nomes comuns: “bits internos”, “relés internos”, “marcadores” ou “memory bits”. Em programas e diagramas Ladder aparecem com endereços como, por exemplo, \text{M0.0}, \text{M1}, \text{Marker\_Start}, dependendo do fabricante.
  • Observação: cada fabricante tem sua convenção (Siemens usa \text{M} ou “Merkers”, Omron usa “Internal Relays”, Allen‑Bradley tem blocos de bits/flags), mas conceitualmente são a mesma coisa: bits de memória usados como contatos/bobinas.

Passo 3

Como se usa um bit interno no Ladder (conceito básico de contato e bobina).
  • No Ladder você tem dois elementos principais relacionados a um bit:
    • um contato (representando uma condição, normalmente aberto ou fechado) que em código refere-se ao bit lido;
    • uma bobina (coil) que escreve/aciona o bit, ou instruções equivalentes de SET/RESET.
  • Explicação didática: pense no bit interno como um relé virtual. Quando a bobina do bit é energizada pelo programa, o contato associado a esse bit passa a fechar (ou abrir, conforme tipo), permitindo controlar outros ramos lógicos sem necessidade de fio físico.
  • Vantagens: permite criar travas (latches), intertravamentos, sinalizadores para sequências, guarda de bordas (rising/falling), condicionar timers/counters etc.

Passo 4

Instruções típicas e comportamentos úteis (sem pular passos).
  • Contato normalmente aberto associado ao bit interno: funciona como “se \text{M} verdadeiro, então passa corrente lógica”.
  • Contato normalmente fechado: passa corrente se \text{M} for falso.
  • Bobina normal: quando a lógica da linha é verdadeira, a CPU escreve 1 em \text{M}; quando falsa, escreve 0.
  • Instruções SET / RESET (ou OTL / OTU, ou S / R): permitem ativar ou desativar o bit sem depender da linha de varredura — muito útil para criar uma trava que permanece após a condição inicial desaparecer.
  • Exemplo de uso didático: detectar uma borda de subida (rising edge) usando dois bits: um bit guarda o estado anterior e comparando com o atual identifica a borda. Isso é usado quando se quer disparar uma ação apenas quando um botão é pressionado, não durante todo o tempo em que ele fica pressionado.

Passo 5

Exemplo completo e explicado passo a passo: circuito de trava (seal‑in) para ligar um motor
  • Objetivo do exemplo: com um botão Start e um Stop físico, ligar um motor e manter o motor ligado mesmo depois de soltar Start (seal‑in). Usamos um bit interno como “relay virtual” que mantém o motor ligado.
  • Elementos (nomes de exemplo que usarei): botão Start = \text{I0.0} (entrada física), botão Stop = \text{I0.1} (entrada física, contato normalmente fechado no ladder), saída do motor = \text{Q0.0} (saída física), bit interno marcador = \text{M0.0}.
  • Rung 1 (bobina do marcador, a lógica que define \text{M0.0}):
    • Coloque em série: contato NO de \text{I0.0} (Start) e contato NF de \text{I0.1} (Stop), e paralelamente a isso coloque um contato NO de \text{M0.0} (a trava). A saída desse ramo alimenta a bobina \text{M0.0}.
    • Interpretação passo a passo:
      1. Quando alguém pressiona Start ( \text{I0.0} fecha), e Stop está liberado ( \text{I0.1} normalmente fechado), a bobina \text{M0.0} é energizada.
      2. Ao energizar \text{M0.0}, o contato NO de \text{M0.0} no paralelo fecha e passa a manter corrente para a bobina mesmo que Start seja solto — isso é a “trava” ou “seal‑in”.
      3. Se Stop for pressionado, seu contato NF abre e corta a corrente, desenergizando \text{M0.0} e abrindo também o contato de trava.
  • Rung 2 (bobina física do motor):
    • Use um contato NO de \text{M0.0} em série com a bobina de saída \text{Q0.0}. Assim, \text{Q0.0} será acionada sempre que \text{M0.0} estiver 1.
  • Versão com SET/RESET:
    • Em vez de latchear por contato paralelo, pode-se usar instrução SET para colocar \text{M0.0} = 1 quando Start é acionado e instrução RESET para colocar \text{M0.0} = 0 quando Stop é acionado. É mais direto e evita efeitos de varredura se bem usado.
  • Observações práticas:
    • Sempre identificar claramente o endereço do bit interno (ex.: \text{M0.0} ou \text{Marker\_Run}) para não confundir e causar problemas.
    • Testar em modo simulação ou com segurança, porque a lógica virtual controla saídas reais.

Passo 6

Outras aplicações rápidas e boas práticas (para a prova e para a prática)
  • Usos comuns dos bits internos:
    • Flags de condição (ex.: “equipamento pronto”, “erro detectado”);
    • Sequenciamento passo‑a‑passo (cada passo usa um marker);
    • Intertravamentos entre máquinas (marcadores que representam permissões);
    • Guardar o bit de autorização por uma operação remota;
    • Marcar que um timer atingiu um valor (ex.: \text{TimerDone} = \text{M0.1}).
  • Boas práticas:
    • Use nomes claros (se possível, labels como \text{M\_PumpRun} em vez de \text{M0.0} apenas).
    • Documente cada marcador no seu programa.
    • Evite usar marcadores “aleatórios” sem propósito — isso reduz bugs difíceis de achar.
    • Prefira instruções SET/RESET para lógicas que precisam persistir independentemente da ordem de varredura, mas entenda bem a diferença de comportamento.

Passo 7

Resumo rápido do fluxo mental para resolver uma questão de prova sobre isso
  • Primeiro: identificar se a questão pede nome (bits internos/marcadores) ou uso prático.
  • Segundo: desenhar o ladder mentalmente com contatos (entradas e marcadores) e bobinas (marcadores e saídas).
  • Terceiro: explicar claramente o papel do marcador (guardar estado, latch, flag) e mostrar o pequeno trecho de ladder como no exemplo do seal‑in.
  • Quarto: mencionar considerações de segurança e boas práticas (nomear bits, documentar).

Resposta

Bits internos (também chamados de relés internos, marcadores ou memory bits), por exemplo \text{M0.0}.
Exemplo de aplicação: usar \text{M0.0} como marcador para implementar uma trava (seal‑in) do motor — o Start ( \text{I0.0}) energiza \text{M0.0}, o contato NO de \text{M0.0} mantém a bobina energizada após soltar o Start, e o Stop ( \text{I0.1}) desenergiza \text{M0.0}, que então desliga a saída do motor ( \text{Q0.0}).

Exercícios relacionados