계산(Compute, CPT)
이 정보는 CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러에 적용됩니다. 컨트롤러 구분이 있을 때는 언급합니다.
활성화되면 CPT 명령어는 식을 계산하고 결과를 Dest에 저장합니다.
CPT 명령어는 복잡한 식을 하나의 명령어에 담을 수 있습니다.
식을 계산할 때 다음 조건 중 하나라도 참인 경우 계산이 수행되기 전에 LREAL이 아닌 모든 피연산자가 LREAL로 변환됩니다.
- 식의 모든 피연산자가 LREAL입니다.
- Dest는 LREAL입니다.
식을 평가할 때 식의 모든 피연산자 또는 Dest가 NOT LREAL이고 다음 조건이 참인 경우 계산이 수행되기 전에 REAL이 아닌 모든 피연산자가 REAL로 변환됩니다.
- 식의 모든 피연산자가 REAL입니다.
- 이 식에는 SIN, COS, TAN, ASN, ACS, ATN, LN, LOG, DEG, RAD가 포함됩니다.
- Dest는 REAL입니다.
안전 응용 프로그램에서 허용 가능한 연산자에 대한 규칙이 있습니다.
유효 연산자
섹션을 참조하십시오.사용 가능한 언어
래더 다이어그램

펑션 블록
이 명령어는 함수 블록에서 사용할 수 없습니다.
구조화된 텍스트
이 명령어는 구조화된 텍스트에서 사용할 수 없습니다.
피연산자
중요:
다음과 같은 경우 작업 시 예외가 발생할 수 있습니다.
- 출력 태그 피연산자가 덮어써집니다.
- 구조 피연산자의 구성원이 덮어써집니다.
- 지정된 경우를 제외하고 여러 명령어에서 구조 피연산자를 공유합니다.
명령어 내에서 숫자 데이터 유형을 혼합하기 위한 데이터 변환 규칙이 있습니다. 데이터 변환을 참조하십시오.
래더 다이어그램
피연산자 | 데이터 유형 CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 데이터 유형 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 형식 | 설명 |
|---|---|---|---|---|
Dest | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 태그 | 결과를 저장할 태그. |
Expression | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 즉시 태그 | 태그 및/또는 연산자로 구분된 즉시 값으로 구성된 식. |
식의 형식
식에 사용된 연산자마다 하나 또는 두 개의 피연산자(태그 또는 즉시 값)를 입력해야 합니다. 다음 표를 사용하여 식 내의 연산자 및 피연산자 형식을 지정합니다.
연산자 작용 대상: | 사용 형식: | 예 |
|---|---|---|
피연산자 1개 | 연산자(피연산자) | ABS(태그) |
피연산자 2개 | operand_a 연산자 operand_b | tag_b + 5 tag_c AND tag_d (tag_e**2) MOD (tag_f / tag_g) |
연산 순서 정의
명령어가 식의 연산을 규정된 순서에 따라 수행합니다. 조건을 괄호 안에 묶어 연산의 순서를 지정합니다. 그러면 명령어가 괄호 안의 연산을 다른 연산보다 먼저 수행합니다.
연산 순서가 같은 경우에는 왼쪽에서 오른쪽 순으로 수행됩니다.
순서 | 연산 |
|---|---|
1 | ( ) |
2 | ABS, ACOS, ASIN, ATAN, COS, DEG, BCD_TO, LN, LOG, RAD, SIN, SQRT, TAN, TO_BCD, TRUNC |
3 | ** |
4 | - (부정), NOT |
5 | *, /, MOD |
6 | - (빼기), + |
7 | AND |
8 | XOR |
9 | OR |
연산 상태 플래그에 영향
컨트롤러 | 연산 상태 플래그에 영향 |
|---|---|
CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 조건부 |
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 예 |
연산 상태 플래그를 참조하십시오.
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 배열 인덱스 오류의 경우 배열을 통한 인덱스를 참조하세요.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | N/A |
렁-입력-조건이 거짓임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. |
렁-입력-조건이 참임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. 명령어는 식을 평가하고 결과를 Dest에 저장합니다. |
사후 스캔 | N/A |
예
래더 다이어그램
예 1
활성화되면 CPT 명령어는 value_1에 5를 곱하고 결과를 value_2를 7로 나눈 결과로 나눈 다음 result_1에 최종 결과를 저장합니다.


예 2
CPT 명령어는 활성화되면 float_value_1과 float_value_2를 2제곱까지 자르고 잘라버린 float_value_1을 그 결과로 나눈 다음 float_value_result_cpt 나눈셈 후에 나머지를 저장합니다.
래더 다이어그램


의견을 작성 부탁드립니다.