Opis działania licznika CTU Siemens
Możesz użyć instrukcji “Count up”, aby zwiększyć wartość na wyjściu CV. Gdy stan sygnału na wejściu CU zmienia się z “0” na “1” (dodatni zbocze sygnału), instrukcja jest wykonywana, a bieżąca wartość licznika na wyjściu CV jest zwiększana o jeden. Wartość licznika jest zwiększana za każdym razem, gdy wykrywane jest dodatnie zbocze sygnału, aż osiągnie górny limit dla określonego typu danych na wyjściu CV. Gdy górny limit zostanie osiągnięty, stan sygnału na wejściu CU nie ma już wpływu na instrukcję.
Możesz zapytać o status licznika na wyjściu Q. Stan sygnału na wyjściu Q jest określany przez parametr PV. Jeśli bieżąca wartość licznika jest większa lub równa wartości parametru PV, wyjście Q jest ustawione na stan sygnału “1”. W przeciwnym razie wyjście Q ma stan sygnału “0”. Do nauki tego typu funkcji możesz wykorzystać symulator języka drabinkowego PLC, co pozwala bezpiecznie testować logikę bez użycia fizycznego sterownika. To dobre rozwiązanie dla osób początkujących i zaawansowanych.
Wartość na wyjściu CV jest resetowana do zera, gdy stan sygnału na wejściu R zmienia się na “1”. Tak długo, jak wejście R ma stan sygnału “1”, stan sygnału na wejściu CU nie ma wpływu na instrukcję.
Uwaga | ||
| Używaj licznika tylko w jednym miejscu w programie, aby uniknąć ryzyka błędów zliczania. | ||
Każde wywołanie instrukcji “Count up” 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:
Dla CPU S7-1200
| Blok danych typu systemowego IEC_ (Wspólny DB) | Tag lokalny |
| IEC_SCOUNTER / IEC_USCOUNTER | CTU_SINT / CTU_USINT |
| IEC_COUNTER / IEC_UCOUNTER | CTU_INT / CTU_UINT |
| IEC_DCOUNTER / IEC_UDCOUNTER | CTU_DINT / CTU_UDINT |
Dla CPU S7-1500
| Blok danych typu systemowego IEC_ (Wspólny DB) | Tag lokalny |
| IEC_SCOUNTER / IEC_USCOUNTER | CTU_SINT / CTU_USINT |
| IEC_COUNTER / IEC_UCOUNTER | CTU_INT / CTU_UINT |
| IEC_DCOUNTER / IEC_UDCOUNTER | CTU_DINT / CTU_UDINT |
| IEC_LCOUNTER / IEC_ULCOUNTER | CTU_LINT / CTU_ULINT |
Parametry instrukcji “Count up”
W poniższej tabeli przedstawiono parametry instrukcji “Count up”:
| Parametr | Deklaracja | Typ danych | Obszar pamięci S7-1200 | Obszar pamięci S7-1500 | Opis |
| CU | Wejście | BOOL | I, Q, M, D, L lub stała | I, Q, M, D, L lub stała | Wejście zliczania |
| R | Wejście | BOOL | I, Q, M, D, L, P lub stała | I, Q, M, T, C, D, L, P lub stała | Wejście resetujące |
| PV | Wejście | Całkowite liczby | I, Q, M, D, L, P lub stała | I, Q, M, D, L, P lub stała | Wartość, przy której wyjście Q jest ustawione. |
| Q | Wyjście | BOOL | I, Q, M, D, L | I, Q, M, D, L | Status licznika |
| CV | Wyjście | Całkowite liczby, CHAR, WCHAR, DATA | I, Q, M, D, L, P | I, Q, M, D, L, P | Bieżąca wartość licznika |
Przykład użycia licznika CTU
Poniższy przykład pokazuje, jak działa instrukcja:
Gdy stan sygnału operandu “TagIn_1” zmienia się z “0” na “1”, instrukcja “Count up” jest wykonywana, a bieżąca wartość licznika operandu “Tag_CV” jest zwiększana o jeden. Przy każdym dodatkowym dodatnim zboczu sygnału wartość licznika jest zwiększana, aż osiągnie górny limit typu danych (INT = 32767).
Wartość parametru PV jest przyjmowana jako limit do określenia wyjścia “TagOut”. Wyjście “TagOut” ma stan sygnału “1”, tak długo jak bieżąca wartość licznika jest większa lub równa wartości operandu “Tag_PV”. W przeciwnym razie wyjście “TagOut” ma stan sygnału “0”.