```pascal // Block Type: FC // Block Number: 32 // Original Network Languages: STL FUNCTION "REPLACE_Mod" : String[254] { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR_INPUT IN1 : String[254]; IN2 : String[254]; L : Int; P : Int; END_VAR VAR_TEMP w_Temp : Word; w_DBNR1 : Word; w_DBNR2 : Word; d_AR_IN1 : DWord; d_AR_IN2 : DWord; yAnzChar : Byte; yMaxZiel : Byte; yAnzIN1 : Byte; yAnzIN2 : Byte; yLoopCnt : Byte; b_Fehl : Bool; b_P_Null : Bool; b_L_Null : Bool; b_PgAnz1 : Bool; END_VAR BEGIN // Network 1: Merker L=0 (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_DBNR1" AUF DBB[AR?,P#0.0] L NoneD[AR1,P#2.0] LAR1_ACCU1 T "d_AR_IN1" L NoneB[AR1,P#0.0] T "yAnzIN1" L _ERR_CONST_ LAR2_ACCU1 L NoneW[AR2,P#0.0] T "w_DBNR2" AUF DBB[AR?,P#0.0] L NoneD[AR2,P#2.0] LAR2_ACCU1 T "d_AR_IN2" L NoneB[AR2,P#0.0] T "yAnzIN2" 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" CLR = "b_L_Null" = "b_PgAnz1" L "L" GT_I CAC L "P" ADD_I O _Statusword_? = "b_Fehl" JC AZIL L "P" L 0 EQ_I = "b_P_Null" JC QUE2 L "L" EQ_I = "b_L_Null" L "yAnzIN1" JC LCNT L "P" L "yAnzIN1" GT_I = "b_PgAnz1" JC LCNT CAC DEC 1 LCNT: L "yMaxZiel" GT_I S "b_Fehl" JC VGL1 CAC VGL1: L 0 ADD_I JZ QUE2 T "yAnzChar" AUF DBB[AR?,P#0.0] 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 TAR1_ACCU1 T "d_AR_IN1" QUE2: O "b_L_Null" O "b_Fehl" JC AZIL AUF DBB[AR?,P#0.0] L "d_AR_IN2" LAR1_ACCU1 L "yMaxZiel" L "yAnzChar" SUB_I L "yAnzIN2" GE_I JC VGL2 S "b_Fehl" CAC VGL2: L 0 ADD_I T "w_Temp" JZ QUE3 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 QUE3: A "b_PgAnz1" JC AZIL L "d_AR_IN1" L "L" SLW 3 ADD_D LAR1_ACCU1 AUF DBB[AR?,P#0.0] L "yAnzIN1" A "b_P_Null" JC PNUL L "P" DEC 1 SUB_I PNUL: L "L" SUB_I JMZ AZIL T "w_Temp" L "yMaxZiel" L "yAnzChar" SUB_I L "w_Temp" GE_I JC VGL3 S "b_Fehl" CAC VGL3: L 0 ADD_I T "w_Temp" JZ AZIL L "yAnzChar" ADD_I T "yAnzChar" L "w_Temp" LOP3: 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 LOP3 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 ```