ParamManagerScripts/backend/script_groups/TwinCat/.example/DERIVE.EXP

23 lines
406 B
Plaintext

(* @PATH := '\/Functions_Collection' *)
(* @SYMFILEFLAGS := '0' *)
FUNCTION_BLOCK Derive
VAR_INPUT
i_Signal : REAL ;
i_Gain : REAL ;
i_Cycle : REAL ;
END_VAR
VAR_OUTPUT
o_Derive : REAL ;
END_VAR
VAR
mSaveValue : REAL ;
END_VAR
(* @END_DECLARATION := '0' *)
IF i_Cycle<>0 THEN
o_Derive := i_Gain * (i_Signal - mSaveValue) / i_Cycle ;
END_IF
mSaveValue := i_Signal ;
END_FUNCTION_BLOCK