Strona główna ASTOR

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

  • 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
  • 22. Składowanie danych: karta MicroSD
  • 23. Trendy historyczne oraz receptury w programie
  • 24. Setpoint, backup i restore danych oraz generowanie raportów z poziomu sterownika
  • 25. 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
  • 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.

    Newsletter Poradnika Automatyka

    Czytaj trendy i inspiracje, podstawy automatyki, automatykę w praktyce

    Please wait...

    Dziękujemy za zapis do newslettera!

    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?

    Czy ten artykuł był dla Ciebie przydatny?

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

    Ten artykuł nie był jeszcze oceniony.

    Zadaj pytanie

    Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *