Strona główna ASTOR

Komunikacja w sieci Modbus TCP
Kurs programowania PLC od podstaw
Odc. 18

Kontakt w sprawie artykułu: Kamil Zajdel - 2020-03-18

Z tego artykułu dowiesz się:

  • Co to jest protokół Modbus TCP?
  • Jak wygląda komunikacja po protokole Modbus TCP?
  • Jak wykorzystać protokół Modbus TCP do komunikacji sterownika PLC z układami I/O?
  • Jak skonfigurować układ I/O Modbus TCP?

W tym artykule poznasz podstawowe informacje dotyczące komunikacji po protokole Modbus TCP.

Modbus TCP jest protokołem z rodziny Modbus z interfejsem TCP, który działa w sieci Ethernetowej. Protokół komunikacji definiuje strukturę przesyłanych danych, natomiast TCP zapewnia dla niego medium transportu informacji. Dzięki wykorzystaniu tego protokołu, w łatwy sposób można umieścić dane na serwerze sieciowym oraz wykorzystać je w aplikacjach internetowych.

Kurs programowania PLC od podstaw dla automatyków i elektryków

Podstawy programowania sterowników PLC

  • 1. Wprowadzenie. Jak skonfigurować, podłączyć oraz uruchomić sterownik PLC?
  • 2. Jak tworzyć i edytować projekty w oprogramowaniu Cscape?
  • Programowanie sterownika PLC w języku drabinkowym

  • 3. Jak tworzyć oraz konfigurować bazę zmiennych w środowisku Cscape?
  • 4. Jak korzystać ze styków, cewek i bloków operacji arytmetycznych w programie sterującym?
  • 5. Jak odmierzać czas w programie sterującym i jak konfigurować timery?
  • 6. Jak porównywać wartości i wykorzystać wyniki operacji logicznych?
  • 7. Jak zliczać impulsy i konfigurować liczniki?
  • 8. Jak konwertować typy zmiennych i przemieszczać zmienne w programie?
  • 9. Jak sterować wykonywaniem programu logicznego? Instrukcja skoku warunkowego
  • Programowanie zintegrowanego panelu HMI

  • 10. Jak budować ekrany operatorskie z obiektami do wizualizacji i zadawania wartości zmiennych?
  • 11. Jak umożliwić nawigację między ekranami operatorskimi oraz jak korzystać z gotowych obiektów graficznych w środowisku Cscape?
  • 12. Jak wizualizować zmienne analogowe oraz jak modyfikować ich wartości przy pomocy obiektów dostępnych w oprogramowaniu Cscape?
  • 13. Jak korzystać z obiektu menu?
  • 14. Konfiguracja i obsługa alarmów w sterownikach PLC
  • 15. Kontrolka Data Trend
  • Komunikacja sterowników PLC w sieci szeregowej i Ethernet

  • 16. Komunikacja szeregowa Modbus RTU Master i Slave
  • 17. Komunikacja CsCAN
  • 18. Komunikacja Ethernet Modbus TCP
  • 19. Wysyłanie wiadomości Email w sterowniku PLC
  • Zaawansowane funkcje sterownika PLC

  • 20. Regulator PID
  • 21. Składowanie danych: Data logging
  • 22. Składowanie danych: karta MicroSD
  • 23. Trendy historyczne oraz receptury w programie
  • 24. Setpoint, backup i restore danych oraz generowanie raportów z poziomu sterownika
  • 25. Hasła i zabezpieczenia w programie, ustawienia języka oraz edytor dostępny w narzędziu, opcja autodokumentacji / Dodatkowe ustawienia i możliwości edycji
  • Protokół TCP zapewnia prawidłowy przesył danych, a adres IP odpowiada za przekazanie informacji do właściwego adresata. Protokół TCP odpowiedzialny jest wyłącznie za transport informacji, a Modbus – za ich interpretację.

    Prostota i niezawodność oraz otwarty standard protokołu Modbus TCP sprawiły, że stał się standardem wykorzystywanym w automatyce i jest obecnie jednym z najczęściej wykorzystywanych protokołów w urządzeniach automatyki przemysłowej.

    Protokół Modbus TCP należy do rodziny klient – serwer. Może być wykorzystywany w systemach czasu rzeczywistego do wymiany informacji pomiędzy urządzeniami a ekranami operatorskimi.

    Klient Modbus TCP wspiera następujące sposoby adresowania:

    • Generic Decimal Addressing,
    • General Hexadecimal Addressing,
    • Native Addressing,
    • Modicon PLC 5-Digit Addressing,
    • Modicon PLC 6-Digit Addressing.

    Funkcja generowania adresów umożliwia podłączenie urządzeń innych firm, które nie obsługują standardowych sposobów adresowania. Wszystkie konieczne do konfiguracji informacje można uzyskać z plików HELP.

    Konfiguracja w akcji!

    Aby skonfigurować protokół Modbus TCP Slave, w oknie Hardware Configuration wybierz jeden z portów LAN, np. port LAN2, który będzie używany do komunikacji z modułem I/O.

    W części Resident Protocols wybierz Modbus Slave.

    W celu konfiguracji urządzenia Modbus TCP Master, w części Downloadable Protocols, z rozwijalnej listy wybierz Modbus Client. Klikając przycisk Network, przejdź do konfiguracji.

    Ustaw wartość minimalną i maksymalną numeru ID portu. Wartości powinny zawierać się w przedziale pomiędzy 1024 a 4096.

    Parametr Retries oznacza ilość prób, jakie urządzenie Master wykona w celu nawiązania komunikacji z urządzeniem Slave. W tym przypadku ustaw 2.

    Timeout oznacza czas, po jakim urządzenie Master zgłosi błąd, jeżeli nie otrzyma odpowiedzi na wysłane zapytanie. W tym przypadku ustaw Timeout na 10000 ms (lub mniejszy, np. 3000).

    W sekcji Update Scan konfiguruje się sposób, w jaki master będzie dokonywał odpytywania. Opcja Automatic powoduje, że Master samodzielnie, tak często jak to możliwe, będzie wysyłał zapytania do urządzeń Slave. Jeśli nie chcesz generować zbyt dużego ruchu na sieci, zmniejsz parametr Update Interval, aby obniżyć częstotliwość odpytywania.

    Opcja Manual pozwala skonfigurować zmienną, której zmiana stanu na wysoki będzie powodowała wysyłanie zapytań z urządzenia Master do urządzeń Slave.

    Sekcja Status pozwala na opcjonalne skonfigurowanie rejestru statusowego dla komunikacji Modbus TCP. W polu Register wpisz %R411.

    Po uzupełnieniu pól, zatwierdź przyciskiem OK.

    Wybierz przycisk Devices, aby skonfigurować urządzenia Slave (maksymalnie 64).

    Aby dodać nowe urządzenie, wybierz Add.

    Wpisz nazwę urządzenia, jego adres IP oraz Port ID. Konfigurowanie adresu IP/ ID portu z rejestru pozwala użytkownikom modyfikować adres IP/ ID portu podczas wykonywania programu. Aby to zrobić, użytkownik powinien zmienić tryb pracy sterownika na Idle, a po modyfikacji powrócić do trybu RUN.

    Gdy zaznaczona jest opcja Swap Words on 32-bit data, przenoszone pomiędzy Targetem a OCSem dane, zamieniane są z 16-bitowych na 32-bitowe.

    Device Type pozwala skonfigurować typ adresowania zmiennych. Ustaw adresowanie Modicon na 5 znakach – Modicon PLC 5-Digit Addressing.

    Możesz opcjonalnie uaktywnić rejestr statusowy oraz zaznaczyć opcję Stop on Error lub Retry on Error, w zależności od wymagań procesu. Dla potrzeb tego ćwiczenia rejestr statusowy ustaw jako %R416.

    Ostatnim elementem do skonfigurowania jest zmapowanie zmiennych pochodzących z modułu I/O. Aby to zrobić, przejdź do okna Scan List.

    W oknie Scan List (Modbus Client) wybierz Add.

    Dokładny sposób adresowania zmiennych został wyjaśniony w artykule o protokole Modbus RTU.

    Z listy Device Name wskaż urządzenie Slave, z którego będą pochodziły zmienne. Skonfiguruj Device Register, podając adres 00072, a długość ustaw na cztery.

    W sekcji Local podaj rejestr sterownika, pod którym będą przechowywane odczytane stany wejść.

    W sekcji Update Type, sposób aktualizacji zmiennych ustaw jako Polled Read. Oznacza to, że sterownik będzie aktualizował stan zmiennych, w interwale czasowym ustawionym w oknie Update Interval.

    Analogicznie skonfiguruj mapowanie zmiennych wyjściowych. Wybierz Add i skonfiguruj Device Register na 00086, a długość ustaw na 4.

    W sekcji Local podaj rejestr sterownika, z którego będą wystawiane sygnały wyjściowe.

    Sposób aktualizacji zmiennych ustaw jako Polled Read/Write – oznacza to, że sterownik będzie aktualizował stan wyjść w chwili jego zmiany.

    Kabel używany do połączenia Modbus TCP to ekranowana lub nieekranowana skrętka Ethernetowa ze złączem RJ-45.


    W kolejnym artykule z cyklu Kurs programowania PLC od podstaw: Wysyłanie wiadomości email w sterowniku PLC

    • Do czego służą wiadomości email w sterownikach PLC
    • Jak skonfigurować wysyłanie wiadomości email w sterowniku PLC

    Czy ten artykuł był dla Ciebie przydatny?

    Średnia ocena artykułu: 3.8 / 5. Ilość ocen: 8

    Ten artykuł nie był jeszcze oceniony.

    Zadaj pytanie

    Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *