fbpx

Język LAD – Hello world

jezyk-lad-podstawy

Ostatnio dużo pracuję z maszynami, które już działają (albo mało brakuje do tego). Tak, jak mówię na szkoleniach, trzeba znać pozostałe języki programowania. Wcześniej czy później będziesz musiał zrobić analizę kodu i drobne poprawki w projekcie zrobionym przez inną osobę. Praktycznie 75% aplikacji, to język LAD. Czas na poznanie podstawowych informacji.

Język LAD

Język programowania o nazwie LAD (ang. Ladder Logic) pozwala na tworzenia kodu programu w formie graficznej (wykorzystanie specjalnie do tego celu bloków graficznych). Ten język jest też bardzo często nazywany językiem drabinkowym, ponieważ każda logikę umieszcza się w kolejnych „szczeblach”. Po dodaniu kilku takich szczebli widok całego kodu przypomina drabinę.
Wszystkie dostępne elementy, czyli styki, cewki oraz graficzne bloki łączy się razem. Wówczas widok kodu programu przypomina diagram z przekaźnikową logiką, która można zobaczyć na schematach elektrycznych.

Po otwarciu oprogramowania TIA Portal i bloku organizacyjnego OB1 widzimy Network 1, który jest też nazywany szczeblem.

Blok-ob1-jezyk-LAD-Siemens

Z lewej strony można sobie przyjąć, że jest to dodatnia szyna zasilania. Po zaznaczeniu myszką tego szczebla jest możliwa jego edycja lub dodawanie nowych elementów znajdujących się w karcie instrukcji (dodatkowa zakładka z prawej strony w oprogramowania TIA Portal) lub z paska ulubione (zaznaczone niebieską ramką). Twórcy języka LAD wzorowali się na schematach elektrycznych. Jak wiadomo, każdym połączenie elektryczne służy do włączenia lub wyłączenia elementu wykonawczego. W przypadku języka LAD logikę tworzy się za pomocą elementów, które są odpowiednikiem elementów zadających (np. przycisk lub przełącznik) oraz wykonawczych (np. lampka LED). Właśnie ich odpowiedniki znajdują się w niebieskiej ramce. W jednej szczeblu (networku) można umieścić wiele elementów.

Elementy graficzne

Omówimy element graficzny, który jest odpowiednikiem elementu podłączonego do wyjścia cyfrowego sterownika, czy inaczej mówiąc sygnał wyjściowy.

Cewka

Ten element to tz. cewka, która została zaznaczona zieloną ramką. Znajdują się one zawsze na końcu networka i powodują ustawienie w stan wysoki (logiczne 1) lub stan niski (logiczne 0) określonego wyjścia cyfrowego. Które to wyjście? Określa to programista poprzez powiązanie adresu fizycznego (lub coraz częściej nazwy symbolicznej) z elementem graficznym, czyli w tym przypadku cewką.

Hello world

Pewnego rodzaju zwyczajem jest, że nowy język poznajemy poprzez włączenie diody LED (wysterowanie wyjścia). Tak samo zaczynaliśmy podczas zapoznania z językiem SCL. Oprzemy się na przykładzie Hello world, który został już wykonany. Ustawimy w stan wysoki wyjście cyfrowe o adresie Q0.0. To jest zadanie na teraz.

Albo wykorzystamy poprzedni projekt (wówczas należy usnąć z projektu blok organizacyjny OB1 i następnie dodać nowy blok OB1 już w języku LAD), albo należy utworzyć nowy.

W bloku OB1 należy umieścić kod realizujące przedstawione wcześniej zadanie. Zaczniemy od dodania cewki z paska Ulubione do networku 1 za pomocą metody przeciągnij i upuść. Należy chwycić myszką tą cewkę i następnie umieścić najlepiej na zielony kwadrat, który pojawi się w momencie przeciągania lub precyzyjnie na linię w Networku 1. Ta operacja została przedstawiona na poniższym rysunku

jezyk-lad-dodawanie-cewki

Wówczas cewka zostanie przesunięta na koniec networku, ponieważ takie jest założenie budowy języka LAD. Network może kończyć się kilkoma cewkami ułożonymi szeregowo lub równolegle (o tym już niedługo w kolejnych wpisach). Zauważysz także, że pojawią się czerwone znaki zapytania. W te miejsca należy kliknąć myszką i wybrać z rozwijanej listy (ewentualnie wpisać ręcznie) wcześniej utworzone nazwę symboliczną z tablicy PLC tags. Ogólnie każdy styk lub cewkę trzeba powiązać z jakąś nazwą symboliczną lub zmienną. Zaczniemy od zmiennej symbolicznej White, co przedstawia poniższy rysunek

jezyk-lad-rozwijana-lista

Po kliknięciu w czerwone znaki zapytania pojawi się ikona karteczki. Po kliknięciu w tą ikonę pojawi się system podpowiedzi ze wszystkimi nazwami symbolicznymi. Można też wpisać kilka pierwszych literek nazwy symbolicznej i wówczas też pojawi się system podpowiedzi. Wtedy pojawi się lista tylko nazw symbolicznych, które zaczynają się na te litery. Kompletny kod programy zamieszczono na rysunku poniżej

-jezyk-lad-hello-world

Każdemu z wyjść cyfrowych zostanie przypisany stan wysoki w trakcie realizacji kodu programu. Nazwy symboliczne powiązane z cewkami zostały umieszczone w cudzysłowie, który został automatycznie dodany przez TIA Portal. Dzięki temu wiadomo, że są nazwy symboliczne z PLC tags.

Ostatni krok, to kompilacja kodu programu oraz zaprogramowanie sterownika. Po zaprogramowaniu sterownika dioda LED podłączona do sterownika zacznie świecić. Jeżeli masz włączone oprogramowanie Factory IO, to zielona lampa na kolumnie sygnalizacyjnej zacznie świecić.

Dokładny opis, jak połączyć TIA Portal i Factory IO jest pod tym adresem.

W następnym wpisie omówimy już wszystkie elementy graficzne z paska ulubione. Napiszemy też kod realizujący proste, ale praktyczne zadanie. Skorzystamy z projektu linii technologicznej, którą dostarcza producent oprogramowania. Wystarczy otworzyć projekt From A to B, co przedstawia poniższy rysunek

projekt-linia-From-A-to-B

Jak to będzie dokładnie działało? Zobacz na poniższym nagraniu

Możesz spróbować sam  napisać kod programu i uruchomić to. Napisz mi, 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