본문 바로가기

장난감/KUKA.KRC

외부자동모드(EXT AUT)

2틀정도 외부자동모드를 실행하는데 시간을 소비했다(ㅠㅠ).

그리하여 관련 정보를 다시 블로깅한다.(아무것도 아닌것들 이었는데)


먼저 외부자동모드란(?)


로봇을 외부(External)에서 제어하는 경우를 의미한다. 

외부제어방식은 쿠카내부의 IO를 사용한다. 해당 IO는 웍스비주얼에서 DO(EL2889) 혹은 DI(El1889) 혹은 DeviceNet 등으로 맵핑이 가능하므로 사용자가 연결된 시스템에 따라 I/O번호를 할당하면된다.


나는 Adlink PCI7432 (DIO 32/32) 와 연결을 했다. 

두개의 EL1889와 두개의 EL2889를 각각 IN/OUT에 연결했다. 전체 갯수는 IN[32], OUT[32]가 된다.




외부자동(EXT_AUT)에 필요한 I/O LIST입니다. 

일부 I/O는 내부접점을 이용하거 혹은 모니터링 하지 않아도 될 수 있지만 그냥 왠만해선 모두 배선을 했다


[KUKA.OUTPUT -> PLC.INPUT]


STOPMESS

 로봇이 멈춰있는 경우 HIGH 상태가 됩니다.(스마트패드에서 메세지 확인가능)

PERI_RDY

 Drive_On 상태입니다. PLC.Out 중 Drives_ON 명령을 통해서 활성화 됨 

ALARM_STOP

 비상정지상태 

USER_SAF

 작업자안전상태(안전 센서) 

I_O_ACTCONF(EXT)

 외부자동모드일경우에 HIGH가 됩니다. 

ON_PATH

 로봇이 현재 경로에 있습니다. 

PRO_ACT

 CELL.SRC가 실행되면 HIGH 상태가 됩니다. 

IN_HOME

 로봇이 현재 홈 위치에 있습니다. 

PGNO_REQ

 PLC에게 프로그램번호를 요청하는 신호입니다.(CELL.SRC가 실행되면 HIGH 가 됨) 

APPL_RUN

 사용자 프로그램이 실행될때 HIGH 가 됩니다. 


[KUKA.INPUT <- PLC.OUTPUT]


PGNO

 프로그램 번호전송을 위한 연결입니다.(데이터길이만큼 연결해야함)

PGNO_VALID 

 PGNO전송후에 이 신호를 HIGH/LOW 를 하면 사용자프로그램이 실행됨 

EXT_START

 CELL.SRC를 실행하기위해서 이 신호를 HIGH 해야합니다. 

MOVE_ENABLE 

 모션의 움직임이 가능한지 여부이며 항상 HIGH 상태를 유지합니다.(필요시 OFF) 

CONF_MESS 

 오류메세지를 확인할때 사용합니다. HIGH/LOW 상태가 되면 메세지가 제거됨 

DRIVES_ON

 .모션의 움직임이 가능하도록 합니다. 20ms 이상 HIGH 상태를 유지합니다. 

DRIVES_OFF

 모션의 움직임을 멈춥니다. 20ms 이상 LOW 상태를 유지합니다. 


* 작업을 시작하기전에 MOVE_ENABLE 와 DRIVES_OFF는 HIGH상태로 설정하세요.

(해당 작업이 되어 있지않으면 움직이지 않습니다)


<진행전 준비 사항>

*    \R1\CELL.SRC [선택] 후 Switch 문에 실행하고자하는 사용자 프로그램명을 입력


<외부자동모드 진행 순서>

*    MOVE_ENABLE , DRIVES_OFF -> HIGH 로 변경

*    CELL.SRC [선택], 승인+실행 버튼을 눌러서 BCO 작업을 완료한다.

*    작업모드레버를 우측으로 전환하고 EXT 를 선택 ,다시 작업모드 레버를 좌측으로 전환

*    Drives-ON 시그널을 HIGH(>=20ms -> LOW) 를 하면 Drive가 On 되며  Peri_Rdy 신호가 출력된다.

*    CONF_MESS 시그널을 HIGH->LOW


7. PC의 DO중 CONF_MESS 시그널을 ON/OFF 하면 발생된 오류메세지가 소거된다. 

모든메세지가 소거될때까지 반복한다.

8. EXT_START 신호를 20ms 이상 High로 유지시켜주면 R 이 녹색으로 바뀌면 CELL.SRC가 RUN상태가 된다.

9. CELL.SRC가 실행되면 PGNO_REQ 신호가 들어오며( PC입장에서는 INPUT) 이 때 . PGNO에 할당한 DO를 통해서 프로그램 번호를 설정한 후 PGNO_VALID 시그널을 HIGH / LOW 상태 전환을 해준다.

10. CELL.SRC는 PGNO를 숫자로 변환해서 Switch 문을 이용하여 사용자가 지정한 프로그램을 실행한다.

11. 진행중 오류가 발생했다면 CONF_MESS 시그널을 ON/OFF 해서 메세지를 소거한다.