Rozwiązywanie problemów: Alarm 087 / SR821 / SR831 i Buffer Overflow

Co zrobić w przypadku przepełnienia bufora podczas transmisji danych?

Czy napotkałeś ten błąd podczas transmisji?

  • Alarm 087 (BUFFER OVERFLOW / READER STOP REJECT): Sterownik CNC przerywa pracę w trakcie programu, ponieważ dane przesyłane są zbyt szybko.
  • Alarm SR821 / SR831: Odpowiedniki tego błędu w nowszych sterownikach Fanuc.
  • Objaw: Transmisja danych nie zostaje wstrzymana w wymaganym momencie, co prowadzi do utraty danych lub przerwania programu.

Szybkie rozwiązania (Lista kontrolna)

Aby wyeliminować Alarm 087, musisz upewnić się, że strumień danych zostaje natychmiast zatrzymany, gdy maszyna wyśle odpowiedni sygnał. Przejdź przez poniższe punkty:

1. Wyłączenie bufora FIFO systemu Windows (dla fizycznych portów COM)

Nowoczesne sterowniki portów COM w systemie Windows buforują dane w pamięci sprzętowej. Gdy sterownik CNC wysyła polecenie zatrzymania, komputer często przesyła jeszcze pozostałe znaki znajdujące się w buforze, co powoduje przepełnienie pamięci maszyny.

    Otwórz Menedżer urządzeń (Device Manager) -> Porty (COM i LPT) -> Kliknij prawym przyciskiem myszy na swój port COM -> Właściwości (Properties) -> Karta Ustawienia portu (Port Settings) -> Zaawansowane (Advanced). Odznacz opcję "Użyj buforów FIFO" (Use FIFO buffers) lub przesuń suwaki do wartości minimalnych.

Uwaga dla adapterów USB-RS232: Wiele adapterów USB-Serial nie oferuje opcji FIFO w Menedżerze urządzeń lub jest ona zarządzana inaczej przez architekturę pakietów USB. Jeśli używasz adaptera USB, w przypadku Alarmu 087 skuteczne są zazwyczaj tylko punkt 3 (zmniejszenie prędkości Baud Rate) oraz punkt 4 (opóźnienie bloku / Block Delay).

2. Aktywacja kontroli przepływu oprogramowania XON/XOFF

Alarm 087 to niemal zawsze problem z tzw. software handshake. Upewnij się, że w oprogramowaniu DNC (np. EasyDNC lub RemoDNC) jako kontrola przepływu (Flow Control) wybrano XON/XOFF – a nie wyłącznie "Hardware" lub "Brak".

Nawet jeśli maszyna CNC została pierwotnie skonfigurowana do sprzętowej kontroli przepływu, wiele systemów Fanuc podczas pracy w trybie Drip-Feeding korzysta z XON/XOFF.

3. Zmniejszenie prędkości transmisji (Baud Rate)

Czasami prędkość transmisji jest po prostu zbyt wysoka dla wydajności procesora starszego sterownika CNC. Zmniejsz Baud Rate zarówno w sterowniku, jak i w komputerze (np. z 19200 na 9600 lub 4800 Baud).

4. Włączenie opóźnienia bloku (Block Delay)

Dodaj w oprogramowaniu DNC minimalne opóźnienie bloku (Character Delay / Line Delay) o wartości kilku milisekund, aby dać buforowi maszyny czas na przetworzenie danych.

Wiedza techniczna: Dlaczego występuje Alarm 087?

Dla osób zainteresowanych szczegółami technicznymi: sterowniki Fanuc pracują w oparciu o rygorystyczną logikę buforowania. Gdy pamięć maszyny grozi przepełnieniem, wysyła ona do komputera znak XOFF (ASCII 19).

Zgodnie ze specyfikacją Fanuc, po otrzymaniu tego sygnału komputer ma czas na przesłanie maksymalnie 10 znaków przed całkowitym wstrzymaniem transmisji. Jeśli komputer reaguje zbyt wolno (z powodu opóźnień sterowników Windows, błędnej konfiguracji linii sprzętowego handshakingu lub opóźnień (latencji) adaptera USB-Serial), dochodzi do przepełnienia bufora i generowany jest Alarm 087.

Uwaga dla trybu DNC: Jak wspomniano powyżej, wiele sterowników w trybie pracy Drip-Feed automatycznie przełącza się na programową kontrolę przepływu XON/XOFF, nawet jeśli w ustawieniach maszyny wybrano sprzętową kontrolę przepływu.