System Grenton daje możliwość tworzenia dowolnych powiązań między urządzeniami wejścia i wyjścia, oraz przygotowywania również zaawansowanej logiki dopasowanej do potrzeb użytkowników. Jedną z takich funkcjonalności jest możliwość sterowania wieloma obwodami za pomocą jednego przycisku. Możliwe jest to dzięki funkcjonalności rozpoznawania długości naciśnięcia klawisza oraz wielokrotnych kliknięć. Poniżej przedstawiona została propozycja zrealizowania obsługi podwójnych kliknięć.


Do zrealizowania poniższej funkcjonalności potrzebujesz:

  • jednostka centralna CLU 
  • moduł wyjść Grenton - przekaźnikowy RELAY, analogowy ANALOG 0-10V lub jakakolwiek akcja wewnątrz logiki systemu
  • moduł wejść DIGITAL IN lub panel dotykowy GRENTON TOUCH PANEL
  • środowisko do tworzenia logiki sytemu Object Manager


Realizowanie wspomnianej funkcjonalności wymagać będzie utworzenia:

  • skryptu - w przykładowym projekcie nazwany config
  • obiektu wirtualnego Timer - w przykładowym projekcie nazwany timer
  • zmiennej globalnej przetrzymującej ilość kliknięć  - w przykładowym projekcie nazwana clicks_number



Konfiguracja jednostki centralnej CLU

        1. Dwukrotnie kliknij w ikonę CLU aby wejść do ustawień modułu


        2. Przejdź do zakładki "Cechy użytkownika" i stwórz zmienną globalną typu number:

  • clicks_number - liczba zliczonych kliknięć

(Kliknij aby powiększyć)

Konfiguracja logiki

        1. Utwórz skrypt zarządzający pracą. W analizowanym przypadku nazwany config

(Kliknij aby powiększyć)


      2. Utwórz skrypt realizujący logikę systemu korzystając z zasobnika Komponenty po prawej stronie okna oprogramowania Object Manager. Informacje jak tworzyć skrypty w systemie Grenton możesz znaleźć TUTAJ. Połączenia i warunki logiczne między utworzonymi blokami funkcyjnymi powinny wyglądać jak pokazano na schemacie poniżej:

(Kliknij aby powiększyć)


Poniżej znajduje się pełna lista komponentów oraz procedura ich tworzenia.

  • Warunek > CLU > Cechy zdefiniowane: clicks_number > Warunek logiczny: "==" > Wartość: 1
        Sprawdzenie czy ilość zliczonych kliknięć wynosi 1

(Kliknij aby powiększyć)


  • Akcja > lamp1 > Metoda: Switch(time) > Parametry: Unlimited
        Zmiana stanu wyjścia przekaźnikowego lamp1

(Kliknij aby powiększyć)


  • Operacje na zmiennych > clicks_number > "=" > Wartość: 0
        Przypisanie ilości zliczonych kliknięć wartość 0

(Kliknij aby powiększyć)


  • Warunek > CLU > Cechy zdefiniowane: clicks_number > Warunek logiczny: "==" > Wartość: 1
        Sprawdzenie czy ilość zliczonych kliknięć wynosi 1

(Kliknij aby powiększyć)


  • Akcja > lamp2 > Metoda: Switch(time) > Parametry: Unlimited
        Zmiana stanu wyjścia przekaźnikowego lamp2

(Kliknij aby powiększyć)


  • Operacje na zmiennych > clicks_number > "=" > Wartość: 0
        Przypisanie ilości zliczonych kliknięć wartość 0

(Kliknij aby powiększyć)



Powyższa logika w trybie tekstowym prezentuje się jak niżej.

if(CLU->clicks_number==1) then
CLU->lamp1->Switch(0)
CLU->clicks_number=0
else
if(CLU->clicks_number==2) then
CLU->lamp2->Switch(0)
CLU->clicks_number=0
else
CLU->clicks_number=0
end
end


UWAGA! Logikę tę można w prosty sposób rozszerzyć o rozpoznawanie większej ilości kliknięć. Wystarczy dodać kolejne warunki sprawdzające ilość kliknięć. Przykładowe rozszerzenie o rozpoznawanie potrójnego kliknięcia przedstawiono poniżej:

(Kliknij aby powiększyć)


Wirtualny obiekt TIMER

        1. Kliknij w symbol zegara aby przejść do okna tworzenia wirtualnych obiektów.

 



        2. Z rozwijanej listy wybierz pozycję "Timer".


        3. Wejdź w zakładkę "Cechy wbudowane", ustaw cechę Mode w tryb CountDown, oraz podaj wartość cechy Time - czas, w którym muszą zostać wykonane kolejne kliknięcia, aby były zliczone przez system.

(Kliknij aby powiększyć)


        4. Wejdź w zakładkę "Zdarzenia", dodaj do zdarzenia OnTimer utworzony skrypt config.

(Kliknij aby powiększyć)

        5. Zatwierdź zmiany przyciskiem OK


Konfiguracja urządzeń wejścia/wyjścia

        1. Dwukrotnie kliknij w ikonę wejścia switch aby wejść do ustawień wejścia modułu


        2. Przejdź do zakładki "Zdarzenia" i do zdarzenia OnClick przypisz dwie komendy:

  • uruchomienie pracy obiektu wirtualnego Timer,

(Kliknij aby powiększyć)

  • wykonanie iteracyjnego zwiększenia wartości zmiennej globalnej clicks_number. 

Komendę tę można przypisać na różne sposoby jednak najszybszą i najprostszą jest edycja wygenerowanej komendy do postaci poprawnie interpretowanej przez wbudowany kompilator języka LUA. W polu "Przypisane komendy" dodaj kolejną pozycję i wpisz ręcznie:

CLU->clicks_number+=1

lub:

CLU->clicks_number=CLU->clicks_number+1


Możliwe jest również zastąpienie wpisywanej ręcznie komendy skryptem. W tym celu należy utworzyć skrypt jak niżej:


I przypisanie wykonania tego skryptu do zdarzenia OnClick:

(Kliknij aby powiększyć)


Po wykonanej operacji okno dialogowe wejścia switch w zakładce Zdarzenia prezentuje się jak niżej.

(Kliknij aby powiększyć)

lub:

(Kliknij aby powiększyć)

        3. Zatwierdź zmiany przyciskiem OK.


Wysyłanie konfiguracji do systemu

            1. Po wprowadzeniu wszystkich zmian wyślij konfigurację do CLU za pomocą poniższego przycisku na pasku narzędzi: