REAL 또는 LREAL 입력 변수의 10진수 자리를 잘라서 두 배 INTEGER로 변환
TRUNC_TO_DINT는 REAL, LREAL 숫자의 10진수 자리를 잘라내고 DOUBLE INTEGER 데이터 형식의 출력 변수를 전달합니다.
10진수 자리를 잘라내면 양수는 0으로 감소하고 음수는 0으로 증가합니다.
REAL 숫자는 7자리 단위이므로, 큰 숫자 정보는 손실됩니다.
입력
입력 데이터 형식
출력
변환 결과
입력 변수에 REAL 데이터 형식이 없는 경우
출력 변수는 32비트 DOUBLE INTEGER 보다 큼
출력 변수가 0인 경우
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
REAL_value: TRUNC;
DINT_value: DINT:=0;
END_VAR
이 예에서는 변수를 사용합니다. 또한 입력 변수에 정수를 사용할 수 있습니다.
REAL_value의 10진수 자리는 잘립니다. 결과는 DINT_value의 32비트 DOUBLE INTEGER로 저장됩니다.
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_DINT!,Instance,10,0,19,2,,?D?C);
B(B_VARIN,,REAL_value,8,0,10,2,);
B(B_VAROUT,,DINT_value,19,0,21,2,);
L(1,0,1,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
DINT_value:=TRUNC_TO_DINT(REAL_value);
LD |
REAL_value |
TRUNC_TO_DINT |
|
ST |
DINT_value |