| Type | Function | 
| Description | Replaces a substring in the string applied to input IN1 by the string applied to input IN2. L characters of IN1 are replaced by IN2, starting at character position P. | 
| Notes | 
 P cannot be 0. The first position in a string is 1.Do not use the same string as input and output string because the output string might add up until the output string is too short and the string is cleared or the string may get shrunk in a loop (depending on L).When the string output is longer than 80 characters and the FU is directly connected to another FU, temporary string variables of size 80 are used. Calculation/usage will fail. If the result of the operation is longer than 80 characters, then a 'String too short' message will be logged and the output is set to an empty string or the last valid value is kept, respectively. Use an intermediate local variable in-between.Problem for calculation of position and length: Characters in WSTRING can have a size of 2 bytes or 4 bytes. Due to this, there may be calculation problems on 4-byte containing character STRINGs with 2-byte oriented position and length. | 
| Parameters | Inputs  IN1 
 
| Data type: | WSTRING |  
| Description: | Input string. |   IN2 
 
| Data type: | WSTRING |  
| Description: | Substring for replacing. |   L 
 
| Data type: | ANY_INT |  
| Description: | Number of characters to be replaced. |   P 
Output
 
| Data type: | ANY_INT |  
| Description: | Position of the first character to be replaced. |   OUT 
 
| Data type: | WSTRING |  
| Description: | Output string. |  | 
| Error behavior |  Error behavior 
The following table shows the errors which may occur while executing the function and the value returned by the function in the corresponding error case. 
 
| Error case | Output value |  
| L < 0 | Empty string '' |  
| P <= 0 | Empty string '' |  
| P + L > len(IN1) + 1(len(...) = actual string length) | Empty string '' |  
| IN2 == OUT | Empty string '' |  
| Resulted string too short | Empty string '' |  If the listed error occurs, a string error is written to the Online log in the MESSAGES window. 
 
| Note Controller stop on string error: The controller can be automatically stopped when a string error occurs. This allows you to locate the error in your project. To enable the automatic stop of the controller in case of a string error, activate the
  button in the Cockpit toolbar of the controller. |  | 
| Additional information |  EN/ENO behavior 
The POU is only executed if TRUE  is applied to the EN input. If EN = FALSE, the POU is not executed and ENO = FALSE indicates the inactivity. If any of the errors listed under "Error behavior" occurs while executing the function, ENO is set to FALSE. 
 |