FUNCTION_BLOCK "TestBaustein"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR 
      retVal : Bool;
      retValStat : Bool;
      "String" : String;
      ArrayByte : Array[1..254] of Byte;
      cnt : UInt;
      myBuffer : Array[0..10] of Byte;
      trig : Bool;
      trigger {InstructionName := 'R_TRIG'; LibVersion := '1.0'} : R_TRIG;
      arRohDaten : Array[0..1000] of Byte;
      sNewTelegram : WString[16382];
   END_VAR

   VAR_TEMP 
      des : Int;
      "var" : DInt;
      retVal_1 : Bool;
      temp : "UDT_TelegramDefinition";
   END_VAR


BEGIN
	(* (* "R_TRIG_DB"(CLK := "TestVariables".Append);
	"R_TRIG_DB_1"(CLK:="TestVariables".xClear);
	
	
	IF "R_TRIG_DB".Q THEN
	    #retVal_1:= "FC_TeleSetData"(nDataField := "TestVariables".nDataField,
	                     sData := "TestVariables".nString,
	                     stInOutTelegram := "TestVariables".TelegramToSend);
	END_IF;
	
	IF "R_TRIG_DB_1".Q THEN
	    "FC_TeleClear"("TestVariables".TelegramToSend);
	END_IF;
	
	
	REGION TeleHandler Test - SSI Schäfer MyTheresa
	    
	    #fbTeleHandler_Test.stInTcpParameters.tcpConnParam.InterfaceId := 64;   //TIA V17: Alle Variablen --> Systemkonstanten -> entsprechendes Hw_Interface
	    #fbTeleHandler_Test.stInTcpParameters.tcpConnParam.ID := 1;             // connection reference ID, beliebig innerhalb der Grenzwerte
	    #fbTeleHandler_Test.stInTcpParameters.xInAdhocMode := TRUE;    // TRUE = Variable Länge der Empfangsdaten aktiviert, FALSE = Feste Länge
	    #fbTeleHandler_Test.stInTcpParameters.tcpConnParam.LocalPort := 4424; // Muss übereinstimmen im Server (Absprache Kommunikationspartner
	    #fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemotePort := 0;  // Auf 0 lassen!
	    
	    // Statische IP-Addresse des Partner-Port (PC): 
	    #fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemoteAddress.ADDR[1] := 192;
	    #fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemoteAddress.ADDR[2] := 168;
	    #fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemoteAddress.ADDR[3] := 178;
	    #fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemoteAddress.ADDR[4] := 224;
	    
	    
	    #fbTeleHandler_Test.stInTelegramDefinition.sStartMarker := '$02';
	    #fbTeleHandler_Test.stInTelegramDefinition.sEndMarker := '$03';
	    #fbTeleHandler_Test.stInTelegramDefinition.sStartMarkerSend := '$02';
	    #fbTeleHandler_Test.stInTelegramDefinition.sEndMarkerSend := '$03';
	    #fbTeleHandler_Test.stInTelegramDefinition.bSeparatorByte := ',';
	    #fbTeleHandler_Test.stInTelegramDefinition.nLength := 0;
	    #fbTeleHandler_Test.stInTelegramDefinition.nTelegramIDDataField := 0;
	    #fbTeleHandler_Test.stInTelegramDefinition.xTelegramIDIsNumber := FALSE;
	    
	    #fbTeleHandler_Test(xInGetFirst:="TestVariables".xGetFirstTelegram,
	                        xInReset:="TestVariables".xResetTeleHandler,
	                        xInOutSendTele:="TestVariables".xSendTelegram,
	                        stInTelegramSend:="TestVariables".TelegramToSend,
	                        xOutNewTelegram => "TestVariables".FirstTelegram);
	END_REGION *)
	
	#trigger(CLK :="TestVariables".Append);
	
	IF #trigger.Q THEN
	    #retVal_1 := "FC_TeleSetData"(nDataField := "TestVariables".nDataField,
	                                  sData := "TestVariables".nString,
	                                  stInOutTelegram := "TestVariables".TelegramToSend);
	END_IF;
	
	IF "TestVariables".xAddDataField THEN
	    "TestVariables".xAddDataField := FALSE;
	    #retVal_1 := "FC_TeleAddDataField"(sData := "TestVariables".nString,
	                                       stInOutTelegram := "TestVariables".TelegramToSend);
	END_IF;
	
	IF "TestVariables".xClear THEN
	    "TestVariables".xClear := FALSE;
	    "FC_TeleClear"("TestVariables".TelegramToSend);
	END_IF;
	
	#fbTeleHandler_Test.stInTcpParameters.tcpConnParam.InterfaceId := 64;   //TIA V17: Alle Variablen --> Systemkonstanten -> entsprechendes Hw_Interface
	#fbTeleHandler_Test.stInTcpParameters.tcpConnParam.ID := 1;             // connection reference ID, beliebig innerhalb der Grenzwerte
	#fbTeleHandler_Test.stInTcpParameters.xInAdhocMode := TRUE;    // TRUE = Variable Länge der Empfangsdaten aktiviert, FALSE = Feste Länge
	#fbTeleHandler_Test.stInTcpParameters.tcpConnParam.LocalPort := 4424; // Muss übereinstimmen im Server (Absprache Kommunikationspartner
	#fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemotePort := 0;  // Auf 0 lassen!
	
	// Statische IP-Addresse des Partner-Port (PC): 
	#fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemoteAddress.ADDR[1] := 192;
	#fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemoteAddress.ADDR[2] := 168;
	#fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemoteAddress.ADDR[3] := 0;
	#fbTeleHandler_Test.stInTcpParameters.tcpConnParam.RemoteAddress.ADDR[4] := 166;
	
	// Telegramdefinition
	#fbTeleHandler_Test.stInTelegramDefinition.sStartMarker := '$02';
	#fbTeleHandler_Test.stInTelegramDefinition.sEndMarker := '$03';
	#fbTeleHandler_Test.stInTelegramDefinition.sStartMarkerSend := '$02';
	#fbTeleHandler_Test.stInTelegramDefinition.sEndMarkerSend := '$03';
	#fbTeleHandler_Test.stInTelegramDefinition.bSeparatorByte := ',';
	#fbTeleHandler_Test.stInTelegramDefinition.nLength := 0;
	#fbTeleHandler_Test.stInTelegramDefinition.nTelegramIDDataField := 0;
	#fbTeleHandler_Test.stInTelegramDefinition.xTelegramIDIsNumber := FALSE;
	
	
	#fbTeleHandler_Test(xInGetFirst := "TestVariables".xGetFirstTelegram,
	                    xInReset := "TestVariables".xResetTeleHandler,
	                    xInOutSendTele := "TestVariables".xSendTelegram,
	                    stInTelegramSend := "TestVariables".TelegramToSend,
	                    xOutNewTelegram => "TestVariables".FirstTelegram);
	
	
	
	*)
END_FUNCTION_BLOCK

