REPLACE

Replaces characters

REPLACE replaces the characters in the string IN1 with P denoting the first position to be replaced and L denoting the number of characters to be replaced with the characters specified by IN2. The result is written into the output variable.

Parameters

Input

IN1 (STRING)

Input string

IN2 (STRING)

Replacement string

L (INT)

Number of characters in the input string to be replaced

P (INT)

Start position of the input string to be replaced, where 1 is the first character of the string

Output

Unnamed output (STRING)

Resulting string

Remarks

  • If this instruction is used with UTF-8 strings, please refer to the notes concerning UTF-8 strings under the data type STRING.

  • If the strings are longer than the length defined for the input variables input_string_1 and input_string_2 in the field [Type], an error occurs (see [Monitor] > [Special flags and registers] > [Basic error messages]

Error flags

sys_bIsOperationErrorHold (turns to TRUE and remains TRUE)

if a string applied at the input or output is an invalid string

sys_bIsOperationErrorNonHold (turns to TRUE for one scan)

if a string applied at the input or output is an invalid string

POU 헤더

이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

	VAR
		output_value: STRING[32]:='';
	END_VAR

POU 본문

이 예에서 정수 값은 펑션의 입력 접점 핀에 직접 입력됩니다. 하지만 POU 헤더에서 변수를 선언할 수 있습니다. POU 헤더 또는 접점 핀에서 STRING 값은 따옴표 안에 있을 수 있습니다. 여기서 STRING 'MrSpock'의 'c'는 'o'로 교체되어 'MrSpook'가 생성됩니다.

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_VARIN,,'MrSpock',6,1,8,3,);
B(B_VARIN,,'o',6,2,8,4,);
B(B_VARIN,,1,6,3,8,5,);
B(B_VARIN,,6,6,4,8,6,);
B(B_VAROUT,,output_value,14,1,16,3,);
B(B_F,REPLACE!,Instance,8,0,14,6,,?DIN1?DIN2?DL?DP?C);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

IL 본문

최종 수정일: 2024-02-26이 페이지에 대한 피드백Panasonic 직통 전화