728x90
오늘은 KRL에서 제공하는 반복문 WHILE ... ENDWHILE 을 소개해 드리겠습니다.
WHILE ... ENDWHILE은 KUKA Manual에 보면 Rejecting Loop라고 설명되어 있는데요, WHILE ... ENDWHILE은 반복문을 시작하기 전에 조건에 맞지 않으면 반복을 거절(Reject)하기 때문입니다. 반복문이지만 한번도 반복하지 않을 수 있는 셈이죠.
WHILE 뒤에 나오는 조건문 결과가 TRUE이면 첫 번째 반복을 실행하고
반복 후 조건문 결과가 TRUE이면 다음 반복을
반복 후 조건문 결과가 FALSE이면 반복을 정지 합니다.
아래 코드는 A의 값을 1씩 증가시키다가 A의 값이 100보다 작지 않을 때 WHILE ... ENDWHILE을 빠져나갑니다.
A=1
WHILE A<100
A=A+1
ENDWHILE
A의 값을 1씩 증가시켰으니 반복문을 빠져나온 후 A의 값은 100 이겠네요.
PLC와 입력 신호를 주고 받는 경우를 예로 들어보겠습니다.
아래 코드는 입력 신호가 1일 때 WHILE ... ENDWHILE를 계속 반복합니다.
1번 입력신호가 On일 때 1번 모델을 계속 생산하는 프로그램을 작성할 때 사용할 수 있겠네요.
WHILE $IN[1]==TRUE
;CODES
ENDWHILE
WHILE ... ENDWHILE로 무한 반복 루프를 형성하고 싶다면
WHILE 조건 뒤에 항상 TRUE가 오는 연산을 넣거나
TRUE를 직접 입력하여 무한 반복 루프를 형성할 수 있습니다.
WHILE 1==1
;CODES
ENDWHILE
WHILE TRUE
;CODES
ENDWHILE
다음 시간에는 FOR 문에 대해 알아보겠습니다.
감사합니다.
'Programming > KUKA KRL 문법' 카테고리의 다른 글
KUKA KRL 문법: Program 실행 흐름 제어 007 - CONTINUE (0) | 2024.02.14 |
---|---|
KUKA KRL 문법: Program 실행 흐름 제어 006 - FOR ... ENDFOR (2) | 2024.02.14 |
KUKA KRL 문법: Program 실행 흐름 제어 004 - REPEAT ... UNTIL (2) | 2024.01.29 |
KUKA KRL 문법: Program 실행 흐름 제어 003 - LOOP (2) | 2024.01.27 |
KUKA KRL 문법: Program 실행 흐름 제어 002 - SWITCH (2) | 2024.01.27 |