Resolução de Alarm 087 / SR821 / SR831 & Buffer Overflow

O que fazer em caso de estouro de buffer (Buffer Overflow) durante a transmissão de dados?

Está enfrentando este erro durante a transmissão?

  • Alarm 087 (BUFFER OVERFLOW / READER STOP REJECT): O comando CNC interrompe o programa no meio do processo porque muitos dados foram enviados rapidamente.
  • Alarm SR821 / SR831: Equivalentes em comandos Fanuc mais recentes.
  • Sintoma: A transmissão de dados não para prontamente quando a máquina solicita, causando perda de dados ou interrupção do programa.

Soluções imediatas (Lista de verificação)

Para corrigir o Alarm 087, você deve garantir que o fluxo de dados pare imediatamente assim que a máquina enviar o sinal de parada. Siga estes passos sequencialmente:

1. Desativar o buffer FIFO do Windows (Para portas COM reais)

Drivers de porta COM modernos do Windows armazenam dados em um buffer de hardware. Quando o CNC envia o comando de parada, o PC frequentemente continua enviando os caracteres restantes que já estão no buffer – o que sobrecarrega o buffer da máquina.

    Abra o Gerenciador de Dispositivos (Device Manager) -> Portas (COM e LPT) -> Clique com o botão direito na sua porta COM -> Propriedades (Properties) -> aba Configurações de Porta (Port Settings) -> Avançado (Advanced). Desmarque a opção "Usar buffers FIFO" (Use FIFO buffers) ou mova os controles deslizantes totalmente para a esquerda.

Nota sobre adaptadores USB para RS232: Muitos adaptadores USB-Serial não possuem a opção FIFO no Gerenciador de Dispositivos ou o driver gerencia o fluxo de forma diferente devido à arquitetura de pacotes USB. Se estiver usando um adaptador USB, a solução para o Alarm 087 geralmente é seguir apenas o ponto 3 (reduzir Baud Rate) e o ponto 4 (atraso de bloco).

2. Ativar controle de fluxo via software XON/XOFF

O Alarm 087 é quase sempre um problema de aperto de mão (handshake) via software. Certifique-se de que em seu software DNC (como EasyDNC ou RemoDNC), o controle de fluxo esteja definido obrigatoriamente como XON/XOFF — e não apenas "Hardware" ou "Nenhum".

Mesmo que o CNC tenha sido configurado originalmente para controle de fluxo de hardware, muitos comandos Fanuc e outros modelos utilizam XON/XOFF durante o Drip-Feeding.

3. Reduzir a taxa de Baud Rate

Às vezes, a velocidade de transmissão é simplesmente alta demais para a velocidade de processamento do processador CNC mais antigo. Reduza a Baud Rate no comando e no PC (por exemplo, de 19200 para 9600 ou 4800 baud).

4. Ativar atraso de bloco (Block Delay)

Insira em seu software DNC um pequeno atraso de bloco (Character Delay / Line Delay) de alguns milissegundos para dar "fôlego" ao buffer da máquina.

Conhecimento técnico: Por que o Alarm 087 ocorre?

Entender o que acontece nos bastidores: os comandos Fanuc operam com uma lógica de buffer estrita. Quando a memória da máquina está prestes a encher, ela envia um caractere XOFF (ASCII 19) para o PC.

De acordo com as especificações da Fanuc, o PC tem uma janela de tempo de no máximo 10 caracteres para interromper completamente a transmissão. Se o PC responder lentamente (devido a atrasos do driver do Windows, configuração incorreta das linhas de handshake de hardware ou latência de adaptadores USB-Serial), o buffer estoura – e o Alarm 087 é disparado.

Particularidade no modo DNC: Como mencionado anteriormente, muitos comandos mudam internamente para o handshake via software XON/XOFF durante a operação real de Drip-Feed, mesmo que a máquina esteja superficialmente configurada para controle de fluxo de hardware.