Podstawy – Język SCL

Podstawy SCL

W ostatnich wpisach przeprowadziliśmy konfigurację sterownika, napisaliśmy kod programu oraz wykonaliśmy programowanie sterownika. Pewnie zastanawiasz się, dlaczego został napisany taki kod programu w bloku OB1? Jest to moim zdaniem najprostszy przykład pokazujący, jak pisać kod programu. Zmianę stanu wyjścia cyfrowego najłatwiej zaobserwować. Wówczas można sprawdzić, czy kod programu działa zgodnie z założeniami. Zmianę stanu wyjść cyfrowych będziesz wykonywał bardzo często.

Podstawy SCL

W ostatnich wpisach przedstawiłem Ci tylko sposób pisania kodu programu. Wiesz już, że to działa. Teraz wytłumaczę Ci użytą konstrukcje. Zanim to zrobię, to powiem o budowie edytora SCL.

Edytor SCL

Blok organizacyjny OB1 zostaje otwarty przez środowisko TIA Portal w edytorze SCL.

Edytor SCL

Edytor można podzielić na trzy części:

1. Górna część to sekcja interfejsu gdzie definiuje się zmienne tymczasowe oraz parametry wejściowe, wejściowo-wyjściowe i wyjściowe. W tym miejscu umieszcza się też stałe. W kolejnych wpisach będziemy tworzyć funkcje typu FB i FC, to omówię to dokładnie.

2. W środkowej części znajduje się pasek Ulubione gdzie znajdują się szablony najczęściej wykorzystywanych konstrukcji języka SCL. Do tego paska można dodać jeszcze inne szablony, jeżeli są nam potrzebne. Wówczas wystarczy przeciągnąć daną instrukcje lub funkcję z jednej z zakładek znajdujących się w karcie Instruction.

3. Sekcja kodu gdzie umieszcza się instrukcje i logikę do zrealizowania przez sterownik PLC.

Operator Przypisania

Znak := jest przypisaniem, czyli stan tagu MyOutput jest przypisywane do tagu False. W języku S7-SCL wygląda to zupełnie odwrotnie, niż w języku LAD. Przypisanie można ogólnie opisać, jako wartość zmiennej (lub tagu) z prawej strony jest zapisywana do zmiennej z lewej strony. W ten sposób po takim zapisie obie zmienne są sobie równe w tym momencie. Jeżeli programowałeś w innych językach wysokiego poziomu, to się na pewno spotkałeś z przypisaniem.

Na końcu każdej linii należy postawić średnik ; co jest informacją dla kompilatora o końcu instrukcji w danej linii.

Komentarze

Do tej pory nie został użyty komentarz w kodzie programu. Jednak dobrze napisany program charakteryzuje się nie tylko poprawnym działaniem, ale też czytelnością. Każda inna osoba znająca się trochę na programowaniu w danym języku powinna bez większych domysłów zrozumieć działanie programu. Programista tworzący kod też powinien zrozumieć działanie własnego programu bez żadnych domysłów. W ten sposób powstały komentarze.

Komentowanie jednej linii kodu

Jeżeli kompilator napotka dwa znaki // następujące po sobie to ignoruje wszystkie kolejne do końca linii. Przykładowy komentarz:

// Moj pierwszy komentarz w bloku OB1

Od razu zwracam uwagę na polskie znaki. W różnych językach i środowiskach są inaczej traktowane przez kompilator. Sugeruję Ci nie stosować polskich znaków, aby wypracować dobry nawyk.

W pasku narzędzi znajdują się przyciski do komentowania jednej linii kodu.

Komentowanie SCL

Po naciśnięciu przycisku Comments out the selected lines zostanie umieszczona w komentarzu linia kodu w której znajduje się aktualnie kursor.

Następny przycisk Uncomments selected lines służy do usunięcia komentarza z linii kodu w której znajduje się aktualnie kursor.

Komentarz kilku linii kodu

Istnieje tez możliwość komentarza kilku linii kod.

(*

Pierwsza linia kodu;

Druga linia kodu

*)

W ten sposób można można w szybki sposób umieścić w komentarzu kilka linii kodu.

Kod samo- komentujący się

W większości sytuacji programista po zmiana w kodzie programu nie zmienia komentarza. Dlatego większość programistów zaleca dobierania dobrych nazw tagów, zmiennych i funkcji, które jednoznacznie określają ich przeznaczenie. Wówczas umieszczanie komentarzy w kodzie w 98% nie będzie potrzebne.

Podziel się tym wpisem na:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Wykop

Komentarze

  1. j.m.

    Zastanawiam się czy osoby korzystające z tego bloga tak świetnie wszystko rozumieją,żadnych pytań komentarzy niejasności.Czyżbym ja jako jedyna osoba miała trudności?Nie rozumiem jak mam nie pisać znaków w języku polskim?Czy znak = to ma kilka znaczeń?I niech szanowny pan moderator tłumaczy bardziej przyziemnie.Dziękuję z góry

    Powtórz
  2. Patryk

    Moim zdaniem niewiele osób wie o istnieniu tego bloga, a co za tym idzie to niewiele osób czyta te wpisy.
    Nie wszystko jest jasne i są błędy merytoryczne.
    Jeśli komuś zależy na nauce programowania to i tak uczy się samodzielnie metodą prób i błędów szukając rozwiązań na innych forach lub korzysta ze szkoleń przez specjalizujące się w tych dziedzinach firmach.
    Pomysł bloga super, ale z wykonaniem nie najlepiej…

    Powtórz
    1. Tomasz Gilewski (Autor postu)

      Patryk, jak jest coś nie jasne, to pisz o tym do mnie na maila lub w komentarzu.

      Powtórz
  3. Mariusz

    „Czy znak = to ma kilka znaczeń?”

    Może dobrze by było znaki języka SCL w tym przypadku przypisanie „:=” oznaczać pogrubioną czcionką w tekście.

    Powtórz
    1. Tomasz Gilewski (Autor postu)

      Mariusz, może w następnych postach będę graficznie wyróżniał kod.

      Powtórz

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>