Zygmunt Kubiak Instytut Informatyki Politechnika...
Transcript of Zygmunt Kubiak Instytut Informatyki Politechnika...
Sieć Modbus w dydaktyceSieć Modbus w dydaktyce
Protokół Modbus
Rozwiązania sprzętowe
Rozwiązania programowe
Podsumowanie
Zygmunt Kubiak 2
Protokół Modbus
Opracowany w firmie Modicon do tworzenia sieci sterowników PLC
Organizacja Modbus-IDA skupia niezależnych użytkowników i producentów urządzeń automatyzacji i zajmuje się prawidłowym rozwojem standardu i jego popularyzacją
Zygmunt Kubiak 3
Protokół Modbus
Przykładowe rozwiązanie połączenia między węzłami sieci Modbus (max 247 węzłów slave)
Zygmunt Kubiak 13
Protokół Modbus
Ramka protokołu Modbus
PDU (ang. Protocol Data Unit) Adres węzłów slave z zakresu 1 – 247 Adres 0 jest adresem rozgłoszeniowym; w tym przypadku żaden
węzeł slave nie generuje odpowiedzi W protokole Modbus przewidziano dwa podstawowe tryby
transmisji: RTU oraz ASCII
Zygmunt Kubiak 14
Protokół Modbus
Formaty jednostki informacyjnej w trybie Modbus RTU
Tryb RTU jest najczęściej stosowany Każdy znak składa się z 11 bitów Znak może być zabezpieczony bitem parzystości;
w przeciwnym przypadku występują dwa bity stopu
Zygmunt Kubiak 15
Protokół Modbus
Ramka Modbus w trybie RTU
Ramka może zawierać maksymalnie 256 bajtów i dlatego pole danych zostało ograniczone do 252 bajtów.
Zabezpieczeniem integralności ramki jest dwubajtowe słowo CRC – mniej znaczący bajt transmitowany jest jako pierwszy.
Ponieważ w Modbus jest transmisja znakowa, zostały przyjęte kryteria czasowe pozwalające określić ciągłość znaków.
Zygmunt Kubiak 16
Protokół Modbus
Zależności czasowe transmisji w trybie RTU
W trybie RTU odległość między ramkami powinna wynosić minimum 3,5 znaku.
Przerwa między znakami wewnątrz ramki nie może przekroczyć 1,5 znaku.
Zygmunt Kubiak 17
Protokół Modbus
Typy danych standardu Modbus
W protokole Modbus przyjęto analogiczne typy danych jak dla sterowników PLC; wzorem były sterowniki Modicon.
Dostęp do określonego typu danych realizowany jest użycie odpowiednich funkcji protokołu.
Zygmunt Kubiak 18
Rozwiązania sprzętowe (przykłady)
Uniwersalne rozwiązania przemysłowe Sterownik PLC Twido (TWD LCAA 24DRF) firmy
Telemecanique
Specjalizowane moduły Modbus Moduł slave AMB300 – konwerter protokołów, firmy
Alfine
Uniwersalne moduły rozwojowe Moduły Toolstick firmy Silicon Labs.
Zygmunt Kubiak 20
Rozwiązania sprzętowe (przykłady)
Sterownik PLC Twido (TWD LCAA 24DRF) Wbudowana obsługa protokołu Modbus Dwa interfejsy szeregowe, które można skonfigurować w
standardzie Modbus Możliwość konfiguracji urządzenia jako slave lub master Obsługiwane funkcje: 1, 2, 3, 4, 5, 6, 15 i 16 Dostępne tryby RTU i ASCII; prędkość transmisji do
38,4 kb/s Obsługiwane języki: Lista Instrukcji, Schemat
Drabinkowy, Grafcet TwidoSoft – narzędzie do tworzenia i uruchamiania
aplikacji użytkownika.
Zygmunt Kubiak 22
Rozwiązania sprzętowe (przykłady)
Uniwersalne moduły firmy Silicon Labsz mikrokontrolerami C8051Fxxx
Zygmunt Kubiak 25
Rozwiązania sprzętowe (przykłady)
University Daughter Card firmy Silicon Labsz mikrokontrolerami C8051F020
Zygmunt Kubiak 26
Rozwiązania sprzętowe (przykłady)
Wirtualne narzędzia Toolstick University:Terminal
Zygmunt Kubiak 27
Rozwiązania sprzętowe (przykłady)
Wirtualne narzędzia Toolstick University:Virtual LCD
Zygmunt Kubiak 28
Rozwiązania sprzętowe (przykłady)
Wirtualne narzędzia Toolstick University:Virtual Oscilloscope
Zygmunt Kubiak 29
Rozwiązania programowe. Rozwiązania programowe. Dokumentacja Modbus
Dokumentacja standardu Modbus Całkowicie zmodyfikowane dokumenty zostały wydane w
grudniu 2006 r. MODBUS over Serial LineSpecification and
Implementation Guide V1.02, Modbus-IDA.ORG, 20.10.2006.
MODBUS Application Protocol Specification V1.1b, Modbus-IDA.ORG, 28.10.2006.
Zygmunt Kubiak 30
Rozwiązania programowe. Rozwiązania programowe. Dokumentacja Modbus
Przykłady: Diagram stanów węzła Slave
Zygmunt Kubiak 31
Rozwiązania programowe. Rozwiązania programowe. Dokumentacja Modbus
Przykłady: Diagram stanów odczytu wejść
Zygmunt Kubiak 33
Rozwiązania programowe. Rozwiązania programowe. Oprogramowanie MBed
Dwie aplikacje: ModbusMaster i ModbusSlave Obsługa 10 funkcji Modbus – kody 01, 02, 03, 04,
05, 06, 08, 0F, 10, 11 w obu trybach transmisji (ASCII i RTU)
Dobór parametrów transmisji na poziomie bitowym Zmiana parametrów połączenia i maksymalnego
czasu oczekiwania na odpowiedź Szablony ramek oraz zaawansowany edytor ich
zawartości z podpowiedziami i kontrola błędów
Zygmunt Kubiak 34
Rozwiązania programowe. Rozwiązania programowe. Oprogramowanie MBed
Podgląd przesyłanych ramek Opis przesyłanych ramek W aplikacji Master, na podstawie otrzymywanych
odpowiedzi, tworzony jest automatycznie bieżący obraz rejestrów węzłów slave
Prezentowane mogą być cztery typy danych dostępne w Modbus a ponadto zawartości rejestrów diagnostycznych (funkcja 0x08) i także opis urządzeń slave (funkcja 0x11)
W aplikacji Slave, funkcja wypełniania rejestrów losowymi wartościami
Zygmunt Kubiak 35
Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusMaster
Okno główne programu ModbusMaster
Zygmunt Kubiak 36
Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusMaster
ModbusMaster – historia transmisji
Zygmunt Kubiak 37
Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusMaster
ModbusMaster – rejestry urządzenia slave
Zygmunt Kubiak 38
Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusMaster
Przebieg transmisji w programie ModbusMaster
Zygmunt Kubiak 39
Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusSlave
Przebieg transmisji w programie ModbusSlave
Zygmunt Kubiak 40
• Kreskowane połączenie bloków – wyświetlanie ramek w historii transmisji
PodsumowaniePodsumowanie
Przedstawione środowisko sprzętowo-programowe umożliwia badanie różnorodnych aspektów protokołu Modbus.
Umożliwia organizację interesujących, w pełni poznawczych zajęć laboratoryjnych i projektowych z zakresu zarówno sieci przemysłowych jak i systemów wbudowanych.
Zygmunt Kubiak 41
PodsumowaniePodsumowanie
Przykłady ćwiczeń (konfiguracje) komputer Master – komputer Slave, komputer Master – sterownik Twido Slave, komputer Master – moduł Slave, sterownik Twido Master – komputer Slave, sterownik Twido Master – moduł Slave, SCADA iFIX Master (komputer) – sterownik Twido
Slave, sieć Modbus – komputer Monitor Modbus, SCADA iFIX Master – sieć Modbus
Zygmunt Kubiak 42
Oprogramowanie
Podstawowe funkcje aplikacji ModbusSlave: Transmisja w trybie ASCII oraz RTU, Podgląd przesyłanych ramek, Opis przesyłanych ramek, Historia transmisji, Sygnalizacja i opis błędów, Bieżący podgląd Rejestrów Diagnostycznych, Obsługa 10 funkcji Modbus: 1, 2, 3, 4, 5, 6, 8, F, 10, 11, Obsługa podstawowych rejestrów: Discrete Inputs, Coils, Input
Registers, Holding Registers, Obsługa rejestrów diagnostycznych poprzez funkcję 0x08 oraz opisu
urządzenia slave – funkcja 0x11, Dowolne tworzenie mapy adresów rejestrów, Funkcja wypełniania rejestrów losowymi wartościami, Możliwość zapisu i odczytu rejestrów, Wpisywanie wartości w systemach: dziesiętnym, szesnastkowym oraz
binarnym.
Zygmunt Kubiak 47
Oprogramowanie
Podstawowe funkcje aplikacji ModbusMaster: Transmisja w trybie ASCII oraz RTU, Podgląd przesyłanych ramek, Opis przesyłanych ramek, Historia transmisji, Sygnalizacja i opis błędów, Szablony do obsługi 10 funkcji Modbus: 1, 2, 3, 4, 5, 6, 8,
F, 10, 11, Możliwość wysłania dowolnego zapytania, Dynamiczne tworzenie map rejestrów urządzeń slave na
podstawie uzyskanych odpowiedzi na zapytania. Oprócz standardowych rejestrów Discrete Inputs, Coils, Input Register, Holding Register również rejestrów diagnostycznych (funkcja 0x08) oraz opisu urządzenia slave (funkcja 0x11),
Dowolna konfiguracja parametrów transmisji (parametry połączenia, maksymalny czas oczekiwania na odpowiedź).
Zygmunt Kubiak 48