Laboratorium Przemysłowych Systemów rozproszenia

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.


Wyszukiwarka