3,10,20

ZAPISZ SIĘ DO NEWSLETTERA AUTOMATYKAONLINE.PL I POBIERZ DARMOWY NUMER "AUTOMATYKI"!

Okładka Automatyka

*Wyrażam zgodę na przetwarzanie moich danych osobowych przez Sieć Badawcza Łukasiewicz - Przemysłowy Instytut Automatyki i Pomiarów PIAP, z siedzibą w Warszawie przy ul. Al. Jerozolimskie 202, 02-486 Warszawa, w celach marketingowych, w tym marketingu bezpośredniego. Oświadczam, że zostałem poinformowany/a o prawie do wglądu, modyfikacji oraz usuwania moich danych osobowych.

Wyrażam zgodę na przesyłanie mi informacji handlowej (w tym informacji handlowej partnerów portalu AutomatykaOnline.pl) za pomocą środków komunikacji elektronicznej w rozumieniu ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną (Dz.U. 2002 nr 144, poz. 1204).

Wyrażam zgodę na używanie przez Sieć Badawcza Łukasiewicz - Przemysłowy Instytut Automatyki i Pomiarów PIAP, z siedzibą w Warszawie przy ul. Al. Jerozolimskie 202, 02-486 Warszawa, telekomunikacyjnych urządzeń końcowych, których jestem użytkownikiem, dla celów marketingu bezpośredniego zgodnie z art. 172 ustawy z dnia 16 lipca 2004 r. Prawo telekomunikacyjne (Dz.U. 2004 nr 171 poz. 1800).

*Akceptuję regulamin portalu AutomatykaOnline.pl oraz politykę prywatności serwisu.




ZAMKNIJ OKNO

Prawie gotowe ... Musimy potwierdzić Twój adres email.

Aby zakończyć proces subskrypcji, musisz kliknąć link w mailu, który właśnie wysłaliśmy do Ciebie. Po akceptacji zapisu na newsletter, zostanie przesłany do Ciebie numer promocyjny miesięcznika Automatyka.

ZAMKNIJ OKNO

Dziękujemy twój mail jest już w naszej bazie!

Napisz do nas maila a otrzymasz promocyjny numer miesięcznika Automatyka

redakcja@automatykaonline.pl

ZAMKNIJ OKNO

Ta strona używa ciasteczek

W celu zapewnienia najwyższej jakości usług strona używa plików cookies. Szczegóły w polityce prywatności serwisu.

POL ENG
a a a
Szukaj
  • Logowanie
  • Załóż konto
Mapa serwisu Mapa serwisu
AutomatykaOnline.pl
  • Strona główna
  • Z branży
  • Wywiady
  • Aplikacje
  • Artykuły
  • Kalendarium
  • Firmy
  • Produkty
Szukaj
Automatyka 6/2025

Automatyka6/2025

W numerze:
  • Rozmowa z Bartłomiejem Beszem, Turck Vilant Systems
  • Rozmowa z Pawłem Janczykiem, MV Center Systemy Wizyjne
  • Systemy wizyjne stosowane w przemyśle
  • O miesięczniku
  • Prenumerata
  • Kontakt
  • Reklama
ARTYKUŁY
  • Automatyka budynkowa
  • Bezpieczeństwo
  • Druk 3D
  • Elektryka
  • Energetyka
  • Energia
  • Hydraulika
  • Komunikacja
  • Komputery i HMI
  • Logistyka
  • Montaż i transport
  • Oprogramowanie
  • Pneumatyka
  • Pomiary
  • Prawo i normy
  • Przemysł 4.0
  • Robotyka
  • Sterowanie
  • Systemy wizyjne i RFID
  • Technika napędowa
  • Technika łożyskowa
  • Technologia obróbki
  • Usługi
  • Utrzymanie Ruchu
  • Inne
Rozwiń wszystkie
  • Strona główna
  • Artykuły
  • Sterowanie

Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.4 – Jak korzystać ze styków, cewek i bloków operacji arytmetycznych w programie sterującym?

Paweł Podsiadło (ASTOR) drukuj

17 lutego 2020 roku
Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.4
Tweet

Przyszedł moment na jeden z najciekawszych momentów kursu, szczególnie jeśli nie miałeś/aś okazji programować w języku LAD. Stworzysz teraz pierwszy rozbudowany program logiczny wykorzystujący podstawowe elementy języka drabinkowego.

Programowanie PLC od podstaw – kurs 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
  • 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 korzystać z przycisków, lampek i pól danych w tworzeniu ekranu operatorskiego?
  • 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. Obiekt Menu
  • 14. Alarmy i Data trend
Komunikacja sterowników PLC w sieci szeregowej i Ethernet
  • 15. Komunikacja szeregowa Modbus RTU Master i Slave
  • 16. Komunikacja CsCAN
  • 17. Komunikacja Ethernet Modbus TCP i Email
Zaawansowane funkcje sterownika PLC
  • 18. Regulator PID
  • 19. Składowanie danych: Data logging oraz karta MicroSD
  • 20. Trendy historyczne oraz receptury w programie
  • 21. Setpoint, backup i restore danych oraz generowanie raportów z poziomu sterownika
  • 22. 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

Na przykładzie sterowania zaworami zbiorników nauczysz się tworzyć logikę programu oraz symulację procesów używając styków, cewek oraz bloków operacji arytmetycznych. Zapraszamy więc do zgłębienia tej wiedzy i zdobycia kolejnych umiejętności!

Krok 1: Jakie są podstawowe elementy języka drabinkowego?

Styki – służą do sprawdzania stanu logicznego bitów im przypisanych

  • Styk normalnie otwarty – przesyła sygnał, jeżeli związana z nim zmienna ma wartość 1 (ON).
Szkolenie_Horner_APG_Lab_4_2_1
  • Styk normalnie zamknięty – przesyła sygnał, jeżeli związana z nim zmienna ma wartość 0 (OFF).
Szkolenie_Horner_APG_Lab_4_3_1

Przekaźniki (cewki) – służą do ustawiania stanów bitów im przypisany

  • Przekaźnik chwilowy o stykach otwartych – ustawia wartość przypisanej mu zmiennej na 1 w momencie doprowadzenia do niego sygnału.
Szkolenie_Horner_APG_Lab_4_4_1
  • Przekaźnik chwilowy o stykach zamkniętych – ustawia wartość przypisanej mu zmiennej na 0 w momencie doprowadzenia do niego sygnału.
Szkolenie_Horner_APG_Lab_4_5_1
  • Przekaźnik uaktywniany zboczem narastającym sygnału – zmiana stanu sygnału z 0 na 1 powoduje ustawienie zmiennej powiązanej z przekaźnikiem na 1 na okres jednego cyklu wykonywania programu sterującego. (Zbocze narastające – zmiana stanu sygnału z 0 na 1. )
Szkolenie_Horner_APG_Lab_4_6_1
  • Przekaźnik uaktywniany zboczem opadającym sygnału – zmiana stanu sygnału z 1 na 0 powoduje ustawienie zmiennej powiązanej z przekaźnikiem na 1 na okres jednego cyklu wykonywania programu sterującego. (Zbocze opadające– zmiana stanu sygnału z 1 na 0.)
Szkolenie_Horner_APG_Lab_4_7_1
  • Przekaźnik – zatrzask SET – doprowadzenie sygnału do tego przekaźnika powoduje ustawienie wartości związanej z nim zmiennej na 1. Zmienna zachowuje tę wartość do momentu jej zmiany za pomocą przekaźnika Reset.
Szkolenie_Horner_APG_Lab_4_8_1
  • Przekaźnik – zatrzask RESET – doprowadzenie sygnału do tego przekaźnika powoduje ustawienie wartości związanej z nim zmiennej na 0. Zmienna zachowuje tę wartość do momentu jej zmiany za pomocą przekaźnika Set.
Szkolenie_Horner_APG_Lab_4_9_1

Bloki operacji arytmetycznych – realizują funkcje matematyczne parametrów

  • Blok funkcyjny dodawania Add – dodaje parametr IN1 i IN2, a wynik zapisuje jako parametr Q:

Q = IN1 + IN2

Szkolenie_Horner_APG_Lab_4_10
  • Blok funkcyjny odejmowania Sub – odejmuje parametr IN2 od parametru IN1 i wynik zapisuje do parametru Q:

Q = IN1 – IN2

Szkolenie_Horner_APG_Lab_4_11_1
  • Blok funkcyjny mnożenia Mul – mnoży parametry IN1 i IN2, a wynik zapisuje do parametru Q:

Q = IN1 * IN2

Szkolenie_Horner_APG_Lab_4_12_1
  • Blok funkcyjny dzielenia Div – dzieli parametr IN1 przez IN2, a wynik zapisuje do parametru Q:

Q = IN1 / IN2

Szkolenie_Horner_APG_Lab_4_13_1

W przypadku wartości INT i DINT, część ułamkowa wyniku jest odrzucana.

  • Blok funkcyjny modulo (MOD) – dzieli parametr IN1 przez IN2, a resztę z dzielenia zapisuje do parametru Q:

Q = część ułamkowa (IN1/IN2)

Szkolenie_Horner_APG_Lab_4_14_1
  • Blok funkcyjny pierwiastek kwadratowy – oblicza pierwiastek kwadratowy z parametru IN1, a wynik zapisuje do parametru Q.

Q = pierwiastek kwadratowy (IN1)

Szkolenie_Horner_APG_Lab_4_15_1

Argumentami tego bloku powinny być zwykle wartości typu REAL, tak by wynik mógł być liczbą zmiennoprzecinkową. Jako argument możesz podać wartość typu INT lub DINT, ale w przypadku, gdy w wyniku działania otrzymasz wartość niecałkowitą, część ułamkowa będzie odrzucona, gdyż wartość Q jest wtedy również liczbą całkowitą.

  • Blok funkcyjny wartość bezwzględna (ABS) – odrzuca znak parametru IN1 i wynik zapisuje do parametru Q. Wynik działania jest więc zawsze liczbą dodatnią.

Q = wartość bezwzględna (IN1)

Szkolenie_Horner_APG_Lab_4_16_1

Krok 2: Jakie zadanie będzie realizowała tworzona aplikacja?

Architekturę programu sterowania prezentuje poniższy schemat:

Szkolenie_Horner_APG_Lab_4_17_11

Aplikacja będzie składała się z 3 zbiorników oraz z 5 zaworów – 2 napełniających oraz 3 opróżniających. Funkcje arytmetyczne wykorzystasz do symulacji napełniania i opróżniania zbiorników. Dodawanie i odejmowanie wartości do/od rejestrów przypisanych odpowiednim zbiornikom będzie realizowane w określonych interwałach czasowych.

Stan zaworów będzie kontrolowany przez odpowiednie styki. Otwarcie zaworu będzie następowało po wykryciu przez styk wartości zmiennej równiej 1. Zawór będzie natomiast zamknięty, jeśli wartość zmiennej badanej przez styk będzie równa 0.

Przepływ cieczy do zbiornika (dodawanie i odejmowanie wartości rejestru zbiornika) będzie sterowane przez zawory (styki).

Aby zwiększyć czytelność programu, logikę dotyczącą poszczególnych zbiorników będziesz umieszczać w osobnych podprogramach.

Krok 3: Jak utworzyć nowy podprogram w środowisku Cscape?

Aby utworzyć nowy podprogram, kliknij prawym klawiszem myszy na Main Loop Modules i z menu kontekstowego wybierz New Enhanced Ladder Logic Block, a następnie skonfiguruj jego nazwę jako Zbiornik_1:

Szkolenie_Horner_APG_Lab_4_18_1

Krok 4: Stworzenie programu sterującego napełnianiem i opróżnianiem zbiorników

Napiszemy teraz kod sterujący napełnianiem i opróżnianiem tego zbiornika. W tym celu wstaw kolejno dwa styki normalnie otwarte i blok dodawania.

Do pierwszego styku przypisz zmienną Impuls_100ms a do drugiego Zawor_napelniajacy_ZB1.

Klikając dwukrotnie na bloczek dodawania, uzupełnij parametry operacji dodawania. Pierwszym krokiem jest zmiana typu na REAL, gdyż zmienne, na których blok będzie operował, mają właśnie taki typ.

Kolejno, do parametru IN1 przypisz Zbiornik_1, do parametru IN2 przypisz wartość 0.1 oraz do parametru wyjściowego również przypisz zmienną Zbiornik_1.

Szkolenie_Horner_APG_Lab_4_19_1

W ten sposób po otwarciu zaworu napełniającego zawartość zbiornika będzie zwiększana co 100 ms o wartość 0.1.

Kolejnym krokiem jest napisanie logiki związanej z opróżnianiem zbiornika.

Ponownie wstaw dwa styki normalnie otwarte oraz blok odejmowania.

Do pierwszego styku przypisz zmienną Impuls_100ms a do drugiego Zawor_oprozniajacy_ZB1.

Klikając dwukrotnie na blok odejmowania, uzupełnij parametry. Najważniejsza jest zmiana typu na REAL, a następnie przypisanie zmiennych: do parametru IN1 przypisz Zbiornik_1, do parametru IN2 przypisz wartość 0.1 oraz do parametru wyjściowego również zmienną Zbiornik_1.

Szkolenie_Horner_APG_Lab_4_20_1

W ten sposób po otwarciu zaworu opróżniającego zawartość zbiornika będzie zmniejszana co 100 ms o wartość 0.1.

Krok 5: Stworzenie kodu dla kolejnych zbiorników. Jak kopiować i przenosić poszczególne fragmenty drabinki?

Przejdźmy do stworzenia analogicznej logiki dla kolejnych zbiorników.

Stwórz nowy podprogram o nazwie Zbiornik_2.

Z uwagi na fakt, że podprogram dla tego zbiornika różni się tylko zmiennymi i rejestrami, na których pracuje, można kod napisany dla zbiornika 1 skopiować i wkleić, a następnie zmienić odpowiednie parametry. W tym celu przejdź do podprogramu Zbiornik_1, zaznacz stworzony kod i skopiuj go skrótem klawiszowym Ctrl+C lub wybierając z menu kontekstowego opcję Copy.

Szkolenie_Horner_APG_Lab_4_21_1-1

Następnie w podprogramie Zbiornik_2 wklej kod, używając skrótu klawiszowego Ctrl+V lub opcji z menu kontekstowego Paste oraz wybierz miejsce na szarym tle, od którego kod ma zostać wklejany.

Zmienną Zawor_napelniajacy_ZB1 zmień na Zawor_napelniajacy_ZB2 oraz Zawor_oprozniajacy_ZB1 na Zawor_oprozniajacy_ZB2. W blokach dodawania i odejmowania zamień rejestr Zbiornik_1 na Zbiornik_2. Finalnie otrzymasz:

Szkolenie_Horner_APG_Lab_4_22_1

Chcesz nauczyć się programować sterowniki PLC?

Wszystkie odcinki kursu, bezpłatne oprogramowanie oraz dodatkowe materiały  znajdziesz na stronie: Kurs - programowanie PLC od podstaw

 

Sprawdź pozostałe bezpłatne kursy i poradniki na Poradniku Automatyka. 

źródło: ASTOR

Słowa kluczowe

ASTOR, automatyka, plc, Poradnik Automatyka, programowanie plc, sterownik PLC

Ostatnio dodane

  • SKAMER-ACM – innowacyjność z ponad 30-letnią tradycją
  • Mobilne cleanroomy jako elastyczna odpowiedź na potrzeby rynku
  • Jak inteligentne zarządzanie łańcuchem dostaw odmienia współczesny biznes

Najczęściej czytane

  • Bezpieczeństwo dla maszyn mobilnych
  • Języki programowania robotów przemysłowych
  • Wyznaczanie poziomów bezpieczeństwa SIL i PL

Polecane

  • Przemysł 4.0 w polskich realiach
  • Systemy wizyjne – nieodzowny element nowoczesnej kontroli
  • Czy robot może ponieść odpowiedzialność karną?

Inne z tego cyklu

Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.1

Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.1

Więcej
Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.8

Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.8

Więcej
Rys. 1. Przykładowa klasa napęd i obiekty tej klasy

Programowanie obiektowe wg normy IEC 61131-3:2013

Więcej

Czytaj także

  • Metody programowania robotów przemysłowych, cz. 4
  • Przemysł 4.0 w praktyce: nowoczesne narzędzia dla inteligentnej automatyki
  • Metody programowania robotów przemysłowych, cz. 3
  • Metody programowania robotów przemysłowych, cz. 2
  • Metody programowania robotów przemysłowych, cz.1

Newsletter

Bądź zawsze na bieżąco z aktualnymi informacjami.

Inżynier wie

Kalendarium

Więcej
1 sty Szkolenie

Zwiedzanie centrum efektywnej prefabrykacji szaf sterowniczych

1 stycznia 2025 – 31 grudnia 2025
24 lip Warsztaty

Podstawy prefabrykacji szaf sterowniczych

Wrocław 24 lipca 2025
16 wrz Konferencja

Energetab 2025

Bielsko-Biała 16–19 września 2025
16 wrz Targi

Heating Tech 2025

16–18 września 2025

Wideo YouTube

Zobacz więcej
  • facebook
  • Tweeter
  • Instagram
  • Linkedin
  • RSS AutomatykaOnline
  • O nas
  • Marketing i obsługa klienta
  • Polityka prywatności
  • Informacje o portalu
  • Regulamin
  • Deklaracja Dostępności
  • Kontakt
  • Formularz kontaktowy
  • Współpraca medialna
  • Redakcja portalu
  • Redakcja miesięcznika
  • Zamów
  • Wpis do katalogu
  • Reklama na portalu
  • Reklama w miesięczniku
  • Newsletter
AutomatykaOnline.pl

ISSN 2392-1064. © 2014 by Sieć Badawcza Łukasiewicz – Przemysłowy Instytut Automatyki i Pomiarów PIAP. All rights reserved.
created by: TOMP