Reklama: Chcesz umieścić tutaj reklamę? Zapraszamy do kontaktu »
Faulhaber robotic
Powrót do listy produktów Ostatnia aktualizacja: 2020-02-19
Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.6

Jak porównywać wartości i wykorzystać wyniki operacji logicznych?

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

W poprzednim artykule poznałeś/aś zasadę działania timerów oraz dowiedziałeś/aś się jak je konfigurować. W tym artykule poznasz bloki służące do porównywania wartości.

 

Jak działają bloki służące do porównywania wartości?
Bloki porównywania danych należą do jednych z najczęściej wykorzystywanych funkcji w programach sterujących. Przy ich pomocy możesz sterować sygnałami w zależności od relacji występującej pomiędzy porównywanymi wartościami argumentów.

Wprowadza to pewien dynamizm i zwiększa możliwości tworzonych aplikacji. Po tej części kursu będziesz mógł/mogła sprawnie pracować z tymi blokami i korzystać z ich operacji.

 

Jakie bloki porównywania wartości dostępne są w środowisku Cscape?
Bloki porównywania pracują z wartościami typu INT, DINT, REAL, UINT, DUINT, LREAL. Argumenty mogą być liczbami stałymi lub rejestrami. Operacja porównania zwraca wartości prawda/fałsz w zależności od wyniku. W przypadku prawdy na wyjściu bloku wystawiany jest sygnał.

Do programu sterującego bloki te można wstawiać z paska narzędziowego:

Aby operacje porównywania były dostępne z poziomu paska, należy zaznaczyć tę opcję w Menu -> View -> Toolbars -> Compare Operations:

Dostępne rodzaje operacji porównywania:

  • EQ (Equal) – równe – porównuje dwie wartości i przesyła sygnał, gdy są one sobie równe.
  • NE (Not Equal) – różne – porównuje dwie wartości i przesyła sygnał, jeśli wartości te są od siebie różne.
  • LT (Less Than) – mniejsze – porównuje dwie wartości i przesyła sygnał, jeżeli wartość IN1 jest mniejsza od IN2.
  • GT (Greater Than) – większe – porównuje dwie wartości i przesyła sygnał, jeżeli wartość IN1 jest większa od IN2.
  • LE (Less Than or Equal) – mniejsze bądź równe – porównuje dwie wartości i przesyła sygnał, jeśli wartość IN1 jest mniejsza lub równa wartości IN2.
  • GE (Greater Than or Equal) – większe bądź równe – porównuje dwie wartości i przesyła sygnał, jeśli wartość IN1 jest większa lub równa wartości IN2.
  • LIM (Limes) – blok granicy – porównuje, czy wartość IN mieści się w zadanym zakresie Low i High. Przesyła sygnał, jeśli wartość mieści się w podanym zakresie.

Programowanie w akcji!
Wykorzystując poznane bloki porównywania wartości, uzupełnij aplikację o logikę sprawdzającą stan poziomu wody w zbiorniku oraz odpowiednie sterowanie zaworami napełniającymi i opróżniającymi tak, by nie doprowadzić do przepełnienia lub zapowietrzenia zbiorników.

W tym celu dla każdego zbiornika określ poziom maksymalny – 50 litrów oraz poziom minimalny – 0 litrów, przy których nastąpi zamknięcie odpowiednich zaworów.

Wykorzystanie porównania wartości da Ci informację, czy poziom wody w zbiorniku nie osiągnął którejś ze skrajnych wartości.

 

Krok 1: Dodaj blok porównania poziomu wody do maximum
Przejdź do stworzonego podprogramu Zbiornik1 i w nowym szczeblu dodaj styk normalnie otwarty. W konfiguracji przypisz do niej zmienną systemową ALWAYS_ON o adresie %S007, która zawsze daje stan wysoki i zapewnia wykonywanie dalszej części kodu szczebla w każdym cyklu.

Następnie z górnego paska narzędziowego wstaw blok porównania GE (większy lub równy) i klikając w niego dwukrotnie, przejdź do konfiguracji.

 

Krok 2: Jak skonfigurować blok porównania?
Najpierw zmień obsługiwany typ na REAL, by móc dobrać odpowiednie zmienne.

Kolejno, jako pierwszy argument IN1 przypisz zmienną Zbiornik1 (możesz wybrać z rozwijanej listy), natomiast do argumentu IN2 przypisz wartość 50.

Blok ten, zgodnie z logiką działania, wystawi na wyjście sygnał, jeśli wartość zmiennej Zbiornik1, będzie większa lub równa 50.

Ostatnim elementem szczebla będzie cewka resetująca, która zamknie zawór napełniający w momencie, gdy poziom wody będzie równy 50 litrów i większy. W oknie konfiguracji cewki przypisz do niej zmienną Zawor_napelniajacy_ZB1.

Kolejno – za blokiem porównania – wstaw cewkę resetującą, która zamknie zawór opróżniający zbiornik numer 1, w momencie gdy poziom wody w tym zbiorniku osiągnie wartość 0.

Do cewki resetującej przypisz zmienną Zawor_oprozniajacy_ZB1.

Krok 3: Dodanie bloku porównania poziomu wody do minimum
Logikę sterowania w celu zamknięcia zaworu opróżniającego w momencie osiągnięcia minimalnego poziomu wody w zbiorniku określisz w ten sam sposób.

W tym celu ponownie wstaw styk normalnie otwarty i przypisz mu zmienną ALWAYS_ON, a następnie dodaj blok porównania LE (mniejsze bądź równe) i przejdź do jego konfiguracji.

W pierwszym kroku zmień typ na REAL, następnie do argumentu IN1 przypisz zmienną Zbiornik_1, a do argumentu IN2 – wartość 0.

 

Krok 4: Jak wykorzystać wyniki operacji porównania?
Logikę sterowania kontrolującą poziom wody w zbiorniku numer 2 określisz tak samo, jak dla zbiornika numer 1. W tym celu skopiuj stworzone w tej części kursu szczeble i wklej w podprogramie Zbiornik_2 (zobacz poniżej) napisane wcześniej linijki.

W kolejnym kroku zmienisz przypisane zmienne.

Dla bloku GE – skonfiguruj argument IN1 jako Zbiornik_2. Podobnie dla bloku LE – argument IN1 również powinien przyjmować wartość zmiennej Zbiornik_2.

Dla cewki resetującej występującej po bloku GE – ustaw zmienną Napelnianie_Zbiornika_ZB2, natomiast dla poniższej cewki przypisz zmienną Oproznianie_Zbiornika_ZB2.

Od teraz, wtedy, gdy poziom wody w zbiorniku numer 2 osiągnie wartość równą 50 litrów lub więcej, jego zawór napełniający zostanie zamknięty. Natomiast w momencie, gdy poziom wody w tym zbiorniku będzie równy 0, jego zawór opróżniający zostanie przesterowany.

 

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.

Skontaktuj się z dystrybutorem

Dystrybutor

ASTOR Sp. z o.o.

Adres: ul. Smoleńsk 29, 31-112 Kraków

Nr telefonu: 012 428-63-00 Skopiuj

Faks: 012 428-63-09 Pokaż numer Skopiuj

E-mail: info@astor.com.pl Skopiuj
WWW: www.astor.com.pl

Przy kontakcie powołaj się na portal automatyka.pl

Wyślij wiadomość

Dodaj plik...