자르기(Truncate, TRUNC)
이 표에는 이 명령어를 지원하는 컨트롤러 및 응용 프로그램이 나와 있습니다.
아키텍처 | 표준 응용 프로그램 | 안전 응용 프로그램 |
|---|---|---|
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 예 | 아니요 |
CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 예 | 예 |
활성화되면 TRUNC 명령어는 소스의 분수 부분을 제거하고(잘라냄) 결과를 대상에 저장합니다.
팁:
Logix Designer 버전 36에서 이 명령어의 니모닉이 TRN에서 TRUNC로 변경되었습니다.
사용 가능한 언어
래더 다이어그램

함수 블록 다이어그램
함수 블록 다이어그램은 다음 요소를 지원합니다.
FBD 블록

FBD 함수
팁:
FBD 함수는 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러에만 적용됩니다.

구조화된 텍스트
이 명령어는 구조화된 텍스트에서 사용할 수 없습니다.
팁:
동일한 결과를 계산하려면 식에서 TRUNC를 오퍼레이터로 사용합니다. 스트럭쳐드 텍스트 내에서 식의 구문과 할당에 대한 자세한 내용은 항목을 참조하십시오.
피연산자
중요:
다음과 같은 경우 작업 시 예외가 발생할 수 있습니다.
- 출력 태그 피연산자가 덮어써집니다.
- 구조 피연산자의 구성원이 덮어써집니다.
- 지정된 경우를 제외하고 여러 명령어에서 구조 피연산자를 공유합니다.
명령어 내에서 숫자 데이터 유형을 혼합하기 위한 데이터 변환 규칙이 있습니다. 데이터 변환 항목을 참조하십시오.
래더 다이어그램
피연산자 | 데이터 유형 CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 데이터 유형 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 형식 | 설명 |
Source | REAL | REAL LREAL | 즉시 태그 | 잘라낼 값. |
Destination | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 태그 | 명령어의 결과를 저장할 태그. |
함수 블록 다이어그램
FBD 블록
피연산자 | 유형 | 형식 | 설명 |
TRUNC | FBD_TRUNCATE | 태그 | TRN 구조 |
FBD 함수
입력 피연산자(왼쪽 핀) | 데이터 유형 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 설명 |
Source | REAL LREAL | 잘라낼 값 |
출력 피연산자(오른쪽 핀) | 데이터 유형 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 설명 |
Dest | LINT | 함수의 결과. |
항목을 참조하십시오.
FBD_TRUNCATE 구조
입력 구성원 | 데이터 유형 | 설명 |
EnableIn | BOOL | 활성화 입력. 거짓이면 명령어가 실행되지 않고 출력이 업데이트되지 않습니다. 기본값은 참입니다. |
Source | REAL | 변환 명령어에 대한 입력. 입력은 입력 태그를 통해 SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT 및 LREAL도 허용합니다. 그러나 정수 유형은 먼저 REAL 유형으로 변환됩니다. SINT, INT, USINT 또는 UINT를 REAL로 변환하면 데이터 정밀도가 제대로 유지합니다. 32비트 유형(DINT, UDINT)을 REAL로 변환하면 데이터 정밀도가 손실될 수 있습니다. 두 데이터 유형 모두 32비트 데이터를 저장하지만 REAL 유형은 32비트 중 일부를 지수 값을 저장하는 데 사용합니다. 정밀도가 손실되면 컨트롤러는 32비트 유형(DINT, UDINT)의 중요도가 가장 낮은 부분을 취합니다. 64비트 유형(LINT, ULINT 및 LREAL)을 REAL로 변환하면 데이터 정밀도가 손실될 수 있습니다. |
출력 구성원 | 데이터 유형 | 설명 |
EnableOut | BOOL | 명령어가 활성화되었을 때 폴트 없이 실행되었는지를 나타냅니다. |
Dest | DINT | 명령어의 결과. |
설명
잘라내기는 값을 반올림하지 않으며, 대신에 분수가 아닌 부분은 분수 부분의 값과 상관없이 동일하게 유지합니다.
연산 상태 플래그에 영향
컨트롤러 | 연산 상태 플래그에 영향 |
CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 조건부, 항목을 참조하십시오. |
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 예 |
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 배열 인덱싱 폴트의 경우 항목을 참조하십시오.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
사전 스캔 | N/A. |
렁-입력-조건이 거짓임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. |
렁-입력-조건이 참임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. Dest = Source의 잘린 값. |
사후 스캔 | N/A. |
함수 블록 다이어그램
FBD 블록
조건/상태 | 수행한 작업 |
사전 스캔 | N/A |
EnableIn이 거짓임 | EnableOut을 EnableIn으로 설정합니다. |
EnableIn이 참임 | Dest = Source의 잘린 값. 오버플로가 발생하는 경우 EnableOut을 거짓으로 해제합니다. 그렇지 않으면 EnableOut을 참으로 설정합니다. |
명령어 최초 스캔 | N/A |
명령어 최초 실행 | N/A |
사후 스캔 | N/A |
FBD 함수
조건/상태 | 수행한 작업 |
사전 스캔 | N/A |
정상 스캔 | Dest = Source의 잘린 값. |
명령어 최초 실행 | N/A |
명령어 최초 스캔 | N/A |
사후 스캔 | N/A |
예
래더 다이어그램

함수 블록 다이어그램
FBD 블록

FBD 함수

구조화된 텍스트
REAL_dest := TRUNC(REAL_src);
의견을 작성 부탁드립니다.