Diskuse Elektrika.cz

HYBRIDNÍ zóna => Technická podpora výrobce TECO Kolín radí odborníkům => Téma založeno: pavka_O 03.04.2014, 15:39



Název: Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
Přispěvatel: pavka_O 03.04.2014, 15:39

Používám fbSimplebutton z knihovny lightslib jak lze změnit konstantu LONG_CLICK_TIM E pro dlouhý stisk, defaultně je nastavena na 500ms a chtěl bych ji prodloužit na 1s.


Název: Re: Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
Přispěvatel: Milan Bydžovský 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í:

Kód:
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


Název: Re: Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
Přispěvatel: Lukáš Klauda 04.04.2014, 09:33
v CFC používám tuto konstrukci:


Název: Re: Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
Přispěvatel: Milan Bydžovský 04.04.2014, 10:52
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.