Licznik CTUD – liczenie w górę i w dół w S7-1200

Share
Licznik CTUD – liczenie w górę i w dół w S7-1200

Wprowadzenie do licznika CTUD

Możesz użyć instrukcji „Count up and down” do inkrementacji i dekrementacji wartości licznika na wyjściu CV. Jeśli stan sygnału na wejściu CU zmienia się z „0” na „1” (dodatni zbocze sygnału), bieżąca wartość licznika jest inkrementowana o jeden i zapisywana na wyjściu CV. Jeśli stan sygnału na wejściu CD zmienia się z „0” na „1” (dodatni zbocze sygnału), wartość licznika na wyjściu CV jest dekrementowana o jeden. Aby lepiej zrozumieć działanie takich funkcji, warto zapisać się na bezpłatny kurs PLC, który wprowadza w podstawy programowania sterowników. Jeśli w jednym cyklu programu wystąpi dodatnie zbocze sygnału na wejściach CU i CD, bieżąca wartość licznika na wyjściu CV pozostaje niezmieniona.

Limity licznika

Wartość licznika może być inkrementowana, aż osiągnie górny limit typu danych określonego na wyjściu CV. Gdy górny limit zostanie osiągnięty, wartość licznika nie jest już inkrementowana na dodatnim zboczu sygnału. Wartość licznika nie jest już dekrementowana, gdy osiągnięto dolny limit określonego typu danych.

Ustawianie wartości licznika

Gdy stan sygnału na wejściu LD zmienia się na „1”, wartość licznika na wyjściu CV jest ustawiana na wartość parametru PV. Dopóki wejście LD ma stan sygnału „1”, stan sygnału na wejściach CU i CD nie ma wpływu na instrukcję.

Wartość licznika jest ustawiana na zero, gdy stan sygnału na wejściu R zmienia się na „1”. Dopóki wejście R ma stan sygnału „1”, zmiana stanu sygnału na wejściach CU, CD i LD nie ma wpływu na instrukcję „Count up and down”.

Sprawdzanie statusu licznika

Możesz zapytać o status licznika w górę na wyjściu QU. Jeśli bieżąca wartość licznika jest większa lub równa wartości parametru PV, wyjście QU jest ustawiane na stan sygnału „1”. W przeciwnym razie wyjście QU ma stan sygnału „0”.

Możesz zapytać o status licznika w dół na wyjściu QD. Jeśli bieżąca wartość licznika jest mniejsza lub równa zero, wyjście QD jest ustawiane na stan sygnału „1”. W przeciwnym razie wyjście QD ma stan sygnału „0”.

Wskazówki dotyczące użycia licznika

Używaj licznika w jednym punkcie programu, aby uniknąć ryzyka błędów w liczeniu.

Każde wywołanie instrukcji „Count up and down” musi być przypisane do licznika IEC, w którym przechowywane są dane instrukcji. Licznik IEC to struktura z jednym z następujących typów danych:

  • Blok danych typu systemowego IEC_ (Shared DB)
  • Tag lokalny

Konfiguracja licznika IEC

Dla CPU S7-1200:

  • Blok danych typu systemowego IEC_ (Shared DB)
  • Tag lokalny

Dla CPU S7-1500:

  • Blok danych typu systemowego IEC_ (Shared DB)
  • Tag lokalny

Możesz zadeklarować licznik IEC w następujący sposób:

  • Deklaracja bloku danych typu systemowego IEC_ (na przykład „MyIEC_COUNTER”)
  • Deklaracja jako tag lokalny typu CTUD_ lub IEC_ w sekcji „Static” bloku (na przykład #MyIEC_COUNTER)

Optymalizacja dostępu do bloku danych

Gdy skonfigurujesz licznik IEC w osobnym bloku danych (jedna instancja), blok danych instancji jest tworzony domyślnie z „optymalizowanym dostępem do bloku”, a poszczególne tagi są definiowane jako retencyjne. 

Gdy skonfigurujesz licznik IEC jako tag lokalny (wiele instancji) w bloku funkcyjnym z „optymalizowanym dostępem do bloku”, jest on definiowany jako retencyjny w interfejsie bloku.

Przykład działania instrukcji

Wykonanie instrukcji „Count up and down” wymaga wcześniejszej operacji logicznej. Może być umieszczona w obrębie lub na końcu sieci.

Poniższy przykład pokazuje, jak działa instrukcja:

Przykład działania instrukcji

Jeśli stan sygnału na wejściu „TagIn_1” lub „TagIn_2” zmienia się z „0” na „1” (dodatni zbocze sygnału), instrukcja „Count up and down” jest wykonywana. Gdy występuje dodatnie zbocze sygnału na wejściu „TagIn_1”, bieżąca wartość licznika jest inkrementowana o jeden i zapisywana na wyjściu „Tag_CV”. Gdy występuje dodatnie zbocze sygnału na wejściu „TagIn_2”, wartość licznika jest dekrementowana o jeden i zapisywana na wyjściu „Tag_CV”. Gdy występuje dodatnie zbocze sygnału na wejściu CU, wartość licznika jest inkrementowana, aż osiągnie górny limit 32767. Jeśli wejście CD ma dodatnie zbocze sygnału, wartość licznika jest dekrementowana, aż osiągnie dolny limit INT = -32768.

Wyjście „TagOut” ma stan sygnału „1”, dopóki bieżąca wartość licznika jest większa lub równa wartości na wejściu „Tag_PV”. W przeciwnym razie wyjście „TagOut” ma stan sygnału „0”.

Wyjście „TagOut_QD” ma stan sygnału „1”, dopóki bieżąca wartość licznika jest mniejsza lub równa zero. W przeciwnym razie wyjście „TagOut_QD” ma stan sygnału „0”.

Share
Recommended course!
Until 20.09.2022 rebate -15% on:

SIMATIC S7 in action

Sign up for the newsletter!
Author of entries
Tomasz Gilewski

Hello, my name is Tomasz Gilewski. I am the author of books on the S7-1200 controller and HMI panels (i.e. Siemens hardware). I have been programming exclusively on Siemens hardware and engineering tools for several years.

Leave a Comment

Select currency
Scroll to Top

Search on