.. _impulse-counter: Impulse-counter ------------------- Podstawowy bloczek służący do zliczania impulsów. .. image:: _static/ikona_impulse-counter.png :width: 200 :height: 80 :alt: Impulse-counter Dane możliwe do uzyskania z bloczka ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Aktualna wartość licznika, wartość logiczna true lub false (1 lub 0), gdy zostanie osiągnięta wartość minimalna lub maksymalna licznika. Opis parametrów ikony ~~~~~~~~~~~~~~~~~~~~~~ .. image:: _static/impulse-counter_opis.png :width: 200 :height: 80 :alt: Impulse-counter opis * **1** - Wejście sygnału sterującego. * **2** - Nazwa bloczka nadana przez użytkownika. * **3** - Wyjście sygnałowe zwracające aktualną wartość licznika. * **4** - Wyjście sygnałowe zwracające "True", gdy zostanie osiągnięta wartość minimalna. * **5** - Wyjście sygnałowe zwracające "True", gdy zostanie osiągnięta wartość maksymalna. * **6** - Stan bloczka: zielony – działa, czerwony - błąd. * **7** - Stan wyjścia bloku lub informacja o błędzie. Wejście (1) ~~~~~~~~~~~~~~~~~~~~~~ Wejście dla danych sterujących urządzeniem. Bloczek sterowany za pomocą bloczków command decydujących o wykonywanej operacji. Możliwe sygnały wyjściowe bloczka command sterujące licznikiem: * **"Góra"** - Wysłanie komendy powoduje zwiększenie licznika o wartość "krok". * **"Dół"** - Wysłanie komendy powoduje zmniejszenie licznika o wartość "krok". * **"Set"** - Ustawia licznik na wartość początkową. * **"Reset"** - Ustawia licznik na wartość minimalną. Istnieje możliwość wgrania do licznika wartości zapisanej w bloczku const. Jeżeli wartośc bloczka const jest większa niż wartość maksymalna licznika nie zostanie ona wgrana do licznika. Wyjścia (3-5) ~~~~~~~~~~~~~~~~~~~~~~ Bloczek posiada trzy wyjścia, pozwalające uzyskać dane: **aktualna wartość** - Zwraca obecny stan licznika. **czy min** - Zwraca sygnał true (1) w momencie osiągnięcia wartości minimalnej. W przeciwnym wypadku ustawia sygnał false (0). **czy max** - Zwraca sygnał true (1) w momencie osiągnięcia wartości maksymalnej. W przeciwnym wypadku ustawia sygnał false (0). Komunikaty bloczka (7) ~~~~~~~~~~~~~~~~~~~~~~ Opis pod bloczkiem zawiera informację o stanie bloczka lub możliwym błędzie: * **Invalid start_value.** - Błąd - Wartość początkowa nie zawiera liczby naturalnej. * **Invalid value_from.** - Błąd - Brak wartości początkowej "Wartość od" lub nie zawiera liczby naturalnej. * **Invalid value_to.** - Błąd - Brak wartości końcowej "Wartość do" lub nie zawiera liczby naturalnej. * **Invalid movement.** - Błąd - Brak wartości kroku lub nie zawiera liczby naturalnej. * **Liczba** - System sprawny - Aktualna wartość licznika. Konfiguracja - Properties ~~~~~~~~~~~~~~~~~~~~~~~~~~ Ustawienia dostępne po podwójnym kliknięciu lewym przyciskiem myszy. .. image:: _static/impulse-counter_properties.png :width: 400 :height: 500 :alt: Impulse-counter properties **Nazwa** - Nazwa bloczka nadana przez użytkownika. **Wartość początkowa** - Wartość początkowa, musi być w zakresie "Wartość od" - "Wartość do". **Wartość od** - Minimalna wartość licznika. **Wartość do** - Maksymalna wartość licznika. **krok** - Wartość o jaką jest zmieniany licznik. **Włączony/Wyłączony** - Włączenie/wyłączenie działania bloczka. Przykładowe wykorzystanie bloku ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **W programie zamiast fizycznych urządzeń wejścia zostały wykorzystane bloczki inject. Umożliwia to przeprowadzenie symulacji bez konieczności posiadania fizycznych urządzeń.** Sterowanie wartością impulsów +/- .. image:: _static/impulse-counter_przyklad1.png :width: 800 :height: 200 :alt: Impulse-przyklad1 Opis działania układu: Pojawienie się impulsu na bloczku „Plus” spowoduje uruchomienie bloczka command, a następnie bloczek wyśle komendę „Góra” do impulse-counter. Spowoduje to zwiększenie wartości licznika o podany krok. Pojawienie się impulsu na bloczku „Minus” spowoduje uruchomienie bloczka command, a następnie bloczek wyśle komendę „Dół” do impulse-counter. Spowoduje to zmniejszenie wartości licznika o podany krok. Na wyjściu "czy max" pojawi się sygnał True(1), gdy licznik osiągnie "Wartość do". Na wyjściu "czy min" pojawi się sygnał True(1), gdy licznik osiągnie "Wartość od". Natychmiastowe ustawienie wartości licznika na min i max .. image:: _static/impulse-counter_przyklad2.png :width: 800 :height: 200 :alt: Impulse-przyklad2 Opis działania układu: Pojawienie się impulsu na bloczku „Min” spowoduje uruchomienie bloczka command, a następnie bloczek wyśle komendę „Reset” do impulse-counter. Licznik przyjmie wartość "Wartość od". Pojawienie się impulsu na bloczku „Max” spowoduje uruchomienie bloczka command, a następnie bloczek wyśle komendę „Set” do impulse-counter. Licznik przyjmie wartość "Wartość początkowa". 3 stałe wartości oświetlenia z płynną zmianą .. image:: _static/impulse-counter_przyklad3.png :width: 800 :height: 320 :alt: Impulse-przyklad 3 Opis działania układu: Impuls z bloczka "Przycisk zmieniający światło na 0%, 50% i 100%" powoduje aktywację bloczka command z ustawieniem "UP" (wartość ustawienia widoczna poniżej bloczka). Sygnał "UP" jest przekazywany do bloczka impulse-counter, który służy do zliczania ilości wciśnięć przycisku. Parametr "Wartość do" wynosi 4. Parametry "Krok" i "Wartość od" są ustawione na 1. Wartość ilości impulsów jest przekazywana za pomocą bloczka "tag:1" do "comparator" i porównywana z wartością stałą ustaloną w bloczku const. Wartość z bloczka const jest otagowana za pomocą tag:2, co umożliwia w bloczku comparator porównanie jej z wartością z impulse-counter. Jeśli wartość tag:1 - ilość impulsów jest równa wartości tag:2 z bloczka const to generuje on sygnał True(1), w innym przypadku jest False(0). Sygnał True z bloczka comparator powoduje aktywację wybranego bloczka const, w którym zapisana jest wartość procentowa wysterowania bloczka dimmer. Podanie liczbowej wartości oświetlenia nie wymaga stosowania bloczka tag:1. Działanie: pierwszy impuls ustala wartość 0 (wyłącza), drugi impuls ustala wartość 50%, trzeci impuls ustala wartość 100%, czwarty impuls powoduje wysłanie sygnału "Reset" do bloczka impulse-counter, co skutkuje ustawieniem jego wartości na 1 tym samym ustala z powrotem wartość 0% na bloczku dimmer. Wartość z bloczka dimmer przekazywana jest na wyjście sterujące lampą w salonie. .. toctree:: :maxdepth: 2 :hidden: :caption: Interfejs użytkownika oprogramowanie/foldery oprogramowanie/konfigurator oprogramowanie/devices oprogramowanie/gate oprogramowanie/przeglad oprogramowanie/zdalny_dostep .. toctree:: :maxdepth: 2 :hidden: :caption: Urządzenia oprogramowanie/input oprogramowanie/output .. toctree:: :maxdepth: 2 :hidden: :caption: Moduły oprogramowanie/dimmer oprogramowanie/command oprogramowanie/d-latch oprogramowanie/impulse-generator oprogramowanie/impulse-counter oprogramowanie/click-analyzer oprogramowanie/astro-timer oprogramowanie/clock-timer .. toctree:: :maxdepth: 2 :hidden: :caption: Bramki logiczne oprogramowanie/and oprogramowanie/or oprogramowanie/not .. toctree:: :maxdepth: 2 :hidden: :caption: Narzędzia oprogramowanie/math oprogramowanie/tag oprogramowanie/comparator oprogramowanie/const oprogramowanie/inject oprogramowanie/switch oprogramowanie/comment .. toctree:: :maxdepth: 2 :hidden: :caption: Modbus oprogramowanie/modbus-read copy oprogramowanie/modbus-write oprogramowanie/ac .. toctree:: :maxdepth: 2 :hidden: :caption: Mobile oprogramowanie/app_value oprogramowanie/app_button oprogramowanie/app_label .. toctree:: :maxdepth: 2 :hidden: :caption: Inne oprogramowanie/dane