LABORATORIUM TECHNIKI CYFROWEJ Zastosowanie układów logiki reprogramowanej do sterowanie modelem wciągarki dr inż. Krystyna Maria Noga Akademia Morska, Wydział Elektryczny Katedra Automatyki Okrętowej Gdynia 2013
1. Wstęp Celem ćwiczenia jest zapoznanie studentów z możliwościami sterowania fizycznym modelem obiektu za pomocą cyfrowych układów logicznych. Obiektem sterowanym jest model wciągarki. Model wciągarki może być sterowany następującymi układami cyfrowymi: standardowymi układami logicznymi wykonanymi w technologii TTL, układami wykonanymi w technologii CMOS zasilanymi napięciem 5V, układami programowalnymi wykonanymi w technologii zgodnej ze standardem TTL, innymi układami sterującymi zgodnymi z technologią TTL. Układ sterowania wciągarką został wykonany tak, aby obciążenie wyjść układów logicznych było minimalne i nie zakłócało pracy układów cyfrowych. W przypadku wykorzystania układów CPLD zalecane jest użycie języka opisu sprzętu VHDL, co umożliwia sterowanie modelem przy pomocy sygnałów wejściowych występujących w danej chwili czasu (implementowany układ sterujący jest układem kombinacyjnym). Możliwe jest również wykonanie kolejno kilku różnych czynności, wówczas układ sterujący jest układem sekwencyjnym. Podobny sposób sterowania może być zrealizowany za pomocą cyfrowych układów logicznych wykonanych w różnych technologiach. Zadaniem studenta jest opracowanie algorytmu pracy modelu opisanego za pomocą funkcji logicznych, synteza logiczna projektu i implementacja tego algorytmu w układach cyfrowych wykonanych w wybranej technologii. Ocena poprawności wykonania projektu jest dokonywana na podstawie obserwacji pracy modelu wciągarki. 2. Elementy składowe rzeczywistej wciągarki Wciągarka cumownicza Producentem omawianej wciągarki cumowniczej jest firma TOWIMOR z Torunia [3]. Wciągarka zawiera następujące części składowe elektryczne: silnik napędowy, hamulec, szafka stycznikowa, kolumna sterownicza, regulator uciągu. Opis techniczny napędu wciągarki Wyróżnia się dwa rodzaje sterowania napędem wciągarki: sterowanie ręczne, oraz sterowanie automatyczne. Zarówno wybieranie jak i wydawanie liny odbywa się przy trzech prędkościach obrotowych silnika: pierwszy bieg służy do zwiększania siły naciągu liny (przy pracy automatycznej), wciągnięcia kotwicy do kluzy, drugi bieg służy do wybierania lin z prędkością znamionową, trzeci bieg służy do wybierania liny z dużą prędkością, z siłą nie przekraczającą 20% siły znamionowej. Sterowanie ręczne Schemat sterowania napędem został przedstawiony na rysunkach 1 i 2. Po włączeniu wyłącznika bezpieczeństwa S1 stycznik K14 włącza się w następujących przypadkach: przekaźnik termistorowy A1 jest włączony, tzn. czujnik nie sygnalizuje przekroczenia temperatury dopuszczalnej w uzwojeniach silnika, dźwignia zadajnika znajduje się w położeniu neutralnym 0, przekaźnik kontroli faz K13 jest włączony, tzn. we wszystkich fazach jest właściwe napięcie i kierunek wirowania faz jest zgodny z przyjętym,
K39 jest bez napięcia, tzn. nie jest załączone sterowanie zdalne, jednocześnie z włączeniem K14 następuje załączenie przekaźnika sterowania ręcznego K8. Przełączenie dźwigni zadajnika w kierunku wybieranie (wydawanie) powoduje włączenie przekaźnika pomocniczego kierunku K15(16), który włącza główny stycznik kierunkowy K1(2). Jeżeli dźwignia zadajnika znajduje się w położeniu 1 bieg to K3 (stycznik 1 biegu) jest włączony. Jednocześnie z włączeniem K1(2) i stycznika 1 biegu K3 następuje włączenie stycznika cewki zwalniaka hamulca K10, zwolnienie hamulca i winda pracuje na 1 biegu. Przemieszczenie dźwigni zadajnika S3 w pozycję 2 lub 3 bieg powoduje podanie napięcia na cewkę przekaźnika czasowego K24. Jednocześnie następuje włączenie styczników 2 biegu K4 i K5. Uzwojenie jest włączone w podwójną gwiazdę. Przełożenie dźwigni zadajnika S3 na 3 bieg powoduje włączenie przekaźnika K36, wyłączenie styczników 2 biegu K4 i K5 oraz włączenie stycznika szybkiego biegu K6 i K6.1. Warunkiem do włączenia tych styczników jest załączenie przekaźnika pomocniczego K32. Załączenie K32 oznacza, że siła naciągu w linach jest mniejsza niż 20% siły znamionowej. Jeżeli siła naciągu przekroczy 20% siły znamionowej, wtedy K32 odpada i silnik przechodzi na 2 bieg. Napęd posiada blokadę uniemożliwiającą pracę na 1, 2 i 3 biegu gdy: nie jest załączony przekaźnik sterowania ręcznego K8, przez cewkę stycznika hamulca nie płynie prąd, oraz blokadę 2 i 3 biegu gdy obciążenie jest większe od 120% Q n, Prąd cewki hamulca jest kontrolowany przez przekaźnik nadprądowy K40. Kiedy K40 jest wyzwolony, wtedy niemożliwe jest załączenie K11 i za pośrednictwem jego styku rozwiernego (NC) nastąpi włączenie silnika na bieg 2 lub 3. Zabezpieczenie to chroni tarcze hamulca przed spaleniem, kiedy obwód zasilający cewkę hamulca jest przerwany lub jeśli jest spalona. Dla ograniczenia prądu rozruchowego przy ostrym rozruchu z pozycji 0 na 3 bieg zastosowano przekaźnik czasowy K24. Przekaźnik ten powoduje pracę silnika przez jedną sekundę na 2 biegu, zanim wejdzie na 3 bieg. W tym czasie zmniejsza się prąd rozruchowy 2 biegu do wartości znamionowej. Jeśli puścimy dźwignię zadajnika, wraca ona do położenia 0. Przekaźnik czasowy K25 powoduje, że przy wyłączeniu 3 biegu silnik pracuje jeszcze sekundę na 2 biegu i sekundę na 1 biegu, dopiero po tym czasie zadziała hamulec. Natomiast w przypadku wciśnięcia wyłącznika bezpieczeństwa hamulec zadziała natychmiast.
Rys. 1. Schemat zasilania napędu wciagarki cumowniczej
Rys. 2a. Schemat sterowania napędem wciagarki cumowniczej
Rys. 2b. Schemat sterowania napędem wciągarki cumowniczej (ciąg dalszy)
Sterowanie automatyczne Sterowanie automatyczne służy przede wszystkim do utrzymania siły uciągu w ustalonych granicach. Jeżeli siła uciągu jest zawarta w określonym przedziale, wtedy silnik nie pracuje i jest zahamowany przez hamulec. W pracy automatycznej rozróżnia się dwa zakresy nieczułości, w których napęd nie pracuje: 20% Q n 60% Q n, 40% Q n 120% Q n. Do systemu pomiarowo regulacyjnego należą: oś pomiarowa wraz ze wzmacniaczem, mikrosterownik. Oś pomiarowa jest wbudowana w przekładni. W gniazdach pomiarowych osi znajdują się tensometry. Napięcia osi, które powstały na skutek obciążenia, powodują wytworzenie sygnału elektrycznego. Sygnał wzmacniany jest we wstępnym wzmacniaczu, dalej jest on przetwarzany w mikrosterowniku, który realizuje następujące funkcje: zbiera i opracowuje informacje o sile naciągu lin, przeprowadza obliczenia matematyczne, kieruje pracą silnika i hamulca. Jeżeli napęd ustawiony jest na pracę automatyczną to nie reaguje na położenie dźwigni zadajnika w kierunku wybierania liny. W każdej chwili natomiast można wydać linę. Przy automatycznej pracy wybieranie liny odbywa się z jedną prędkością a wydawanie przy zwolnionym hamulcu (silnik jest wówczas wyłączony). 2. System sygnalizacji i zabezpieczeń Sygnalizacja W kolumnie sterowniczej umieszczono następujące lampki: H3 załączenie sterowania lampka biała, H4 załączenie automatyki lampka zielona, H5 przeciążenie silnika przy pracy ręcznej i obciążeniu Q>120% lampka czerwona. Ponadto na drzwiach urządzenia sterującego znajduje się lampka H1 sygnalizująca załączenie napięcia zasilania lampka biała. Występowanie awarii w czasie pracy może być sygnalizowane personelowi poprzez rozwarcie styków przekaźników włączonych do centralnego układu alarmowego statku pomiędzy zaciskami A-X2:16 i A-X2:17. Przerwanie obwodu alarmowego występuje w następujących przypadkach: gdy zostanie przekroczona dopuszczalna temperatura uzwojeń (A1, A2), brak jednej fazy lub zła kolejność wirowania faz w zasilaniu (K13), po zadziałaniu zabezpieczenia hamulca (K11) brak prądu w obwodzie cewki hamulca, gdy podczas pracy automatycznej wydawanie liny trwa dłużej niż 5 sek. (K33). Zabezpieczenia Silnik posiada następujące zabezpieczenia: zabezpieczenie termiczne uzwojeń przekaźnik termistorowy A2 dla 140 C, A1 dla 160 C, zabezpieczenie zaniku napięcia zasilania K14, które powoduje wyłączenie obwodu sterowania (wyłączenie silnika). Przekaźnik A1 działa, jeśli temperatura uzwojeń 1 biegu przekroczy 160 C. Silnik posiada ponadto grupę czujników termistorowych (6 szt.) przyłączonych do przekaźnika A2 przy temperaturze 140 C. W przypadku zadziałania A2 dochodzi do wyłączenia 2 oraz 3 biegu silnika i jest możliwa praca wyłącznie na 1 biegu. Urządzenie wyposażono również w grzałki grzania postojowego znajdujące się w szafkach sterowniczych i w silniku, które zostają włączone po wciśnięciu wyłącznika bezpieczeństwa.
3. Opis działania programu sterującego W celu uruchomienia symulatora należy załączyć zasilanie łącznikiem B1 zamontowanym na boku symulatora (zapali się czerwona dioda Q1), a następnie załączyć łącznik S1 (wyłącznik bezpieczeństwa). Strukturę programu wzorcowego zaprojektowano w taki sposób, że wszystkie operacje logiczne zostały zrealizowane na zmiennych wewnętrznych, które reprezentują poszczególne stany pracy windy. 3.1. Opis zmiennych wykorzystywanych w programie W programie wykorzystywane są zmienne wejściowe oraz wyjściowe dwustanowe. Wejścia dwustanowe Wejście dyskretne reprezentuje zmienna I. Przyjmujemy następujące oznaczenia: IP manetka S3 w pozycji 1 bieg wybieranie (podnoszenie), IIP manetka S3 w pozycji 2 bieg wybieranie (podnoszenie), IIIP manetka S3 w pozycji 3 bieg wybieranie (podnoszenie), IO manetka S3 w pozycji 1 bieg wydawanie (opuszczanie), IIO manetka S3 w pozycji 2 bieg wydawanie (opuszczanie), IIIO manetka S3 w pozycji 3 bieg wydawanie (opuszczanie), 0 manetka S3 w pozycji 0 (winda nie pracuje), Wyjścia dwustanowe Wyjście dyskretne reprezentują sygnały K i, sygnalizatory biegów 1B, 2B i 3B oraz sygnały sterowania hamulca K10 i HA. Przyjmujemy następujące oznaczenia: K1 załączenie stycznika kierunkowego (wybieranie), K2 załączenie stycznika kierunkowego (wydawanie), K3 załączenie stycznika 1 biegu, K4 załączenie stycznika 2 biegu, K5 załączenie stycznika 2 biegu przełączającego uzwojenia silnika, K6 załączenie stycznika 3 biegu, B1 sygnalizacja 1biegu, B2 sygnalizacja 2 biegu, B3 sygnalizacja 3 biegu, K10 załączenie stycznika hamulca, HA sygnalizacja hamulca. Przełącznik S3 w pozycji 0 (STOP) W przypadku, gdy manetka przełącznika znajduje się w pozycji 0, to na wejściu 0 pojawia się H. Hamulec (sygnały K10 i HA) powinien być zablokowany, załączony może pozostać tylko stycznik K6. Na sygnalizatorach załączonego biegu nie powinien pojawić się żaden sygnał. Wartości poszczególnych zmiennych wejściowych i wyjściowych układu sterowania zawarte są w tabeli 3.1. Tabela 3.1. Wartości logiczne sygnałów wejściowych i wyjściowych w pozycji STOP Wejścia Wyjścia IIIO IIO IO O IP IIP IIIP 3B 2B 1B HA K10 K6 K5 K4 K3 K2 K1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0
Przełącznik S3 w pozycji 1 bieg wybieranie W tej pozycji stan wysoki jest na wejściu IP. Należy załączyć stycznik kierunkowy K1 i stycznik uzwojenia pierwszego biegu K6 oraz zwolnić hamulec elektrodynamiczny. Sygnalizator pierwszego biegu 1B powinien zostać uaktywniony. Wartości poszczególnych zmiennych wejściowych i wyjściowych układu sterowania zawarte są w tabeli 3.2. Tabela 3.2. Wartości logiczne sygnałów wejściowych i wyjściowych w pozycji IP Wejścia Wyjścia IIIO IIO IO O IP IIP IIIP 3B 2B 1B HA K10 K6 K5 K4 K3 K2 K1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 Przełącznik S3 w pozycji 2 bieg wybieranie Stan wysoki pojawia się na wejściu IIP. Należy załączyć stycznik kierunkowy K1 i styczniki uzwojeń drugiego biegu K4 i K5 oraz zwolnić hamulec elektrodynamiczny. Sygnalizator drugiego biegu 2B powinien zostać uaktywniony. Wartości poszczególnych zmiennych wejściowych i wyjściowych układu sterowania zawarte są w tabeli 3.3. Tabela 3.3. Wartości logiczne sygnałów wejściowych i wyjściowych w pozycji IIP Wejścia Wyjścia IIIO IIO IO O IP IIP IIIP 3B 2B 1B HA K10 K6 K5 K4 K3 K2 K1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 Przełącznik S3 w pozycji 3 bieg wybieranie Stan wysoki pojawia się na wejściu IIIP. Należy załączyć stycznik kierunkowy K1 i stycznik uzwojenia trzeciego biegu K3 oraz zwolnić hamulec elektrodynamiczny. Sygnalizator drugiego biegu 3B powinien zostać uaktywniony. Wartości poszczególnych zmiennych wejściowych i wyjściowych układu sterowania zawarte są w tabeli 3.4. Dla przeciwnych kierunków załączany jest stycznik kierunkowy K2, przy czym K1 i K2 nie mogą być załączone równocześnie. Tabela 3.4. Wartości logiczne sygnałów wejściowych i wyjściowych w pozycji IIIP Wejścia Wyjścia IIIO IIO IO O IP IIP IIIP 3B 2B 1B HA K10 K6 K5 K4 K3 K2 K1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 Przełożenie manetki S3 z pozycji 3 bieg wybieranie w pozycję 3 bieg wydawanie Na 3 biegu wybierania stan wysoki H jest na wejściu IIIP. Podczas manewru zmiany położenia manetki z pozycji 3 bieg wybieranie w pozycję 3 bieg wydawanie stan wysoki H pojawia się na wejściu IIIO. Mimo to silnik pracuje na 2 biegu w kierunku wybieranie (hamowanie odzyskowe) przez czas nastawiony na bloku czasowym (timerze) R20, a następnie na 1 biegu w kierunku wybieranie (hamowanie odzyskowe) przez czas nastawiony na bloku czasowym (timerze) R1. Po zatrzymaniu silnika przez hamulec na czas ustalony przez blok czasowy R10 zmienne silnik zaczyna pracować na 3 biegu wydawania. Symulację pracy bloków czasowych można symulować poprzez wprowadzenie do programu liczników zliczających określoną ilość impulsów zegarowych. Zasada działania hamulca Zasada działania zwalniaka elektromagnetycznego (hamulca) polega na tym, że przy stanie beznapięciowym hamuje (trzyma) wirnik silnika. Po otrzymaniu napięcia elektromagnes przyciąga tarczę i zwalnia wirnik (przestaje hamować). W symulatorze hamulec trzyma, gdy zmienna K10 przyjmuje stan logiczny niski L, natomiast puszcza, gdy zmienna ta przyjmuje stan wysoki H. Stan H powinien być przyjmowany, gdy manetka S3 jest ustawiona na jednym z biegów.
4. Opis symulatora windy cumowniczej Symulator windy cumowniczej pierwotnie wykonano w ramach pracy dyplomowej [1], przy czym wówczas do sterowania wykorzystano sterownik Fanuc. W obecnej wersji wykorzystano jedynie obudowę poprzedniego stanowiska. Natomiast do sterowania został wykorzystany układ programowalny CPLD, język programowania sprzętu VHDL oraz środowisko graficzne Max Plus II Baseline (można przygotować oprogramowanie również w środowisku Quartus). Na płycie głównej znajduje się manetka przełącznika S3 służąca do załączania poszczególnych biegów napędu windy. Widok płyty głównej symulatora przedstawiono na rysunku 3. Diody sygnalizacyjne załączane są za pośrednictwem tranzystorów. Ponadto z przodu symulatora wyprowadzono gniazda służące do podłączenia sygnałów sterujących oraz wyłącznik bezpieczeństwa S1 (rys. 4 gniazda oznaczone jako IIIO, IIO, IO, O, IP, IIP, IIIP służą do połączenia symulatora z wejściami układu sterowania, natomiast gniazda oznaczone jako 3B, 2B, 1B, HA, K10, K6, K5, K4, K3, K2, K1 do połączenia z wyjściami. Z lewej strony symulatora umieszczono łącznik B1 doprowadzający zasilanie.
5V IIIO IIO IIO O K1 K2 K3 K4 K5 K6 GND IP IIP IIIP S1 K10 HA 1B 2B 3B S1 WYJŚCIA ZADAJNIKÓW WEJŚCIA NA DIODY Rys. 4. Rozmieszczenie gniazd podłączeniowych symulatora
5. Zestaw uruchomieniowy do sterowania modelem wciągarki za pomocą układu CPLD W laboratorium dostępny jest zestaw uruchomieniowy służący do sterowania symulatorem wciągarki [4]. Do dyspozycji projektanta jest 16 wejść binarnych i 16 wyjść binarnych, których stan wskazywany jest na diodach LED. Ponadto w zestawie znajdują się dwa wyświetlacze 7-segmentowe, przycisk RESET układu CPLD, monitor LCD oraz gniazda do podłączenia zewnętrznego generatora zegarowego i interfejsu JTAG. Wszystkie połączenia zestawu z symulatorem wciągarki realizowane są za pomocą specjalnie wykonanych kabli zawierających złącza do poszczególnych zestawów wejść i wyjść. Wtyczkę wejść (wyjść symulatora) należy podłączyć do gniazda wejść 5V (zgodnie z rys. 5a), wtyczkę pierwszych sześciu wyjść (wejść symulatora) należy włożyć do gniazda po lewej stronie płytki opisem skierowanym w lewo (rys. 5b), wtyczkę kolejnych pięciu wejść należy włożyć do gniazda po prawej stronie płytki opisem skierowanym w prawo (rys. 5c). Przewody zakończone wtykami radiowymi, należy włożyć do gniazd znajdujących się na przedniej ściance symulatora wciągarki zgodnie z opisem na tych przewodach. Dzięki temu uzyskuje się połączenie wszystkich 7 wyjść symulatora i 11 wejść z układem sterującym. Nie należy łączyć zestawu uruchomieniowego z symulatorem za pomocą indywidualnych przewodów za wyjątkiem kabla zasilania Vcc/GND, który należy włożyć do gniazd +5V i GND na panelu czołowym symulatora. Pełna lista wyprowadzeń podana jest w tabeli 5.1. Tabela 5.1. Lista wyprowadzeń w rozbudowanym zestawie laboratoryjnym Wejścia Wyjścia Sygnał Wyprowadzenie CPLD na opisie dzenie CPLD LED na opisie Oznaczenie Wyprowa- Dioda Oznaczenie Sygnał I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I13 I14 I15 I16 34 33 31 35 36 37 39 40 41 50 49 52 51 55 54 56 IIIP IIP IP O IO IIO IIIO * O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 O11 O12 O13 O14 O15 O16 28 24 22 20 21 18 17 16 70 69 68 67 65 64 63 60 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 K6 K5 K4 K3 K2 K1 K10 HA 3B 2B 1B Wyświetlacz W1 Wyświetlacz W2 a b c d e f g DP 5 6 9 10 11 15 12 8 a b c d e f g DP 74 73 75 77 79 80 81 76 * wyprowadzenie niewykorzystane przy połączeniu z symulatorem wciągarki
Rys. 5a. Wtyk wejść Rys. 5b. Wtyk wyjść K1-K6 Rys. 5c. Wtyk wyjść 1B, 2B, 3B, HA i K10 Zestaw uruchomieniowy rozbudowany może, dzięki swojej budowie (rys. 6), pobierać wejściowe sygnały logiczne zarówno z układów pracujących na poziomie logicznym 12V jak i 5V. Nie można jedynie podawać dwóch sygnałów logicznych o różnych poziomach logicznych na jedno wejście układu CPLD, należy również pamiętać o połączeniu wspólnej masy. Pin wejściowy 12V Pin wejściowy 5V I/O CPLD R = 68k R = 1k R = 47k Rys. 6. Budowa stopnia wejściowego rozbudowanego zestawu uruchomieniowego Z powodu specyficznej budowy symulatora wciągarki w stopniu wyjściowym zastosowano wzmacniacz prądowy (rys. 7) o wydajności około 50 ma. Jego zadaniem jest zapewnienie odpowiedniego prądu dla diod LED znajdujących się w symulatorze bez dodatkowego obciążania układu CPLD. Należy zauważyć, że wyjście takie nie jest dwukierunkowe. Vcc Vcc I/O CPLD R = 330 R = 8,2k R = 8,2k R = 390 Pin wyjściowy Rys. 7. Budowa stopnia wyjściowego rozbudowanego zestawu uruchomieniowego 6. Przykłady Przykład 1 Układ kombinacyjny sterujący pracą wciągarki. Przedstawiony układ zapewnia sterowanie wszystkimi elementami modelu wciągarki na podstawie stanu nastawnika pracy, ponadto na wyświetlaczach siedmiosegmentowych wskazuje stan nastawnika wyświetlając symbole literopodobne. W tabeli podano znaczenie, wartości i indeksy poszczególnych zmiennych w wektorach wejścia i wyjścia.
Wejścia Wyjścia Bit: IIIO IIO IO O IP IIP IIIP 3B 2B 1B HA K10 K6 K5 K4 K3 K2 K1 Indeks: 7 6 5 4 3 2 1 11 10 9 8 7 6 5 4 3 2 1 O: 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 IP: 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 IIP: 0 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 IIIP: 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 IO: 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 IIO: 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 IIIO: 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 Błąd: pozostałe kombinacje 0 0 0 0 0 0 0 0 0 0 0 Pin CPLD: 39 37 36 35 31 33 34 68 67 65 69 70 28 24 22 20 21 18 IIIO, IIO, IO, O, IP, IIP, IIIP pozycje nastawnika 3B, 2B, 1B diody LED odpowiadające poszczególnym biegom, HA hamulec K10, K6, K5, K4, K3, K2, K1 styczniki załączające poszczególne uzwojenia silników Listing kodu programu w edytorze tekstowym języka VHDL ; -- Kombinacyjny układ sterowania wciągarką LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY kombinacyjny IS PORT ( wejscia : IN STD_LOGIC_VECTOR ( 7 DOWNTO 1); -- Kolejność: IIIO, IIO, IO, O, IP, IIP, IIIP wy_model : OUT STD_LOGIC_VECTOR (11 DOWNTO 1); -- Kolejność: 3B, 2B, 1B, HA, K10, K6, K5, K4, K3, K2, K1 wyswietl : OUT STD_LOGIC_VECTOR (14 DOWNTO 1) -- Kolejność: W1(a,b,c,d,e,f,g), W2(a,b,c,d,e,f,g) ); END kombinacyjny; ARCHITECTURE tabela OF kombinacyjny IS BEGIN WITH wejscia SELECT wy_model <= "00000100000" WHEN "0001000", -- Stop "00111100001" WHEN "0000100", -- IP "01011011001" WHEN "0000010", -- IIP "10011000101" WHEN "0000001", -- IIIP "00111100010" WHEN "0010000", -- IO "01011011010" WHEN "0100000", -- IIO "10011000110" WHEN "1000000", -- IIIO "00000000000" WHEN OTHERS; -- Błąd WITH wejscia SELECT wyswietl <= "00000010000001" WHEN "0001000", -- Stop "11001110110000" WHEN "0000100", -- IP "11001111101101" WHEN "0000010", -- IIP "11001111111001" WHEN "0000001", -- IIIP "11111100110000" WHEN "0010000", -- IO "11111101101101" WHEN "0100000", -- IIO "11111101111001" WHEN "1000000", -- IIIO "10011111001111" WHEN OTHERS; -- Błąd END tabela; Uwaga, program można uprościć wprowadzając np. w bloku ENTITY sygnał wyjściowy kombinacyjny wy_model_ wyswietl : OUT STD_LOGIC_VECTOR (25 DOWNTO 1).
Przykład 2 Kombinacyjny układ sterujący pracą wciągarki zbudowany z bramek logicznych i układów scalonych TTL. Podobnie jak w przykładzie 1, układ zapewnia sterowanie wszystkimi elementami modelu wciągarki na podstawie stanu nastawnika pracy, ponadto na wyświetlaczach siedmiosegmentowych wskazuje stan nastawnika wyświetlając symbole literopodobne. Do budowy układu wykorzystano tabelą podaną w przykładzie 1 oraz fakt, że manetka S3 generuje sygnały sterujące w kodzie 1 z 7. W przeciwieństwie do układu opisanego w przykładzie 1 (w edytorze tekstowym języka VHDL) układ przedstawiony na rysunku 8 (w edytorze graficznym języka VHDL) nie sygnalizuje błędnej pracy manetki S3. Układ realizuje następujące funkcje logiczne: K1 (IIIO, IIO, IO, O, IP, IIP, IIIP) = IP + IIP + IIIP stycznik kierunkowy wydawania K2 (IIIO, IIO, IO, O, IP, IIP, IIIP) = IIIO + IIO + IO stycznik kierunkowy wybierania K3 (IIIO, IIO, IO, O, IP, IIP, IIIP) = 3B (IIIO, IIO, IO, O, IP, IIP, IIIP) = IIIO + IIIP stycznik i wskaźnik trzeciego biegu K4 (IIIO, IIO, IO, O, IP, IIP, IIIP) = K5 (IIIO, IIO, IO, O, IP, IIP, IIIP) = = 2B (IIIO, IIO, IO, O, IP, IIP, IIIP) = IIO + IIP styczniki i wskaźnik drugiego biegu K6 (IIIO, IIO, IO, O, IP, IIP, IIIP) = IO + 0 + IP stycznik pierwszego biegu K10 (IIIO, IIO, IO, O, IP, IIP, IIIP) = HA (IIIO, IIO, IO, O, IP, IIP, IIIP) = O stycznik i wskaźnik działania hamulca 1B (IIIO, IIO, IO, O, IP, IIP, IIIP) = IO + IP wskaźnik pierwszego biegu Ponadto układ na wyświetlaczu W1 wyświetla numer załączonego biegu za pośrednictwem dekodera 7448 (na wyjściu aktywna jest jedynka logiczna). Wejścia tego dekodera są sterowane następującymi funkcjami: A (IIIO, IIO, IO, O, IP, IIP, IIIP) = K3 (IIIO, IIO, IO, O, IP, IIP, IIIP) + + 1B (IIIO, IIO, IO, O, IP, IIP, IIIP) pierwszy lub trzeci bieg (binarnie 01 lub 11) B (IIIO, IIO, IO, O, IP, IIP, IIIP) = K4 (IIIO, IIO, IO, O, IP, IIP, IIIP) + + K3 (IIIO, IIO, IO, O, IP, IIP, IIIP) drugi lub trzeci bieg (binarnie 10 lub 11) Wejścia C i D są wyzerowane, ponieważ do zakodowania liczb 0, 1, 2 i 3 wystarczą dwa bity podane na wejścia A i B. Wyświetlacz W2 jest wykorzystywany do określenia kierunku pracy urządzenia, wyświetlane są litery O wydawanie i P wybieranie liny. Jeżeli manetka S3 jest ustawiona w pozycji O to wyświetlacz W2 jest wygaszany, a na wyświetlaczu W1 zostaje zapalona cyfra 0. Aby wyświetlać litery O i P wystarczy osobno sterować segmentami C, D i G wyświetlacza, zapalając dodatkowo segmenty C i D dla litery O oraz segment G dla litery P. Segmenty A, B, E i F są sterowane wspólnie sygnałem O.
Rys. 8. Kombinacyjny układ sterowania pracą wciągarki zbudowany z elementów logicznych Przykład 3 Sekwencyjny układ sterujący pracą wciągarki zbudowany z bramek logicznych i układów scalonych. Układ przedstawiony na rys. 9 generuje cyklicznie sygnały załączające poszczególne biegi w następującej sekwencji: O, IP, IIP, IIIP, IO, IIO, IIIO, O,. Do budowy układu wykorzystano licznik scalony 7493, którego cykl skrócono do sekwencji stanów 0, 1,, 6, 0, (licznik modulo 7) odpowiadających poszczególnym biegom wciągarki. Kod 1 z 7 uzyskano za pomocą dekodera kodu BCD na kod 1 z10 zawartego w układzie UCY 7442, którego pierwszych siedem wyjść zanegowano w celu uzyskania kodu 1 z 7. Układ ten zastępuje nastawnik S3, czyli podczas pracy tego układu wtyk wejść (rys. 5a) musi być odłączony. Do generacji sygnałów sterujących został wykorzystany w całości układ kombinacyjny przedstawiony w przykładzie 2 dołączony do części sekwencyjnej jako podobwód (blok o nazwie kombinacyjny ). Dodatkowo układ przedstawiony na rysunku 9 zawiera blok dziel_zeg, który jest dzielnikiem częstotliwości sterowanym za pomocą 4-bitowego kodera priorytetowego z wejściami X3, X2, X1, X0 z aktywną jedynką, przy czym priorytet rośnie wraz z numerem wejścia (X3 ma najwyższy priorytet). Czynnik podziału częstotliwości sygnału zegarowego Clk jest następujący: Aktywne wejście: X3 X2 X1 X0 Podział częstotliwości Clk przez: 2 4 8 16 Układ zawiera również wejście sterujące Start z aktywną jedynką, które umożliwia uruchomienie układu (podanie jedynki logicznej) lub zatrzymanie układu i wyzerowanie stanu wszystkich liczników w układzie (podanie zera logicznego).
Rys. 9. Sekwencyjny układ sterowania pracą wciągarki zbudowany z elementów logicznych Przykład 4 Złożony układ sterujący pracą wciągarki. Układ zapewnia sterowanie wszystkimi elementami modelu wciągarki na podstawie stanu nastawnika pracy, ponadto na wyświetlaczach siedmiosegmentowych wskazuje stan nastawnika wyświetlając symbole literopodobne. Dodatkowo zaimplementowano opóźnienie zmiany stanu styczników w przypadku zbyt szybkiej zmiany położenia nastawnika pracy, np. podczas zmiany kierunku ruchu. Projekt został stworzony na podstawie modelu opisanego w pracy [1]. Algorytm sterowania został wprowadzony do oprogramowania Max Plus II Baseline w postaci schematu za pomocą edytora graficznego (rys. 10). Ponadto zostały przypisane następujące piny do układu: K1-18 K2-21 K3-20 K4-22 K5-24 K6-28 K10-70 HA-69 3B-68 2B-67 1B-65 P3-34 P2-33 P1-31 0-35 O1-36 O2-37 O3-39
Rys. 10. Schemat układu sterowania
7. Zakres ćwiczeń dla studentów Zadaniem studenta w trakcie ćwiczenia jest zaprojektowanie i zrealizowanie układu sterowania pracą wciągarki w sposób podany przez prowadzącego. Student powinien zademonstrować pracę zaprojektowanego układu, a w sprawozdaniu przedstawić kompletny projekt układu, tj. syntezę logiczną, schemat i przebiegi czasowe sygnałów sterujących uzyskane w trakcie symulacji. Zadanie 1 Zaprojektować układ sekwencyjny zbudowany z bramek logicznych i układów scalonych pracujący według podanej przez prowadzącego sekwencji stanów symulatora, np.: 1. ustawić stan STOP ( O ) na czas 2s 2. włączyć pierwszy bieg wybierania na czas 4s 3. włączyć drugi bieg wybierania na czas 3s 4. włączyć trzeci bieg wybierania na czas 2s 5. włączyć drugi bieg wybierania na czas 2s 6. włączyć pierwszy bieg wybierania na czas 2s 7. zatrzymać pracę układu Układ powinien być wyposażony w dodatkowe wejście umożliwiające uruchomienie i zatrzymanie pracy symulatora w dowolnej chwili. Zadanie 2 Do podanego w przykładzie 2 układu kombinacyjnego dodać obsługę awarii manetki S3 polegającej na błędnej pracy, czyli podanie więcej niż jednej jedynki lub samych zer. W przypadku awarii należy wyłączyć wszystkie styczniki sterujące silnikami oraz zasygnalizować błąd na wskaźniku siedmiosegmentowym lub niewykorzystywanych diodach LED. Zadanie 3 Zaprojektować złożony układ sterowania mający możliwość pracy zarówno w trybie kombinacyjnym jak i sekwencyjnym. Zmiana trybu może być realizowana zarówno w zależności od czasu jak i od stanu dodatkowego wejścia sterującego. Zadanie 4 Uruchomić plik winda2kn_blad_1. Dokonać analizy programu sterującego. Określić, który blok nie pracuje prawidłowo, podać przyczynę. Zadanie 5 Uruchomić plik winda2kn_blad_2. Dokonać analizy programu sterującego. Określić, który blok nie pracuje prawidłowo, podać przyczynę. Zadanie 6 Uzupełnić układ sterowania o dodatkowe i informacje wyświetlane na LCD. 8. Literatura 1. Obrzud A. Sterowanie windą cumowniczą z wykorzystaniem programowalnego sterownika GE FANUC, praca dyplomowa inżynierska, WSM Gdynia 2000 2. Sobczyński A., Siciński A. Wykorzystanie programowalnych sterowników logicznych GE Fanuc w układach sterowania, na przykładzie windy cumowniczej, praca dyplomowa magisterska, WSM Gdynia 1998 3. Toruńskie Zakłady Urządzeń Okrętowych TOWIMOR S.A. Dokumentacja techniczna wciągarki cumowniczej, Toruń 1994
4. Noga K., Sokół R., Radwański M. Projektowanie układów programowalnych w środowisku MAX Plus II 10.1 Baseline z wykorzystaniem edytora graficznego, instrukcja laboratoryjna, Gdynia 2008 5. Wilkinson B. Układy cyfrowe, WKiŁ Warszawa 2000 6. De Micheli Giovani Synteza i optymalizacja układów cyfrowych, Wydawnictwa Naukowo-Techniczne, Warszawa 1998 7. Noga K. Laboratorium Podstaw Techniki Cyfrowej, skrypt, AM Gdynia 2002, wydanie trzecie, 2005 wydanie 4 w wersji elektronicznej (atol.am.gdynia.pl/tc) 8. Szuba P., Lejk A. Projekt i budowa stanowiska symulacyjnego do badania cyfrowego układu sterowania windy ładunkowej, praca dyplomowa magisterska, WSM Gdynia 1993 9. Noga K., Radwański M, Sokół R. - Sterowanie modelem windy z zastosowaniem układów programowalnych, instrukcja laboratoryjna, Gdynia 2007