fbpx

Język LAD – Styki

mini

Jak zapewne wiesz, pisanie kodu programu nie opiera się tylko na wyjściach cyfrowych w sterowniku PLC. Należy także pobrać pewne informacje z obiektu (np. z czujników lub przycisków). Jak to zrobić w języku LAD?

Powiązanie sygnałów – styki

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

Gdy otworzysz ten projekt, to zobaczysz sterownik S7-1200 dodany do projektu. Po otwarciu bloku OB1 zauważysz, że język jest inny niż omówiono w poprzednim wpisie. Ten język to FBD (ang. Functional Block Diagram), który jak widzisz też jest językiem graficznym. Zawsze istnieje możliwość zmiany pomiędzy językami. Wystarczy zaznaczyć blok OB1 i nacisnąć prawy klawisz myszki, co spowoduje pojawienie się menu kontekstowego przedstawionego na poniższym rysunku

01-zmiana-jezyka

Wybieramy Switch programming language i następnie LAD.

Przejdźmy do omówienia kolejnych elementów graficznych, które są zawsze wykorzystywane przy pisaniu kodu programu. W poprzednim wpisie została omówiona cewka. Jednak to nie są wszystkie  dostępne.

Styki

W pasku ulubione znajdują się dwa elementy, które teraz przedstawię. Wygląd tych styków został przedstawiony na poniższym rysunku

02-lad-elementy-graficzne

Ogólnie można powiedzieć, że użycie styku w networku pozwala sprawdzić aktualny stan binarnego adresu, który jest powiązany z tym stykiem (np. stanu wejścia cyfrowego). Wykorzystując odpowiednie ułożenie styków w networku tworzy się logikę sterowania. W tym przypadku można również powiedzieć, że taki networki w języku LAD odwzorowuje schemat elektryczny.

Są dwa rodzaje styków:

– Normal Open (NO) – jest to pierwszy element (ramka niebieska) w pasku Ulubione. Taki styk „przewodzi prąd” tylko w momencie, gdy sygnał powiązany z tym stykiem jest w stanie wysokim,

– Normal Close (NC) – jest to drugi element (ramka pomarańczowa) w pasku Ulubione. użycie takiego styku spowoduje „przewodzenie prądu” wówczas, gdy sygnał powiązany z tym stykiem będzie w stanie niskim.

Styki NO oraz NC możesz wykorzystać także do sprawdzania również stanu innych zmiennych typu Bool.

Sterownik jest wykorzystywany do zbierania informacji z obiektu (sprawdzanie stanu sygnałów wejściowych) i na podstawie logiki napisanej przez programistę generowanie stanów dla sygnałów wyjściowych. Poznałeś przed właśnie styki, które służą do obsługi właśnie sygnałów wejściowych.

 

Projekt – Przenośnik

Teraz zrealizujemy projekt, który można czasami spotkać w fabryce. Jak to ma działać? Zobacz na tym wideo

 

Założenia projektowe są w tym wypadku bardzo proste. Gdy czujnik nie wykrywa żadnego obiektu, wówczas transporter powinien być uruchomiony. W momencie dojazdu pudełka do czujnika (następuje przecięcie wiązki pomiędzy czujnikiem a lusterkiem), wówczas transport (ruch rolek) powinien być zatrzymany.

 

Uruchomiamy narzędzie FactoryIO i należy otworzyć projekt From A to B. Przechodzimy do File -> Drivers i z listy DRIVER wybieramy Siemens S7-PLCSIM. Dzięki temu zobaczymy, jakie są sygnały na obiekcie. Dostępne sygnały przedstawia poniższy rysunek

04-sygnaly

W ten sposób 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

05-plctags

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

Sensor – 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 transporterze. Aby uruchomić transporter to ten sygnał musi być w stanie wysokim

 

Mamy wszystkie potrzebne dane, aby napisać kod programu. Wystarczy napisać jeden network co przedstawia poniższy rysunek

06-kontrola-transportera

W networku numer 2 następuje sprawdzenie, czy transporter jest pusty (czyli czy czujnik nie widzi żadnej przeszkody w swoim polu widzenia). Jeżeli taka sytuacja występuje, to z tego czujnika na wejściu sterownika PLC będzie stan wysoki (logiczne 1). Aby to rozpoznać, został wykorzystany styk NO. Gdy nastąpi taka chwila, to wyjście uruchamiające transporter będzie w stanie wysokim. Wynika to z faktu, że nastąpi przypisanie do cewki powiązanej (za pomocą nazwy symbolicznej Conveyor) z wyjściem sterującym rolkami transportera.

Gdy czujnik coś wykryje, wówczas na wejściu cyfrowym w PLC będzie stan niski (logiczne 0). To spowoduje, że warunek na styku NO nie będzie spełniony. I dzięki temu na wyjściu cyfrowym będzie stan niski, czyli nie ma ruchu transportera.

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

Projekt możesz pobrać pod tym adresem.

Poniższe wideo przedstawia uruchomienie tej aplikacji (chociaż film przedstawia też kilka dodatkowych zagadnień, które są potrzebne podczas rozruchu takiej aplikacji)

https://www.youtube.com/watch?v=30sCOqSgOLk

Praca domowa

  1. Przygotuj projekt do kolejnej aplikacji (po prostu skopiuj ten, na którym pracowałeś teraz)
  2. Skorzystamy z kolejnego projektu w FactoryIO czyli 2- From A to B (Set and Reset). Czy już teraz jesteś wstanie napisać kod programu do takiej aplikacji. Działania przedstawia poniższe nagranie

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