```pascal // Block Type: FC // Block Number: 4 // Original Network Languages: STL FUNCTION "DELETE" : String[254] { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR_INPUT IN : String[254]; L : Int; P : Int; END_VAR VAR_TEMP w_Temp : Word; yAnzChar : Byte; yMaxZiel : Byte; yAnzIN : Byte; yLoopCnt : Byte; b_Fehl : Bool; b_Null : Bool; b_PgAnz1 : Bool; END_VAR BEGIN // Network 1: Fehlermerker (Original Language: STL) // Adressen Quelle/Ziel bestimmen // --- BEGIN STL Network 1 --- SET SAVE L _ERR_CONST_ LAR1_ACCU1 L NoneW[AR1,P#0.0] T "w_Temp" AUF DBB[AR?,P#0.0] L NoneD[AR1,P#2.0] LAR1_ACCU1 L NoneB[AR1,P#1.0] T "yAnzIN" L _ERR_CONST_ LAR2_ACCU1 L NoneW[AR2,P#0.0] T "w_Temp" AUF DIB[AR?,P#0.0] L NoneD[AR2,P#2.0] OD DW#16#0100_0000 LAR2_ACCU1 L NoneB[AR2,P#0.0] T "yMaxZiel" L 0 T "yAnzChar" L "L" GT_I CAC L "P" ADD_I O _Statusword_? = "b_Fehl" JC AZIL L "P" L 0 EQ_I L "L" SUB_I O _Statusword_? = "b_Null" L "yAnzIN" JC LCNT L "P" L "yAnzIN" GT_I = "b_PgAnz1" JC LCNT CAC DEC 1 LCNT: L "yMaxZiel" GT_I S "b_Fehl" JC VGL CAC VGL: L 0 ADD_I JZ QUE2 T "yAnzChar" LOP1: T "yLoopCnt" L NoneB[AR1,P#2.0] T NoneB[AR2,P#2.0] ADDAR1 P#1.0 ADDAR2 P#1.0 L "yLoopCnt" LOOP LOP1 QUE2: O "b_Null" O "b_Fehl" O "b_PgAnz1" JC AZIL TAR1_ACCU1 L "L" SLW 3 ADD_D LAR1_ACCU1 L "yAnzIN" L "P" DEC 1 SUB_I L "L" SUB_I JMZ AZIL T "w_Temp" L "yMaxZiel" L "yAnzChar" SUB_I L "w_Temp" GE_I JC UEBR S "b_Fehl" CAC T "w_Temp" UEBR: L "yAnzChar" ADD_I T "yAnzChar" L "w_Temp" LOP2: T "yLoopCnt" L NoneB[AR1,P#2.0] T NoneB[AR2,P#2.0] ADDAR1 P#1.0 ADDAR2 P#1.0 L "yLoopCnt" LOOP LOP2 AZIL: TAR2_ACCU1 L "yAnzChar" SLW 3 SUB_D LAR2_ACCU1 L "yAnzChar" T NoneB[AR2,P#1.0] AN "b_Fehl" JC ENDE CLR SAVE ENDE: BE // --- END STL Network 1 --- END_FUNCTION ```