Przykład programowania PLC w języku drabinkowym - ćwiczenie 6 1. Cel ćwiczenia Zapoznanie się z podstawowymi elementami języka drabinkowego i zasadami programowania Programowalnych Sterowników Logicznych (Programmable Logic Controller). W ramach ćwiczenia studenci wykonują przykładowe programy na sterownikach. 2. Wykaz aparatury Sterownik programowalny typu FX3U firmy Mitsubishi Panel operatora firmy Proface Oprogramowanie narzędziowe Melsoft FX-TRN-BEG 3. Podstawy programowania w języku drabinkowym W programie FX Trainer wypieramy przykład F-6. Aby zobaczyć całe urządzenie w opcji Help wybieramy Guidance aby przejść do edycji programu wciskamy Edit Ladder Naszym zadaniem jest napisanie programu obsługi poniższego obiektu. Wyroby z podajnika (Y0) mają być przetransportowane do pojemników L, M, S w zależności od ich wielkości. Do wykrywania wielkości mamy trzy czujniki optyczne X0, X1, X2. Pozycja wózka wykrywana jest czujnikami dwustanowymi X4, X5, X6. Do załączania taśmociągów służą wyjścia Y5, Y6, Y7 a do wykrywania obecności elementu na taśmociągu odpowiednio wejścia X10-X11, X12-X13, X14-X15. Zakładamy, że taśmociągi transportujące załączone są tylko wtedy gdy jest to potrzebne (element na taśmociągu) Kolejność podawanych elementów i ich rodzaj można zmienić w opcji Edit / change parts 1
a) uruchomienie podajnika Zakładamy, że uruchomienie podajnika (Y0=1) może nastąpić pod warunkiem, że podnośnik znajduje się w dolnym położeniu (X4=1) oraz podnośnik nie jest odwrócony. Jeżeli załączone jest wejście X24 to podawanie następuje automatycznie. Jeżeli wejście X24 nie jest załączone to możemy wymusić podanie wyrobu ręcznie (X20). Jeżeli włączony jest podajnik to również uruchomiony jest transporter (Y1) Wyniki porównania musimy zapamiętać Jeżeli element znajduje się na platformie to uruchomiamy ruch do góry aż do osiągnięcia odpowiedniego dla wielkości elementu czujnika krańcowego. W naszym przypadku ostatnia linia NOT(X4) AND M4 nie jest potrzebna gdyż przenośnik małych elementów jest na tej samej wysokości co podajnik. 2
Jeżeli element osiągnie zadaną pozycje (w zależności od zmierzonej wysokości) to załączamy obrót (Y4). Wyłączenie obrotu i powrót do pozycji wyjściowej ma nastąpić dopiero po przetransportowaniu elementu za czujniki obecności elementu na taśmie Zatrzymanie taśmy powinno nastąpić po przejściu elementu przez czujnik obecności na końcu taśmy (załączenie w tym przypadku następuje dopiero jak element znajdzie się na taśmie (X10) ale można to było zrobić wcześniej np. jak wykryliśmy wielkość elementu (M4)). Jeżeli element znajduje się na taśmie to kasujemy pamięć wielkości (M4). W związku z tym że czujnik końca taśmy (X11) nie jest na samym końcu musimy opóźnić wyłączenie taśmociągu (T0). X11 działa tylko przez chwilę stąd dodatkowy przekaźnik M11 do podtrzymania. Dla taśmy elementów średnich pokazano inny sposób załączenia i wyłączenia taśmy 3
To samo dla elementów dużych Jeżeli wypakowaliśmy element to możemy powrócić do pozycji dolnej UWAGA 1. Zmodyfikuj program tak aby po załadowaniu trzech elementów zapaliły się lampki odpowiednio: Y20 2 małe, Y21 2 średnie, Y22 2 duże. 2. Jeżeli wszystkich elementów będzie przynajmniej 2 w każdym pudełku, to zatrzymaj proces ponowne uruchomienie wciśnięciem przycisku x21 3. Zmierz czas potrzebny do transportu poszczególnych elementów od pojawienia się na podnośniku do końca taśmy, zapisz czasy transportu odpowiednio do rejestrów D0, D1, D2. 4
4. Włącz alarm jeśli czas transportu przekroczy wartość zadaną w rejestrze D5 (Y23 mruga 0.5s/0.5s) w takiej sytuacji należy zatrzymać podawanie Ad. 1. Zadanie to jest proste wystarczy podłączyć liczniki do czujników np. na końcu poszczególnych przenośników Ad. 2. Aby wyłączyć podawanie musimy wygenerować nową zmienną, która będzie jedynką jeżeli wszystkie liczniki będą aktywne. Aby można było ponownie uruchomić układ musimy skasować liczniki. Zmienna ta zablokuje podawanie następnych elementów (wpisujemy ją do już istniejącej linii 0: Ad.3 Poniżej pokazano przykładową wersję programu do pomiaru czasu transportu. Wadą tej wersji jest to, że jeżeli następny element pojawi się na podnośniku przed zakończeniem transportu poprzedniego to zmierzony czas wynosi 0. Aby poprawić ten błąd trzeba uzyć więcej Timerów zastanów się jak to zrobić 5
Ad 4 Jeżeli chcemy sprawdzić czy czas pomiędzy czujnikami obecności nie jest dłuższy od zadanego to możemy wykonać to następująco. Jeżeli TIMER T10 zostanie uruchomiony (załączony zostanie styk T10) to znaczy, że czas przejazdu jest dłuższy niż zadany w D5 a to może oznaczać, że przenośnik nie działa. Do D5 powinniśmy wpisać wartość początkową np. gdy startuje sterownik (M8002) Załączenie styku T10 powinno sygnalizować awarię i zatrzymywać podawanie następnych elementów np. Sygnalizacja przerywanym sygnałem podłączonym do Y10 6
Bit M8013 jest generatorem impulsów o okresie 1 s (0.5/0.5s) Przerwanie działania można zrealizować np. przez odcięcie załączenia Y0 Możemy również stykiem T0 załączyć przekaźnik pomocniczy (np. [SET M25]) i ten styk podłączyć w linii 0 zamiast T10. W takim przypadku aby odblokować awarie musimy skasować przekaźnik M25. Możemy również wykorzystać komparatory (elementy porównujące bo wcześniej zmierzyliśmy czasy Komparator wpisujemy: Pamiętać aby nie wykorzystywać wszystkich metod na raz. 7