Jak zliczać impulsy i konfigurować liczniki?
Kurs programowania sterowników Horner APG w środowisku Cscape 10, odc. 7
Kontakt w sprawie artykułu: Mateusz Pytel - 2025-09-09

W tym odcinku nauczymy się zliczać impulsy i wykorzystywać liczniki. 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.
Kurs programowania sterowników Horner APG w środowisku Cscape 10
Wprowadzenie i podstawy
1. Jak skonfigurować, podłączyć oraz uruchomić sterownik PLC?2. Jak tworzyć i edytować projekty w oprogramowaniu Cscape 10?
Programowanie 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 graficznych?
13. Jak korzystać z obiektu menu?
14. Konfiguracja i obsługa alarmów w sterownikach PLC.
15. Trend Graph.
Wykorzystamy dwa liczniki, CTD zliczający załączenia mieszalnika i CTU zliczający impulsy załączające grzałkę.
Na początek 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. Następnie w Program Variable dodaj zmienną t1 o adresie %T00001. Zaraz za stykiem umieść cewkę uaktywnianą zboczem narastającym sygnału, do której przypisz zmienną 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śmy stan licznika zwiększali 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 paska narzędziowego znajdującego się po lewej stronie programu sterującego:

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.
W program Variables dodaj zmienną t3 o adresie %T00003.
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. 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 przejdź do zakładki Debug i uruchom tryb Debug Mode oraz okno Data Watch.
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.
Następny odcinek: Jak konwertować typy zmiennych i przemieszczać zmienne w programie?
Autor artykułu:
Jacek Dynak
Praktykant ASTOR
Student IV roku kierunku „automatyka i robotyka” na Politechnice Krakowskiej