[KURS PLC, CZĘŚĆ 11] Sterowniki SIMATIC S7-1200 (CPU1211C) – liczniki

Uwaga! Lista wszystkich opublikowanych odcinków kursu jest dostępna pod adresem.

W tym odcinku zajmiemy się zliczaniem zdarzeń, czyli licznikami. Podobnie jak w przypadku timerów, tak samo i w tej sytuacji jest kilka sposobów na realizację tej czynności. Podział jest taki sam, jak poprzednio, czyli rozwiązanie sprzętowe lub programowe. Od czego to zależy? Które rozwiązanie wykorzystać? Należy sprawdzić, jak szybko pojawiają się zdarzenia. Następnie należy sprawdzić czas cyklu, czyli ile zajmuje obieg całej pętli programowej. Załóżmy, że ten czas wynosi 10ms. Jeżeli zdarzenie pojawia się raz na 10ms lub rzadziej to można wykorzystać rozwiązanie programowe. W innym przypadku trzeba użyć rozwiązania sprzętowego, czyli przerwań, ponieważ w takiej sytuacji przy rozwiązaniu programowym kilka informacji o tym, że pojawiło się zdarzenie zostanie utracone.

Zadanie

Firma przemysłowa posiada wjazd tylko dla samochodów odbierających towar. Jednocześnie towar może być ładowany do 10 samochodów, ponieważ tyle jest stanowisk. Aby ułatwić pracę dyspozytorowi otwierającemu bramę zakład umieścił przed bramą czujnik, który posłuży do detekcji wjeżdżających pojazdów. Przed bramą została zamontowany również sygnalizator z czerwoną lampą. Czujnik oraz lampę należy odpowiednio podłączyć do sterownika SIMATIC S7-1200. Gdy 10 samochodów wjedzie na teren zakładu, wówczas zapala się czerwona lampa. Jest to informacja dla kierowców, że nie mogą wjeżdżać za bramę. Gdy dyspozytor stwierdzi, że kolejne samochody mogą wjeżdżać, naciska przycisk Reset i wówczas czerwona lampa gaśnie. To umożliwia wjazd kolejnych samochodów.

Zestaw startowy do kursu programowania SIMATIC S7-1200 

Sklep KAMAMI.pl przygotował specjalną ofertę dla osób zainteresowanych poznaniem w praktyce możliwości sterowników SIMATIC S7-1200 oraz podstaw ich programowania. W ramach tej oferty dostępny jest zestaw startowy o nazwie Siemens SIMATIC S7-1200 PROMO w promocyjnej cenie (659 PLN brutto). Składa się on z następujących elementów:

  • sterownika SIMATIC S7-1200 (CPU1211C, 6ES7211-1AE40-0XB0),
  • przełącznika SIRIUS ACT NO+NC zintegrowanego z LED (3SU1031-3BB61-0AK0, 3SU1500-0AA10-0AA0, 3SU1400-1AA10-1BA0, 3SU1400-1AA10-1CA0, 3SU1401-1BB60-1AA0),
  • oprogramowania w wersji eval.

Schemat elektryczny

Sposób podłączenia elementów zewnętrznych do sterownika PLC przedstawiono na poniższym rysunku:

Programowe zliczanie zdarzeń

To zdarzenie pojawia się dosyć rzadko, więc można wykorzystać funkcje programowe. Sprawdź, jakie są dostępne funkcje w katalogu Counter operations, który znajduje się w zakładce Instructions po prawej stronie okna programu TIA Portal, po rozwinięciu karty Basic instructions.

Jak widać, dostępne są trzy liczniki:

  • CTU – licznik zliczający w górę
  • CTD – licznik zliczający w dół
  • CTUD – licznik zliczający w górę i w dół

Do rozwiązania zadania wykorzystamy licznik CTU. Reprezentacja graficzna tego licznika została przedstawiona poniżej:

Funkcja posiada trzy parametry wejściowe oraz dwa parametry wyjściowe. Znaczenie każdego z nich opisano poniżej:

  • CU – sygnał typu BOOL , który powoduje zwiększenie wartości licznika po detekcji zbocza narastającego
  • R – reset aktualnej wartości licznika
  • PV – wartość, której osiągnięcie spowoduje ustawienie wyjścia Q w stan wysoki
  • Q – wyjście licznika, gdzie stan wysoki jest informacją o zliczeniu ustalonej liczby zdarzeń
  • CV – aktualny stan licznika

Przykładowy wykres obrazujący przebieg zliczania przedstawiono poniżej:

Każde zbocze narastające podane na wejście CU powoduje, że aktualna wartość zliczeń zostaje zwiększona. Przedstawia to także parametr wyjściowy CV. Do parametru wejściowego PV została przypisana liczba 3, ponieważ po osiągnięciu tej wartości parametr wyjściowy Q jest w stanie wysokim. Ten stan utrzymuje się tak długo, aż do parametru wejściowego R nie zostanie przypisany stan wysoki. Po resecie cykl zliczania rozpoczyna się od początku.

Dla zainteresowanych doskonaleniem programowania PLC Wydawnictwo BTC przygotowało książkę „Podstawy programowania sterowników SIMATIC S7-1200 w języku SCL”, której autorem jest autor naszego kursu, doświadczony projektant systemów automatyki – Tomasz Gilewski.

Projekt w TIA Portal

Tworzymy nowy projekt (np. o nazwie 11_Licznik), który konfigurujemy w ten sam sposób, jak w poprzednim odcinku.

Podobnie jak poprzednim projekcie, tak i teraz utworzono nową tablicę PLC tags o nazwie CONST. W zakładce User constants tworzymy nową stałą o nazwie CONST_CAR typu USInt o wartości 10. Rysunek poniżej przedstawia utworzoną stałą.

Przed napisaniem kodu programu należy jeszcze utworzyć nazwy symboliczne. Tworzymy jeszcze dwie tablice PLC tags o nazwach Input oraz Output. Utworzone tablice przedstawiono poniżej

W drzewie projektu znajduje się folder Program blocks, w którym jest blok organizacyjny OB1. Ten blok jest automatycznie dodawany do projektu. Język, w jakim można pisać kod w tym bloku to LAD. My piszemy kod programu w języku SCL, więc w pierwszej kolejności usuwamy ten blok z projektu (zaznaczamy go myszką i z klawiatury wybieramy Delete). Dodajemy nowy blok Main OB1. Klikamy na Add new block i w oknie, które się pojawi, wybieramy z lewej strony organization block. Następnie należy zaznaczyć Program cycle i wybrać język SCL. Zatwierdzamy klikając przycisk OK.

W bloku OB1 umieścimy kod realizujący rozwiązanie zadania. Należy wywołać funkcję CTU. To spowoduje pojawienie się okna Call option. To okno służy do utworzenia nowego bloku instance DB, czyli bloku danych powiązanego tylko z licznikiem CTU. To w tym bloku danych będą przechowywane wszystkie informacje, które są potrzebne do prawidłowego działania licznika. Kod z bloku OB1 przedstawiono poniżej:

„IEC_Counter_0_DB”.CTU(CU:=”Sensor”,

R:=”Reset”,

PV:=”CONST_CAR”,

Q=>”RedLamp”);

Do funkcji CTU został utworzony blok instance DB o nazwie IEC_Counter_0_DB. Do parametru CU został przypisany czujnik, którego nazwa symboliczna to Sensor. Do parametru R został przypisany przycisk do resetu licznika, który został opisany jako Reset. Stała CONST_CAR została przypisana do parametru PV. Sygnał wykonawczy, którym w naszym przypadku jest czerwona lampa (w programie opisana jako RedLamp) została powiązana z parametrem wyjściowym Q.

Teraz wykonaj kompilację całego projektu i zaprogramuj sterownik.

Testowanie programu

Sprawdź, czy program jest realizowany zgodnie z założeniami. Po pojawieniu się 10 sygnałów na wejściu cyfrowym I0.0 (czyli Sensor), wyjście cyfrowe Q0.0 (RedLamp) powinno być w stanie wysokim. Kolejny cykl zliczania jest możliwy dopiero po naciśnięciu przycisku Reset. Zobacz, jak to wygląda na wykresie czasowym znajdującym się na poniższym rysunku:

Praca domowa

Wykonaj to samo zadanie wykorzystując licznik CTD. Idea użycia jest podobna do licznika CTU. Parametry tego licznika są praktycznie takie same. Opis tych parametrów znajdziesz w pomocy programu TIA Portal.

Tomasz Gilewski

Do pobrania

O autorze