Skip to main content

2.5. SELPRJ명령문과 메인 프로그램

2.5. SELPRJ명령문과 메인 프로그램

 

SELPRJ

설명

프로젝트의 번호 혹은 이름을 선택합니다.

선택된 프로젝트는 현재 프로젝트가 되어 편집과 재생이 가능해집니다.

(프로젝트 대화상자에서 프로젝트를 선택하는 것과 동일한 동작입니다.)

비동기적으로 수행되므로, WAIT문으로 결과변수가 0이 아닌 값이 되기를 대기하십시오. (사이클타임을 절감하기 위해, 대기하는 동안 다른 로봇동작을 수행할 수도 있습니다.)

문법

SELPRJ <결과변수>,<장치명>,<프로젝트명>

파라미터

결과변수

수행 후, 결과가 저장됨.

1: 성공

0: 프로젝트 설정 진행 중

-1: 기존 프로젝트 파일들을 장치로 백업하는데 실패

-2: 기존 프로젝트 파일들을 삭제하는데 실패

-3: 모터ON 중에는 복사할 수 없는 신규 프로젝트 파일들이 있음.

-7: 신규 프로젝트 파일들을 장치로부터 리스토어하는데 실패

-11: 신규 프로젝트 파일들의 속성을 서브-프로젝트로 설정하는데 실패

원본위치

TP: 티치펜던트의 /ResidentFlash/prj/

USB: USB메모리의 / (root)

EXT: 외부PC

MAIN: 메인보드 포즈 프로젝트 번호 설정

프로젝트명

번호(산술식) 혹은 이름(문자열식)으로 지정

e.g.) 3, "work850", "work"+V25$

사용 예

V1%=0

SELPRJ V1%,TP,3

WAIT V1%,60,*TIMEOUT '60초 동안 대기

….

END

*TIMEOUT

PRINT #0,"TIMEOUT"

END

 

전체 프로젝트는 서브 프로젝트 1, 2, 3을 차례로 수행한다고 가정합시다. 메인 프로젝트의 메인 프로그램인0001.JOB은 아래 그림과 같이 서브 프로젝트들을 선택하고 호출하는 역할만 하도록 작성했습니다.

 

 

재생 중 서로 다른 sub-project JOB 간에는 CALL을 할 수 없습니다. 같은 프로젝트 내의 JOB 간에,혹은 메인 프로젝트와 현재 선택된 서브 프로젝트의 JOB 간에만 CALL이 가능합니다.

 

또한, 현재 서브 프로젝트의 JOB이 수행되고 있는 중에, SELPRJ 명령문이나 프로젝트 대화상자로 다른 프로젝트를 선택할 수 없습니다. 반드시 현재 프로젝트의 재생이 완료되어 메인 프로젝트의 JOB으로 리턴한 후 프로젝트 선택을 바꿔야 합니다.

 

 

예를 들어, 아래 왼쪽 그림에서는 프로젝트 1에 속하는 101.JOB이 호출된 상태에서 SELPRJ 2를 수행하여 프로젝트 1의 선택 해제를 시도했기 때문에 에러가 발생합니다. 오른쪽 그림에서는 101.JOB을 완전히 리턴한 상태에서 SELPRJ 2를 수행했기 때문에 정상적으로 수행됩니다.