Masz problemy z rozczytaniem i analizą swojego obszernego programu napisanego w „drabince” (język ladder)? Wolisz pisać na klawiaturze i w ten sposób przelewać swoje kreatywne pomysły programistyczne na kod programu? Jeśli tak, to język ST jest idealnym rozwiązaniem dla Ciebie!

Rozpoczynając przygodę z programowaniem sterowników PFC możemy skorzystać z języka drabinkowego (ladder). Jest on stosunkowo prosty, szczególnie dla osób mających doświadczenie w elektryce. Niestety, wraz z rozbudową aplikacji Twój program może stać się nieczytelny dla innych. Z pomocą przychodzi łatwa w analizie struktura języka ST (Structured Text).

Czym jest język ST?

ST jest językiem programowania zdefiniowanym w trzeciej międzynarodowej normie IEC 61131-3, która opisuje graficzne i tekstowe języki programowania dla sterowników PLC. W odróżnieniu od graficznych języków programowania, bazuje on na tekście. Dzięki temu zajmuje dużo mniej miejsca niż graficzny język programowania, a logika programu jest łatwiejsza do rozszyfrowania i zrozumienia.

Najczęściej bloki funkcyjne są pisane w języku ST, a program główny w języku graficznym, np. FBD. Sterowniki WAGO także posiadają możliwość programowania w języku ST. Jak powszechnie wiadomo, najlepszą forma nauki jest praktyka. Dlatego WAGO posiada w ofercie zestawy startowe, które idealnie nadają się do praktykowania umiejętności programistycznych.

Języki wysokiego poziomu

Jeżeli miałeś kontakt z językami wysokiego poziomu np. Pascal, Python, C, to możesz zauważyć  podobieństwa między nimi a ST. Składnia języka ST jest bardzo podobna do składni języków wysokiego poziomu i zawiera w sobie pętle, zmienne, instrukcje warunkowe i operatory.

Nawet jeżeli nie miałeś okazji programować w językach wysokiego poziomu, to język ST może być świetnym wstępem do nauki składni. Polecam go szczególnie osobom, które chcą w szybki sposób zrozumieć zasadę przetwarzania programu przez sterownik PLC.

Zanim przejdziemy do szczegółów, zachęcam do zapoznania się z poniższym przykładem programu PLC napisanego w ST. Sprawdź, czy rozumiesz jaką operację wykonuje poniższy program. Czy składnia języka ST coś Ci przypomina?

Rys.1 Przykład składni języka ST

Przepływ programu

Jeżeli zrozumiesz strukturę języka ST, to zrozumiesz także, jak działa przepływ programu.

Rys.2 Cykl sterownika PLC

Program analizowany jest od pierwszej linii kodu. Analiza kodu wykonywana jest linia po linii. Cała operacja odbywa się cyklicznie. Jeżeli sterownik osiągnie ostatnią linijkę, to wcale nie oznacza, że jest to koniec programu. Cykl sterownika rozpocznie się od nowa i program będzie wykonywany tak długo, jak sterownik będzie ustawiony w trybie RUN (wykonywanie programu przez PLC). Analogicznie wygląda to w języku drabinkowym i każdym innym języku programowania. Jeżeli wcześniej programowałeś systemy mikroprocesorowe, to wiesz, że w celu zapętlenia wykonywania programu należy zaimplementować pętlę nieskończoną. Przy programowaniu sterowników PLC nie musisz martwić się o implementację pętli nieskończonej dla wykonywania programu. Sterownik PLC zrobi to automatycznie.

Składnia języka ST

Składnia języka programowania  to zbiór zasad określających jego budowę.  W języku ST występuje wiele dwukropków, średników oraz innych symboli.  Każdy symbol ma swoje znaczenie. Niektóre z nich to operatory, inne to funkcje lub zmienne.

W języku ST występuje kilka głównych zasad dotyczących składni. Nie musisz uczyć się na pamięć wszystkich, ale warto zapamiętać najważniejsze:

  • deklaracje zmiennych i komendy poleceń kończą się średnikami
  • można używać małych oraz wielkich liter; kompilator nie widzi różnicy
  • odstępy pomiędzy kolejnymi poleceniami nie pełnią żadnej funkcji, stosowane są w celu poprawy czytelności kodu

Należy także pamiętać, że komputer przetłumaczy  Twój program w języku ST na język zrozumiały dla sterownika PLC. Oprogramowania WAGO-I/O-PRO oraz e!COCKPIT wyposażone są w kompilator, który tłumaczy  Twój kod na kod maszynowy zrozumiały dla sterownika PLC.

Kompilator analizuje składnię danego języka programowania. Jeżeli składnia będzie niepoprawna, to kompilator poinformuje o błędach.

Ważne! Jeżeli kompilator zauważy średnik, to oznacza dla niego koniec danego wyrażenia. Kompilator zawsze czyta wszystko, aż do momentu napotkania średnika i wtedy wykonuje dane wyrażenie.

Jak dodawać komentarze?

W języku ST występuje funkcja dodawania komentarzy. W oprogramowaniu e!COCKPIT można wykonywać komentarze dla pojedynczej linii (WAGO-I/O-PRO nie ma tej możliwości), jak i dla wielu linii.

Rys.3 Przykład komentarzy dla pojedynczej linii oraz dla wielu linii

Czy powinieneś komentować każdy szczegół w Twoim programie?

Komentarze są ważne, ponieważ objaśniają części składowe kodu programu. Wraz ze wzrostem umiejętności programistycznych można komentować mniej szczegółów, ale pozostać przy komentowaniu  kluczowych części programu. Jednak najważniejsze jest to, żeby Twój kod programu był maksymalnie zrozumiały zarówno dla Ciebie, jak i innych użytkowników.

Maciej Kurantowicz, WAGO.PL

Zobacz także:

Kurs programowania w języku ST, cz. 5
Kurs programowania w języku ST, cz. 4

Kurs programowania w języku ST, cz. 3
Kurs programowania w języku ST, cz. 2

Dodaj komentarz

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

Zobacz również

Biblioteki w CODESYS 2.3

Podstawą wszystkich środowisk programistycznych, nie tylko związanych ze