모듈로(MOD)
이 정보는 CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러에 적용됩니다. 컨트롤러 구분이 있을 때는 언급합니다.
활성화되면 MOD 명령어와 오퍼레이터는 Source A를 Source B로 나눈 후에 나머지를 Dest에 저장합니다. 이는 다음 알고리즘을 사용하여 수행됩니다.
Dest = Source A – (truncate ( Source A / Source B) * Source B)
사용 가능한 언어
래더 다이어그램

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

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

구조화된 텍스트
이 명령어는 구조화된 텍스트에서 사용할 수 없습니다.
팁:
동일한 결과를 계산하려면 식에서 MOD를 오퍼레이터로 사용합니다. 스트럭쳐드 텍스트 내에서 식의 구문과 할당에 대한 자세한 내용은 스트럭쳐드 텍스트 구문을 참조하십시오.
피연산자
중요:
다음과 같은 경우 작업 시 예외가 발생할 수 있습니다.
- 출력 태그 피연산자가 덮어써집니다.
- 구조 피연산자의 구성원이 덮어써집니다.
- 지정된 경우를 제외하고 여러 명령어에서 구조 피연산자를 공유합니다.
명령어 내에서 숫자 데이터 유형을 혼합하기 위한 데이터 변환 규칙이 있습니다. 데이터 변환을 참조하십시오.
래더 다이어그램
다음은 래더 다이어그램에 대한 피연산자입니다.
피연산자 | 데이터 유형 CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 데이터 유형 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 형식 | 설명 |
|---|---|---|---|---|
Source A | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 즉시 태그 | 피제수의 값. |
Source B | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 즉시 태그 | 제수의 값. |
Dest | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 태그 | 명령어의 결과를 저장하는 태그. |
함수 블록 다이어그램
FBD 블록
피연산자 | 데이터 유형 | 형식 | 설명 |
|---|---|---|---|
MOD | FBD_MATH | 태그 | MOD 구조 |
FBD_MATH 구조
입력 구성원 | 데이터 유형 | 설명 |
|---|---|---|
EnableIn | BOOL | 활성화 입력. 거짓이면 명령어가 실행되지 않고 출력이 업데이트되지 않습니다. 기본값은 참입니다. |
SourceA | REAL | 피제수의 값. |
SourceB | REAL | 제수의 값. |
출력 구성원 | 데이터 유형 | 설명 |
|---|---|---|
EnableOut | BOOL | 명령어가 활성화되었을 때 폴트 없이 실행되었는지를 나타냅니다. |
Dest | REAL | 명령어의 결과. |
FBD 함수
팁:
FBD 함수는 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러에만 적용됩니다.
입력 피연산자(왼쪽 핀) | 데이터 유형 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러만 해당 | 설명 |
|---|---|---|
SourceA(상위) | SINT USINT INT UINT DINT UDINT LINT ULINT REAL LREAL | 피제수의 값. |
SourceB(하부) | SINT USINT INT UINT DINT UDINT LINT ULINT REAL LREAL | 제수의 값 |
출력 피연산자(오른쪽 핀) | 데이터 유형 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러만 해당 | 설명 |
|---|---|---|
Dest | DINT UDINT LINT ULINT REAL LREAL | 함수의 결과. |
FBD 함수 항목을 참조하십시오.
연산 상태 플래그에 영향
컨트롤러 | 연산 상태 플래그에 영향 |
|---|---|
CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 조건부 |
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 예 |
연산 상태 플래그를 참조하십시오.
주 폴트/부 폴트
마이너 폴트 발생 조건: | 폴트 유형 | 폴트 코드 |
|---|---|---|
소스 B = 0 | 4 | 4 |
배열 인덱스 오류의 경우 배열을 통한 인덱스를 참조하세요.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | N/A |
렁-입력-조건이 거짓임 | 렁-출력-조건을 렁-입력-조건으로 설정 |
렁-입력-조건이 참임 | 렁-출력-조건을 렁-입력-조건으로 설정 설명 섹션에서 설명한 바와 같이 대상이 나머지 명령어로 설정됩니다. |
사후 스캔 | N/A |
함수 블록 다이어그램
FBD 블록
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | N/A |
EnableIn이 거짓임 | EnableOut을 EnableIn으로 설정 |
EnableIn이 참임 | 설명 섹션에서 설명한 바와 같이 대상이 나머지 명령어로 설정됩니다. 오버플로가 발생하는 경우 EnableOut을 거짓으로 해제 그렇지 않으면 EnableOut을 참으로 설정 |
명령어 최초 실행 | N/A |
명령어 최초 스캔 | N/A |
사후 스캔 | N/A |
FBD 함수
팁:
FBD 함수는 CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러에만 적용됩니다.
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | N/A |
정상 스캔 | 설명 섹션에서 설명한 바와 같이 대상이 나머지 명령어로 설정됩니다. |
명령어 최초 실행 | N/A |
명령어 최초 스캔 | N/A |
사후 스캔 | N/A |
팁:
Source B가 0이면 결과가 0이고 마이너 폴트가 발생합니다.
예
래더 다이어그램

피제수를 제수로 나누고 나머지를 나머지에 놓습니다. 이 예에서는 10을 3으로 세 번 나눠 나머지가 1이 됩니다.
함수 블록 다이어그램
FBD 블록

FBD 함수

구조화된 텍스트
remainder := dividend MOD divisor;
의견을 작성 부탁드립니다.