< Wróć do bazy wiedzy

Co oznaczają kody błędów “Exception Response” w komunikacji Modbus?

Exception Response to kod błędu przesyłany przez urządzenie slave w przypadku kiedy zapytanie wysłane z mastera nie może być wykonane przez slave (serwer).

W bibliotece Saia PCD Modbus wyświetlany jest w bloku funkcyjnym Define Unit Client jak widać na poniższym ekranie:

saia-pg5-modbus-exception-response-code

Jeżeli bloki funkcyjne zwracają błąd komunikacji Error, a w Exception Response jest wartość 0 to świadczy to o błędzie podczas inicjalizacji portu sterownika PCD, zakłóceniach lub o braku odpowiedzi ze stacji slave. W tym przypadku należy sprawdzić informacje wyświetlane we właściwościach bloku Init Client (obszar Diagnostics).

saia-pg5-modbus-diagnostics

W przypadku komunikatu response timeout (brak odpowiedzi ze stacji slave) lub innych błędów należy przede wszystkim sprawdzić okablowanie, parametry transmisji, adres modbus (UID).

Jeżeli jest zwracany kod błędu inny niż 0 to znaczy, że sama komunikacja pomiędzy Master, a Slave została nawiązana i należy sprawdzić co oznacza dany kod błędu.

Poniżej wyjaśnienie co znaczą najczęściej występujące kody błędów Exception Response:

ILLEGAL_FUNCTION_CODE 1 Kod funkcji modbus nieprawidłowy – nie obsługiwany poprzez stację slave (server)
ILLEGAL_DATA_ADDRESS 2 Zapytanie o adres zmiennej, która nie jest dostępna w pamięci urządzenia slave (należy sprawdzić listę adresów zmiennych dostępnych w urządzeniu slave)
ILLEGAL_DATA_VALUE 3 Ilość danych w zapytaniu jest nieprawidłowa
SERVER_FAILURE 4 Wystąpił nieodwracalny błąd w momencie kiedy stacja slave próbowała wykonać żądaną operację.

Np. zmienne modbus w sterowniku PCD mogą być niedostępne (nie zmapowane na zmienne modbus) lub adres Modbus (UID) nie skonfigurowany.

ACKNOWLEDGE 5 Serwer (lub slave) odebrał zapytanie, ale przez wymaga dłuższego okresu czasu na przetworzenie tego zapytania.
SERVER_BUSY 6 Serwer jest zajęty podczas próby dostępu do niego (wykonuje inne zadanie)