반복(FOR)
이 정보는 CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.
FOR 명령어는 루틴을 반복적으로 실행합니다.
활성화된 경우 FOR 명령어는 Index가 Terminal value를 초과할 때까지 루틴을 반복적으로 실행합니다. 이 명령어는 매개 변수를 루틴에 전달하지 않습니다.
단계 값은 양수 또는 음수일 수 있습니다. 음수일 경우 인덱스가 터미널 값보다 작으면 루프가 종료됩니다. 양수일 경우 인덱스가 터미널 값보다 클 때 루프가 종료됩니다.
FOR 명령어가 루틴을 실행할 때마다 인덱스에 단계 크기가 추가됩니다.
단일 스캔에서 너무 많이 루프하지 않도록 주의하세요. 과도한 반복 횟수로 인해 컨트롤러의 워치독이 타임아웃되어 메이저 폴트가 발생할 수 있습니다.
사용 가능한 언어
래더 다이어그램

피연산자
래더 다이어그램
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
Routine name | ROUTINE | 태그 | FOR 루프가 실행될 때마다 호출되는 서브루틴입니다. |
Index | DINT | 태그 | 루틴이 실행된 횟수를 계산합니다. |
Initial value | SINT INT DINT | 즉시 태그 | 인덱스를 시작할 값 |
Terminal value | SINT INT DINT | 즉시 태그 | 루틴 실행을 중지할 값 |
Step size | SINT INT DINT | 즉시 태그 | FOR 명령어가 루틴을 실행할 때마다 인덱스에 추가할 양 |
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
메이저 폴트는 다음과 같은 경우에 발생합니다. | 폴트 유형 | 폴트 코드 |
|---|---|---|
중첩 레벨 제한 > 25 | 4 | 94 |
서브루틴은 SFC이고 이미 실행 중입니다(재귀적인 호출) | 4 | 82 |
피연산자 관련 폴트에 대해서는 공통 특성 항목을 참조하십시오.
실행
조건/상태 | Action |
|---|---|
사전 스캔 | 이전에 사전 스캔된 적이 없는 경우 명명된 서브루틴을 명령어가 사전 스캔합니다.
팁:
재귀 FOR 명령어가 동일한 서브루틴에 있거나 여러 FOR 명령어가 동일한 서브루틴에 있을 경우(비재귀적), 서브루틴은 한 번만 사전 스캔됩니다. 하위가 JSR에 의해 사전 스캔된 경우에도 마찬가지입니다.
|
렁-입력-조건이 거짓임 | N/A |
렁-입력-조건이 참임 | 다음 FOR 흐름도(참)를 참조하십시오. |
사후 스캔 | 명령어는 명명된 서브루틴을 정확히 한 번 사후 스캔합니다. |
FOR 흐름도(참)

예
활성화된 경우 FOR 명령어는 routine_2를 반복적으로 실행하고 매번 value_2를 1씩 증가시킵니다. value_2 > 50000이거나 BRK 명령어가 활성화된 경우 FOR 명령어는 더 이상 routine_2를 실행하지 않습니다.

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