RIGHT

오른쪽에서 문자 복사

RIGHT는 오른쪽부터 시작하여 첫 번째 입력 변수 문자열의 n 문자를 출력 변수에 복사합니다. 두 번째 입력 변수에서 전달할 문자 수 n을 정의합니다.

파라미터

입력

IN (STRING)

1번째 입력: 입력 문자열

L (INT)

2번째 입력: 오른쪽부터 복사된 입력 문자열의 문자 수

출력

정의되지 않은 출력 (STRING)

복사된 문자열

주석

  • 이 명령을 UTF-8 문자열과 함께 사용하는 경우, 데이터 유형 STRING에서 UTF-8 문자열에 대한 메모를 참조하십시오.

  • 전달할 문자 수가 입력 문자열보다 큰 경우, 전체 문자열이 출력 변수에 복사됩니다.

  • 출력 문자열이 [형식] 필드에서 정의한 길이보다 긴 경우, 출력 변수가 저장할 수 있는 수만큼 문자가 복사됩니다.시스템 변수 sys_bIsCarry가 설정됩니다.

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)

입력 또는 출력에 적용된 문자열이 유효하지 않은 문자열인 경우

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)

입력 또는 출력에 적용된 문자열이 유효하지 않은 문자열인 경우

sys_bIsCarry(스캔 1회에 대해 TRUE로 전환)

출력 문자열이 "Type" 필드에서 정의한 출력 변수 길이보다 긴 경우

POU 헤더

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

	VAR
		sInput: STRING[15]:='abcd efg hijk';
			(*sample string*)
		iChar_number: INT:=4;
			(*characters to be delivered*)
		sResult: STRING[4]:='';
			(*result here= 'hijk'*)
	END_VAR

이 예에서 입력 변수(sInputiChar_number)가 선언됩니다. 대신 문자열('abcd efg hijk')과 전달할 문자 수를 펑션에 직접 입력할 수 있습니다. POU 헤더와 펑션 모두에서 문자열은 따옴표 안에 있을 수 있습니다.

POU 본문

오른쪽부터 시작하는 sInput('abcd efg hijk’)의 iChar_number(4)가 sResult('hijk’)에 복사됩니다.

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,RIGHT!,Instance,10,0,15,4,,?DIN?DL?C);
B(B_VARIN,,sInput,8,1,10,3,);
B(B_VARIN,,iChar_number,8,2,10,4,);
B(B_VAROUT,,sResult,15,1,17,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

sResult:=RIGHT(IN := sInput, L := iChar_number);

IL 본문

LD

sInput

RIGHT

iChar_number

ST

sResult

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