39 lines
568 B
Markdown
39 lines
568 B
Markdown
```pascal
|
|
FUNCTION_BLOCK "Delay"
|
|
{ S7_Optimized_Access := 'FALSE' }
|
|
AUTHOR : 'Author'
|
|
FAMILY : 'Function'
|
|
NAME : 'Name'
|
|
VERSION : 1.0
|
|
VAR_INPUT
|
|
i_Value : Real;
|
|
i_Sample : Int;
|
|
END_VAR
|
|
|
|
VAR_OUTPUT
|
|
i_out : Real;
|
|
END_VAR
|
|
|
|
VAR
|
|
mVarArray : Array[0..5] of Real;
|
|
i : Int;
|
|
END_VAR
|
|
|
|
|
|
BEGIN
|
|
|
|
|
|
IF #i_Sample <= 5 THEN
|
|
FOR #i:=#i_Sample TO 1 BY -1 DO
|
|
#mVarArray[#i] := #mVarArray[#i - 1] ;
|
|
END_FOR;
|
|
#mVarArray[0] := #i_Value ;
|
|
END_IF;
|
|
#i_out := #mVarArray[#i_Sample] ;
|
|
|
|
|
|
END_FUNCTION_BLOCK
|
|
|
|
|
|
```
|