Diskuse2 Elektrika.cz

HYBRIDNÍ zóna => TECO - Foxtrot chytré instalace. ODBORNÍCI radí spotřebitelům! => Firemní podpora => Technická podpora výrobce TECO Kolín radí odborníkům => Topic started by: pavka_O on 03.04.2014, 15:39

Title: Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
Post by: pavka_O on 03.04.2014, 15:39

Používám fbSimplebutton z knihovny lightslib jak lze změnit konstantu LONG_CLICK_TIME pro dlouhý stisk, defaultně je nastavena na 500ms a chtěl bych ji prodloužit na 1s.
Title: Re: Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
Post by: Milan Bydžovský on 03.04.2014, 19:13
Pokud používáte LightLib16 nebo  LightLib32 je tato konstanta pevně daná.
Možnosti jsou dvě, buď použít MJF knihovnu  LightLib, kde je možnost (nutnost) tyto konstanty nastavit (viz nápověda ke knihovně LightsLib). Nebo použít vlastní blok následujícího znění:

Code Select
FUNCTION_BLOCK fbMySimpleButton
  VAR_INPUT
    in        : BOOL;      // vstup
  END_VAR
  VAR_OUTPUT
    out       : BOOL;      // kopie vstupu
    click     : BOOL;      // kratky stisk
    press     : BOOL;      // dlouhy stisk
  END_VAR
  VAR
    in_Ftrig  : F_TRIG;
    in_ton    : TON;
  END_VAR

  out := in;                                        // prosta kopie vstupu
  in_Ftrig(CLK := in);                              // sestupna hrana na vstupu
  click := in_Ftrig.Q AND NOT press;                // kratky stisk
  in_ton( IN := in, PT := T#1s, Q => press);  // dlouhy stisk
END_FUNCTION_BLOCK
Title: Re: Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
Post by: Lukáš Klauda on 04.04.2014, 09:33
v CFC používám tuto konstrukci:
Title: Re: Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
Post by: Milan Bydžovský on 04.04.2014, 10:52
Quote from: Lukáš Klauda on 04.04.2014, 09:33
v CFC používám tuto konstrukci:


To je také řešení, dokonce nemusíte za blokem TON použít ten AND s výstupem Out.

Určitě bych doporučil zvláště pro větší instalace, použít upravený blok  viz můj příspěvek výše.