fbpx

Język LAD – Cewki

mini

W każdej aplikacji należy sygnał wyjściowy ustawić na odpowiedni stan w momencie, gdy określony warunek zostanie spełniony. Jest to tak zwane setowanie i resetowanie. W tym wpisie dowiesz się jak to zrobić w języku LAD.

Język LAD – Cewki

Zaczniemy od wykorzystania szablonu projektu, który jest dostępny tutaj

Ustawianie stanu sygnału wyjściowego

Poznałeś tak zwane cewki w jednym z poprzednich wpisów. Teraz przedstawię dwie odmiany tego elementu graficznego. Domyślnie znajdują się z prawej strony TIA Portal (zakładka Basic instruction i następnie folder Bit logic operations), co przedstawia poniższy rysunek

lad-cewka-set-reset

Zauważysz w folderze Bit logic operations kolejną cewkę (brązowa ramka), gdzie pomiędzy nawiasami znajduje się litera R. Bardzo często podczas kodowania trzeba ustawić niski stan logiczny dla jakiegoś wyjścia lub też zmiennej typu Bool. Wówczas należy właśnie skorzystać z tej instrukcji warunkowej. Jest to cewka (RESET). Po umieszczeniu w networku cewki w networku zazwyczaj dodaje się przed jakieś styki, aby sprawdzić warunki.

Następna cewka (ramka żółta) zawiera pomiędzy nawiasami literę S. Należy ją wykorzystać, gdy chcemy ustawić wysoki stan logiczny dla wyjścia cyfrowego lub zmiennej po spełnieniu jakiegoś warunku. Ten warunek realizują styki, które znajdują się w networku i poprzedzają cewkę. Jest to cewka (SET). Też jest zazwyczaj poprzedzona stykami w celu sprawdzenia warunku lub kilku warunków.

Projekt – Transport opakowań

Teraz zrealizujemy kolejny projekt, który spotkasz w niektórych fabrykach. Jak będzie działała ta aplikacja? Zobacz na tym wideo

Budowa obiektu

W tej aplikacji można wyróżnić dwa transportery rolkowe. Pierwszy z nich, na którym znajduję się pudełko po włączeniu symulacji przyciskiem PLAY w FactoryIO nie jest sterowany z PLC. Następnie znajduje się drugi transporter rolkowy już sterowany z PLC. Na tym transporterze znajdują się również dwa czujniki optyczne z lusterkiem.

Założenia projektowe

W tym przypadku sterowanie obiektem jest również proste. Po włączeniu symulacji w FactoryIO następuje włączenie pierwszego przenośnika i transport pudełka do drugiego przenośnika. W pewnym momencie pudełko wjedzie częściowo na drugi przenośnik i zasłoni pierwszy czujnik. To powinno spowodować, że nastąpi włączenie obracania się rolek na drugim transporterze. Ruch ten powinien trwać do chwili, gdy pudełko dojedzie do drugiego czujnika znajdującego się na samym końcu. Wówczas nastąpi przecięcie wiązki, które powinno spowodować zatrzymanie ruchu transportera.

Rozpoczęcie kolejnego cyklu procesu transportu pudełka można wykonać po naciśnięciu przycisku RESET znajdującego się w górnym pasku narzędzi aplikacji FactoryIO.

Uruchomiamy narzędzie FactoryIO i należy otworzyć projekt From A to B (Set and Reset). Przechodzimy do File -> Drivers i z listy DRIVER wybieramy Siemens S7-PLCSIM. W ten sposób zobaczymy sygnały występujące na obiekcie. Dostępne sygnały przedstawia poniższy rysunek

sygnaly

Teraz już wiemy, jakie tagi należy umieścić w projekcie TIA Portal (tablice PLCtags). Dodajemy dwie tablice (w drzewie projektu rozwijamy folder PLCtags) o nazwach Input oraz Output, co przedstawia poniższy rysunek

tagi-plctags

W tablicy Input zostały umieszczone sygnały wejściowe:

SensorA – sygnał z czujnika znajdującego się na początku transportera (należy pamiętać, ze gdy czujnik nic nie wykrywa to wystawia stan wysoki)

SensorB – sygnał z czujnika znajdującego się na końcu transportera (należy pamiętać, ze gdy czujnik nic nie wykrywa to wystawia stan wysoki)

FactoryIO_Running – uruchomienie symulacji (naciśnięcie przycisku PLAY) powoduje, że ten sygnał jest w stanie wysokim

 

Do tablicy Output został dodany sygnał

Conveyor – jest to sygnał, który uruchamia ruch rolek na drugim transporterze. Aby uruchomić transporter to ten sygnał musi być w stanie wysokim

 

Mamy wszystkie informacje, które są nam potrzebne do napisania kod programu. Wystarczy napisać dwa networki co przedstawia poniższy rysunek

lad-kod-programu

Kod programu steruje tylko drugim transporterem w zależności od stanu czujników. W networku numer 2 następuje sprawdzenie, czy pierwszy czujnik wykrywa pudełko w swoim polu widzenia. Jeżeli ten warunek jest spełniony, wówczas następuje wysterowanie wyjścia Q0.0 w stan wysoki za pomocą cewki setującej. Dzięki temu rolki transportera obracają się i pudełko się przemieszcza.

Ruch przenośnika powinien trwać do momentu, aż czujnik znajdujący się na samym końcu wykryje pudełko w swoim polu widzenia. Ten warunek jest sprawdzany w networku 3. Jeżeli zostanie on spełniony, to następuje tym razem wyłączenia wyjścia cyfrowego Q0.0 poprzez cewkę resetującą

Uruchom symulator sterownika czyli PLCSIM oraz symulację w FactoryIO (naciśnij przycisk PLAY) i przetestuj, czy wszystko działa poprawnie. Aby podczas testów rozpocząć kolejny cykl (kolejny przejazd pudełka przez linię transportową) naciśnij przycisk RESET (obok przycisku PAUSE) w górnym pasku narzędzi w FactoryIO.

Projekt do tego zadania można pobrać z tego adresu.

Praca domowa

  1. Co się stanie, gdy trakcie przejazdu pudełka (np. gdy będzie się znajdowało pomiędzy czujnikami) nastąpi naciśnięcie przycisku RESET w FactoryIO. Czy trzeba wystąpienie takiego zdarzenia jakoś zabezpieczyć w kodzie programy ?
  2. Wykorzystaj kolejny projekt obiektu w FactoryIO czyli Filling Tank (Timers). Twoje zadanie to przygotowanie projektu w TIA Portal oraz napisanie kodu programu, aby obiekt działał w taki sposób jak przedstawia to nagranie:

Przed przystąpieniem do pracy przypomnij sobie:

Bloki danych

Funkcje czasowe

Napisz w komentarzu, jak Ci poszło

Kurs wideo

Więcej na temat programowania PLC S7-1200 w języku LAD znajdziesz w kursie Chcę zostać programistą PLC:

pl-usb-1p1-tia-1200-lad_chce-zostac-programista-plc-1

 

 

 

 

 

 

 

 

 

Podziel się tym wpisem na:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Wykop

Pozostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Newsletter - Zapisz się i jako pierwszy otrzymasz najnowsze informacje