Controle Sequencial FBD: Tutorial de Programação de Máquina de Estados

Um estagiário perguntou uma vez por que seu programa de máquina de enchimento às vezes pulava um passo e enchia a garrafa antes que a garrafa estivesse posicionada. A resposta não era um temporizador ausente — era um estado ausente. Seu programa era um monte de condições independentes; máquinas sequenciais reais são uma máquina de estados, e a diferença é a diferença entre um programa que funciona no papel e um programa que funciona na segunda-feira.

O controle sequencial está em toda parte na automação: uma linha de enchimento, uma mesa giratória, uma prensa de estampagem, uma cabine de pintura. O erro clássico é escrever cada saída como uma condição solta — "quando o sensor A e o temporizador B, abra a válvula C" — e depois depurar as combinações impossíveis às 2 da manhã. A solução é parar de pensar em saídas e começar a pensar em estados.

O que uma Máquina de Estados Realmente É

Uma máquina de estados é um conjunto de etapas nomeadas e as regras para mover-se entre elas. A máquina está sempre em exatamente um passo: AGUARDAR, POSICIONAR, ENCHER, SELAR, EJETAR. Cada passo tem ações de entrada, condições de saída e guardas. A garrafa é preenchida apenas no passo ENCHER, e o passo ENCHER só é acessível a partir de POSICIONAR quando o sensor da garrafa confirma a posição. Parece burocracia; se comporta como engenharia.

No FBD da xLogicSoft, uma máquina de estados se mapeia claramente no padrão clássico de Registrador de Deslocamento ou nas bandeiras F usadas como bits de passo. O padrão: uma bandeira F por passo, um conjunto de condições de transição e um bloco de transição de um único disparo para que a máquina avance exatamente um passo por evento. Como o passo atual está sempre visível — o LCD mostra qual bandeira F está ativa — o operador e o homem de manutenção podem ver rapidamente onde a máquina pensa que está. Esse único recurso reduz o tempo de solução de problemas mais do que qualquer manual de diagnóstico.

Construindo-a: Três Estações de Enchimento

Pegue um exemplo simples de três estações: uma garrafa chega, é preenchida, é tampada. Os passos:

  • Passo 0 IDLE: todas as saídas desligadas. Transição: sensor de garrafa presente, botão de início.
  • Passo 1 POSIÇÃO: o transportador funciona até que a garrafa pare na cabeça de enchimento. Transição: sensor de posição.
  • Passo 2 PREENCHIMENTO: a válvula de enchimento abre por um tempo determinado ou até que o sensor de nível dispare. Transição: temporizador concluído.
  • Passo 3 TAMPA: a tampadora desce e pressiona. Transição: pressão confirmada, temporizador concluído.
  • Passo 4 EJETAR: o transportador funciona para mover a garrafa para fora. Transição: o sensor de saída é liberado.

Cada transição usa um bloco de Retardo ou um Relé de Limpeza (disparo único) para que o avanço aconteça exatamente uma vez. A guarda em cada transição é o próprio passo — O Passo 2 não pode começar a menos que a máquina esteja no Passo 1, ponto final. A garrafa não pode ser preenchida antecipadamente porque "antecipado" não existe como condição; não está na tabela de passos, e a garrafa não está posicionada até que a máquina tenha saído de POSICIONAR.

Dê ao operador um modo de passo manual antes de dar a eles qualquer outra coisa. Uma entrada seletora permite que a máquina avance um passo de cada vez pela sequência, para que um técnico de configuração possa mover a linha através de POSICIONAR, ENCHER e TAMPA individualmente enquanto observa os atuadores. A máquina de estados torna isso trivial — avançar um passo é apenas forçar a próxima transição — e transforma a comissionamento de um mistério em uma lista de verificação. Máquinas que não podem ser avançadas manualmente são máquinas que são depuradas com uma chave de fenda.

O Teste do Modo de Falha

Aqui está o exercício que revela se você construiu uma máquina de estados ou um monte de condições: liste as emergências. Garrafa presa sob a cabeça de enchimento? A máquina deve permanecer em ENCHER, parar a bomba e alarmar — não vagar para EJETAR e despejar o produto no chão. O sensor falha e relata "garrafa presente" para sempre? A máquina deve expirar o passo de POSICIONAR e alarmar, não encher a mesma garrafa invisível a noite toda. O sensor falha de outra forma, "nunca presente"? A máquina espera pacientemente — isso é bom, isso é o que as máquinas devem fazer.

Escreva um watchdog no programa: se a máquina ficar em qualquer passo não-IDLE por mais tempo do que o tempo máximo do passo, caia em um estado de FAULT, corte as saídas e pisque o alarme. O tempo máximo é um número que você já conhece do tempo de ciclo — você não está adivinhando, você está aplicando a física.

Decida o que acontece após uma falha antes que a falha aconteça. A escolha comum: a máquina para onde está, o operador limpa a causa, pressiona reset e a sequência retorna ao IDLE — ou ao início do passo interrompido se o produto ainda estiver seguro. Retornar ao IDLE é mais simples e seguro para máquinas pequenas; retomar no meio do ciclo é mais rápido, mas exige que cada estado de saída seja conhecido e comprovado. Para uma máquina de enchimento, IDLE é a resposta honesta — uma garrafa meio cheia é sucata de qualquer maneira.

Por que o FBD é Melhor que a Lógica de Escada para Isso

Um hábito de depuração se paga imediatamente: torne o passo atual visível no LCD frontal como um número simples. O primeiro relatório do operador se torna "está preso no passo 4," não "faz algo estranho," e o passo 4 aponta diretamente para sua condição de transição. No xLogicSoft, os bits de bandeira estão bem ali na janela do monitor, então uma sessão de laptop mostra a mesma imagem que o LCD mostra. Combinar as palavras do operador com o estado do programa reduz uma busca de duas horas para vinte minutos todas as vezes.

A lógica de escada pode expressar uma máquina de estados, mas leva cem degraus e um diagrama que ninguém lê. No FBD, a estrutura do passo está na sua frente: o Registrador de Deslocamento ou o bloco de bandeira mostra o passo atual, os blocos de transição são visíveis e a sequência é lida de cima para baixo. O ambiente xLogicSoft inclui cerca de setenta blocos de função, e uma máquina de cinco passos com intertravamentos se encaixa confortavelmente em uma página de programa. Quando a máquina muda — nova estação, novo sensor — você adiciona um passo e duas transições em vez de reconfigurar a lógica.

Comece com a tabela de passos no papel, depois as bandeiras, depois as transições. O programa será entediante e corretamente entediante é o maior elogio que um programa de automação pode receber. Máquinas não precisam ser inteligentes; elas precisam ser previsíveis.