반복(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를 실행하지 않습니다.
의견을 작성 부탁드립니다.
이 자료에 대한 문의사항이나 요청사항이 있습니까? 여기에 요청사항을 작성 부탁드립니다.
Normal