Research Note 06

KUKA 로봇 연동 — Ethernet KRL Plug-in

KUKA의 EthernetKRL XML 설정과 EKI_Send로 AIVE를 직접 제어하는 구조를 검증했습니다.

  • KUKA KRC4
  • KRL
  • EthernetKRL
  • EKI_Send()
  • XML 설정
  • xmlRoboeye
  • AIVE 기본 프로토콜
KUKA 로봇 + AIVE 피더
EthernetKRL XML 설정 파일 — IP 192.168.0.30, PORT 1470, TYPE Server
EthernetKRL XML 설정 파일 — IP 192.168.0.30, PORT 1470, TYPE Server
KRL 메인 루틴 — EKI_Init, EKI_Open, AIVEReady, AIVEManual
KRL 메인 루틴 — EKI_Init, EKI_Open, AIVEReady, AIVEManual
KRL 함수 정의 — AIVEReady, AIVELightOn/Off, AIVEMotion1/2 (EKI_Send)
KRL 함수 정의 — AIVEReady, AIVELightOn/Off, AIVEMotion1/2 (EKI_Send)

KUKA는 TCP 소켓 통신을 위해 C:/KRC/ROBOTER/CONFIG/USER/COMMON/ETHERNETKRL 경로에 XML 설정 파일이 필요합니다. <IP>192.168.0.30</IP>, <PORT>1470</PORT>, <TYPE>Server</TYPE>로 AIVE를 서버로 지정하고, SmartPad에서 시운전 > 네트워크 컨피규레이션으로 로봇 IP를 설정합니다.

통신은 EKI_Init("XmlAive") → EKI_Open("XmlAive") 순서로 초기화하고, EKI_Send("XmlAive","<C1>")로 AIVE 프로토콜 문자열을 직접 전송합니다. KRL 함수로 감싼 AIVEReady(), AIVELightOn/Off(), AIVEMotion1/2(), AIVEManual(mm,hz,sec)을 KRC:\R1\Program 경로에 배포합니다.

AIVEManual 내부에서 SWRITE로 스트로크·주파수·시간 값을 문자열로 변환해 <P1NNN>과 <P2NN,NN> 포맷으로 조립한 뒤 EKI_Send로 순차 전송합니다. 정수 변환과 자리수 패딩 로직이 핵심입니다.

AIVE 피더 제어와 별도로, KUKA RoboEye 비전 Plug-in도 같은 EthernetKRL 구조로 개발했습니다. 비전 XML 파일은 SEND 경로(트리거 발신)와 RECEIVE 경로(좌표 수신)를 분리해 정의합니다. 로봇이 xmlRoboeye 함수로 촬영 트리거를 보내면 RoboEye 서버가 처리 후 좌표를 돌려주는 방식입니다.

KUKA 연동 페이지 →

이 기술이 지금의 제품에 들어 있습니다

연구 노트에서 검증한 구조가 AimFactoryCore와 Robot Suite로 이어졌습니다.