Jak sterować wykonywaniem programu logicznego? Instrukcja skoku warunkowego | Kurs programowania PLC od podstaw | Odc. 9

Z tego artykułu dowiesz się:

  • Czym jest instrukcja skoku warunkowego i do czego służy?
  • Jakie rodzaje bloków sterowania wykonywaniem programu dostępne są w środowisku Cscape?
  • Jak wykorzystywać instrukcję skoku warunkowego w programie sterującym?

W poprzedniej części kursu poznałeś bloki do konwersji danych i do przemieszczania rejestrów. W tym artykule dowiesz się czym jest instrukcja skoku warunkowego i do czego służy.

Kurs programowania PLC od podstaw dla automatyków i elektryków

Podstawy programowania sterowników PLC

  • 1. Wprowadzenie. Jak skonfigurować, podłączyć oraz uruchomić sterownik PLC?
  • 2. Jak tworzyć i edytować projekty w oprogramowaniu Cscape?
  • Programowanie sterownika PLC w języku drabinkowym

  • 3. Jak tworzyć oraz konfigurować bazę zmiennych w środowisku Cscape?
  • 4. Jak korzystać ze styków, cewek i bloków operacji arytmetycznych w programie sterującym?
  • 5. Jak odmierzać czas w programie sterującym i jak konfigurować timery?
  • 6. Jak porównywać wartości i wykorzystać wyniki operacji logicznych?
  • 7. Jak zliczać impulsy i konfigurować liczniki?
  • 8. Jak konwertować typy zmiennych i przemieszczać zmienne w programie?
  • 9. Jak sterować wykonywaniem programu logicznego? Instrukcja skoku warunkowego
  • Programowanie zintegrowanego panelu HMI

  • 10. Jak budować ekrany operatorskie z obiektami do wizualizacji i zadawania wartości zmiennych?
  • 11. Jak umożliwić nawigację między ekranami operatorskimi oraz jak korzystać z gotowych obiektów graficznych w środowisku Cscape?
  • 12. Jak wizualizować zmienne analogowe oraz jak modyfikować ich wartości przy pomocy obiektów dostępnych w oprogramowaniu Cscape?
  • 13. Jak korzystać z obiektu menu?
  • 14. Konfiguracja i obsługa alarmów w sterownikach PLC
  • 15. Kontrolka Data Trend
  • Komunikacja sterowników PLC w sieci szeregowej i Ethernet

  • 16. Komunikacja szeregowa Modbus RTU Master i Slave
  • 17. Komunikacja CsCAN
  • 18. Komunikacja Ethernet Modbus TCP
  • 19. Wysyłanie wiadomości Email w sterowniku PLC
  • Zaawansowane funkcje sterownika PLC

  • 20. Regulator PID
  • 21. Składowanie danych: Data logging oraz karta MicroSD
  • 22. Trendy historyczne oraz receptury w programie
  • 23. Setpoint, backup i restore danych oraz generowanie raportów z poziomu sterownika
  • 24. Hasła i zabezpieczenia w programie, ustawienia języka oraz edytor dostępny w narzędziu, opcja autodokumentacji / Dodatkowe ustawienia i możliwości edycji
  • Sterowanie wykonywaniem programu w sterowniku jest możliwe dzięki instrukcjom, które pozwalają na wykonanie lub pominięcie wybranego fragmentu programu sterującego lub podprogramu. Da Ci  to możliwość uruchamiania poszczególnych fragmentów kodu po zaistnieniu określonych warunków.

    Jakie bloki sterowania wykonywaniem programu dostępne są w środowisku Cscape?

    Element Label – pozwala na przypisanie nazwy do pozycji w drabince logicznej.

    Nazwa ta może być następnie podana w instrukcji JUMP lub CALL w celu określenia miejsca, do którego należy przenieść wykonywanie programu.

    W programie sterującym nie mogą wystąpić dwie takie same etykiety. Etykiety Label nie muszą posiadać odpowiadających im instrukcji skoku, ale każda instrukcja skoku musi posiadać odpowiadającą jej etykietę.

    Blok funkcyjny JUMP – powoduje pominięcie fragmentu części logicznej programu sterującego.

    Instrukcja może powodować przejście zarówno do przodu, jak i do tyłu w programie sterującym.

    Wykonywanie programu zostanie wznowione od miejsca oznaczonego etykietą LABEL. Program nie powraca do miejsca wywołania instrukcji JUMP.

    Uwaga: Po instrukcji JUMP nie można umieszczać żadnych bloków funkcyjnych!

    Blok funkcyjny CALL – pozwala na wywołanie podprogramu.

    W momencie doprowadzenia sygnału do bloku funkcyjnego CALL, wykonywanie programu zostaje przeniesione do miejsca wskazywanego przez etykietę LABEL przypisaną tej instrukcji.

    Program w miejscu przeniesienia wykonywany jest do momentu napotkania instrukcji RETURN. Wtedy następuje powrót do szczebla umieszczonego za instrukcją CALL i wykonywana jest dalsza część umieszczonego tam programu.

    Podprogramy można zagnieżdżać (wywoływać podprogram z poziomu innego podprogramu) aż do 8 poziomów.

    Uwaga: Za instrukcją CALL nie można umieszczać żadnych bloków funkcyjnych.

    Blok funkcyjny RETURN – kończy podprogram.

    Po doprowadzeniu sygnału do tego bloku, następuje powrót do wykonywania części programu sterującego, umieszczonej po ostatnio wywoływanej instrukcji CALL.

    Wykorzystanie instrukcji RETURN ma sens tylko w momencie wcześniejszego użycia w programie sterującym instrukcji CALL.

    Uwaga: Po instrukcji RETURN nie można umieszczać żadnych bloków funkcyjnych.

    Blok funkcyjny END_PROGRAM – informuje o końcu programu sterującego.

    Po napotkaniu tego bloku funkcyjnego następuje natychmiastowe przerwanie wykonywania programu sterującego, następnie odczytywany jest stan wejść/wyjść, wykonywane są pozostałe czynności realizowane w każdym cyklu pracy jednostki centralnej, po czym następuje ponowne rozpoczęcie wykonywania programu sterującego.

    Programowanie w akcji!

    Ostatnia modyfikacja części logicznej Twojej aplikacji jest związana z wydzieleniem kodu programu odpowiedzialnego za serwis w osobnym podprogramie, którego uruchamianie uzależnisz od zmiennej serwisowanie.

    Pozwoli to na uruchomienie serwisowania w dowolnym momencie wybranym przez operatora. Dzięki wykorzystaniu instrukcji CALL, po wykonaniu podprogramu odpowiedzialnego za tę operację, sterownik wróci do wykonywania programu głównego.

    Krok 1: Jak stworzyć nowy podprogram bloku funkcyjnego CALL w środowisku Cscape?

    W pierwszej kolejności stwórz nowy podprogram, jednak w sposób inny niż to do tej pory. W oknie Project Navigator, kliknij prawym przyciskiem myszy na Subroutine Modules i wybierz opcję New Enhanced Ladder Logic Subroutine. Nowo utworzony podprogram nazwij Serwisowanie.

    Krok 2: Jak uzupełnić podprogram instrukcji CALL?

    Kod, który umieścisz w tym miejscu, znajduje się obecnie w podprogramie Mieszanie_Grzanie. Przejdź do tego podprogramu, zaznacz szczeble odpowiadające za zliczanie uruchomień mieszalnika i grzałki, które powinny być oddzielone komentarzem.

    Następnie wytnij te linijki i wklej w podprogramie Serwisowanie między wstawione szczeble. Jeśli pojawi się komunikat informujący o niewystarczającej ilości wolnego miejsca między szczeblami, dodaj kolejne wolne linijki, klikając prawym przyciskiem myszy na lewe białe numerowane pole i wybierz opcję Insert Blank Lines -> Insert 10 Lines:

    Następnie wklej skopiowaną zawartość.

    Krok 3: Jak wywołać instrukcję CALL w programie sterującym?

    W podprogramie Mieszanie_Grzanie wywołaj instrukcję sterującą CALL, która pozwoli na wykonywanie podprogramu Serwisowanie w określonym przez operatora momencie.

    W tym celu, poniżej stworzonej logiki podprogramu Mieszanie_Grzanie, dodaj w nowym szczeblu styk normalnie otwarty i przypisz do niego nową zmienną o adresie: %M00009 (m9) i nazwie: serwisowanie. Pamiętaj, że dodanie pojedynczej zmiennej możesz zrealizować w oknie konfiguracji styku.

    Następnie, korzystając z górnego paska narzędziowego, wstaw blok instrukcji CALL.

    Jeśli opcja ta nie jest dostępna z poziomu paska, włącz ją wybierając Menu -> View -> Toolbars -> Special Operations

    Krok 4: Jak skonfigurować blok instrukcji CALL?

    W celu konfiguracji dodanego bloku CALL, kliknij w niego dwukrotnie, a następnie z rozwijanej listy wybierz stworzony podprogram Serwisowanie.

    Krok 5: Wgraj program do sterownika i przetestuj działanie programu

    Wgraj program do sterownika, wprowadź sterownik w tryb RUN, uruchom opcję Debug, a następnie włącz opcję Data Watch i dodaj następujące zmienne:

    Załączaj proces mieszania, zmieniając wartość zmiennej mieszanie na ON (lub 1). Następnie w zależności od ustawionej wartości zmiennej serwisowanie możesz obserwować zachowanie zmiennych Licznik_zalaczen_mieszadla i Licznik_zalaczen_grzalki.

    Ukończyłaś/eś część kursu związaną z podstawowymi blokami funkcyjnymi wykorzystywanymi podczas tworzenia programów sterujących w języku drabinkowym.

    Zdobyta wiedza i umiejętności pozwolą Ci na swobodne tworzenie przyszłych aplikacji i pracę z językiem LAD.

    Zapraszam na kolejną część kursu – związaną z programowaniem paneli HMI. Dowiesz się, jak efektywnie tworzyć panele operatorskie z wykorzystaniem podstawowych elementów i funkcji. Już w kolejnym odcinku nauczysz się, jak poprawnie implementować przyciski, lampki i pola danych.


    W kolejnym artykule z cyklu kurs „Programowanie oraz konfiguracja sterowników PLC zintegrowanych z hmi”: Jak budować ekrany operatorskie z obiektami do wizualizacji i zadawania wartości zmiennych?

    • Jak budować ekrany operatorskie?
    • Jakie obiekty do wizualizacji i zadawania wartości zmiennych dostępne są w oprogramowaniu Cscape?
    • Jak konfigurować przyciski, lampki i pola danych?
    • Jak implementować teksty statyczne?

    Czy ten artykuł był dla Ciebie przydatny?

    Średnia ocena artykułu: 5 / 5. Ilość ocen: 1

    Ten artykuł nie był jeszcze oceniony.

    Kamil Zajdel
    Kamil ZajdelAbsolwent Akademii Górniczo – Hutniczej na kierunku Automatyka i Robotyka. Od kilku lat związany z ASTORem i programowaniem sterowników PLC. Współtwórca kursu programowania PLC dla automatyków i elektryków.

    Opublikuj

    Twój adres email nie zostanie opublikowany.

    Czytaj więcej