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.
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.