Edytor Fupla umożliwia użytkownikowi programowanie sterowników w języku drabinkowym. Do tego celu została przygotowana biblioteka bloków funkcyjnych edytora Fupla (Ladder Diagram) znajdująca się w rodzinie Binary:
Biblioteka Ladder Diagram zawiera podstawowe elementy służące do programowania sterowników w języku drabinkowym:
Dostęp do elementów biblioteki Ladder Diagram jest także możliwy z paska zadań edytora Fupla. W celu wyświetlenia paska Ladder Diagram (domyślnie jest on ukryty) należy z menu Widok (View) wybrać opcję Paski narzędzi (Toolbars), a następnie Ladder Diagram. Powoduje to pojawienie się paska elementów nad obszarem roboczym edytora:
Z komponentów biblioteki Ladder Diagram korzysta się w taki sam sposób jak z elementów innych bibliotek. Wybieramy interesujący nas element i przeciągamy go na obszar roboczy projektu. Analogicznie wykonuje się także łączenia poszczególnych elementów. Podczas tworzenia projektów z wykorzystaniem biblioteki Ladder Diagram istnieje także możliwość używania bloków z innych sektorów (np. liczniki, timery). Poniżej przedstawiono opis elementów wchodzących w skład biblioteki Ladder Diagram:
BIBLIOTEKA LADDER DIAGRAM | |
Element | Opis elementu |
COIL (Cewka) – stan na wejściu elementu przekazywany jest na wyjście oraz do zmiennej przypisanej do bloku |
|
COIL CLOSED (Cewka zamknięta) – na wyjście elementu oraz do zmiennej przypisanej do bloku przekazywana jest negacja sygnału wejściowego |
|
COIL NEGATIVE (Cewka ze zboczem opadającym)
– do zmiennej przypisanej do bloku przekazywany jest stan wysoki (1) w jednym cyklu, gdy na wejściu pojawi się zbocze opadające (przełączenie sygnału ze stanu 1 na 0) – na wyjściu elementu występuje zawsze taki sam stan jak na wejściu |
|
COIL POSITIVE (Cewka ze zboczem narastającym)
– do zmiennej przypisanej do bloku przekazywany jest stan wysoki (1) w jednym cyklu, gdy na wejściu pojawi się zbocze narastające (przełączenie sygnału ze stanu 0 na 1) – na wyjściu elementu występuje zawsze taki sam stan jak na wejściu |
|
COIL RESET (Cewka Reset)
– do zmiennej przypisanej do bloku przekazywany jest stan niski (0), gdy na wejściu pojawi się stan wysoki (1) – stan zmiennej przypisanej do bloku nie zmieni się, gdy na wejściu pojawi się stan niski – na wyjściu elementu występuje zawsze taki sam stan jak na wejściu |
|
COIL SET (Cewka Set)
– do zmiennej przypisanej do bloku przekazywany jest stan wysoki (1), gdy na wejściu pojawi się stan wysoki (1) – stan zmiennej przypisanej do bloku nie zmieni się, gdy na wejściu pojawi się stan niski – na wyjściu elementu występuje zawsze taki sam stan jak na wejściu |
|
CONTACT (Styk otwarty)
– na wyjściu elementu pojawi się stan wysoki gdy na wejściu pojawi się stan 1 oraz gdy zmienna przypisana do bloku ma stan 1 |
|
CONTACT CLOSED (Styk zamknięty) – na wyjściu elementu pojawi się stan wysoki gdy na wejściu pojawi się stan 1 oraz gdy zmienna przypisana do bloku ma stan 0 |
|
CONTACT NEGATIVE (Styk ze zboczem opadającym) – na wyjściu elementu w jednym cyklu pojawi się stan wysoki gdy na wejściu pojawi się stan 1 oraz gdy na zmiennej przypisanej do bloku wystąpi przełączenie sygnału ze stanu 1 na 0 |
|
CONTACT POSITIVE (Styk ze zboczem narastającym) – na wyjściu elementu w jednym cyklu pojawi się stan wysoki gdy na wejściu pojawi się stan 1 oraz gdy na zmiennej przypisanej do bloku wystąpi przełączenie sygnału ze stanu 0 na 1 |
W celu zobrazowania działania poszczególnych elementów wchodzących w skład biblioteki Ladder Diagram warto posłużyć się przykładami programów.
Przykład 1
Celem pierwszego przykładowego programu jest stworzenie algorytmu, który sterowałby stanem zapalenia żarówki. Podstawowe założenia:
- Załączenie tylko jednego przełącznika powoduje zapalenie żarówki;
- Załączenie lub wyłączenie dwóch przełączników powoduje zgaszenie żarówki;
Przykładowy program w języku drabinkowym może wyglądać następująco:
Przykład 2
Drugi z programów jest bardziej rozbudowany i stanowi przykład algorytmu odpowiedzialnego za sterowanie bramą wjazdową. Podstawowe założenia:
- Szlaban bramy jest podnoszony i opuszczany przez silniki zasilane stycznikami K1_otw oraz K2_zam;
- Przewidziano istnienie styków krańcowych (otwarty, zamkniety), wykrywających otwarcie lub zamknięcie szlabanu;
- Przewidziano istnienie czujnika (stop) odpowiedzialnego za zatrzymanie zamykania szlabanu, jeżeli wykryta zostanie obecność przedmiotu w strefie bramy;
- Brama może być sterowana za pomocą przycisków: Otwórz lub Zamknij;
- Przewidziano istnienie blokady, która unieruchamia bramę w pozycji zamkniętej (po naciśnięciu przycisku blokada);
Program wykonany w języku drabinkowym realizujący założenia może więc wyglądać następująco:
Przykład 3
Ostatni program realizuje algorytm sterowania poziomem wody w zbiorniku. Założenia:
- Praca układu (wł. / wył.) może być sterowana poprzez przyciski Start / Stop;
- Przewidziano istnienie dwóch czujników: poziomu minimalnego i maksymalnego cieczy w zbiorniku (l_min, l_max);
- Zawór zasilający zbiornik sterowany jest za pomocą sygnału zawor;
- Zadanie sterowania polega takim regulowaniu dopływu, by nie dopuścić do przekroczenia poziomów: minimalnego i maksymalnego w zbiorniku;
Program wykonany w języku drabinkowym realizujący założenia może wyglądać następująco: