Operações de Contador
CTU, CTD, CTUD e Legacy S5
A contagem de eventos é fundamental no controle industrial. Domine os contadores IEC padrão e as instruções legacy no TIA Portal para suas aplicações de produção.
O que são operações de contador no TIA Portal?
As operações de contador no TIA Portal permitem contar eventos internos do programa ou sinais externos (flancos ascendentes). São blocos funcionais em conformidade com a norma IEC 61131-3 que gerenciam o incremento, decremento, redefinição e comparação com um valor predefinido (PV).
O TIA Portal oferece 3 tipos de contadores IEC (CTU, CTD, CTUD), bem como instruções de compatibilidade S5 (Legacy) e bobinas de contagem. Cada instância de contador requer seu próprio bloco de dados de instância (IDB) ou pode ser integrada como multi-instância em um FB.
Contadores IEC
Os 3 blocos funcionais de contagem padrão — flexíveis e robustos
CTU — Contador Crescente (Count Up)
O que faz
Conta os flancos ascendentes na entrada de contagem CU. A cada mudança de FALSE para TRUE no CU, o valor de contagem atual CV aumenta em 1. Quando CV se torna maior ou igual ao valor predefinido PV, a saída Q passa a TRUE. A entrada R (Reset) redefine CV para 0 e Q para FALSE.
Quando usar
Usado para contar peças em uma esteira, ciclos de uma máquina ou a frequência de um alarme. Ideal para qualquer processo onde um objetivo numérico deve ser alcançado para disparar uma ação.
Dicas Pro
A contagem para no valor máximo do tipo de dados usado (Int, DInt, etc.). CV não volta a zero automaticamente sem um Reset.
A entrada R tem prioridade: enquanto R for TRUE, o contador permanece em 0 e ignora os flancos no CU.
Em SCL: myCTU(CU := trigger, R := reset, PV := 10); IF myCTU.Q THEN ... END_IF;
CTD — Contador Decrescente (Count Down)
O que faz
Conta regressivamente a partir de um valor inicial. A cada flanco ascendente na entrada CD, o valor atual CV diminui em 1. Quando CV é menor ou igual a 0, a saída Q passa a TRUE. A entrada LD (Load) carrega o valor predefinido PV no CV.
Quando usar
Útil para gerenciar estoques (subtrair peças), contagens regressivas de processos ou monitorar a capacidade restante de um tanque ou armazém.
Dicas Pro
A entrada LD é usada para 'recarregar' o contador. Enquanto LD for TRUE, CV é igual ao PV.
Ao contrário do CTU, a condição de saída Q é atendida quando CV atinge 0 (ou menos).
O contador para no valor mínimo do tipo de dados (ex: -32768 para um Int).
CTUD — Contador Bidirecional (Up/Down)
O que faz
Combina as funções de CTU e CTD em um único bloco. Possui duas entradas de contagem (CU para incrementar, CD para decrementar) e duas saídas (QU para 'Contagem alta atingida', QD para 'Zero atingido'). Possui uma entrada Reset (R) e uma entrada Load (LD).
Quando usar
Perfeito para rastreamento de posição simples (avançar/retroceder), gestão de estacionamento (entrada/saída de veículos) ou rastreamento de estoque dinâmico.
Dicas Pro
QU passa a TRUE se CV >= PV. QD passa a TRUE se CV <= 0.
R (Reset) redefine CV para 0. LD (Load) inicializa CV para PV. R tem prioridade sobre LD.
Muito útil para armazéns automatizados: incrementar na entrada de um pacote, decrementar na saída.
Instruções Legacy e Bobinas
Contadores S5 e instruções tipo bobina para LAD/FBD
S_CU / S_CD / S_CUD
O que faz
Antigas instruções de contagem (Legacy S5) usadas no S7-300/400. Usam números de contadores globais (C0...C255) em vez de DB de instância. Permitem parametrizar, contar e redefinir em uma única instrução complexa.
Quando usar
Apenas para manutenção de programas existentes ou migração de projetos S5/S7-300 para S7-1500. Evitar em novos desenvolvimentos.
Dicas Pro
Estes contadores não são 'tipificados' como os contadores IEC. Sua faixa é limitada (0-999).
Seu comportamento diante de flancos ascendentes pode diferir dos padrões IEC.
Substitua-os sistematicamente por CTU/CTD IEC em um refactoring para melhor portabilidade.
—(SC)— Predefinir Contador
—(SC)—O que faz
Instrução do tipo bobina que carrega um valor predefinido em um contador especificado quando o RLO passa a TRUE. É o equivalente gráfico da entrada Load (LD).
Quando usar
Em LAD/FBD para forçar o carregamento de um valor em um contador a partir de um segmento separado.
Dicas Pro
Usado principalmente com contadores legacy.
O valor carregado é frequentemente definido por uma constante ou variável inteira.
Para contadores IEC, use a entrada LD do bloco ou acesse a instância diretamente.
—(CU) / —(CD)— Bobinas de contagem
—(CU)—O que faz
Instruções do tipo bobina que incrementam (CU) ou decrementam (CD) um contador a cada flanco ascendente do RLO. Permitem controlar um contador sem usar o bloco funcional completo.
Quando usar
Para programação LAD muito compacta onde se deseja apenas disparar uma contagem ao final de uma linha.
Dicas Pro
Estas bobinas referenciam um contador específico (ex: C1 ou um DB de contador IEC).
Atenção à legibilidade: é mais difícil ver o valor atual (CV) com bobinas do que com blocos.
Prefira blocos FB para uma melhor autodocumentação do código.
Nota sobre compatibilidade S5
Contadores globais
Os contadores S5 (S_CU, S_CD, S_CUD) são limitados a 256 instâncias globais e uma faixa de 0 a 999. Os contadores IEC (CTU, CTD, CTUD) são preferíveis porque usam DB de instância, suportam tipos de dados mais amplos (LInt) e não têm um limite fixo.
Comparação de contadores — Qual usar?
Escolher o contador certo para sua aplicação industrial
| Você precisa de... | Use este contador | Exemplo |
|---|---|---|
| Contar eventos crescentes | CTU | Número de produtos acabados |
| Contagem regressiva até zero | CTD | Vagas restantes em prateleira |
| Rastrear fluxo bidirecional | CTUD | Veículos em um estacionamento |
| Carregar um valor alvo | PV / LD | Definir lote de 50 peças via IHM |
| Redefinição automática | Reset (R) | Fim de lote, pronto para o próximo |
| Gerenciar milhões de unidades | IEC (DInt/LInt) | Contador totalizador de produção anual |
Perguntas Frequentes
Qual é a diferença entre um contador IEC e um contador S5?
Os contadores IEC usam Blocos de Dados (DB) de instância, permitindo criar infinitos. Suportam inteiros de 16, 32 ou 64 bits. Os contadores S5 são limitados a 256 números globais (C0-C255) e contam apenas até 999.
Como faço para o contador recomeçar do zero automaticamente?
Você pode conectar a saída Q do contador à sua própria entrada R (Reset). Assim, assim que o objetivo for atingido, o contador é limpo instantaneamente.
Posso usar un contador para medir velocidade?
Um contador sozinho não mede velocidade. Você deve contar os pulsos durante um tempo fixo (gerenciado por um Temporizador) e depois fazer o cálculo: Velocidade = Pulsos / Tempo.
Os contadores perdem seu valor ao parar o PLC?
Assim como os Temporizadores, o valor atual (CV) é armazenado no DB de instância. Se o DB estiver configurado como 'Retentivo', o contador manterá seu valor após um reinício.