Integracja Modbus TCP z Yokogawa CENTUM VP: prawidłowe mapowanie rejestrów

Dlaczego integracja Modbus nadal ma znaczenie
Gotowe urządzenia rzadko obsługują natywne protokoły DCS. Sprężarki, analizatory i rozdzielnice MCC zwykle oferują protokół Modbus. CENTUM VP integruje je bezproblemowo. Istnieją dwie ścieżki. Szeregowy Modbus RTU działa przez bramkę ALR121. Modbus TCP działa bezpośrednio przez Ethernet. Oba rozwiązania sprawdzają się dobrze, jeśli rejestry zostaną prawidłowo zmapowane. W tym poradniku opisujemy pułapki, na które natrafiliśmy w terenie.
Poznaj parametry protokołu
Modbus RTU działa w standardzie RS-485 z wykorzystaniem dwóch przewodów. Typowe ustawienia to: 9600 lub 19200 bodów, 8 bitów danych, brak kontroli parzystości lub kontrola parzystości parzystej, jeden bit stopu. Adresy urządzeń podrzędnych mieszczą się w zakresie od 1 do 247. Każda ramka jest zabezpieczona za pomocą CRC16. Modbus TCP korzysta z portu 502. Nagłówek MBAP zawiera identyfikator transakcji. Identyfikator jednostki znajduje się wewnątrz ramki. TCP zapewnia integralność danych, dlatego CRC nie jest potrzebne.
Kody funkcji mają znaczenie:
- Kod 01 — odczyt cewek
- Kod 02 — odczyt wejść dyskretnych
- Kod 03 — odczyt rejestrów przechowujących
- Kod 04 — odczyt rejestrów wejściowych
- Kod 05 — zapis jednej cewki
- Kod 06 — zapis jednego rejestru
- Kod 15 — zapis wielu cewek
- Kod 16 — zapis wielu rejestrów
Natywne dane mają długość 16 bitów. Liczby zmiennoprzecinkowe 32-bitowe wymagają dwóch rejestrów. Kolejność bajtów różni się w zależności od producenta. To powoduje większość błędów mapowania.
Sześć kroków mapowania
Krok 1: Zbierz mapę rejestrów urządzenia podrzędnego. Zapisz każdy adres, typ danych, skalę i uprawnienia dostępu. Wyraźnie oznacz jednostki inżynierskie.
Krok 2: Skonfiguruj parametry komunikacji w narzędziu inżynierskim CENTUM VP. Dla ALR121: prędkość transmisji, parzystość, adres urządzenia podrzędnego i interwał skanowania. Dla TCP: adres IP, port 502, identyfikator jednostki i limit czasu odpowiedzi.
Krok 3: Zmapuj rejestry na wewnętrzne znaczniki FCS w oprogramowaniu komunikacyjnym. Wybierz typ danych: 16-bitowa liczba ze znakiem, 16-bitowa liczba bez znaku, 32-bitowa liczba całkowita lub liczba zmiennoprzecinkowa.
Krok 4: Zweryfikuj kolejność bajtów. Yokogawa domyślnie używa kolejności big-endian. Niektóre urządzenia podrzędne przesyłają najpierw słowo młodsze. Błędna wartość zmiennoprzecinkowa zwykle oznacza niezgodność kolejności słów. Zamień kolejność słów i wykonaj test ponownie.
Krok 5: Najpierw przetestuj odczyty za pomocą kodu funkcji 03 lub 04. Porównaj wartości z lokalnym wyświetlaczem urządzenia podrzędnego. Następnie przetestuj zapisy za pomocą kodu 06 lub 16. Przed rozpoczęciem zapisów zbiorczych zacznij od jednego rejestru.
Krok 6: Uruchom obsługę bitów jakości. CENTUM VP oznacza każdy znacznik jako GOOD, BAD lub UNCERTAIN. Zbuduj logikę reagującą na jakość BAD. Nigdy nie wykonuj działań wyłącznie na podstawie nieaktualnych wartości.
Typowe usterki i rozwiązania
Brak jakiejkolwiek komunikacji. Najpierw sprawdź polaryzację przewodów A i B interfejsu RS-485. Następnie zweryfikuj rezystory terminujące na obu końcach — użyj rezystorów 120 omów. Ponadto upewnij się, że prędkość transmisji i parzystość dokładnie odpowiadają ustawieniom urządzenia podrzędnego.
Wyjątek 02, nieprawidłowy adres danych. Numer rejestru przekracza zakres urządzenia podrzędnego. Sprawdź mapę. Częstą pułapką są przesunięcia liczone od zera lub od jedynki.
Wyjątek 03, nieprawidłowa wartość danych. Wartość zapisu wykracza poza dopuszczalny zakres albo rejestr jest tylko do odczytu. Sprawdź tabelę uprawnień dostępu.
Wyjątek 04, awaria urządzenia podrzędnego. Urządzenie podrzędne jest zajęte lub uszkodzone. Zwiększ limit czasu odpowiedzi. Sprawdź listę alarmów urządzenia podrzędnego.
Przekroczenia limitu czasu przy prawidłowym okablowaniu. Interwał skanowania może być zbyt krótki. Może się tak jednak również zdarzyć, gdy wiele urządzeń podrzędnych współdzieli jedną linię. Dlatego zwiększ czas skanowania lub podziel linię.
Błędy CRC w trybie RTU. Zakłócenia zniekształcają ramki. Sprawdź uziemienie ekranu i utrzymuj krótką magistralę. Prowadź kabel z dala od przewodów falowników VFD i silników.
Podsumowanie i zalecenia dotyczące działań
Integracja Modbus to w 20 procentach okablowanie, a w 80 procentach dyscyplina w zakresie danych. Udokumentuj mapę rejestrów przed utworzeniem jakiegokolwiek znacznika. Najpierw wykonaj testy za pomocą symulatora nadrzędnego urządzenia Modbus. Zweryfikuj kolejność bajtów, korzystając ze znanej wartości. Na koniec wbuduj logikę bitów jakości w sterowanie FCS. Dzięki temu każde urządzenie zewnętrzne stanie się niezawodnym elementem systemu CENTUM VP.
Autor: Wang Tao jest inżynierem automatyki przemysłowej z ponad 10-letnim doświadczeniem w zakresie sterowników PLC, systemów DCS i systemów sterowania.
