26 lines
462 B
Plaintext
26 lines
462 B
Plaintext
|
|
(* @PATH := '\/Functions_Collection' *)
|
|
(* @SYMFILEFLAGS := '0' *)
|
|
FUNCTION_BLOCK Delay
|
|
VAR_INPUT
|
|
i_Value : REAL ;
|
|
i_Sample : UINT ;
|
|
END_VAR
|
|
VAR_OUTPUT
|
|
i_out : REAL ;
|
|
END_VAR
|
|
VAR
|
|
mVarArray : ARRAY[0..5] OF REAL ;
|
|
i : INT ;
|
|
END_VAR
|
|
(* @END_DECLARATION := '0' *)
|
|
IF i_Sample<=5 THEN
|
|
FOR i:=i_Sample TO 1BY -1 DO
|
|
mVarArray[i] := mVarArray[i - 1] ;
|
|
END_FOR
|
|
mVarArray[0] := i_Value ;
|
|
END_IF
|
|
i_out := mVarArray[i_Sample] ;
|
|
|
|
END_FUNCTION_BLOCK
|