TRUNC_TO_INT

REAL 또는 LREAL 입력 변수의 10진수 자리를 잘라서 INTEGER로 변환

TRUNC_TO_INTREAL, LREAL 숫자의 10진수 자리를 잘라내고 INTEGER 데이터 형식의 출력 변수를 전달합니다.

파라미터

입력

정의되지 않은 입력 (REAL, LREAL)

입력 데이터 형식

출력

정의되지 않은 출력 (INT)

변환 결과

주석

  • 필요한 데이터 형식이 지원되는 경우, 과부하 명령 TO_INT를 사용하는 것이 좋습니다.

  • 10진수 자리를 잘라내면 양수는 0으로 감소하고 음수는 0으로 증가합니다.

  • 입력 변수의 첫 16비트는 출력 변수에 할당됩니다.

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • 입력 변수에 REAL 데이터 형식이 없는 경우

  • 출력 변수가 16비트 INTEGER 보다 큰 경우

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • 입력 변수에 REAL 데이터 형식이 없는 경우

  • 출력 변수가 16비트 INTEGER 보다 큰 경우

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

출력 변수가 0인 경우

POU 헤더

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

	VAR
		REAL_value: TRUNC;
		INT_value: INT:=0;
	END_VAR

이 예에서는 변수를 사용합니다. 또한 입력 변수에 정수를 사용할 수 있습니다.

POU 본문

REAL_value의 10진수 자리는 잘립니다. resultINT_value의 16비트 INTEGER로 저장됩니다.

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 2 ;
        NETWORK_BODY
B(B_F,TRUNC_TO_INT!,Instance,10,0,19,2,,?D?C);
B(B_VARIN,,REAL_value,8,0,10,2,);
B(B_VAROUT,,INT_value,19,0,21,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

INT_value:=TRUNC_TO_INT(REAL_value);

IL 본문

LD

REAL_value

TRUNC_TO_INT

ST

INT_value

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