23 lines
406 B
Plaintext
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
|