//Example of a function block in STL AUTHOR : Berger FAMILY : Book_400 NAME : Memory VERSION : 01.00 VAR_INPUT Transfer : BOOL := FALSE; //Transfer on positive edge Input_value : REAL := 0.0; //In data format REAL END_VAR VAR_OUTPUT Output_value : REAL := 0.0; //In data format REAL END_VAR VAR Value1 : REAL := 0.0; //First saved REAL value Value2 : REAL := 0.0; //Second value Value3 : REAL := 0.0; //Third value Value4 : REAL := 0.0; //Fourth value Edge_memory_bit : BOOL := FALSE; //Edge memory bit for the transfer END_VAR BEGIN NETWORK TITLE = Program for transfer and output //Transfer and output take place with a positive edge at Transfer A Transfer; //If Transfer changes to "1", FP Edge_memory_bit; //the RLO = "1" following FP JCN end; //Jump if no positive edge is present //Transfer of values starting with the last value L Value4; T Output_value; //Output of last value L Value3; T Value4; L Value2; T Value3; L Value1; T Value2; L Input_value; //Transfer of input value T Value1; End: BE; END_FUNCTION_BLOCK DATA_BLOCK DB_FIFO_STL TITLE = Instance data block for "FIFO_STL" //Example of an instance data block AUTHOR : Berger FAMILY : Book_400 NAME : FIFO_Dat VERSION : 01.00 FIFO_STL //Instance for the FB "FIFO_STL" BEGIN Value1 := 1.0; //Individual default setting Value2 := 1.0; //of selected values END_DATA_BLOCK