Instrukcja ćw. 3_1
Transkrypt
Instrukcja ćw. 3_1
Dr inż. Michał Chłędowski PODSTAWY AUTOMATYKI I ROBOTYKI – LABORATORIUM Ćw. S-III.1 STEROWNIK PLC Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z pojęciem układów logicznych kombinacyjnych i sekwencyjnych jako jednym z rodzai układów automatycznej regulacji, oraz ze współczesnymi sposobami ich realizacji. W szczególności zapoznanie się ze sterownikiem GE FANUC serii 90 MICRO IC693UDR005 (jego dane techniczne) oraz praktycznym programowaniem sterownika ZEN10C1 firmy OMRON. Program ćwiczenia 1. Zapoznanie się z podstawami układów logicznych (kombinacyjnych i sekwencyjnych), zakresem ich zastosowań oraz sposobami technicznej ich realizacji. 2. Zapoznanie się ze sterownikiem GE FANUC serii 90 MICRO IC693UDR005 na podstawie literatury 3. Zapoznanie się ze sterownikiem ZEN10C1 firmy OMRON poprzez poznanie szczegółowego firmowego opisu tego sterownika i próbę praktycznego zaprogramowania w czasie zajęć laboratoryjnych Praktyczna realizacja ćwiczenia Część teoretyczna W ramach przygotowania do ćwiczenia należy: • Zapoznać się z problematyką układów logicznych. Należy poznać specyfikę układów logicznych (sygnały binarne), różnicę pomiędzy układami kombinacyjnymi i sekwencyjnymi, obszar możliwych zastosowań, szczególne preferencje a także tradycyjne sposoby ich realizacji (w materiałach firmowych OMRON zwanych „drutowaniem”) oraz współczesne sposoby ich realizacji z wykorzystaniem programowalnych przekaźników. • Zapoznać się z możliwościami sterowników logicznych na przykładzie sterownika średniej wielkości - GE FANUC serii 90 MICRO. Należy to zrobić w oparciu o dostępną literaturę a także poprzez fizyczne zapoznanie się z tego typu sterownikiem. • Zapoznanie się z bogatą literaturą firmową mini sterownika ZEN10C1 firmy OMRON. Z jego danymi technicznymi i sposobem programowania przy pomocy języka drabinkowego. Sposób programowania należy zrozumieć tak, aby w czasie zajęć można było zrealizować proste zadanie sterowania kombinacyjnego. 1 Część doświadczalna Ćwiczący do dyspozycji będą mieć: • Sterownik GE FANUC serii 90 – sterownik w tej chwili jest „teoretycznie” wykorzystywany w stanowisku do metalizacji przelotek w obwodach drukowanych. Stanowisko to jest w tej chwili niesprawne i powstaje pytanie czy go próbować „reanimować” czy też zaproponować inne wykorzystanie sterownika. Propozycje na ten temat mile widziane. • Sterownik ZEN10C1 firmy OMRON, który jest podłączony do zasilania i można go wykorzystać programując bezpośrednio z klawiatury. Do wykorzystania elementy przełączające jako źródła sygnałów wejściowych oraz elementy wyjściowe: lampki, silnik prądu stałego, sygnalizator dźwiękowy. • Sterownik ZEN10C1 firmy OMRON, który jest podłączony do zasilania i złączem RES232 do komputera, na którym jest uruchomione oprogramowanie przeznaczone do programowania w języku drabinkowym te sterowniki. Do wykorzystania elementy przełączające jako źródła sygnałów wejściowych oraz elementy wyjściowe: lampki, silnik prądu stałego, sygnalizator dźwiękowy. Podstawy teoretyczne Układy logiczne kombinacyjne i sekwencyjne Układy logiczne (przełączające) w swoim działaniu wykorzystują sygnały dyskretne, tj. takie, które mogą przyjąć tylko skończoną liczbę wartości. W praktyce największe zastosowanie znalazły układy wykorzystujące sygnały binarne czyli dwuwartościowe (1 lub 0). Wynika to z faktu, że takie, dwustanowe elementy w przyrodzie są najbardziej rozpowszechnione. Występują zarówno w elektronice (stan przewodzenia lub zaporowy) jak i procesach technicznych, w których sterowanie może sprowadzać się do załączania i wyłączania poszczególnych urządzeń. W sposób ogólny dowolny układ logiczny można przedstawić jak na rys. 1 Rys. 1.Symbol dowolnego układu logicznego Zakłada się, że sygnały wejściowe i wyjściowe występujące w tym układzie przyjmują tylko jedną z dwóch wartości. Będziemy je oznaczali symbolami 0 i 1. Są to sygnały logiczne. Oczywiście, ich wartości bezwzględne nie tylko mogą ale najczęściej są inne niż0 i 1. Zwłaszcza jeśli chodzi o logiczną jedynkę. Układzie TTL za „0” przyjmuje się sygnał napięciowy z zakresu 0 – 1,5V a za „1” napięcie z zakresu 3,2 – 5V. Warunki pracy układu logicznego są opisywane przy pomocy funkcji, które mogą również przyjmować wartości 0 lub 1 i zależą od zmiennych (argumentów) będących sygnałami logicznymi czyli zero-jedynkowymi. Operacjami matematycznymi na zmiennych binarnych zajmuje się dwuelementowa (zero-jedynkowa) algebra Boole'a, a funkcje logiczne realizowane przez odpowiednie urządzenia techniczne (przekaźniki elektromagnetyczne lub elektroniczne elementy lo2 giczne) są nazywane funkcjami logicznymi (przełączającymi lub boolowskimi). Układy logiczne dzielą się na kombinacyjne i na sekwencyjne. Układy kombinacyjne to takie, w których aktualne wyjścia układu y1, y2, …, ym w danej chwili zależą wyłącznie od aktualnego stanu wejść układu x1, x2, …, xn. Układy sekwencyjne to takie, w których aktualne wyjścia układu w danej chwili k : y1k, y2k, …, ymk zależą nie tylko od aktualnego stanu wejść układu w chwili k: x1k, x2k, …, xnk, ale również i od historii, tzn. od stanu wejść w chwilach poprzednich (k-1), (k-2), … . Charakterystycznym elementem składowym układów sekwencyjnych są elementy pamiętające. W przekaźnikach i elektronicznych układach logicznych są to przerzutniki, a w cyfrowych układach logicznych także odpowiednie rejestry i specjalizowane komórki pamięci. Zapamiętywane mogą być niekoniecznie bezpośrednio sygnały wejściowe, ale pewne sygnały wewnętrzne, określające stan układu (będące analogicznym pojęciem do zmiennych stanu układów ciągłych i dyskretnych). Głębokość zapamiętywania poprzednich stanów układu zależy od stopnia jego skomplikowania. W ogóle, projektowanie układów logicznych jest dosyć złożonym procesem. Szczegółowe omówienie tych zagadnień można znaleźć w literaturze specjalistycznej (np.[1] ,[2]). Układy logiczne mogą być realizowane bądź to z wykorzystaniem oddzielnych układów logicznych – przekaźników (co do niedawna było jedynym sposobem ich realizacji), bądź wykorzystując programowalne moduły logiczne, czyli tzw. PLC (Programmable Logic Controller). Sterownik programowalny – rys historyczny Historia wynalezienia pierwszego sterownika programowalnego sięga roku 1968, kiedy to grupa inżynierów z firmy General Motors podjęła się realizacji projektu, którego celem było opracowanie konstrukcji uniwersalnego sterownika nowej generacji, przystosowanego do pracy w warunkach przemysłowych. Przyjęto następujące założenia projektowe: • łatwe programowanie i przeprogramowanie w zależności od zmieniających się warunków przemysłowych, • łatwe utrzymanie w ruchu produkcyjnym, • budowa modułowa, zapewniająca prostą naprawę poprzez wymianę uszkodzonych modułów, • mniejsze gabaryty i większa niezawodność w stosunku do instalacji przekaźnikowych, • niższe koszty instalacji w stosunku do przekaźnikowych szaf sterowniczych [5,6]. Prace nad pierwszym sterownikiem programowalnym prowadzone były w Stanach Zjednoczonych równolegle przez pięć firm: Bedford Associates, General Motors, International Instruments, Digital Equipment Corporation i Struthers-Dunn Systems Division. Efektem tych prac było powstanie w 1969r. pierwszego w historii sterownika programowalnego, nazwanego Modicon 084. Posiadał on imponującą jak na owe czasy wielkość pamięci programu - 4kB, a jego konstrukcja ważyła 46kg! Oficjalnym twórca tego sterownika był Richard Morley, założyciel firmy MODICON, której nazwa pochodzi od słów: Modular Digital Control. Początkowo głównym odbiorcą sterowników programowalnych był przemysł samochodowy, który dynamicznie rozwijał się w tym okresie. Jednak już na początku lat 70-tych sterowniki PLC zdobyły ogromną popularność w przemyśle, zastępując stopniowo przekaźnikowe układy sterowania oraz urządzenia sterowania sekwencyjnego, wykorzystujące mechaniczne układy bębnowe i krzywkowe. 3 W połowie lat siedemdziesiątych wprowadzono do produkcji rozproszone moduły wejść-wyjść, które umożliwiały zdalne sterowanie na odległość kilkuset metrów od głównej stacji sterownika, wykorzystując przewodowe sieci komunikacyjne. W latach osiemdziesiątych zaczęto stosować tzw. inteligentne moduły rozszerzeń, które posiadały własne procesory i umożliwiały realizacje złożonych funkcji obliczeniowych. Moda na sterowniki programowalne opanowała szybko cały świat, co zaowocowało zwiększeniem konkurencji wśród producentów, prowadząc pośrednio do obniżenia ich cen. Do wzrostu popularności sterowników przyczyniły się szczególnie firmy japońskie, które wprowadziły do oferty małe, kompaktowe sterowniki programowalne o dużych możliwościach funkcjonalnych, a przy tym były znacznie tańsze od sterowników innych producentów. W latach 90-tych sterowniki PLC były już powszechnie stosowane praktycznie we wszystkich gałęziach przemysłu, zastępując niemalże całkowicie układy sterowania przekaźnikowego czy analogowe układy regulatorów przemysłowych. Wzrastająca popularność komputerów PC oraz dynamiczny rozwój oprogramowania pozwoliły na rozwój możliwości komunikacyjnych sterowników oraz ich integrację z komputerowymi systemami wymiany i analizy danych. Powstały pierwsze systemy sterowania nadrzędnego i gromadzenia danych SCADA (ang. Supervisory Control and Data Acquisition), które znacznie rozszerzyły możliwości ówczesnych systemów sterowania, zapewniając kontrolowany przepływ danych procesowych pomiędzy poszczególnymi warstwami systemu sterowania [5, 6]. Nowoczesne oprogramowanie typu SCADA oferuje następujące funkcje: • wizualizacja stanu i przebiegu procesu przemysłowego, • zdalne sterowanie przebiegiem procesu i jego parametryzacja, • diagnostyka procesu - wyświetlanie ostrzeżeń i sygnalizacja stanów alarmowych, • wsparcie działań operatora procesu (proponowanie działania, system podpowiedzi), • obserwacja i analiza krytycznych zmiennych procesowych, • archiwizacja danych procesowych, • opracowanie raportów, zestawień, wydruków. W ostatnim dziesięcioleciu, szczególnie w branży automatyki procesowej (przemysł chemiczny, spożywczy, farmaceutyczny...) coraz częściej obserwuje się trend zastępowania tradycyjnych, skupionych systemów sterowania, systemami rozproszonymi DCS (ang. Distributed Control System). Systemy DCS zawierają podstawowe elementy automatyki (sterowniki programowalne, przemysłowe sieci komunikacyjne, systemy wizualizacji) i jednocześnie stanowią integralna całość, gdy posiadają wspólna bazę zmiennych procesowych, wykorzystywanych zarówno do sterowania jak i wizualizacji. W systemach DCS powszechnie stosuje się szybkie, rozbudowane sterowniki PLC pracujące pod kontrola systemu operacyjnego czasu rzeczywistego (ang. RTOS – Real Time Operating System), które nadzorują deterministyczne wykonanie wszystkich zadań procesowych oraz potrafią obsłużyć nawet kilka tysięcy zmiennych procesowych. Oprócz tego, w systemach tych szczególnie duży nacisk kładzie się na niezawodność, poprzez stosowanie redundancji sprzętowej i komunikacyjnej (np. dwa równolegle pracujące sterowniki, wielokrotne moduły I/O, podwójny ring światłowodowy, itp.). Ogólnie zasada jest prosta – system sterowania musi pracować niezawodnie, nie ma prawa „zawiesić się”, jeżeli awarii ulegnie sterownik, sieć komunikacyjna lub nawet jeśli pojawia się błędy programowe. Rozproszone systemy sterowania DCS coraz częściej stanowią pomost pomiędzy procesem technologicznym a aplikacjami z branży IT (Technologia Informacyjna - ang. Information Technology). Integracja IT obejmuje aplikacje z zakresu: 4 • ERP (ang. Enterprice Resource Planning) – zarządzanie zamówieniami, logistyka, finanse; • MES (ang. Manufacturing Execution System) – zarządzanie produkcja z analiza i optymalizacja przepływu materiałów, utrzymanie ruchu, zarządzanie przepływem dokumentów. Reasumując, można stwierdzić, że integracja systemów sterowania z nadrzędnymi komputerowymi systemami zarządzania produkcją spowodowała znaczne rozszerzenie funkcjonalne współczesnych systemów automatyki, do zadań których można zaliczyć: • sterowanie procesem technologicznym, • diagnostyka procesu i jego ocena technologiczna, • analiza ekonomiczna przedsiębiorstwa, • planowanie zasobów produkcyjnych, • optymalizacja produkcji. Języki programowania sterowników PLC W normie IEC-1131 zdefiniowanych jest trzy typy języków programowania sterowników PLC: • standard dokumentacji SFC • języki graficzne (LD, FBD) • języki tekstowe (ST, IL). Języki graficzne bardzo często stosowane w praktyce dzielą się na dwie grupy • Język schematów drabinkowych LD • Język schematów blokowych FBD. Każdy program sterujący, bez względu na jego postać, wykonywany jest cyklicznie. Po wykonaniu ostatniej instrukcji (IL) lub szczebla drabiny (LD) program sterujący jest analizowany od początku. Cykl programowy składa się z następujących faz (rys. 2): • obsługa wejść – polega na odczytaniu aktualnych stanów na wejściach sterownika i wpisaniu ich do rejestrów wejściowych • proces wykonania części logicznej programu sterującego (analiza programu) • proces komunikacji poprzez port komunikacyjny z programatorem lub modułami zewnętrznymi oraz przeprowadzenie samo-diagnostyki • obsługa wyjść – polega na uaktualnieniu stanu wyjść, gdyż efektem wykonania programu w danym cyklu może być zmiana wartości rejestrów wyjściowych, którym przypisuje się fizyczne wyjścia sterownika. 5 Rys. 2. Cykl programowy sterownika PLC Język drabinkowy LD umożliwia realizację zadania sterowania za pomocą standaryzowanych symboli graficznych. Symbole te umieszcza się w obwodach w sposób podobny do szczebli (rungs) w schematach drabinkowych (ladder diagrams) dla przekaźnikowych układów sterowania. Obwód (network) jest definiowany jako zbiór wzajemnie połączonych elementów graficznych. Z obwodem może być skojarzona etykieta (label) posiadająca postać nazwy lub liczby dziesiętnej bez znaku zakończonych dwukropkiem. Obwód ograniczony jest z lewej i prawej strony przez szyny prądowe (prawa szyna może pozostać w domyśle). Szyny te nie są elementami obwodu. Stan lewej szyny jest zawsze uważany za ON (stanu prawej szyny nie definiuje się). Rys. 3. Symbole operandów typu styk i cewka Styk – jest to element przekazujący w połączeniu poziomym na prawy biegun styku stan będący wynikiem mnożenia logicznego AND stanu linii łączącej po lewej stronie styku oraz wartości przypisanej mu logicznej zmiennej wejściowej, wyjściowej lub pamięciowej. Styk nie modyfikuje wartości skojarzonej z nim zmiennej. Styk normalnie otwarty (n.o.) przewodzi prąd elektryczny gdy skojarzona z nim zmienna logiczna ma wartość 1. Styk normalnie zamknięty (n.z.) przewodzi prąd gdy skojarzona z nim zmienna logiczna ma wartość 0. Cewka – przekazuje stan połączeń z lewej strony na prawą bez zmian, powodując jednocześnie zapamiętanie stanu połączenia po lewej stronie przez przypisaną jej zmienną 6 logiczną. Zwykła cewka; skojarzona z nią zmienna logiczna ma wartość 1 gdy płynie przez nią prąd lub 0 gdy prąd nie płynie. Negująca cewka ustawia skojarzoną z nią wartość logiczną odwrotnie jak cewka zwykła. OZNACZENIA I SYMBOLE Oznaczenia i symbole stosowane przy tworzeniu programów na sterowniki PLC w języku drabinkowym . Oznaczenie I Q M Rodzaj Opis W każdym sterowniku PLC mają takie samo oznaczenie, mogą być Input (Wejście) przypisywane tylko do symboli styków informują o stanie wejść na sterowniku. W każdym sterowniku PLC mają takie samo oznaczenie, mogą być Output (Wyjście) przypisywane zarówno do symboli cewek (wtedy ustawiają konkretne wyjście sterownika) jak i styków gdzie informują o stanie wyjść . Marker (Zmien- Tym symbolem określa się zmienne wewnętrzne sterownika, wykorzyna wewnętrzna) stywane są jako cewki i styki. Elementy pośrednie programu. styki Symbol Rodzaj Opis |--- - Symbol ten oznacza początek linii, występuje zawsze skrajnie po lewej stronie i jego stan jest równy 1 "TRUE" - lewa strona drabinki. ---| - Symbol ten oznacza koniec linii, występuje zawsze skrajnie po prawej stronie prawa strona drabinki. Stan występujący po lewej stronie jest przenoszony na prawą stronę w momen- --| |-- Boolean cie występowania w przypisanej zmiennej stanu "1 - TRUE" . W każdym innym --| / |-- Boolean cie występowania w przypisanej zmiennej stanu "0 - FALSE". W każdym innym --|P|-- Boolean Stan występujący po lewej stronie jest przenoszony na prawą stronę na jeden przypadku stan z prawej strony równy jest "0 - FALSE" Stan występujący po lewej stronie jest przenoszony na prawą stronę w momenprzypadku stan z prawej strony równy jest "0 - FALSE" cykl programu w momencie przejścia zmiennej ze stanu "0 - FALSE" na "1 TRUE". W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE". Jest to tzw. zbocze narastające ( z ang. positive transition ). W praktyce działanie wygląda w ten sposób, że w momencie pojawienia się sygnału "1" w przypisanej zmiennej sygnał z lewej strony symbolu jest przenoszony tylko w tym samym cyklu wykonywania programu, w cyklu kolejnym nie ma znaczenia utrzy- 7 mywanie się sygnału "1" w przypisanej zmiennej - sygnał nie będzie przenoszony. Stan występujący po lewej stronie jest przenoszony na prawą stronę na jeden cykl programu w momencie przejścia zmiennej ze stanu "1 - TRUE" na "0 FALSE". W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE". --|N|-- Boolean Jest to tzw. zbocze opadające ( z ang. negative transition ). W praktyce działa- nie wygląda w ten sposób, że w momencie pojawienia się sygnału "1" w przypisanej zmiennej sygnał nie jest przenoszony dalej. Sygnał z lewej zostanie przeniesiony dopiero kiedy stan zmiennej zmieni się na "0" i to tylko w tym samym cyklu wykonywania programu. Symbol skoku (z ang. jump) gdzie xxxx to nazwa powiązanej etykiety - Jeżeli z lewej strony symbolu pojawi się "1" zostanie wykonany skok do powiązanej etykiety ( z ang. label ). ---» xxxx - ---« xxxx - Wykonanie skoku oznacza,że linie programu znajdujące się pomiędzy instrukcją skoku a etykietą nie będą wykonywane. Etykieta skoku (z ang. label) gdzie xxxx to jej nazwa - adres docelowy instrukcji skoku. cewki Symbol Typ zmiennej Opis --( )-- Boolean Stan występujący po lewej stronie jest kopiowany do przypisanej zmiennej i na prawą stronę. --( / )-- Boolean Stan występujący po lewej stronie jest kopiowany do przypisanej zmiennej w taki sposób ,że dla stanu "ON" z lewej strony do zmiennej przepisywany jest stan "OFF" i na odwrót. --( P )-- Boolean Do zmiennej jest przepisywany "ON" tylko na jeden cykl programu po zmianie stanu z lewej strony z "OFF" na "ON" tzw. zbocze narastające. --( N )-- Boolean Do zmiennej jest przepisywany "ON" tylko na jeden cykl programu po zmianie stanu z lewej strony z "ON" na "OF" tzw. zbocze opadające. --( S )-- Boolean Stan występujący po lewej stronie jest kopiowany "zatrzaskowo" do przypisanej zmiennej. Powrót zmiennej do stanu "OFF" możliwy jest tylko przy użyciu cewki RESET. -> patrz dalej --( R )-- Boolean W przypadku wystąpienia stanu "ON" po lewej stronie zmienna jest resetowana do stanu "OFF" UWAGA! Na stronie domowej zamieszczam sporo opracowań firmy OMRON jak również osób z innych Instytucji, którzy zajmują się tą tematyką 8 9