FUNCTION "FC_FIFO_Append" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT 
      DataIn : Variant;   // Der Wert der eingereiht werden soll
      InitialItem : Variant;   // Initialwert für Elemente im FIFO
      MaxNo : UInt;   // Maximale Anzahl an Elementen im FIFO-Buffer
   END_VAR

   VAR_OUTPUT 
      Success : Bool;   // Einreihen erfolgreich
   END_VAR

   VAR_IN_OUT 
      fifoBuffer : "LGF_FIFO";
      buffer : Variant;   // Der FIFO-Buffer
   END_VAR

   VAR_TEMP 
      DataOut : Bool;   // Platzhalter
   END_VAR


BEGIN
	#fifoBuffer(enqueue:= TRUE,
	            dequeue := FALSE,
	            initialItem:= #InitialItem,
	            itemIn:= #DataIn,
	            maxElementCount := #MaxNo,
	            buffer:= #buffer,
	            itemOut:=#DataOut);
	
	IF #fifoBuffer.enqueueDone THEN
	    #Success := TRUE;
	END_IF;
	
END_FUNCTION

