Strona 1 z 1

Funkcja logiczna/skryp LUA

: 1 kwie 2019, o 14:06
autor: Davideq
Witam,
W jaki najprostszy sposób zrealizować następującą funkcję: Tylko jeżeli stan na wejściu utrzymuje się odpowiednio długi, zadany czas, spowoduje to zmianę stanu na wyjściu i wysłanie elegramu.Czyli np. powyżej 15s telegram jest wysyłany, jeżeli czas jest krótszy to nic się nie dzieje. Oczywiście nie chodzi mi o opóźnienie w czasie wysłania, bo taką funkcję zrealizowałem. Mam skryp LUA, który realizuje funkcję, oprócz oczywiście uwarunkowania czasowego:

value_1 = grp.getvalue('0/6/1')
if value_1 == true then
grp.write('3/0/37', 3)
grp.write('3/0/43', 3)
else
grp.write('3/0/37', 1)
grp.write('3/0/43', 1)
end

Będę wdzięczni za każdą wskazówkę, podpowiedź.
Pozdrawiam.
Dawid

Re: Funkcja logiczna/skryp LUA

: 1 kwie 2019, o 21:38
autor: Gadgetman1
Tak to wygląda w module logicznym dedykowanym funkcją logicznym w knx. Adres grupowy 1/1/0 jeżeli zmieni wartość w ciągu 10 sek na "0" to nie będzie "TRUE" na wyjściu. Chyba raczej powinieneś poszukać jakiegoś forum zajmującym się skryptem LUA.

Re: Funkcja logiczna/skryp LUA

: 2 kwie 2019, o 10:31
autor: Davideq
No właśnie potrzebowałem logiczny schemat jak zrealizować taką funkcję. Dziękuję za podpowiedź. Mój oczywiście wygląda znacznie prościej.
logic.JPG
Teraz też bez problemu napiszę sobie to w LUA.
Dziękuję za pomoc.

Re: Funkcja logiczna/skryp LUA

: 2 kwie 2019, o 11:11
autor: Gadgetman1
No tak ale u mnie funkcja delay i staircase to są 2 różne działania. Po wywołaniu przez telegram funkcji "delay" akcja jest po określonym czasie jeżeli ten sam telegram przed upływem czasu wyśle "0" czyli false zegar restartuje i ponownie odlicza czyli zawsze będzie "true" na wyjściu.A jak u ciebie? Funkcja staircase wysyła telegram od razu" 1" czyli true ,jeżeli przed upływem czasu otrzyma telegram "0" to zegar zatrzymuje się i na wyjściu otrzymujesz "0" więc dlatego obiektem blokującym "gate" jest ten sam adres grupowy tylko z innym czasem wyjściowym.