Data 19.01.2015 Gdynia
Laboratorium Przemysłowych Systemów rozproszenia |
---|
UKŁAD STEROWANIA DWOMA UKŁADAMI NAPĘDU POMP, W SIECI ETHERNET (Industrial Ethernet S7) |
Data Oddania Sprawozdania |
1.Wstęp
W wielu sytuacjach w przemyśle, istnieje potrzeba połączenia urządzeń w jedną grupę urządzeń działającą w oparciu o informacje przesyłane sobie wzajemnie. Jednym z przykładów może być układ sterowania dwoma pompami sterowanymi niezależnymi sterownikami, połączonych i komunikujących się poprzez sieć . Rozwiązanie takie może spełniać funkcję redundancyjną (tj. nadmiarowości, potrzebnej w sytuacjach awaryjnych, spadku wydajności przepływu), albo eksploatacyjną ( możliwości, konserwacji i prac nad jednym z układów , równe zużycie maszyn, łożysk, elementów ściernych). W sprawozdaniu zostanie przedstawiony proces projektowania opisanego układu, wraz z sieć łącząca rozproszone elementy wykorzystana zostanie sieć S7 .
2. Założenia Projektowe.
- możliwość zmiany „uprawnień” – Master/Slave
-wystartowanie dowolnego układu
-zatrzymanie układów
- w momencie wystąpienia awarii układ powinien załączyć układ będący w stanie Stand-by, czyli w stanie bezawaryjnym, nieuruchomionym.
- gdy układ jest w stanie awarii, bądź awaria zostanie potwierdzona, układ zapasowy powinien pracować do momentu wystąpienia awarii własnej
-w stanie bez awaryjnym, po ustąpieniu awarii żaden z układów nie ma prawa wystartować samoczynnie
-po wystąpieniu awarii na danym układzie jego start jest możliwy wyłącznie po naprawieniu awarii, oraz wystąpieniu manualnego rozkazu operatora
- komunikacja dwóch sterowników
3. Wybór topologii , oraz konfiguracja układu sterowania
Założenia nakładają na projektanta pewne ograniczenia, oraz określają wytyczne jakimi powinien się kierować w procesie realizacji projektu. Na podstawie wypisanych założeń stwierdzamy, że możemy zrealizować projekt w oparciu o połączenie dwóch sterowników połączonych w sieć Ethernet (Industrial Ethernet). Wykorzystanie dwóch sterowników pozwoli na zachowanie odrębności w sensie sprzętowym (np. pompy mogą być różne lub sterowany w różny sposób), natomiast zapewni ten sam interfejs( ten sam program, spełniający tą samą funkcję sterowania) .
Rys 3.1 Schemat poglądowy układu sterowania.
Na Rys 3.1 przedstawiono koncepcje fizyczną wykonania projektu, jak widzimy sfera silnika i układu sterowania częstotliwością czy napięciem w układzie zasilania jest sprawą drugorzędną, Sterownik ma spełniać rolę nadrzędną uruchamiać układ wykonawczy, nadzorować poprawną pracę całego układu rozproszonego.
Przekazywanie kontroli będzie możliwe z poziomu panelu dostępnego użytkownikowi układu, będzie wstanie przełączyć się pomiędzy sterownikami w celu przekazania kontroli sterowania pomiędzy układami napędowymi.
Komunikacja urządzenia zostanie zrealizowana w oparciu o protokół PROFINET\Industral Ethernet S7. Na Rys 3.1 symbolicznie zaznaczono układ przepływu informacji z Hosta (Sterownik 1)do połączonego Sterownika 2. Oznacza to że Sterownik 1 posiada zaimplementowany i w pełni skonfigurowany moduł ethernetowy z protokołem S7. Za samą obsługę, oraz przepływ danych w sieci będzie odpowiedzialny tylko Sterownik 1, który będzie wysyłał oraz obierał dane z sieci po wcześniejszym jej skonfigurowaniu.
W roli Sterownika nr 1 wystąpi układ VIPA Simiatic -300, z kolei Sterownikiem nr 2 będzie układ Simens S-1200. W fizycznym projekcie wykorzystamy dwa jednakowe układy sterowania silnikiem wentylatorów symulujące układy pomp. W celu uproszczeniu układ wykonawczego zastosowano układ z przekaźnikami szybko, wolno.
4.Konfiguracja Połączenia Industrial Ethernet
SIMATIC S - 300
Konfiguracja po stronie układu VIPA S300, polega na dodaniu odpowiednich modułów w panelu HW Config. Dodane zostaną dwa moduły CP – 343, CP-343(1), pierwszy posłuży jako programator, drugi jako moduł komunikacyjny.
Rys 4.1 Widok „Racka” konfigurowanego Sterownika VIPA
Kolejnym krokiem w konfiguracyjnym jest ustawienie połączenie Industrial Ethernet w Panelu Konfiguracji Sieci – NetPro.
Rys 4.2 Podłączenie modułów do sieci Ethernet w panelu konfiguracyjnym sieci NetPro
Oba moduły podłączono do sieci Industrial Ethernet.
Tabela 4.1 Adresy i maski podsieci modułów Ethernetowych
Moduł CP-343 | Moduł CP-343(1) |
---|---|
Interfejs komunikacyjny skonfigurowany jako Ethernet, w tej samej podsieci (taka sama maska). | |
Rys 4.5 Okno Konfiguracyjne S7 – Connection
Blok „GET” realizuje funkcję pobierania stanów z wejść sterownika S7-1200 i przypisanie ich do wyjść sterownika S7-300. Blok „PUT” realizuje funkcję przypisania stanów z wejść sterownika S7-300 do wyjść sterownika S7-1200. Aby korzystać z takiego rozwiązania należy skonfigurować protokół S7 –Connection
Na Rys 4.5 przedstawiono przykładową konfigurację jednakże w naszym projekcie Adress posiadał inną wartość ze względu na połączenie w tej samej podsieci co S1200.
SIMATIC S-1200
Konfiguracja sterownika S-1200 polega na ustawieniu odpowiedniego adresu IP , oraz maski podsieci. Sterownik S-1200 posiada jeden port ethernetowy, pełniący funkcję komunikacyjną z drugim sterownikiem, oraz możliwość programowania sterownika.
Rys 4.3 Widok sterownika w programie Automatica
Rys 4.4 Konfiguracja Interfejsu
5. Graf przejść
Rys 5.1 Graf przejść dla maszyny stanów układu wyboru Mastera (układu nadrzędnego)
Tabela 5.1 Opis stanów grafu „Wyboru Mastera”
Stan | Nazwa Stanu | Funkcja pełniąca | Funkcje przejść | Wyjścia oraz funkcje aktywne |
---|---|---|---|---|
„0” | „Stan bezczynności” | Oczekiwanie na zmianę stanu, początek programu | T0→1 „wyb1” T0→2 „wyb2” |
Brak |
„1” | „Napęd Pierwszy Master” | Wybranie Napędu Pierwszego w roli Mastera, czyli układu nadrzędnego działający jako układ z priorytetem w hierarchii uruchomień. „Wybudzenie” maszyny stanów „Rozruch Silnika”, Fizycznie wydanie rozkazu Startu procedury rozruchowej, dla napędu nr 1, kontrolowanego przez Sterwonik 1 S-300. |
T1→0= („awaria drugiego” AND „N2_Master”) OR („stop pomocniczy”) T1→2=”wyb2” |
„N1_Master”, „N2_Slave” |
„2” | „Napęd Drugi Master” | Wybranie Napędu Drugiego w roli Mastera, czyli układu nadrzędnego działający jako układ z priorytetem w hierarchii uruchomień. „Wybudzenie” maszyny stanów „Rozruch Silnika”, Fizycznie wydanie rozkazu Startu procedury rozruchowej, dla napędu nr 2, kontrolowanego przez Sterwonik 2 S-1200. |
T2→0= („awaria drugiego” AND „N2_Master”) OR („stop pomocniczy”) T2→1=”wyb1” |
„N2_Master”, „N1_Slave” |
Warto dodać komentarz do przejścia T2→0 oraz T1→0 - gdy układ znajduję się stanie jednego z „1” bądź „2” stanu, to zostanie zatrzymany (przejdzie do „Stanu bezczynności” ) w momencie wystąpienia „Awarii drugiego” oraz gdy Masterem jest napęd nr 2”, w innym przypadku wystartowałby układ nr 1 jako że wystąpiła awaria napędu z priorytetem. Podobnie jest w przypadku zadziałania w tych stanach („1”, „2”) „stopu pomocniczego”. Konieczność zastosowania tych funkcji wynika z faktu zabezpieczenia układów napędowych przed samoczynnym rozruchem napędu ustawionego jako Slave po naprawie awarii, kolejny rozruch będzie możliwy dopiero po manualnym wyborze jednego z Napędów Masterem( „wyb1”, wyb2”).
Rys 5.2 Graf opisujący maszynę stanów dla „Układu Rozruchowego napędu pierwszego”
Tabela 5.2 Opis stanów grafu „Układu Rozruchowy napędu pierwszego”
Stan | Nazwa Stanu | Funkcja pełniąca | Funkcje przejść | Wyjścia oraz funkcje aktywne |
---|---|---|---|---|
„0” | Bezczynność/Spoczynek | -Oczekiwanie na rozkaz pojawienia się impulsu (sygnału) rozpoczynającego procedurę rozruchową, - Zatrzymanie napędu. |
T0→1={(”N1_Master” AND „stop”) OR (“Awaria drugiego “ AND (P) } AND { “pamięć awarii”} | Brak, Możliwość skasowania ”pamięci alarmu” po ówczesnym jej wystąpieniu |
„1” | Rozruch Napędu/Wolno | -Załączenie wolnego biegu maszyny napędowej, - przygotowanie do pracy, załączenie -zasilania na zaciski maszyny, -sygnalizacja, -włączenie „nasłuchu” kanału alarmowego. |
T1→2=(”T10” (odliczenie do 2s) AND „~stop” AND “~Pamięć awarii “ ) T1→0=”stop pomocniczy” |
„SW_wolno”, „zasilanie”, „praca” |
„2” | Praca właściwa/ Praca | -Załączenie biegu szybkiego -praca właściwa układu napędowego -włączenie „nasłuchu” kanału alarmowego -zasilania na zaciski maszyny, -sygnalizacja, |
T2→0 =(„stop pomocniczy”) OR („N2_Master” AND “~Awaria drugiego”) | „SW_szybko”, „zasilanie”, „praca” |
Ze stanu „2” układ zostanie zatrzymany w momencie niewystępowania „Awarii Drugiego” Oraz przy wyborze „N2_Master”( wybór ten jest jednoznaczny z przełączeniem stanu wyboru master z Napędu 1 na Napęd 2. odpowiedzialne są za to zmienna „wyb2” z grafu „Wybór Mastera”.
Drugą możliwością zatrzymania układu napędowego jest moment wystąpienia awarii w układzie, który aktualnie jest Masterem. (kanał alarmowy -„pamięć awarii”) , bądź stopu („stop”).
Warto zwrócić uwagę że grafy są słuszne dla obu sterowników, w Sterowniku nr 2 zmieniono tylko nazwy zmiennych, co będzie można zauważyć w programie załączonym do sprawozdania.
6. Komunikacja
Wcześniej wspomniane zostało określenie Host, w przypadku bieżącego projektu nazwa ta odnosi się do sterownika który będzie pełnił rolę obsługi odbioru oraz wysyłania pakietów do sieci – w tym przypadku do i z drugiego sterownika.
Hostem będzie Sterwonik nr 1, w jego programie będą zawarte instrukcje odbioru oraz wysyłania danych z sieci, jest to znaczne ułatwienie w tym przypadku gdyż jako projektant możemy skupić się tylko na przydziale pamięci, a interfejs udostępniony przez producenta pozwoli nam na poprawną komunikację.
Rys 6.1 Poglądowy sposób wysyłania i odbierania danych z sieci.
W programie będziemy odbierać ramkę w której interesująca nas cześć będzie miała wielkość 1 bajta. W momencie wystąpienia komendy Get (wystąpienia zapytania Request) dane zapisane w pamięci Sterownika 2 S-1200 zostaną pobrane z pamięci MB41 i zapisane pod adresem MB40 Sterownika 1 S-300.
Podobnie sytuacja wygląda z instrukcji Put , interfejs rozpoznając zapytanie, wysyła z pamięci MB 41 Sterownika 1 S-300 odczytany bajt i zapisując go w pamięci MB40 Sterownika 2 S-1200.
Rys 6.2 Blok instrukcji Get
Rys 6.3 Blok instrukcji Put
Tabela 6.1Opis instrukcji sterujących przepływem informacji w sieci
Instrukcja GET | Instrukcja PUT |
---|---|
Pole | Wartość/Zmienna |
REQ | M50.2 |
ID | W#16#1 |
ADDR_1 | MB41 |
RD_1 | MB40 |
NDR | M20.0 |
ERROR | M20.1 |
STATUS | MW22 |
7. Wnioski
Przedstawiona tutaj koncepcja, sterowania układu rozproszonego działającego w sieci S7 Industrial Ethernet, posiada szereg zalet. Jako jedne z ważniejszych można wymienić fakt że projektant jest zwolniony z fakty oprogramowania komunikacji ręcznie tz. nie musi obsługiwać stosu komunikatów ani tworzyć przerwań(w języku niskiego poziomu), takie rozwiązanie jest proste i w niewielkich układach np. taki jak ten jest zaleta.
Kolejną zaletą jest możliwość podejścia do programowania w sposób bardziej abstrakcyjny tz. skupieniu uwagi na konfiguracjach i topologiach w jakich mają działać, a nie na samym programie oraz jego składni, dodatkowo możliwy jest zastosowaniu model warstwowy który separuje poszczególne obiekty od siebie, zostawiając jedynie interfejs w postaci zmiennych wejściowych wyjściowych – przykładem tutaj może być funkcja kanału alarmowego.
W niniejszym projekcie zastosowano uproszczony sposób sterowania, przepływem informacji w sieci. Do bloków Get oraz Put podłączono sygnał zegarowy, pomniejszony o wartość dzielnika częstotliwości (preskalera). Komunikacja odbywa się cyklicznie/synchronicznie zgodnie taktem zegara odświeżana jest wartość bajtów które zostają wymienione na aktualne. Uważam że dużo dogodniejszym sposobem byłoby wykorzystanie sygnałów DONE z obu instrukcji, pozwalałoby to na asynchroniczne sterowanie przepływem danym. Można by stworzyć dodatkową maszynę stanów sterująca wysyłaniem oraz odbieraniem danych , każdy z ramka mogłaby mieć swój priorytet w hierarchii przerwań które byłyby wyzwalane przez odpowiednie zdarzenia (eventy) na podstawie bitówzajętości. Podejście to podobne jest do tego znanego z mikrokontrolerów gdzie występuje tak zwany Wektor przerwań obsługiwany przez jego kontroler - NVIC.
Układ zaprojektowany spełnia swoją rolę został, przetestowany na dwóch silnikach, podczas testów zaobserwowaliśmy przekazywanie informacji w sieci, silniki w momencie zasymulowanej awarii przykazywały sterowanie do drugiego sterownika, gdy awaria ustąpiła, żaden z napędów nie spowodował samoczynnego rozruchu. Założenia projektowe zostały spełnione.