Jak zliczać impulsy i konfigurować liczniki?
Kurs programowania PLC od podstaw
Odc. 7
Kontakt w sprawie artykułu: Kamil Zajdel - 2020-02-12
Z tego artykułu dowiesz się:
- Jak działają bloki funkcyjne służące do zliczania impulsów w sterowniku PLC?
- Jakie rodzaje liczników dostępne są w oprogramowaniu Cscape?
- Jak konfigurować liczniki i jak poprawnie wykorzystywać je w programach?
W poprzednim artykule poznałeś/aś bloki służące do porównywania wartości. W tym artykule dowiesz się jak działają bloki funkcyjne służące do zliczania impulsów w sterowniku PLC i jak je wykorzystywać.
Kurs programowania PLC od podstaw dla automatyków i elektryków
Podstawy programowania sterowników PLC
Programowanie sterownika PLC w języku drabinkowym
Programowanie zintegrowanego panelu HMI
Komunikacja sterowników PLC w sieci szeregowej i Ethernet
Zaawansowane funkcje sterownika PLC
Liczniki to bloki funkcyjne służące do zliczania impulsów w sterowniku PLC, pochodzących z obiektu podłączonego do wejść sterownika Horner lub generowanych wewnętrznie w programie.
Na podstawie zliczanych impulsów oraz porównywania tej liczby do wartości zadanych, liczniki sterują przepływem sygnału i kontrolują wykonywany program. Są bardzo wartościowym i pomocnym narzędziem, wykorzystywanym często do zliczania załączeń skonfigurowanych urządzeń.
Zapraszamy zatem do dalszej lektury i pracy nad tworzonym projektem, który rozbudujesz o zliczające bloki funkcyjne.
Jakie rodzaje liczników dostępne są w oprogramowaniu Cscape oraz jakie są ich zadania?
Licznik, podobnie jak timer, wymaga dwóch kolejnych rejestrów. W pierwszym z nich przechowywana jest aktualna wartość licznika. Na pierwszych 14 bitach drugiego rejestru licznik przechowuje wartości własne. Bit 15 daje informację, czy licznik jest uruchomiony, a bit 16 informuje, czy licznik zakończył zliczanie impulsów.
Zliczane impulsy to nic innego jak zmiana stanu sygnału z niskiego na wysoki.
Licznik ma za zadanie zliczać impulsy do osiągnięcia wartości określonej przez użytkownika lub od tej wartości do 0. Wartość ta oznaczona jest jako PV i może być wartością stałą lub zdefiniowaną poprzez dodatkowy rejestr 16 bitowy.
Oprócz wejścia zliczającego impulsy i wejścia ustawiającego wartość zadaną, jest też wejście resetujące. Stan wysoki na tym wejściu powoduje ustawienie stanu niskiego na wyjściu licznika i powrót do początkowej wartości, od której rozpoczynane jest zliczanie.
W sterownikach Horner wyróżniamy dwa typy liczników:
CTU (Counter Up) – licznik zliczający w górę – licznik zlicza impulsy na wejściu i wystawia stan wysoki na swoim wyjściu po doliczeniu do zadanej wartości.
Cechy:
- Licznik zlicza od 0 do zadanej wartości (PV).
- Resetowanie licznika powoduje ustawienie wartości 0. Od tej wartości rozpoczynane będzie kolejne zliczanie.
CTD (Counter Down) – licznik zliczający w dół – licznik zlicza impulsy na wejściu i wystawia stan wysoki na swoim wyjściu po odliczeniu od zadanej wartości do 0.
Cechy:
- Licznik zlicza od wartości zadanej (PV) do 0.
- Resetowanie licznika powoduje ustawienie wartości zadanej (PV). Od tej wartości rozpoczynane będzie kolejne zliczanie.
Programowanie w akcji!
W tworzonym programie dodasz logikę kontrolującą liczbę załączeń grzałki i mieszalnika w zbiorniku numer 3. Zliczanie będzie realizowane automatycznie, a po osiągnięciu wartości zadanej liczniki zostaną automatycznie wyzerowane.
Wykorzystasz 2 liczniki, CTD zliczający załączenia mieszalnika i CTU zliczający impulsy załączające grzałkę.
W tym celu, w stworzonym podprogramie Mieszanie _Grzanie, klikając prawym przyciskiem myszy na lewy szczebel, wybierz opcję New Comment… i dodaj nowy komentarz opisujący kolejne działania programu.
Krok 1: Jak dodać i skonfigurować licznik w środowisku Cscape?
W kolejnych dwóch szczeblach stworzysz logikę odpowiedzialną za zliczanie załączeń mieszadła. W tym celu umieść styk normalnie otwarty i przypisz do niego zmienną mieszanie. Zaraz za stykiem umieść cewkę uaktywnianą zboczem narastającym sygnału, do której przypisz zmienną o adresie %T00001 (t1).
Przypomnij sobie zasadę działania cewki aktywowanej zboczem narastającym – po otrzymaniu impulsu wystawia ona sygnał wysoki na wyjściu, dokładnie na jeden cykl pracy sterownika.
Kolejny stan wysoki na wyjściu pojawi się dopiero przy kolejnej zmianie stanu wejścia z niskiego na wysoki. Dzięki temu jedno załączenie mieszania spowoduje tylko jedno (a nie ciągłe) załączenie cewki i tym samym zwiększy stan licznika dokładnie o 1.
Uwaga: Gdybyś stan licznika zwiększał/a bezpośrednio poprzez impulsy ze styku normalnie otwartego mogłoby się zdarzyć, że jedno załączenie skutkowałoby zwiększeniem licznika o znacznie większą wartość. Jest to związane z różnym czasem cyklu programu i czasem trwania logicznej jedynki na styku.
W nowym szczeblu ponownie umieść styk normalnie otwarty i przypisz do niego zmienną %T00001 (t1). Za stykiem wstaw licznik, wybrany z górnego paska narzędziowego:
Klikając dwukrotnie na wstawiony blok, przejdziesz do jego konfiguracji w nowym oknie:
Najpierw zmień rodzaj licznika na Down Counter. Następnie jako adres licznika wybierz rejestr %R00016 o nazwie Licznik_zalaczen_mieszadla.Jako wartość zadaną podaj liczbę 300.
Resetowanie będzie realizowane przy pomocy zmiennej %T0002 o nazwie Reset_licznik_mieszadla.
Finalnie konfiguracja powinna wyglądać jak na poniższym obrazku:
Za licznikiem umieść kolejną cewkę uaktywnianą zboczem narastającym, która posłuży do resetowania licznika w momencie osiągnięcia odpowiedniej liczby załączeń mieszadła. Przypisz więc do niej zmienną %T00002 o nazwie Reset_licznik_mieszadla. Ponowne wykorzystanie tego rodzaju cewki zapewni jednokrotne (a nie ciągłe) zresetowanie licznika.
Krok 2: Dodaj i skonfiguruj kolejny licznik
Logikę dla zliczania załączeń grzałki ustawisz w ten sam sposób, dlatego możesz skopiować stworzone przed momentem dwie linijki kodu i wkleić poniżej.
Następnie do pierwszego styku normalnie otwartego przypisz zmienną grzanie, do cewki zmienną o adresie %T00003 (t3). W szczeblu poniżej do styku normalnie otwartego również zmienną o adresie %T00003 (t3) oraz do ostatniej cewki dodaj zmienną o adresie %T00004 i nazwie Reset_licznik_grzanie.
Konfiguracja licznika powinna wyglądać następująco:
Zwróć uwagę na zmienione rejestry oraz zmieniony rodzaj licznika.
Cała logika dla zliczania załączeń grzania powinna wyglądać jak na poniższej grafice:
Krok 3: Wgranie programu do sterownika i testowanie
Zaktualizowany program sterujący wgraj do sterownika przy pomocy ikony Download to… Upewnij się, że sterownik jest w trybie RUN – jeśli nie, to włącz go za pomocą ikonki.
Dopilnuj, aby na pasku podglądu kodu nie znajdowały się więcej niż 4 otwarte podprogramy – zamknij niepotrzebne z nich. Następnie otwórz okno Data Watch oraz włącz tryb Debug.
W celu przetestowania działania programu, w oknie Data Watch dodaj następujące zmienne:
Zmieniając wartość zmiennej mieszanie na ‘’ON” lub ‘’1”, możesz obserwować zmiany wartości pozostałych zmiennych.
W kolejnej części kursu poznasz zasadę działania bloków do konwersji typów zmiennych w języku drabinkowym. Dowiesz się również, jak działa operacja przemieszczania zmiennych w programie.
Znacząco rozbudujesz aplikację sterującą napełnianiem zbiorników o kolejne funkcjonalności.
W kolejnym artykule z cyklu kurs „Programowanie PLC od podstaw – kurs dla automatyków i elektryków”: Jak konwertować typy zmiennych i przemieszczać zmienne w programie?
- Jakie bloki do konwersji typów zmiennych dostępne są w środowisku Cscape oraz jaka jest zasada ich działania?
- Jak konfigurować bloki konwersji typów zmiennych?
- Jakie rejestry można przemieszczać w programach?
- Jakie bloki do przemieszczania danych oferuje oprogramowanie Cscape?
- Jaka jest zasada działania bloków służących do przemieszczania rejestrów?