Modbus, Automatyka, automatyka
[ Pobierz całość w formacie PDF ]
Katedra Metrologii i Systemów Elektronicznych
Wydział Elektroniki, Telekomunikacji i Informatyki
Politechnika Gdańska
Projektowanie i Organizacja Systemów
Elektronicznych
Protokół Modbus
Marek Niedostatkiewicz
Grzegorz Rojek
Gdańsk 2004
1
ZADANIA DO PRZYGOTOWANIA PRZED LABORATORIUM.
1. Zapoznać się z opisem stanowiska laboratoryjnego (rozdział 1) i protokołu
Modbus (rozdział 2) . Jeżeli był już wykład z Modbus w ramach PiOSE,
lektura będzie łatwiejsza.
2. Przypomnieć sobie podstawowe wiadomości dotyczące RS485 z wykładu z
Interfejsów Systemów Elektronicznych. Ewentualnie pomocny może być
(rozdział 3).
3. Znając strukturę systemu i podstawy protokołu (pkt.1) oraz właściwości
interfejsu RS485 pracującego w dwudrucie, half-duplex), zapoznać się z
rozwiązaniami zastosowanymi w prezentowanym systemie, szczególnie
uwzględniając konwertery RS485-RS232 (rozdział 4).
4. Zapoznać się z możliwościami oprogramowania PC (rozdział 6) –
implementującego odpowiednio sterownik i urządzenie wykonawcze
Modbus.
5. Ewentualną ciekawość – przeznaczenie złącz i przełączników modułów
zaspokoi (rozdział 7), zaś chęć poznania metod obliczania sum kontrolnych
CRC16 zaspokoi Dodatek A.
6. Zastanowić się:
- Dlaczegoniezbędne jest przełączanie kierunku transmisji w
konwerterach?
- W którym z trybów Modbus (ASCII/RTU) uzyskuje się większą
efektywną prędkość transmisji danych przy tej samej prędkości
transmisji RS232?
- Dlaczego tryb RTU nie może mieć ustalonego znaku końca transmisji
jak tryb ASCII?
- Jakmożna rozwiązać wykrywanie końca transmisji Slave –
mikrokontrolerze?
- Jakie mamy (cztery) typy danych dla funkcji Modbus i co mogą
reprezentować?
2
ZADANIA DO WYKONANIA W LABORATORIUM.
1. Sprawdzić kompletację stanowiska i zgodność ustawień przełączników
modułów z opisem. Podłączyć zasilanie
2. Uruchomić oprogramowanie Master na jednym i Slave na drugim z
komputerów.
3. Sprawdzić działanie funkcji zaimplementowanych w sterowniku
dotyczących wyjść modułów Slave (2 typy danych). Zaobserwować
zmiany w modułach Slave – sprzętowym i programowym.
4. Sprawdzić działanie funkcji zaimplementowanych w sterowniku
dotyczących wejść modułów Slave (2 typy danych). Korzystając z trybu
wielokrotnego odczytu – zmieniać nastawy sygnałów wejściowych
modułu Slave na PC lub ustawienie przełącznika zadającego sygnały dla
modułu Slave na uC. Obserwować wizualizację odczytanych parametrów
na panelu Modbus master.
5. Dla 4 wybranych funkcji, rozpisać ramkę Modbus (widoczną na ekranie
komputera z Modbus Master) korzystając z dołączonej do ćwiczenia
specyfikacji protokołu – wykorzystać strony z opisem funkcji Modbus.
6. Dla wybranej funkcji symulować stany awaryjne (przekroczenie adresu
początkowego cewki/wejścia/rejestru, przekroczenie dopuszczalnej ilości
wejść, wyłączenie oprogramowania Slave (brak odpowiedzi).
Rozszyfrować otrzymywane kody błędów Modbus – zwrócić uwagę na
mechanizm sygnalizacji błędów w Modbus.
7. Ustalić z prowadzącym (i wykonać:) zadanie dodatkowe.
3
1. Wstęp
Protokół Modbus został opracowany w firmie Modicon w 1980r [2]. Mimo upływu
dość znacznego czasu od chwili wprowadzenia jest on nadal szeroko stosowany w aplikacjach
automatyki przemysłowej o niskich wymaganiach dotyczących szybkości i częstości
transmisji danych, w szczególności w systemach z wydzielonym centrum, do którego
przesyłane są dane z urządzeń peryferyjnych. Jest standardem przyjętym przez większość
producentów sterowników przemysłowych dla asynchronicznej komunikacji pomiędzy
urządzeniami wyposażonymi w interfejs zgodny z RS-232 takich jak: RS-422, RS-485,
modem i innych. W procedury komunikacyjne realizujące ten protokół są wyposażone niemal
wszystkie dostępne na rynku pakiety SCADA (systemy nadzoru i akwizycji danych).
Modbus swą popularność zyskał dzięki prostocie zastosowanych w nim rozwiązań,
jawności specyfikacji protokołu, a ponadto takim cechom jak: dostęp do łącza na zasadzie
„Master - Slave” (lub inaczej Query-Response), zabezpieczenie komunikatów przed
przekłamaniami, potwierdzenie wykonania rozkazów i sygnalizacja błędów oraz mechanizmy
unikające zawieszania się systemu. Pozwala to
na łatwą implementację w dowolnym
urządzeniu posiadającym mikrokontroler i w znacznym stopniu wpływa na obniżenie
kosztów.
W modelu ISO/OSI protokół Modbus zajmuje trzy warstwy: 1 - fizyczną (physical), 2
- łącza danych (data link) oraz 7-aplikacji (application).
Warstwa pierwsza zawiera ustalenia zawarte w standardzie określonego interfejsu
szeregowego jako platformy dla protokołu Modbus, dotyczące techniki transmisji jak również
samego medium transmisyjnego definiowanego przez ten standard. Warstwa druga (poziom
ramki) realizuje metodę („Query-Response”) sterowania dostępem do medium
transmisyjnego.
Warstwa siódma określa sposób komunikowania się programów użytkowych z urządzeniami
systemu za pośrednictwem protokołu Modbus.
Może pracować w dwóch trybach transmisji: RTU i ASCII. Istnieje również implementacja
na stosie TCP/IP w sieci Ethernet.
Przykładowymi aplikacjami Modbus są: zdalna akwizycja danych, kontrola procesów
przemysłowych, systemy nadzoru, systemy ochrony, procesy monitorowania, zarządzanie
energią, laboratoria automatyki itp.
4
Najczęściej stosowaną i używaną konfiguracją w automatyce przemysłowej jest
protokół Modbus współpracujący z interfejsem RS485, gdzie występuje jedno urządzenie
nadrzędne (Master) inicjalizujące transakcje (wysyłające polecenie), natomiast pozostałe
urządzenia są podrzędne (Slaves), wykonują polecenia Master-a i odsyłają odpowiedź. W
danej chwili tylko jeden Slave może odpowiadać na zdalne zapytanie Master-a, natomiast nie
ma możliwości komunikacji pomiędzy urządzeniami podrzędnymi. Typowym Master-em jest
urządzenie z procesorem głównym (host procesor), zawierające programowalny panel na
przykład komputer PC lub nadrzędny sterownik logiczny, a typowy Slave to programowalny
sterownik logiczny. Węzły podrzędne (Slaves) są wykorzystywane do sterowania oraz
zbierania danych z urządzeń peryferyjnych takich jak: mierników, liczników, przetworników
A/C i C/A, czujników, przekaźników, sygnalizatorów itp.
Jako interfejs komunikacyjny dla protokołu Modbus
zastosowano magistralę RS485,
pozwalającą pracować w warunkach silnych zakłóceń(np. w przemyśle) oraz na uzyskanie
znacznych
zasięgów transmisji i również chętnie stosowaną w układach automatyki i
sterowania.
W skład stanowiska laboratoryjnego wchodzą: jedno urządzenie nadrzędne(Master),
dwa urządzenia podrzędne(Slaves), oraz dwa konwertery RS232-RS485 niezbędne dla
komunikacji urządzeń w standardzie RS485, ponieważ elementy Master i jeden z elementów
podrzędnych zostały zrealizowane na komputerach PC, wyposażonych w interfejs RS232C.
• Sterownik Modbus Master - konfigurowany przez użytkownika, umożliwiający
sterowanie jednostkami podrzędnymi oraz sygnalizujący potwierdzenie wykonania
polecenia, a w przypadku braku wykonania polecenia wskazujący błędy;
• Sterownik Modbus Slave wykonany na komputerze PC - konfigurowany przez
użytkownika, sterowany zdalnie przy pomocy poleceń z jednostki Modbus Master,
operujący na własnych zasobach systemowych;
• Urządzenie Modbus Slave wykonany na mikrokontrolerze - konfigurowany przez
użytkownika, wykonujący zdalne polecenia jednostki Master poprzez zarządzanie
cyfrowymi i analogowymi liniami we/wy oraz wewnętrznymi modułami
mikrokontrolera takimi jak: pamięć, układy czasowo-licznikowe, układy przerwań
przetwornik A/C itp;
5
[ Pobierz całość w formacie PDF ]