Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Temat ćwiczenia: Przystosowanie sterownika SIMATIC do rozwiązania zadania sekwencyjnego sterowania fragmentem procesu technologicznego - program modułowy Numer ćwiczenia: 3 Laboratorium z przedmiotu: Sterowniki i Regulatory 2 Kod: E S 1 C 6 2 0 3 0 5 Opracował: dr inż. Wojciech Trzasko Białystok 2015
1. Wprowadzenie S7-1200 nazywany jest mikro PLC ze względu na swoje niewielkie wymiary. Pomimo ograniczonej liczby wbudowanych wejść obiektowych (14) i wyjść obiektowych (10), S7-1200 może być używany w różnorodnych aplikacjach systemów automatyki, takich jak np. rozruch silnika z nawrotem, wentylacja tunelów, małe systemy antywłamaniowe, sterowanie sygnalizacją uliczną i inne aplikacje przemysłowe. Do programowania sterowników SIMATIC S7-1200 przewidziano w programie narzędziowym STEP7 Basic v11 dwa języki programowania: język schematów drabinkowych LAD - opisany w normie IEC 61131-3 w grupie języków graficznych symbol LD, jezyk schematów blokowych FBD - opisany w normie IEC 61131-3 w grupie języków graficznych, W oparciu o wymagania aplikacji użytkownik podczas tworzenia swojego programu może wybrać dla niego strukturę: - liniową - program liniowy wykonuje wszystkie instrukcje zadania automatyzacji po kolei jedną po drugiej; zwykle program liniowy umieszcza wszystkie instrukcje w OB przeznaczonym do cyklicznego wykonywania Main [OB1]; - modułową - program modułowy wywołuje określone bloki kodu (OB., FB lub FC) do wykonania specyficznych zadań. Rys. 1. Typy bloków Blok organizacyjny OB1 - domyślny blok organizacyjny (OB 1) cyklicznego wykonywania programu użytkownika stanowi podstawową strukturę programu użytkownika i jest jedynym, niezbędnym blokiem kodu wymaganym przez program użytkownika. 3-2
Blok funkcyjny FB - jest podprogramem wykonywanym wtedy, kiedy jest wywołany z innego bloku kodu (OB, FB lub FC). FB ma zmienną pamięć zlokalizowaną w bloku danych DB lub instancji DB. Instancja DB zapewnia blok pamięci skojarzonej z wywołaniem FB i przechowuje dane po zakończeniu działania FB. Bloki DB pozwalają na użycie tego samego FB do sterowania wielu urządzeń. CPU wykonuje program zawarty w FB i zapamiętuje parametry bloku oraz statyczne dane lokalne w danej instancji DB. Gdy wykonanie FB jest zakończone, wtedy CPU powraca do bloku kodu, z którego FB został wywołany. Instancja DB zachowuje wartości wpisane podczas tego wykonania FB. Bloki danych DB są umieszczane w programie użytkownika po to, by przechowywały dane dla bloków kodu: - Globalny DB - przechowuje dane dla bloków kodu programu użytkownika. Dostęp do danych zawartych w globalnym DB ma dowolny OB, FB i FC; - Instance DB - przechowują dane dla określonych FB. Tworzenie bloków kodu do wielokrotnego wykorzystania: - w oknie Project tree z menu Program blocks wybieramy okno dialogowe Add new block - wybieramy jedną z opcji: - blok OB: przerwań cyklicznych, przerwań sprzętowych (wymagane jest aktywowanie wejścia DI i skojarzenie z blokiem obsługi przerwania), przerwania diagnostycznego OB82, bloku obsługi błędu cyklu OB80 (zapobiega przejściu sterownika w tryb STOP po dwukrotnym przekroczeniu czasu cyklu); - blok funkcji FB lub funkcja FC - blok danych DB: globalny lub instance (obowiązkowy przy deklarowaniu bloków FB) - wpisujemy nazwę własną bloku i wybieramy język programowania FBD lub LAD Uwaga: Dla DB nie wybiera się języka programowania, ponieważ ten blok przechowuje tylko dane. Dla bloku FB należy zaznaczyć opcję Standard compatible with S7-300/400 oraz skojarzyć z nim blok danych instance DB - zaznaczamy opcję Manual, aby samemu określić numer bloku - zatwierdzamy OK Rys. 2. Okno Add New block 3-3
Edycja bloku FB przy pomocy zmiennych lokalnych - po utworzeniu bloku FB otwiera się okno edycji bloku - w górnym oknie Interface wprowadzamy zmienne wejściowe oraz wyjściowe: deklarujemy nazwę oraz typ zmiennej - w oknie edycji wybieramy odpowiednie instrukcje i przypisujemy im zmienne lokalne metodą przeciągania z okna górnego - podczas użycia liczników i timerów musimy zadeklarować w oknie Call options opcję Multi instance - wszystkie zmienne lokalne zostaną przepisane do bloku DB po naciśnięciu w oknie Program blocks>data block ikony Updates the interface - wybieramy opcję Retain, aby wszystkie wartości bloku DB były podtrzymane (zapamiętane w obszarze pamięci podtrzymywanej) - utworzony blok FB wywołujemy w głównym bloku organizacyjnym OB1 lub innym bloku (przerwania sprzętowego, przerwania cyklicznego). Rys. 3. Edycja bloku FB Rys. 4. Blok danych instance DB 3-4
Rys. 5. Wywołanie bloku FB z poziomu OB1 Język schematów blokowych FBD Język FBD jest graficznym językiem programowania. Reprezentacja logiki jest w nim oparta na graficznych symbolach. W celu stworzenia logiki złożonych operacji wystarczy połączyć symbole logiczne równoległymi gałęziami. Działania arytmetyczne i inne złożone funkcje mogą być reprezentowane bezpośrednio razem z symbolami logicznymi. STEP 7 nie ma ograniczenia co do ilości instrukcji (wierszy i kolumn) w sieci programowanej w FBD. Adresowanie I/O metodą przeciągnięcia: - dzielimy poziomo obszar roboczy w Widoku projektu - w dolnym oknie otwieramy: - Device configuration - stosujemy przynajmniej 200% powiększenia, aby widoczne były punkty I/O - Program blocks>db - przeciągamy wybrane zmienne do instrukcji FBD w edytorze programu. Dodawanie ogólnego pola instrukcji: - klikamy na pasku Ulubione na ikonę Empty box - naciskamy żółty narożnik bloku?? dla wyświetlenia listy rozwijalnej dostępnych instrukcji, funkcji oraz bloków funkcyjnych - przewijamy w dół listę i zaznaczamy szukaną instrukcję np. ADD - klikamy w żółtym narożniku?, aby wybrać typ danych dla wejść i wyjść - wpisujemy (lub przeciągamy) etykiety (adresy) zmiennych wejściowych i wyjściowych utworzonego bloku. Znaczenie EN i ENO dla instrukcji ramkowych: Dla niektórych instrukcji ramkowych stosuje się parametr power flow zasilanie (EN i ENO). Te parametry są związane z podawaniem zasilania i określają czy instrukcja jest wykonywana podczas cyklu programu: 3-5
- EN - instrukcja ramkowa ma być wykonana, to na jej wejściu musi wystąpić zasilanie (EN=1); - ENO - jeżeli wejście EN bloku LAD jest bezpośrednio połączone do szyny zasilania z lewej strony, to wtedy instrukcja ramkowa zawsze będzie wykonana. Jeżeli na wejściu EN bloku jest zasilanie i funkcje bloku są wykonane bez błędów, to ENO przekazuje zasilanie (ENO=1) do następnego elementu. Jeżeli zostanie wykryty błąd podczas wykonywania instrukcji z bloku, to przekazanie zasilania jest zatrzymywane (ENO=0) na tej ramce z instrukcjami, w której został wygenerowany błąd. Podłączenie zasilania do EN i ENO na stałe symbolizowane jest poprzez (patrz rys. 5). Uwaga: Opis najważniejszych funkcji i bloków funkcyjnych znajduje się w pliku: Step7_instrukcje_funkcje.pdf 3-6
2. Cel ćwiczenia. Praktyczne opanowanie programowania sterownika S7-1200 polegające na samodzielnym tworzeniu aplikacji sterowania dla wybranych obiektów z wejściami i wyjściami cyfrowymi. Doskonalenie praktycznych umiejętności posługiwania się językami programowania PLC język schematów blokowych FBD. Tworzenie programu modułowego z wykorzystaniem funkcji FC, bloków FB oraz bloków danych DB. 3. Metodyka badań. Stanowisko badawcze Ćwiczenie przeprowadzane jest w dwuosobowych grupach przy stanowisku PLC. Podstawowe wyposażenie stanowiska laboratoryjnego PLC: sterownik - SIMATIC S7 1214 programator - komputer PC ethernetowy kabel połączeniowy oprogramowanie TIA Portal Step7 Basic v11 obiekt sterowany - modele układów sterowania. Uwaga: Prze przystąpieniem do ćwiczenia należy wybrać obiekt sterowania i przygotować w domu algorytm sterowania procesem (zapisany w postaci sieci SFC lub GRAFCET). Przebieg ćwiczenia: 1. Uruchomić stanowisko PLC wybrać dowolną płytkę z zestawu modeli udostępnionych przez Prowadzącego, ustalić i zdefiniować wejścia i wyjścia pomiędzy PLC i modelem układu, podłączyć zasilanie 24 VDC do sterownika i modelu, przeprowadzić konfigurację sprzętową sterownika. 2. Przygotować program modułowy obsługi PLC: utworzyć blok danych DB typu globalnego dla wejść, wyjść i używanych zmiennych pamięciowych, na podstawie zatwierdzonego algorytmu sterowania procesem podzielić program użytkownika na funkcje i bloki funkcyjne (co najmniej jeden blok FB i skojarzony z nim blok instance DB), ewentualnie użyć blok przerwania cyklicznego OB35. w oknie roboczym Program block>main [OB1] z wykorzystaniem zdefiniowanych bloków utworzyć aplikację na S7-1214 używając języka schematów blokowych. 3. Przeprowadzić próby na obiekcie: Przeprowadzić wielokrotne próby sterowania obiektem, zaobserwować działanie wszystkich wejść i wyjść, w razie potrzeby dokonać poprawek w aplikacji. Prezentacja i analiza wyników badań. Wynikiem pracy grupy laboratoryjnej jest działająca aplikacja na sterownik S7-1214 przedstawiona prowadzącemu w czasie zajęć. Wnioski i uwagi, jakie nasunęły się podczas wykonywania prób na układzie, należy zamieścić w sprawozdaniu. Do sprawozdania należy dołączyć wszystkie pliki projektu (*.ap11). 3-7
4. Wymagania BHP Warunkiem przystąpienia do ćwiczenia jest zapoznanie się z instrukcją BHP stosowaną w Laboratorium i ogólnymi zasadami pracy przy stanowisku komputerowym. Instrukcje te powinny być podane studentom podczas pierwszych zajęć laboratoryjnych i są dostępne do wglądu w Laboratorium. W trakcie wykonywania ćwiczenia należy zachować szczególną ostrożność przy podłączeniu urządzeń do zasilania 230 VAC. Wszelkich połączeń pomiędzy elementami automatyki (w tym połączeń sieci Profinet) oraz zmian w konfiguracji stanowiska badawczego należy wykonywać przy odłączonym zasilaniu (np. odłączonym wyjściu 24 VDC zasilacza SITOP). 5. Sprawozdanie studenckie Sprawozdanie z ćwiczenia powinno zawierać: stronę tytułową zgodnie z obowiązującym wzorem; cel i zakres ćwiczenia; opis stanowiska badawczego; opis przebiegu ćwiczenia z wyszczególnieniem wykonywanych czynności; algorytm sterowania procesem (sieć GRAFCET lub SFC); listing opracowanego programu (wersja elektroniczna); wnioski i uwagi. Na ocenę sprawozdania będą miały wpływ następujące elementy: ogólna estetyka - 10%; zgodność zawartości z instrukcją - 20%; program modułowy (zgodny z algorytmem sterowania procesem) - 40%; wnioski i uwagi - 30%. Sprawozdanie powinno być wykonane i oddane na zakończenie ćwiczenia, najpóźniej na zajęciach następnych. Sprawozdania oddane później będą ocenione niżej. 6. Literatura: 1. Kamiński K.: Podstawy sterowania z PLC, GRYF 2009. 2. Kręglewska U., Ławryńczuk M., Marusak P.: Control laboratory exercises, Oficyna Wydawnicza PW, Warszawa 2007. 3. Kwaśniewski J.: Sterowniki PLC w praktyce inżynierskiej, Wydawnictwo BTC, Legionowo 2008. 4. Norma IEC 61131 Sterowniki programowalne 5. Dokumentacja techniczna firmy Siemens: www.automatyka.siemens.pl - Siemens S7 1200 Easy book v 11/2011 - SIMATIC S7 Programowalny sterownik S7-1200: Podręcznik systemu, v 04/2009 - S7-1200 oraz STEP7 Basic V10.5 Ćwiczenia, 2009 3-8
Opis dostępnych modeli 1. Układ przełączający trójkąt-gwiazda Model silnika elektrycznego trójfazowego: układ zabezpieczający, rozruch gwiazda-trójkąt, sterowanie lewo-prawo. Położenie styków styczników wskazywane są przez diody LED (stycznik załączony (styki zwarte) - LED on), a sygnały sterujące podawane są jako potwierdzenia zwrotne. Wybór funkcji: lewo, prawo, stop - klawiszami na płytce modelu, a wytwarzane sygnały są kontrolowane programowo. Wejścia : K1- stycznik prawo K2- stycznik lewo K3- stycznik trójkąt Wyjścia: K4- stycznik gwiazda K1 24 -załączony stycznik prawo K2 24 -załączony stycznik lewo K3 24 -załączony stycznik trójkąt K4 24 -załączony stycznik gwiazda C.W- start prawo C.C.W - start lewo Stop - wyłączenie silnika Zadanie do wykonania: Program sterujący modelem silnika powinien zapewniać następujące funkcje: rozruch silnika gwiazda-trójkąt po załączeniu C.W lub C.C.W zmianę kierunku wirowania silnika (nawrót silnika : wyhamowanie poprzez wybieg - rozruch gwiazda - trójkąt ) wyłączenie silnika po uaktywnieniu stop (wyhamowanie przez wybieg, zabezpieczenie przed kolejnym załączeniem przed zakończeniem wybiegu). 3-9
2. Instalacja antywłamaniowa Model domowego systemu alarmowego: włącznik główny alarmu, dwa czujniki okienne, czujnik drzwi wejściowych, czujnik zabezpieczający podejście do budynku. System alarmowy włączany i wyłączny jest przez włącznik główny (wskazanie zieloną diodą LED). Alarm sygnalizowany jest optycznie (czerwona dioda LED) i akustycznie przy pomocy brzęczyka. Wejścia: V1 - sygnalizacja optyczna (czerwona LED) V2 - sygnalizacja akustyczna (brzęczyk) V3 - sygnalizacja załączenia (zielona LED) Wyjścia: Q1 - włącz/ wyłącz alarm Q2 - czujnik drzwi Q3 - czujnik okno1 Q4 - czujnik okno2 Q5 - czujnik zbliżeniowy. Zadanie do wykonania: uaktywnienie alarmu i uzbrojenie (włącznik główny - ON) czas zwłoki (stan uzbrojenia sygnalizuje pulsowanie zielonej diody) około 5s, od tej pory zielona dioda LED sygnalizuje działanie systemu, działają czujniki zabezpieczające dom, zabezpieczenie podejścia do budynku - uaktywnienie czujnika zbliżeniowego powinno spowodować migotanie sygnalizatora optycznego, zabezpieczenie drzwi i okien - uaktywnienie czujników (drzwi, okna1, okna2) powinno spowodować alarm optyczny i dźwiękowy, aż do wyłączenia systemu (alarm akustyczny 1s On/1s off). 3-10
3. Uliczna sygnalizacja świetlna. Model sygnalizacji ulicznej na skrzyżowaniu drogi głównej z podporządkowaną i przejściem dla pieszych: sygnalizatory jezdni głównej, sygnalizator jezdni bocznej z pętlą wykrywania pojazdów, przejście dla pieszych z przyciskami żądania zmiany świateł. Załączenie światła zielonego dla pieszych następuje na żądanie - włączniki S1, S2. Załączenie światła zielonego dla drogi podporządkowanej za pomocą pętli indukcyjnej - włącznik S3. Wejścia: Wyjścia: Q0-zielone (droga podporządkowana) Q1- żółte (droga podporządkowana) Q2 - czerwone (droga podporządkowana) Q3 - zielone (przejście dla pieszych) Q4 - czerwone (przejście dla pieszych) Q5-zielone (droga główna) Q6- żółte (droga główna) Q7 - czerwone (droga główna) S1 i S2 - żądanie zielonego światła S3 - pętla indukcyjna załączająca zielone światło dla drogi podporządkowanej. Zadanie do wykonania: utrzymanie zielonego światła dla drogi głównej, (co najmniej 20 s pomiędzy kolejnymi zmianami wywołanymi przez: na żądanie lub pętla indukcyjna ), obsługa przejścia dla pieszych - na żądanie (S1 lub S2 On); cykl zmiany świateł (10 s - pomarańczowe światło, 20 s - zielone światło dla pieszych, 10 s - pomarańczowe światło, czerwone światło), obsługa drogi bocznej - wykrywanie liczby pojazdów oczekujących i czasu oczekiwania pierwszego pojazdu (2 pojazdy lub 20s oczekiwania - powoduje zmianę świateł); cykl pracy (1s pomarańczowe/czerwone światło, 20s - zielone światło, 1s pomarańczowe światło, 10s czerwone światło). 3-11
4. System wentylacji tunelu. Model tunelu drogowego: trzy wentylatory, cztery czujniki zanieczyszczenia powietrza w tunelu, sygnalizacja świetlna przed wjazdem do tunelu, czujnik natężenia ruchu w tunelu. Cztery czujniki zanieczyszczenia (I 1, I 2, I 3, I 4 ) kontrolują stan zanieczyszczenia powietrza w tunelu. Układ sterowania wentylacją, w zależności od zanieczyszczenia, może reagować załączając od 1 do 3 wentylatorów przewietrzających (M 1, M 2, M 3 - wskazanie czerwonymi diodami LED), a w sytuacji awaryjnej poprzez zamknięcie tunelu dla ruchu za pomocą sygnalizacji świetlnej ( 3 diody LED). Dodatkowo można regulować natężenie ruchu w tunelu poprzez pętlę indukcyjną (włącznik I 5 ). Wejścia: M 1 - wentylator 1 M 2 - wentylator 2 M 3 - wentylator 3 L 1 - zielone światło L 2 - pomarańczowe światło L 3 - czerwone światło Wyjścia: I 1 - czujnik 1 I 2 - czujnik 2 I 3 - czujnik 3 I 4 - czujnik 4. Zadanie do wykonania: kontrola zanieczyszczenia - przy zadziałaniu I 1 włącza się M 1, przy zadziałaniu I 2 włącza się M 2, przy zadziałaniu I 3 włącza się M 3, kontrola ruchu - przy zadziałaniu mniej niż czterech czujników zanieczyszczenia - załączone światło zielone; przy zadziałaniu trzeciego czujnika i przy natężeniu ruchu większym niż trzy pojazdy w tunelu - zmiana sygnalizacji świetlnej na czerwoną na czas 20s, stan awaryjny - zadziałanie czterech czujników - zmiana światła na czerwone do czasu zmiany stanu zanieczyszczenia w tunelu. 3-12