Programowanie drabinkowe LAD
Podstawą schematu drabinkowego LAD jest tradycyjny schemat sterowania stycznikowego. Schemat LAD jest graficznym rozwiązaniem zadania stycznikowego. Tworząc program w postaci schematu stykowego stosuje się symbole graficzne. Podstawowymi symbolami języka drabinkowego są: styki, cewki, liczniki, timery, itp. Symbole używane w schematach
drabinkowych nie są tożsame ze stykami dołączonymi do sterownika. Poniżej pokazane są podstawowe elementy programowania drabinkowego.
Styk normalnie otwarty NO. Jeżeli cewka przekaźnika nie jest zasilona lub wyjście sterujące tym stykiem ma wartość zero, to styk jest rozwarty i nie przenosi napięcia sterującego.
Styk normalnie zamknięty NC. Styk jest zwarty, gdy cewka przekaźnika nie jest zasilona lub wejście sterujące tym stykiem ma wartość zero. Zasilenie cewki lub zmiana wartości wejścia na jeden powoduje rozwarcie styku.
Cewka przekaźnika. Cewka jest realizowana jako bit pamięci, sterujący stanem jakichś styków. Styki te mogą wchodzić w skład innych obwodów programu. Cewki mogą ponadto sterować stanem wyjść sterownika.
Prostokąty reprezentują różne instrukcje lub funkcje pomocnicze, które są wykonywane wtedy, gdy zostaną „zasilone". Typowymi
elementami funkcyjnymi są: liczniki czasu (ang. timer), liczniki zdarzeń, oraz inne bloki funkcyjne.
Przykładowy program w języku drabinkowym jest przedstawiony na rys. 4.3.2.
Rys. 4.3.2. Przykład programu napisanego w języku schematów drabinkowych
Część logiczna programu sterującego składa się z umieszczonych jeden pod drugim tzw. szczebli programowych. Przypominają one typowy elektryczny schemat połączeń. W skład szczebla wchodzą: elementy logiczne (styki), przekaźniki, jak i bardziej złożone bloki funkcyjne. Schemat drabinkowy posiada symboliczne źródło zasilania. Zakłada się przepływ sygnału od szyny umieszczonej po lewej stronie schematu do przekaźników lub bloków funkcyjnych umieszczonych po prawej stronie danego szczebla. Kolejne szczeble drabiny odczytywane są kolejno od góry do dołu. Po dojściu do ostatniego szczebla proces śledzenia
programu rozpoczyna się od początku. Szczebel drabiny logicznej (oznaczany w programie jako Network) musi posiadać odpowiedni format i składnię. Ostatnim elementem szeregowego połączenia w danym szczeblu musi być jeden z przekaźników lub blok funkcyjny, szczebel musi zawierać przynajmniej jeden styk przed wystąpieniem przekaźnika, bloku funkcyjnego lub
połączenia pionowego, nie może wystąpić rozgałęzienie mające początek lub koniec wewnątrz innego odgałęzienia.
W przykładzie na rys. 4.3.3.a rozgałęzienie (linia zawierająca styk I0.5) bierze początek w niewłaściwym miejscu szczebla (wewnątrz innego odgałęzienia) a na rys 4.3.3.b styk I0.5 jest nieprawidłowo połączony z wnętrzem odgałęzienia zawierającego styki I0.2 i I0.3.
Rys. 4.3.3. Przykład błędnie napisanego programu
Przy tworzeniu programu sterującego posługujemy się identyfikatorami dla określenia zmiennych występujących w programie. W poniższej tabeli 4.3.1 podane są identyfikatory powszechnie używane w pisaniu programów, czy to w języku LAD, czy to w języku STL, czy FBD:
Tabela 4.3.1. Identyfikatory używane w pisaniu programów
Identyfikator
O/znaczenie Nazwa
I zmienna wejściowa
Q zmienna wyjściowa
M wewnętrzna zmienna dyskretna
SM wewnętrzna zmienna specjalna
V zmienne pamięciowe
T timer
C licznik
AI zmienna wejściowa analogowa
AQ zmienna wyjściowa analogowa
AC akumulator
HC szybki licznik
K stała
Przy opracowywaniu programów sterujących wykorzystuje się zmienne dyskretne (bitowe) oraz rejestrowe (wielobitowe). Ma to również odzwierciedlenie w sposobie oznaczania identyfikatorów. W poniższej tabeli 4.3.2 przedstawiono zmienne rejestrowe oraz ich reprezentację w systemie dziesiętnym i heksadecymalnym (szesnastkowym):
Tabela 4.3.2. Zmienne rejestrowane i ich reprezentacje w systemie dziesiętnym i szesnastkowym
Przy pisaniu programów obok oznaczenia literowego identyfikatora należy podać odpowiednią cyfrę (liczbę) określającą miejsce (adres) pamięci CPU, w którym przypisana mu zmienna będzie umieszczona. W przypadku określania miejsca w przestrzeni adresowej dla zmiennej bitowej (dyskretnej) podaje się najpierw numer (adres) bajtu, a następnie po kropce numer wybranego bitu, rys. 4.3.4:
I3.4 zmienna wejściowa bitowa o numerze 4 wybrana z bajtu o adresie 3, czyli pierwsza cyfra po identyfikatorze oznacza numer
bajtu, a druga numer bitu w bajcie.
MSB – bit najbardziej znaczący
LSB – bit najmniej znaczący
Rys. 4.3.4. Przestrzeń adresowa dla zmiennych wejściowych
W przypadku określania miejsca w przestrzeni adresowej dla zmiennych rejestrowych (bajt – B, słowo – W, podwójne słowo – D) obok identyfikatora podaje się adres najbardziej znaczącego bajtu (danej 8 – bitowej). Mniej znaczące bajty zajmują kolejne bajty przestrzeni adresowej.
Opracowano na podstawie materiałów KOWEZiU.