Jak změnit konstantu LONG_CLICK_TIME v Mosaicu?
(1/1)
pavka_O:
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.
Milan Bydžovský:
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
Lukáš Klauda:
v CFC používám tuto konstrukci:
Milan Bydžovský:
Citace: Lukáš Klauda 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.
Navigace
[0] Index zpráv