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