Poniżej opisano i wyjaśniono najczęstsze przyczyny błędów podczas realizacji projektu komunikacji Modbus:
Lp. | Przyczyna | Proponowane czynności w celu weryfikacji przyczyny błędów |
1 | Błąd okablowania magistrali komunikacyjnej (uwaga: producenci różnie oznaczają zaciski interfejsu szeregowego) | Dokładnie sprawdzić okablowanie i oznaczenia zacisków interfejsów szeregowych, w przypadku kiedy w magistrali jest dużo urządzeń stopniowo dołączać kolejne urządzenia i sprawdzać czy komunikacja działa.
Magistrala na końcu i na początku powinna być zakończona terminatorami |
2 | Różne parametry transmisji w urządzeniach | Sprawdzić parametry transmisji w urządzeniu slave podłączonym do magistrali – powinny być takie same we wszystkich urządzeniach (np. 8,N,1; prędkość transmisji: 9600 bps)
Sprawdzić jaki jest ustawiony adres modbus urządzenia slave (UID) |
3 | Nieprawidłowy typ zmiennych | Sprawdzić którą funkcją modbus dane rejestry (typ zmiennych) stacji slave są odczytywane/zapisywane i sprawdzić mapę rejestrów w dokumentacji do urządzenia slave |
4 | Nieprawidłowa adresacja rejestrów
|
Sprawdzić mapę rejestrów w dokumentacji do urządzenia slave (adresy i typy zmiennych) – adres początkowy zmiennych modbus |
5 | Urządzenie slave wolno obsługuje komunikację (nie nadąża odpowiadać na zapytania wysyłane z urządzenia master) | Sprawdzić czy w blokach funkcyjnych biblioteka Saia PCD Modbus -> Client -> Define Unit Client w polu exception response pojawił się jakiś błąd – jeżeli jest błąd, to sprawdzić co on oznacza – Zobacz też: [xyz-ihs snippet=”obrazekfaq”] Co oznaczają kody błędów “Exception Response” w komunikacji Modbus? |
6 | Maksymalna ilość danych (zmiennych) w jednym zapytaniu | Sprawdzenie ile zmiennych jednorazowo może przesyłać stacja slave i w razie potrzeby zmniejszyć liczbę zmiennych w blokach funkcyjnych Read/Write w polu # (biblioteka Saia PCD Modbus -> Client) |