Obsidean_VM/04-SIDEL/06 - E5.007363 - Modifica O.../Source/source/Delay.md

568 B

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