You are on page 1of 378

Training

로봇 프로그래밍 1
KUKA System Software 8.5
KUKA College

교육 자료

현재: 16.08.2018
P1KSS8 - Robot Programming 1 (R3) V1
KUKA Deutschland GmbH
로봇 프로그래밍 1

© Copyright 2018
KUKA Deutschland GmbH
Zugspitzstraße 140
D-86165 Augsburg
Germany

본 문서는 발췌본에 한해서도 KUKA Deutschland GmbH 의 공식적인 허가가 있는 경우에만


복제 또는 제삼자에게 배포하는 행위가 허용됩니다.
본 문서에 설명되지 않은 다른 기능이 컨트롤러에 존재할 수 있습니다. 하지만 새로 공급 시 또
는 서비스가 필요한 경우 이 기능에 대한 어떤 청구권도 인정되지 않습니다.
당사는 설명된 하드웨어 및 소프트웨어와 인쇄본의 내용이 일치하는지를 점검하였습니다. 그럼
에도 불구하고 오류를 배제할 수 없으며, 당사는 완전한 일치성에 대한 어떤 책임도 지지 않습니
다. 하지만 본 인쇄본의 내용은 정기적으로 점검되며 필요한 경우 수정 내용은 다음 발행본에 반
영됩니다.
기능에 영향을 미치지 않는 범위 내에서 기술적 변경이 있을 수 있습니다.
KIM-PS5-DOC
원본 문서의 번역본

발행: Pub COLLEGE P1KSS8 Roboterprogrammierung 1 (R3) (PDF-


COL) ko
PB10414

책의 구조: P1KSS8 - Roboterprogrammierung 1 (R3) V2.1


BS10350

버전: P1KSS8 - Robot Programming 1 (R3) V1

2/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

목차

1 KUKA 로봇 시스템의 구조 및 기능...................................................... 8


1.1 개요.................................................................................................................. 8
1.2 로봇에 대한 기본 사항..................................................................................... 8
1.3 KUKA 로봇 기계 장치..................................................................................... 9
1.4 로봇 제어 시스템 (V)KR C4............................................................................ 11
1.5 KUKA smartPAD............................................................................................ 14
1.5.1 smartPAD 개요................................................................................................ 16
1.5.2 smartPAD 연결 및 분리................................................................................... 18
1.5.3 smartPAD 기본 설정 ...................................................................................... 23
1.6 로봇 프로그래밍............................................................................................... 25
1.7 로봇의 안전성................................................................................................... 28

2 로봇 동작............................................................................................... 31
2.1 개요.................................................................................................................. 31
2.2 로봇 제어 시스템의 메시지 판독 및 해석......................................................... 31
2.3 로봇 컨트롤러의 작동 모드............................................................................... 34
2.3.1 정지 반응.......................................................................................................... 36
2.3.2 작동 모드 변경................................................................................................. 37
2.4 로봇 축을 개별적으로 작동시키기 ................................................................... 39
2.4.1 증분적 조그 모드.............................................................................................. 42
2.4.2 비상시 로봇을 제어 시스템을 사용하지 않고 움직이기.................................... 44
2.4.3 연습: 조작 및 축 중심 수동 이동..................................................................... 46
2.5 로봇과 연관된 좌표계....................................................................................... 47
2.6 광역 좌표계에서 로봇 동작............................................................................... 48
2.6.1 연습: 광역 좌표계에서 이동 버튼을 이용하여 조작 및 수동 이동..................... 54
2.6.2 연습: 광역 좌표계에서 6D 마우스를 이용하여 조작 및 수동 이동................... 55
2.7 궤적 이동 모드를 사용해 로봇을 뒤로 움직이기............................................... 56
2.8 로봇 위치의 표시 방법..................................................................................... 60
2.8.1 현재 로봇 위치를 smartPAD에서 조회하기...................................................... 61

3 로봇 초기 설정...................................................................................... 64
3.1 개요.................................................................................................................. 64
3.2 컨트롤러에서의 사용자그룹.............................................................................. 64
3.2.1 사용자 그룹 전환.............................................................................................. 65
3.2.2 암호 변경.......................................................................................................... 67
3.2.3 컨트롤러에서의 권한 관리................................................................................ 68
3.3 마스터링 원리................................................................................................... 69
3.3.1 마스터링 도구................................................................................................... 71
3.3.2 기계적 영점의 측정.......................................................................................... 74
3.3.3 로봇 마스터링................................................................................................... 75
3.3.3.1 표준 마스터링 / 최초 마스터링........................................................................ 76
3.3.3.2 부하 보정이 포함된 마스터링........................................................................... 79
3.3.3.3 연습: 마스터링, 오프셋이 포함된 하중 마스터링.............................................. 85
3.3.4 소형 로봇 AGILUS에서의 마스터링................................................................. 86
3.3.5 주요 마스터링 파일.......................................................................................... 88
3.4 Tool 및 Base 관리.......................................................................................... 89
3.4.1 smartPAD에서 Tool 및 Base 관리................................................................. 90

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 3/378


로봇 프로그래밍 1

3.5 로봇에서의 하중............................................................................................... 93


3.5.1 툴 부하 데이터................................................................................................. 93
3.5.2 로봇의 추가 하중.............................................................................................. 94
3.6 툴의 측정.......................................................................................................... 97
3.6.1 새로운 툴/공작물 추가...................................................................................... 100
3.6.1.1 TCP 측정, 4포인트 방법.................................................................................. 103
3.6.1.2 XYZ 기준 방법................................................................................................. 110
3.6.1.3 ABC 월드 방법................................................................................................. 113
3.6.1.4 ABC 2점 방법.................................................................................................. 115
3.6.2 툴 좌표계에서 로봇 움직이기........................................................................... 119
3.6.2.1 연습: 툴 좌표계에서 수동이동.......................................................................... 124
3.7 베이스의 측정................................................................................................... 125
3.7.1 새로운 베이스/고정 툴 추가............................................................................. 128
3.7.1.1 3점 방법........................................................................................................... 129
3.7.2 베이스 좌표계에서 로봇이 움직입니다............................................................. 134
3.7.2.1 연습: 베이스 좌표계에서 수동 이동.................................................................. 138
3.8 메모리 가동률 표시.......................................................................................... 139
3.9 컨트롤러 종료................................................................................................... 140

4 로봇 프로그램 실행하기......................................................................... 143


4.1 개요.................................................................................................................. 143
4.2 로봇 프로그램 선택.......................................................................................... 143
4.3 로봇 프로그램은 어떻게 생겼나요?................................................................... 145
4.4 초기화 이동 실행하기....................................................................................... 145
4.5 프로그램 스타트 실행하기................................................................................ 147
4.5.1 연습: 로봇 프로그램 실행하기.......................................................................... 150

5 프로그램 파일의 취급............................................................................ 151


5.1 개요.................................................................................................................. 151
5.2 프로그램 모듈 만들기....................................................................................... 151
5.3 프로그램 모듈 편집.......................................................................................... 154
5.4 로봇 프로그램 보관하기 및 복구하기............................................................... 157
5.5 로그북을 사용하여 프로그램 및 상태 변경 파악하기........................................ 161
5.5.1 로그북 내보내기............................................................................................... 163

6 프로그래밍된 동작 만들기 및 변경........................................................ 165


6.1 개요.................................................................................................................. 165
6.2 새로운 동작 명령의 생성을 위해 어떤 정보가 필요합니까?.............................. 165
6.3 SPTP - 사이클 시간 최적화 동작(축 동작)..................................................... 167
6.3.1 Status & Turn................................................................................................. 168
6.3.2 SPTP 우회....................................................................................................... 169
6.3.3 인라인 양식을 이용한 동작 프로그래밍............................................................ 170
6.3.3.1 인라인 양식: SPTP.......................................................................................... 173
6.3.4 연습: 더미 프로그램 - 프로그램 취급 및 SPTP 동작...................................... 176
6.4 트랙 모션 생성하기.......................................................................................... 177
6.4.1 특이성............................................................................................................... 178
6.4.2 SLIN 프로그래밍.............................................................................................. 179
6.4.2.1 인라인 양식: SLIN........................................................................................... 181
6.4.2.2 SLIN에서 방향 컨트롤...................................................................................... 182
6.4.3 SCIRC 프로그래밍............................................................................................ 184

4/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

6.4.3.1 인라인 양식: SCIRC......................................................................................... 186


6.4.3.2 SCIRC에서 방향 컨트롤................................................................................... 187
6.4.3.3 SCIRC: 방향 컨트롤 - 예: 보조점.................................................................... 190
6.4.3.4 SCIRC: 방향 컨트롤 - 예: 목표점.................................................................... 193
6.4.3.5 $CIRC_MODE의 제한 ..................................................................................... 194
6.4.4 경로 동작 시 우회............................................................................................ 194
6.4.5 CP 모션 및 근사접근........................................................................................ 196
6.5 글로벌 포인트로 프로그래밍............................................................................. 197
6.6 모션 명령 변경하기.......................................................................................... 200

7 스플라인 동작의 프로그래밍.................................................................. 206


7.1 개요.................................................................................................................. 206
7.2 스플라인은 무엇입니까?................................................................................... 206
7.3 스플라인 블록의 설명....................................................................................... 210
7.4 동작이 포함된 SPLINE 블록 프로그래밍.......................................................... 213
7.4.1 스플라인 블록 내 SLIN.................................................................................... 216
7.4.2 스플라인 블록 내 SCIRC.................................................................................. 217
7.4.3 스플라인 블록 내 SPL...................................................................................... 219
7.4.4 동작 파라미터................................................................................................... 220
7.5 프로그래밍 지침............................................................................................... 221
7.5.1 SPLINE 블록에서 포인트 변경......................................................................... 222
7.5.2 스플라인 동작 시 속도 프로필.......................................................................... 223
7.5.3 스플라인 동작 시 레코드 선택.......................................................................... 226
7.6 스플라인 동작의 근사접근................................................................................ 227
7.7 연습: 스플라인 블록이 포함된 경로 컨투어...................................................... 229

8 로봇 프로그램에서의 논리적 기능 이용................................................. 230


8.1 개요.................................................................................................................. 230
8.2 논리 프로그래밍 입문....................................................................................... 230
8.3 변수의 표시...................................................................................................... 231
8.3.1 인풋 및 아웃풋의 표시..................................................................................... 232
8.3.2 플래그, 카운터, 타이머 표시............................................................................. 234
8.4 간단한 로직 프로그래밍.................................................................................... 235
8.4.1 대기 함수의 프로그래밍.................................................................................... 235
8.4.2 간단한 스위칭 함수 프로그래밍........................................................................ 240
8.4.3 선택적 연습: 경로 동작에 로직 탑재................................................................ 245
8.5 SPLINE 및 SPLINE 단일 레코드를 통한 로직의 프로그래밍........................... 246
8.5.1 SPLINE 트리거 프로그래밍.............................................................................. 246
8.5.1.1 SPLINE 트리거 프로그래밍.............................................................................. 247
8.5.1.2 인라인 양식을 이용한 SPLINE 트리거 프로그래밍.......................................... 251
8.5.1.3 프로그래밍 지침............................................................................................... 254
8.5.2 조건적 정지 프로그래밍.................................................................................... 257
8.5.2.1 프로그래밍 지침............................................................................................... 258
8.5.2.2 조건적 정지 프로그래밍.................................................................................... 259
8.5.2.3 인라인 양식을 이용한 조건적 정지 프로그래밍................................................ 262
8.5.3 정속 이동 영역................................................................................................. 263
8.5.3.1 정속 이동 영역 프로그래밍............................................................................... 264
8.5.3.2 프로그래밍 지침............................................................................................... 268
8.5.4 연습: SPLINE 움직임에 로직이 있음............................................................... 270

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 5/378


로봇 프로그래밍 1

8.5.5 연습: 정속 이동 영역 및 조건적 중지............................................................... 271

9 기술 패키지 사용................................................................................... 272


9.1 개요.................................................................................................................. 272
9.2 GripperTech 상세 정보................................................................................... 272
9.3 KUKA.GripperTech를 사용한 그리퍼 조작..................................................... 273
9.3.1 smartPAD에서 그리퍼 신호 표시..................................................................... 274
9.4 그리퍼 구성...................................................................................................... 276
9.4.1 그리퍼 매개변수 입력....................................................................................... 281
9.5 인라인 양식을 이용한 그리퍼 프로그래밍......................................................... 282
9.5.1 인라인 양식을 이용한 그리퍼 테스트............................................................... 286
9.5.2 연습: 표지판 그리퍼 프로그래밍....................................................................... 289
9.5.3 연습: 핀 그리퍼 프로그래밍............................................................................. 290

10 외부 툴의 구성 및 프로그래밍............................................................... 291
10.1 개요.................................................................................................................. 291
10.2 로봇 가이디드 공작물 및 고정 툴..................................................................... 291
10.2.1 고정 툴의 측정................................................................................................. 292
10.2.2 로봇이 안내한 공작물 측정............................................................................... 296
10.2.3 연습: 외부 툴 및 로봇에 의해 유도된 공작물 측정........................................... 301
10.3 고정된 툴을 사용한 수동 이동.......................................................................... 302
10.3.1 연습: 고정된 툴을 포함한 수동 이동................................................................ 308
10.4 외부 TCP를 사용한 모션 프로그래밍............................................................... 309
10.4.1 연습: 외부 TCP를 사용한 동작 프로그래밍..................................................... 310

11 전문가 레벨로의 입문............................................................................ 311


11.1 개요.................................................................................................................. 311
11.2 프로그램을 템플릿을 사용하여 만들기............................................................. 311
11.3 탐색기에서 보기 어댑테이션............................................................................. 312
11.4 편집기에서 보기 어댑테이션............................................................................. 314
11.5 프로그램에서 오류 찾기 및 제거하기............................................................... 315
11.6 로봇 프로그램의 구조 만들기........................................................................... 317
11.6.1 프로그램 코맨드............................................................................................... 317
11.6.2 프로그램 들여넣기............................................................................................ 320
11.6.3 프로그램 행 숨기기.......................................................................................... 321
11.6.4 로봇 프로그램 연결.......................................................................................... 321
11.6.5 연습: 하위 프로그램 호출 프로그래밍 ............................................................. 324

12 변수 및 합의.......................................................................................... 325
12.1 개요.................................................................................................................. 325
12.2 KRL을 이용한 데이터 관리.............................................................................. 325
12.2.1 명명 규칙.......................................................................................................... 325
12.2.2 변수의 이중 선언.............................................................................................. 326
12.2.3 데이터 타입...................................................................................................... 326
12.2.4 변수 만들기...................................................................................................... 327
12.2.5 변수의 수명 및 유효성..................................................................................... 327
12.2.6 저장 장소에 따른 변수 선언............................................................................. 327
12.2.7 KUKA 시스템 데이터....................................................................................... 328
12.3 단순한 데이터 타입으로 작업........................................................................... 328
12.3.1 변수 선언 ........................................................................................................ 329

6/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

12.3.2 단순한 데이터 타입을 사용한 변수 초기화....................................................... 331


12.3.3 간단한 데이터 타입의 변수 값을 KRL로 매니퓰레이션하기............................. 333
12.3.4 연습: 간단한 데이터 타입 ............................................................................... 338

13 프로그램 진행 컨트롤의 사용................................................................ 339


13.1 개요.................................................................................................................. 339
13.2 루프 프로그래밍하기........................................................................................ 339
13.2.1 무한 루프 프로그래밍하기................................................................................ 339
13.2.2 카운트 루프 프로그래밍하기............................................................................. 341
13.2.3 거부하는 루프 프로그래밍하기......................................................................... 343
13.2.4 거부하지 않는 루프 프로그래밍하기................................................................. 345
13.3 조회 혹은 분기 프로그래밍하기........................................................................ 346
13.4 디스트리뷰터 프로그래밍 (SWITCH- CASE).................................................. 348
13.5 점프 명령 프로그래밍하기................................................................................ 351
13.6 KRL에서 대기 함수 프로그래밍........................................................................ 352
13.6.1 시간에 따른 대기 함수..................................................................................... 352
13.6.2 시그널에 따른 대기 함수.................................................................................. 353
13.7 연습: 루핑 기술 ............................................................................................... 356

14 상위 제어장치를 사용한 작업................................................................ 357


14.1 개요.................................................................................................................. 357
14.2 PLC를 통해 프로그램 시작 준비...................................................................... 357
14.3 PLC 연결 어댑테이션(Cell.src)........................................................................ 359
14.4 질문: 상위 컨트롤러에서 작업 ........................................................................ 362

15 부록....................................................................................................... 363
15.1 외부 오토매틱 인터페이스 설명........................................................................ 363
15.1.1 외부 오토매틱 인터페이스 구성........................................................................ 369
15.1.2 연습: 외부 오토매틱 인터페이스 구성(수동)..................................................... 373
15.2 약어.................................................................................................................. 374

인덱스 376

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 7/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

1 KUKA 로봇 시스템의 구조 및 기능

1.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 로봇 공학 스타트 업
• KUKA 로봇 기계장치
• 로봇 컨트롤러 KR C4
• KUKA smartPad
• 로봇 프로그래밍
• 로봇에서의 안전성

1.2 로봇에 대한 기본 사항

로봇이란 무엇인가?

• 로봇이라는 개념은 중노동을 나타내는 슬라브어 robota에서 유래한 개


념입니다.
• 산업용 로봇에 대한 공식적인 정의는 다음과 같습니다: "로봇이란 임의
로 프로그래밍할 수 있으며 프로그램으로 제어되는 취급 장치이다."
• 로봇 시스템에는 컨트롤러와 조작장치 및 그 연결 케이블과 소프트도
포함됩니다.

그림 1-1: 산업용 로봇

1 컨트롤러 (제어반 (V)KR C4)


2 매니퓰레이터(로봇 기계 장치)
3 조작 및 프로그래밍 핸드셋 (KUKA smartPAD)

8/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
산업용 로봇의 시스템에 속하지 않는 모든 장치를 주변기기라고 부릅니다:

• 공구(이펙터/툴)
• 보호 장치
• 컨베이어 벨트
• 센서
• 기계
• 등등.

1.3 KUKA 로봇 기계 장치

매니퓰레이터란 무엇인가?

• 매니퓰레이터는 원래의 로봇 기계장치입니다.


• 이 장치는 서로 단단하게 연계된 여러 개의 이동식 부품으로 구성되어
있으며, 축을 이용해 서로 연결되어 있습니다.
• 각 축의 모션은 서보모터를 계획적으로 컨트롤함으로써 이뤄집니다.
• 이들은 감속 기어를 통해 매니퓰레이터의 각 컴포넌트에 연결되어 있
습니다.

그림 1-2: 머니퓰레이터

1 매니퓰레이터(로봇 기계 장치)
2 동력 연쇄 시작: 로봇 베이스(ROBROOT)
3 자유로운 동력 연쇄 종료: 플랜지 (FLANGE)
A1...A6 로봇 축 1 - 6

로봇 메카니즘 구성요소 개요

• 로봇 기계장치의 컴포넌트는 대부분 알루미늄 주물 및 주강으로 되어


있습니다.
• 몇몇 경우에는 탄소섬유-컴포넌트도 사용됩니다.
• 각 부품에는 아래(로봇의 발)에서 위(로봇의 플랜지)로 번호가 순서대
로 부여되어 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 9/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

그림 1-3: 로봇 메카니즘 구성요소 개요

1 베이스 프레임 4 링크 암
2 회전 컬럼 5 암
3 카운터 밸런싱 시스템 6 수동

로봇 축

그림 1-4: KUKA 로봇의 축

KUKA 제품 팔레트에 있는 매니퓰레이터의 기술 데이터 중 일부:

• 축 수량:
‒ KR40 PA의 경우 4개의 축

10/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
‒ 기본 수직 다관절 로봇의 경우 6개의 축
‒ 7개의 축 경량 로봇
• 작동 범위: 0.54m(KR3 R540) ~ 3.9m(KR 120 R3900 ultra K)
• 자체 중량: 23kg(LBR iiwa 7 R800) ~ 4700kg(KR1000 Titan)
• 정밀도: 0.03mm ~ 0.2mm 반복 정밀도.

축 1 축 2 축 3

• 로봇의 기본 축 A1 ~ A3과 손목 축 A5의 축 범위는 기계적 스토퍼의


버퍼에 의해 제한됩니다.
• 보조 축에는 다른 기계적 스토퍼가 장착되어 있을 수 있습니다.

주의사항

• 로봇 또는 보조 축이 장애물 또는 기계적 스토퍼의 버퍼 또는 축 범


위 제한 장치에 부딪히면, 로봇 시스템이 손상될 수 있습니다.
• 로봇 시스템을 재가동하기 전에 KUKA Roboter GmbH에 문의해야
합니다.
로봇을 재가동하기 전에 해당 버퍼를 새 버퍼로 교체해야 합니다.
• 로봇(보조 축)이 250mm/s를 초과하는 속도로 버퍼에 부딪히는 경
우에는 로봇(보조 축)을 교체하거나 KUKA Roboter GmbH를 통해
다시 초기 설정해야 합니다.

1.4 로봇 제어 시스템 (V)KR C4

동력원은 무엇입니까?

로봇의 기계 장치는 (V)KR C4 컨트롤러가 제어하는 서보 모터에 의해 움


직입니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 11/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

그림 1-5: 제어반 (V)KR C4

(V)KR-C4 컨트롤러의 특성

• (V)KR-C4 컨트롤러
로봇 제어시스템(경로 계획): 여섯 개의 로봇 축 제어 또는 추가로 최
대 세 개의 외부 축 제어

그림 1-6: (V)KR C4 축 컨트롤

• (V)KR C4 extended 컨트롤러


로봇 제어시스템(경로 계획): 여섯 개의 로봇 축 제어 또는 추가로 최
대 여섯 개의 외부 축 제어

그림 1-7: (V)KR C4 확장형 축 컨트롤러

12/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
• 소프트웨어 기반 컨트롤러

그림 1-8: 필라 모델

‒ KR C4 기반 컨트롤러는 컨트롤러측에서 모듈라 컨셉에 따라 작동


합니다.
‒ 여기에서 핵심적 역할은 KPC-KUKA PC가 수행합니다.
‒ 로봇 프로그램은 어플리케이션에 상응하는 과제에 따라서 필요한
하드웨어 인터페이스에 액세스합니다.
‒ 항상 사용이 가능한 시스템에 관련된 어플리케이션외에도 컨트롤러
는 고객측 어플리케이션을 통해 보완할 수 있습니다.
시스템 관련 애플리케이션에 해당:

‒ Robot Control
로봇 컨트롤러용 KUKA 코어 시스템
‒ Safety
안전 컨트롤러에 통합된 KUKA 특성
고객별 옵션 예시:

‒ ready2_spot
부품의 로봇 가이디드 접합/용접에 사용됩니다
‒ ready2_fasten
산업 환경에서 볼트의 로봇기반 조임에 사용됩니다
‒ KUKA.VisionTech
하나 또는 복수의 카메라를 이용해 부품 위치를 기준으로 한 로봇
의 위치를 측정하고 수정하는 용도로 사용됩니다.
‒ KUKA.GlueTech
본딩 어플리케이션/본딩 노즐을 이용해 로봇 가이디드 방식으로 접
착제를 부품에 도포하는 용도로 사용됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 13/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

통신 방법

그림 1-9: 통신 방법 (V)KR C4

• 버스 시스템(예: ProfiNet, Ethernet IP, Interbus)을 통한 통신 방법:


‒ 메모리 프로그래밍이 가능한 제어 시스템(PLC)
‒ 그 외 다른 제어시스템
‒ 센서와 작동기
• 네트워크를 통한 통신 가능
‒ 호스트 컴퓨터
‒ 그 외 다른 제어시스템
‒ 서비스 노트

1.5 KUKA smartPAD

KUKA 로봇을 어떻게 조작합니까?

KUKA 로봇은 휴대용 컨트롤 패널인 KUKA smartPAD로 조작합니다.

그림 1-10: KUKA smartPAD

14/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
KUKA smartPAD 특징

• 손이나 통합된 펜으로 조작하는 터치스크린(터치에 반응하는 사용자


인터페이스)
• 커다란 세로형 포맷의 디스플레이
• KUKA 메뉴 버튼
• 다용도 +/- 버튼
기본: 이동 버튼 또는 이동 속도 설정 시 사용
• 테크놀로지 패키지 조작 버튼(예: 그리퍼 기능, 서보 건, 도킹)
• 프로그램 진행 버튼(정지/뒤로/앞으로)
• 키보드를 나타내는 버튼
• 키 스위치
‒ 작동 모드 전환용.
‒ 기타 기능 승인용.
사용자 인터페이스에 입력창 호출
• 비상 정지 버튼
• 6D 마우스
• 분리가능
• USB 포트

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 15/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

1.5.1 smartPAD 개요

설명

smartPAD 전면

그림 1-11: KUKA smartPAD 앞면

번호 설명
1 "smartPAD 분리" 요청 버튼
2 작동 모드 선택용 승인 스위치 이 스위치는 다음의 버전에서 실
행할 수 있습니다.

• 키가 포함된 버전
• 키가 포함되지 않은 버전
이 스위치를 이용해 연결 관리자를 호출합니다. 연결 관리자를
통해 작동 모드를 전환할 수 있습니다.
3 비상정지 장치. 위험 상황에서 로봇을 정지시키기 위해 사용.
비장 정지 장치를 누르면 잠깁니다.
4 6D 마우스: 로봇의 수동 이동용
5 이동 버튼: 로봇의 수동 이동용
6 POV 프로그램 오버라이드 설정 버튼

16/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
번호 설명
7 HOV 핸드 오버라이드 설정 버튼
8 메인 메뉴 버튼: 이 버튼은 smartHMI에서 메뉴 항목을 펼칩니
다.
9 상태 키. 상태 키는 주로 테크놀로지 패키지에서 파라미터의 설
정에 사용됩니다. 그 정확한 기능은 설치된 테크놀로지 패키지
에 따라 결정됩니다.
10 시작 버튼: 시작 버튼을 이용해 프로그램을 시작합니다.
11 시작 뒤로 버튼: 시작/뒤로 버튼을 누르면 프로그램이 조그 모
드에서 역방향으로 실행됩니다. 프로그램이 단계적으로 처리됩
니다.
12 STOP 버튼: STOP 버튼을 누르면 진행 중인 프로그램이 중지
됩니다.
13 키보드 버튼:
키보드를 보이게 합니다. 키보드를 통한 입력이 필요한지를
smartHMI가 인식하고 자동으로 키보드를 화면에 보이게하므로
일반적으로 키보드는 보이지 않아야 합니다.

smartPAD 뒷면

그림 1-12: smartPAD 뒷면

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 17/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

번호 엘리먼트 설명
1 터치팬 터치 디스플레이의 조잘을 위한 수동적 입
력핀.
2 인가 버튼 인가 스위치에는 3개의 위치가 제공됩니다:

• 누르지 않음
• 중앙 위치
• 완전히 눌림
작동 모드 T1 및 T2에서 머니퓰레이터가
동작하기 위해서는 인가 스위치가 중앙 위
치에 있어야 합니다.
작동모드 오토매틱 및 오토매틱 익스터널에
서는 인가 스위치가 아무런 기능을 하지 않
습니다.
3 시작 버튼 (녹 시작 버튼을 이용해 프로그램을 시작합니다.
색)
4 인가 버튼 2 참조
5 타입표지판 품목 번호 및 일련번호의 라벨
6 인가 버튼 2 참조
7 USB 포트 USB 포트는 예를 들어 압축저장/복구에 사
용됩니다.
FAT32용으로만 포맷된 USB 스틱.

1.5.2 smartPAD 연결 및 분리

설명

• 로봇 제어 시스템 구동 중 요청 버튼을 눌러 smartPAD를 분리할 수


있습니다.
• 시간과 작동 모드에 상관없이 smartPAD를 분리할 수 있습니다.
주의사항
하지만 업그레이드 또는 다운그레이드 절차는 중단하지 말아야 합니
다.

• smartPAD를 연결하면 현재 로봇 제어 시스템의 작동 모드를 적용합니


다.
• 연결할 때 smartPAD 버전(펌웨어 버전)은 중요하지 않습니다.
주의사항
중단하지 말아야 하는 업그레이드 또는 다운그레이드 절차가 시작될
수 있습니다.

• 연결하고 30초가 경과해야 비상 정지 및 승인 버튼을 다시 사용할 수


있습니다.
• smartHMI (사용자 인터페이스)는 자동으로 다시 나타납니다(15초 이
내에 나타납니다).

주의사항
사전 요청 없이 smartPAD를 분리하면 로봇의 비상 정지 기능이 실행됩
니다.

18/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
작동 방식

경고

• 미리 분리 요청 버튼을 누르지 않고 smartPAD가 분리된 경우 로컬


비상 정지 기능이 실행됩니다.
• 버튼을 이용해 요청하긴 했으나 25초간의 분리 시간이 경과되어
smartPAD가 분리되는 경우에도 적용됩니다.
• 로봇이 시스템 네트워크에서 구동하는 경우 상위 PLC를 통해 비상
정지 장치를 실행할 수 있습니다.

경고

• smartPAD가 분리된 경우 시스템은 더 이상 KCP의 비상정지 버튼


으로 smartPAD를 차단할 수 없습니다.
• 이러한 이유로 인해 비분리식 외부 비상 정지 장치가 추가로 필요합
니다.

경고

• 운영자는 분리된 smartPAD를 시스템에서 즉시 제거하고 산업용 로


봇에서 작업하는 인원의 시야 범위 또는 작업 반경 밖에 보관되도록
조치해야 합니다.
• 이렇게 함으로써 현재 유효한 비상정지 장치와 유효하지 않은 비상
정지 장치가 서로 혼동되는 것을 방지할 수 있습니다.

경고
이 사항을 준수하지 않을 경우, 작업자의 사망, 치명적 신체 상해 또는
심각한 대물 피해가 발생할 수 있습니다.

경고

• 로봇 제어 시스템에 smartPAD를 연결할 경우, 연결 후 최소 30초


가 경과할 때까지 smartPAD 옆에 있어야 합니다.
30초가 지나야 smartPAD에 연결됩니다.
• 비상 정지 기능과 승인 버튼 기능을 실행할 수 있습니다. 비상 상황
에서 다른 사용자가 현재 작동하지 않는 비상 정지 버튼에 접근하는
것이 방지할 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 19/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

smartPAD 업데이트

그림 1-13: smartPad 업데이트

• 부팅 중에 자동으로 smartPAD 업데이트가 수행될 수 있습니다.


• 업데이트 과정은 어떤 경우에도 중단하지 마십시오.
• smartPAD 자체 운영 시스템은 컨트롤러를 통해 다운그레이드 또는 업
그레이드됩니다.

주의사항
업데이트의 취소는 smartPAD에서 잘못된 소프트웨어 설치로 이어질
수 있습니다. 그 후에 smartPAD가 더 이상 시작되지 않을 수 있습니다.

진행 방법

smartPAD를 분리합니다

1. smartPAD의 분리 요청 버튼을 누릅니다.


smartHMI에 메시지와 카운터가 표시됩니다.
카운터는 25초 동안 작동합니다. 이 시간 동안 smartPAD는 로봇 컨트
롤러에서 분리되어 있어야 합니다.

20/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
그림 1-14: smartPAD 버튼 연동 해제

주의사항

‒ 카운터가 사라지기 전에 smartPAD를 분리하면 비상정지가 발


생합니다.
‒ smartPAD를 다시 꽂아야 비상정지를 해제할 수 있습니다.

2. 로봇 컨트롤러에서 smartPAD를 분리합니다.

그림 1-15: smartPAD 분리하기

1 삽입된 상태의 플러그


2 상단의 검은색 링을 화살표 방향으로 약 25° 돌립니다(표
시 참조).
3 플러그를 아래로 빼냅니다

• 카운터가 사라질 때까지 smartPAD가 분리하지 않아도 아무런 문제


가 발생하지 않습니다.
• 카운터를 다시 표시하기 위해 분리 버튼을 임의의 횟수만큼 누를 수
있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 21/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

smartPAD 연결

1. 동일한 버전이거나 동일한 펌웨어의 smartPAD를 삽입하였는지 확인


하십시오.
2. smartPAD의 로컬 비상정지가 발생했는지를 체크하십시오.
3. smartPAD 플러그를 X19에 끼웁니다.
주의사항
소켓과 smartPAD 플러그에 부착된 표시에 유의하십시오!

그림 1-16: smartPAD 삽입

1 분리된 상태의 플러그(표시에 유의)


2 플러그를 위로 미십시오. 위로 밀면 상단 검은색 링이 자
동으로 약 25° 회전합니다.
3 플러그가 스스로 맞물립니다. 즉 표시가 서로 겹칩니다

경고

‒ 로봇 컨트롤러에 smartPAD를 꽂는 사용자는 꽂은 후 적어도


30초 동안, 즉 비상정지 및 확인 스위치가 다시 정상적으로 기능
할 때까지 smartPAD에 있어야 합니다.
‒ 이렇게 함으로써 비상 상황에서 다른 사용자가 현재 작동하지
않는 비상정지 버튼에 접근하는 것이 방지됩니다.

22/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
1.5.3 smartPAD 기본 설정

설명

그림 1-17: 연결 관리자

위치 설명
1 안전 통신 연결
2 IP 주소 할당
3 KR C4 사용 준비

• 제어 시스템이 구동하거나 연결 관리자 (>>> 그림 1-17)가 열려 있는


경우 세 개의 초록색 기호가 smartPAD 화면의 상단 가장자리에 나타
납니다.
• 이러한 기호는 제어 시스템의 현재 상태 또는 smartPAD와의 연결 상
태를 알립니다.
• 기본적으로 신호등 색상인 빨간색, 노란색, 초록색이 사용됩니다.

smartPAD에 따른 설정/구성 펼치기

1. 키 스위치를 이용해 연결 관리자를 엽니다.

그림 1-18: 연결 관리자 및 작동 모드용 키 스위치

2. 로봇 버튼을 누릅니다 »
3. smartPAD 세션 관리자 메뉴가 열립니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 23/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

그림 1-19: 세션 관리자 메뉴

번호 분류 설명
1 정보 버전 상태 개요(smartPAD)
2 Ping smartPAD에서 KPC로 연결 테스트
3 RDP smartPAD에서 KPC로 IP 및 LOG-IN 파일
전송
4 네트워크 사용한 제어 시스템의 네트워크 영역
5 표시 보정 및 일반 화면 설정
6 6D 마우스 6D 마우스 보정 및 테스트
7 언어 영어/독일어 언어 설정

표시 설정

1. 표시(5) 메뉴 항목을 통해 표시 설정창이 열립니다.


2. 이 창에서는 화면 밝기을 조절하고 터치스크린을 보정할 수 있습니다.
3. 저장(4) 버튼을 눌러 변경된 설정을 적용합니다.

24/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
그림 1-20: 표시 설정

번호 설명
1 밝기
2 배경 밝기
3 터치스크린 보정
4 설정 저장

1.6 로봇 프로그래밍

설명

• 로봇을 프로그래밍하면 동작 과정과 공정을 자동으로, 그리고 항상 반


복하여 처리할 수 있도록 할 수 있습니다.
• 이를 위해 컨트롤러는 많은 정보가 필요합니다:
‒ 현재의 로봇 위치 = 현재의 공간(Basis)에 현재의 공구(Tool)가 있
는 위치
‒ 동작 종류
‒ 속도/가속도
‒ 대기 조건, 분기, 종속성 등을 위한 시그널 정보, ...

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 25/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

컨트롤러에 사용되는 언어는 무엇입니까?

• 간단한 프로그램은 미리 규정되어 있는 양식(인라인 양식)을 사용하여


만듭니다.
예: 인라인 양식

• 루프, 로직, 필요 프로그래밍에 대한 프로그래밍 언어는 KRL - KUKA


Robot Language입니다
예시 프로그램:

LOOP
SPTP P1 Vel=100% PDAT1 Tool[2] Base[4]
SPTP P2 Vel=100% PDAT2 Tool[2] Base[4]
SPTP P3 Vel=100% PDAT3 Tool[2] Base[4]
SLIN P4 Vel=0.5m/s CPDAT4 Tool[2] Base[4]
...
ENDLOOP

KUKA 로봇을 어떻게 프로그래밍합니까?

KUKA 로봇을 프로그래밍하기 위해 다양한 프로그래밍 방법을 사용할 수


있습니다:

• 티치-인-방식을 사용한 온라인 프로그래밍.

그림 1-21: KUKA smartPAD를 사용한 로봇 프로그래밍

• WorkVisual로 프로그래밍하기: WorkVisual 소프트웨어 환경을 통해


온라인 프로그램을 생성하고 컨트롤러에서 직접 테스트 할 수 있습니
다. 오류를 찾기 위해 디버깅 툴을 사용할 수 있습니다.
다른 방법으로는 오프라인 프로그래밍이 로봇 프로젝트의 범위에서 가
능합니다.

26/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
그림 1-22: WoV를 사용하여 프로그래밍하기

• 오프라인 프로그래밍
‒ 그래픽을 사용하는, 상호작용하는 프로그래밍: 로봇 프로세스 시뮬
레이션

그림 1-23: KUKA Sim을 사용한 시뮬레이션

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 27/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

1.7 로봇의 안전성

예시: College 교육 셀

그림 1-24: 교육 셀

1 보호 펜스
2 기계적 스톱 장치 및 축 1 및 2, 3의 축 영역 제한장치
3 잠금 기능을 모니터링하기 위한 도어 접점이 있는 안전 도어
4 비상 정지 버튼(외부)
5 비상 정지 버튼, 승인 버튼, 연결 관리자를 호출하기 위한 키 스위

6 통합형 (V)KR C4 안전 컨트롤러

각 셀 컨피규레이션에 따라 안전한 인풋 (번호 3 과 4)이 상위 PLC에서


감지되고 안전한 기술장치에서 (V)KR C4로 전송됩니다.

안전 컨트롤러의 기능

위험

• 정상적으로 작동하는 안전 및 보호장치 없이 로봇 시스템을 가동할


경우 인명 또는 대물 피해가 발생할 수 있습니다.
• 안전장치 또는 보호장치를 탈거하거나 또는 해제한 경우, 로봇 시스
템을 가동하지 말아야 합니다.

비상 정지 장치

로컬 비상정지

• 이 산업용 로봇의 비상 정지 장치는 smartPAD의 비상 정지 버튼을 통


해 작동됩니다.

28/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

KUKA 로봇 시스템의 구조 및 기능
• 이 버튼은 위험 또는 비상 상황에서 눌러야 합니다.
외부 비상정지

• 적어도 하나의 비상정지 장치를 설치해야 합니다. (>>> "외부 비상정


지" 페이지 29)
• 이를 통해 KCP가 분리된 경우에도 하나의 비상정지 장치의 사용이 보
장됩니다.
비상정지 버튼을 누를 경우 산업용 로봇의 반응:

• 머니퓰레이터 및 보조축(옵션)이 안전정지 1로 정지합니다.


계속 구동하기

• 가동을 계속하기 위해서는, 비상정지 버튼을 회전시켜 해제하고 그 뒤


에 나타나는 메시지를 확인해야 합니다.

경고

• 위험이 발생될 수 있는 경우 머니퓰레이터에 연결된 툴 또는 기타


장치를 시스템측 비상 정지 회로에 연결해야 합니다.
• 이 사항을 준수하지 않을 경우, 사망, 치명적 상해 또는 심각한 대물
피해가 발생할 수 있습니다.

외부 비상정지

• 로봇 동작 또는 다른 위험 상황을 발생시킬 수 있는 모든 조작 스테이


션에는 비상정지 장치가 제공되어야 합니다. 시스템 통합자는 이 사항
을 준수해야 합니다.
• 적어도 하나의 비상정지 장치를 설치해야 합니다. 이를 통해 KCP가 분
리된 경우에도 하나의 비상정지 장치의 사용이 보장됩니다.
• 외부 비상정지 장치는 고객 인터페이스를 통해 연결됩니다. 외부 비상
정지 장치는 본 산업용 로봇의 공급 범위에 포함되지 않습니다.

오퍼레이터 보호장치

• 조작자 보호 장치 신호는 예를 들어 안전 도어와 같은 분리식 안전장


치를 잠글 때 사용됩니다.
• 이 신호가 없는 경우 오토매틱 모드가 불가능합니다.
• 오토매틱 모드에서 신호 손실이 발생하는 경우(예를 들어 안전 도어 열
림) 머니퓰레이터가 안전정지 1로 정지됩니다.
• 수동 감속 속도(T1) 및 수동 고속 속도(T2) 테스트 작동 모드에서는
조작자 보호장치가 활성화되지 않습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 29/378


KUKA 로봇 시스템의 구조 및 기능 로봇 프로그래밍 1

경고

• 신호 손실이 발생한 경우에는 안전장치가 다시 닫히고 이 닫힘을 확


인한 후에 비로소 오토매틱 모드가 계속 진행될 수 있도록 해야 합
니다.
• 이 확인 과정은, 인원이 위험 구역에 존재하는 동안에 예를 들어 안
전 도어의 닫힘으로 인해 오토매틱 모드가 의도치 않게 계속 진행되
는 것을 방지합니다.
• 사전에 실제로 위험 구역에 대한 점검이 이루어질 수 있도록 확인
과정을 설계해야 합니다.
• 다른 방식의 확인은 허용되지 않습니다(예를 들어 안전장치의 닫힘
시 자동으로 확인이 이루어지는 경우).
• 이 요건의 만족 여부는 시스템 통합자의 책임입니다. 이 요건이 충
족되지 않을 경우 사망, 심각한 상해 또는 대물 피해가 발생할 수 있
습니다.

안전 가동정지

• 안전 가동정지는 고객 인터페이스의 인풋을 통해 작동시킬 수 있습니


다.
• 외부 신호가 FALSE일 경우 이 상태는 그대로 유지됩니다.
• 외부 신호가 TRUE일 경우 다시 매니퓰레이터의 작동이 가능합니다.
• 별도의 확인이 필요하지 않습니다.

외부 안전정지 1 및 외부 안전정지 2

• 안전정지 1 및 안전정지 2는 고객 인터페이스의 인풋을 통해 작동시킬


수 있습니다.
• 외부 신호가 FALSE일 경우 이 상태는 그대로 유지됩니다.
• 외부 신호가 TRUE일 경우 다시 매니퓰레이터의 작동이 가능합니다.
별도의 확인이 필요하지 않습니다.

30/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
2 로봇 동작

2.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 메시지를 읽고 해석하기
• 작동 모드를 선택하고 설정하기
• 로봇 축을 개별적으로 움직이기
• 로봇에 관련된 좌표계
• 광역 좌표계에서 로봇 움직이기
• 이동 유형 트랙 후진으로 로봇 움직이기
• 로봇 위치의 표시

2.2 로봇 제어 시스템의 메시지 판독 및 해석

메시지 개요

그림 2-1: 메시지 창 및 메시지 카운터

1 메시지 창: 현재 메시지 표시
2 메시지 카운터 메시지 타입 별 메시지 개수
메시지 창을 통해 제어시스템은 오퍼레이터와 통신합니다. 이때 5 가지의
메시지 타입을 사용할 수 있습니다:
메시지 타입 개요:
아이콘 타입
확인 메시지

• 로봇 프로그램을 계속 처리하기 위해 오퍼레이터의 확인이


필요한 상태를 표시함(예: "비상 정지 확인").
• 확인 메시지가 나타나면 항상 로봇이 정지하거나 스타트하
지 않습니다.
상태 메시지

• 상태 메시지는 제어 시스템의 현재 상태를 알립니다(예:


"비상 정지").
• 상태 메시지는 그 상태가 유지되는 한 확인할 수 없습니다.
참조 메시지

• 참조 메시지는 로봇을 올바르게 사용하기 위한 정보를 알


립니다(예: "시작 버튼 필요").
• 참조 메시지는 확인할 수 있습니다. 그러나 선택한 로봇 프
로그램이 중지되지 않고, 계속해서 로봇을 수동으로 이동

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 31/378


로봇 동작 로봇 프로그래밍 1

아이콘 타입
시킬 수 있기 때문에 참조 메시지를 확인할 필요는 없습니
다.
대기 메시지

• 대기 메시지는 제어시스템이 어떤 이벤트(상태나 시그널,


혹은 시간)를 기다리고 있는지 표시합니다.
• 대기 메시지는 "시뮬레이션" 버튼을 눌러 수동으로 취소시
킬 수 있습니다.

주의사항
"시뮬레이션" 버튼은 충돌이나 기타 다른 위험을 배제할 수 있을 경우에
만 사용해야 합니다!

대화상자 메시지

• 대화 상자 메시지는 프로그램 제어 구조 내에서 또는 시스


템 상호 작용 시 질의 응답의 역할을 합니다.
• 다양하게 대답할 수 있도록 하는 버튼이 포함된 메시지 창
이 나타납니다.

"OK"를 이용하여 확인가능한 메시지를 확인할 수 있습니다. "모두


OK"를 이용하여 확인가능한 모든 메시지를 한번에 확인할 수 있습니다.

메시지의 영향

• 메시지는 로봇 기능에 영향을 미칩니다.


• 확인 메시지가 나타나면 항상 로봇이 정지하거나 스타트하지 않습니
다.
• 로봇을 움직이려면 우선 메시지를 확인해야 합니다.
• 명령어 "OK"(확인)은 오퍼레이터에게 전달하는, 메시지의 내용을 인지
하여 처리하라는 요구를 나타냅니다.

메시지 취급에 관련한 조언:

• 집중해서 읽으십시오!
• 먼저 이전의 메시지를 읽으십시오. 새 메시지는 이전 메시지에 연결
되는 메시지일 수 있습니다.
• 단순하게 "모두 OK" 단추를 누르지 마십시오.
• 특히 부팅한 후: 메시지를 모두 살펴 보십시오. 이때 모든 메시지가
표시되도록 하십시오. 메시지 창을 누르면 메시지 목록이 확장됩니
다.

메시지 취급법

메시지는 이벤트의 정확한 시간을 파악할 수 있도록 항상 날짜 및 시간과


함께 출력됩니다.

32/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
그림 2-2: 메시지 처리 확인하기

메시지를 읽고 확인하는 방법:

1. 메시지 목록을 열기 위해 메시지 창(1)을 터치합니다.


2. 확인:
• "OK"(2)를 눌러 각 메시지를 확인합니다.
• 또는: "모두 OK"(3)를 눌러 모든 메시지를 확인합니다.
3. 맨 위의 메시지를 다시 터치하거나 왼쪽 화면 가장자리에 있는 "X"를
터치하여 메시지 목록을 다시 축소합니다.

도움말

메시지가 사용자에게 모호하거나 더 자세한 설명이 필요한 경우 메시지 유


형에 따라 추가적 도움말을 불러올 수 있습니다.
1. 메시지 옆의 물음표가 있는 버튼(1)을 누릅니다.

그림 2-3: 메시지, 도움말

• 메인 창에 프로그램 또는 로봇 시스템에 메시지가 끼치는 영향이


설명됩니다.
• 창에는 가능한 원인과 몇 가지의 해결책이 제시됩니다.
• 기타 정보들은 돋보기 버튼(2)을 통해 불러올 수 있습니다.
2. 세부정보 페이지

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 33/378


로봇 동작 로봇 프로그래밍 1

그림 2-4: 도움말, 세부정보 페이지

• 여러가지 버튼(돋보기와 화살표)을 통해 도움말 텍스트 안에서 탐


색할 수 있습니다.
• 홈 버튼(1) 을 통해 도움말 텍스트의 첫번째 페이지로 돌아갈 수
있습니다.

2.3 로봇 컨트롤러의 작동 모드

KUKA 로봇의 작동 모드

그림 2-5: 작동 모드

각 사용자 그룹이 어떤 작동 모드를 사용할지를 할당하는 것은 사용자


그룹 관리자에 의해 정해질 수 있습니다. 때로는 모든 작동 모드를 다
사용하지 못하는 경우도 있습니다.

• T1(수동 감속 속도)
‒ 테스트 모드, 프로그래밍 및 티칭용
‒ 프로그램 모드에서 최고 속도는 250 mm/s.
‒ 수동 모드에서 최고 속도는 250 mm/s.
• T2 (수동 고속 속도)
‒ 테스트 모드용
‒ 프로그램 모드에서의 속도는 프로그래밍된 속도에 상응합니다!
이것은 사용자가 POV - 프로그램 오버라이드를 사용해서 줄일 수
있습니다.

34/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
‒ 6D 마우스 및 이동 버튼을 사용해서 로봇을 움직이는 것은 가능하
지 않습니다.
• AUT(오토매틱)
‒ 상위 컨트롤러가 포함되지 않은 산업용 로봇을 위해
‒ 프로그램 모드에서의 속도는 프로그래밍된 속도에 상응합니다!
이것은 사용자가 POV - 프로그램 오버라이드를 사용해서 줄일 수
있습니다.
‒ 6D 마우스 및 이동 버튼을 사용해서 로봇을 움직이는 것은 가능하
지 않습니다.
• AUT EXT(외부 오토매틱)
‒ 상위 제어시스템(SPS)를 사용하는 산업용 로봇용
‒ 프로그램 모드에서의 속도는 프로그래밍된 속도에 상응합니다!
이것은 사용자가 POV - 프로그램 오버라이드를 사용해서 줄일 수
있습니다.
‒ 6D 마우스 및 이동 버튼을 사용해서 로봇을 움직이는 것은 가능하
지 않습니다.

수동 모드 T1 및 T2

• 수동 작동 모드 T1 및 T2에서
‒ 로봇은 6D 마우스 및 이동 버튼을 사용해 공간에서 자유로이 움직
일 수 있습니다.
‒ 기존의 프로그램이 다양한 속도(POV)에서 실행될 수 있습니다.
• 응용 사례
‒ 오작동 이후에 로봇은 “후퇴”할 수 있습니다.
‒ 프로그램이 자동 모드에서 사용되기 전 감속된 상태에서 테스트될
수 있습니다. (테스트/검증)

수동 감속 속도 (T1)

새로운 프로그램 또는 변경된 프로그램은 항상 수동 감속(T1) 작동 모드에


서 먼저 테스트해야 합니다.
• 오퍼레이터 안전장치(안전문)는 모니터링하지 않습니다.
• 안전장치로 보호되는 공간에 머무를 수 있는 인원 수는 최소한으로 제
한되어 있습니다.
불가피하게 여러 명의 인원이 안전장치에 의해 보호되는 공간에 체류
하는 경우에는, 다음 사항을 준수해야 합니다:
‒ 모든 인원은 로봇 시스템에 대한 원활한 시야를 확보해야 합니다.
‒ 각각의 인원들 사이에서 항상 시선 접촉이 이루어질 수 있어야 합
니다.
• 오퍼레이터는 위험 구역을 관찰할 수 있고 위험을 피할 수 있는 위치
에 있어야 합니다.

수동 고속 속도 (T2)

수동 고속 속도(T2) 작동 모드에서는:

• 오퍼레이터 안전장치(안전문)는 모니터링하지 않습니다.


그렇지만 KUKA College 교육 셀에서는 규정과 달리 안전문을 모니
터링하며 이 문은 잠겨 있어야 합니다.

• 응용 프로그램이 수동 감속 속도보다 빠른 속도의 테스트를 요구하는


경우에만 이 작동 모드의 사용이 허용됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 35/378


로봇 동작 로봇 프로그래밍 1

• 수동 이동은 이 작동 모드에서는 불가능합니다.


• 오퍼레이터는 테스트를 시작하기 전에 인가 장치가 올바르게 작동하는
지를 확인해야 합니다.
• T2 작동모드에서 프로그램을 시작하여 프로그래밍된 속도에 도달합니
다.
이것은 POV - 프로그램 오버라이드를 사용해서 줄일 수 있습다.
• 로봇 오퍼레이터 및 다른 인원은 위험 구역 밖에 위치해야 합니다.
작동 모드 오토매틱 및 외부 오토매틱

• 안전 및 보호장치가 갖춰져 있어야 하며 제 기능을 완벽히 수행할 수


있어야 합니다.
• 모든 인원은 보호장치로 제한된 공간 밖에 머무릅니다.

2.3.1 정지 반응

설명

• 본 산업용 로봇의 정지 반응은 조작 행동을 통해 또는 모니터링 및 오


류 메시지에 대한 반응으로서 발생됩니다.
• 아래의 표에는 설정된 작동 모드에 따른 정지 반응의 유형이 설명됩니
다.

원인 T1, T2 AUT, AUT EXT


시작 버튼에서 손 떼기 STOP 2 -
STOP 버튼 누름 STOP 2
드라이브 OFF STOP 1
"이동 인가" 인풋 분리 STOP 2
로봇 컨트롤러 차단 (정 STOP 0
전)
로봇 컨트롤러의 논 페일 STOP 0 또는 STOP 1
세이프 컴포넌트에서 내
(오류 원인에 따라서)
부 오류
가동 중에 작동 모드 변 안전정지 2

안전 도어 열기 (오퍼레 - 안전정지 1
이터 보호장치)
인가 릴리즈 안전정지 2 -
인가 완전히 누름 또는 안전정지 1 -
오류
비상정지 작동 안전정지 1
안전 컨트롤러의 주변장 안전정지 0
치 또는 안전 컨트롤러에
서 오류

용어 정의

용어 설명
안전 가동정지 안전 가동정지는 정지상태 모니터링에 해당합니다. 이 기능은 로봇
동작을 정지시키는 것이 아니라 로봇 축의 정지 여부를 모니터링합니
다. 안전 가동정지가 작동하는 동안에 로봇 축이 동작하는 경우에는
안전정지 STOP 0이 발생합니다.

36/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
용어 설명
안전 가동정지는 외부에서도 작동시킬 수 있습니다.
안전 가동 정지 기능이 작동되면 로봇 제어 시스템이 안전 출력부
(X13, SIB Extended)를 통지하거나 상위 제어 시스템에 대한 안전
필드버스 프로토콜에 대해 알립니다. 아웃풋은 작동 시점에 모든 축
이 정지되지 않고 이로 인해 안전정지 STOP 0이 발생되는 경우에도
설정됩니다.
안전정지 STOP 0 안전 컨트롤러에 의해 작동되고 수행되는 정지. 안전 컨트롤러는 드
라이브 및 브레이크 전원장치를 즉시 차단합니다.
참고 사항: 이런 정지는 본 문서에서 안전정지 STOP 0으로 불립니
다.
안전정지 STOP 1 안전 컨트롤러에 의해 작동되고 모니터링되는 정지. 제동 과정은 로
봇 컨트롤러의 논 페일 세이프(non fail safe) 컴포넌트에 의해 실시
되고 안전 컨트롤러에 의해 모니터링됩니다. 머니퓰레이터가 정지되
는 즉시 안전 컨트롤러는 드라이브 및 브레이크 전원장치를 즉시 차
단합니다.
안전 정지 STOP 1이 작동되는 경우, 로봇 제어 시스템은 필드 버스
를 통해 아웃풋을 설정합니다.
안전정지 STOP 1은 외부에서도 작동시킬 수 있습니다.
참고 사항: 이런 정지는 본 문서에서 안전정지 STOP 1으로 불립니
다.
안전정지 STOP 2 안전 컨트롤러에 의해 작동되고 모니터링되는 정지. 제동 과정은 로
봇 컨트롤러의 논 페일 세이프(non fail safe) 컴포넌트에 의해 실시
되고 안전 컨트롤러에 의해 모니터링됩니다. 드라이브는 켜진 상태로
유지되고 브레이크는 열립니다. 머니퓰레이터가 정지되는 즉시 안전
가동정지가 발생합니다.
안전 정지 STOP 2가 작동되는 경우, 로봇 제어 시스템은 필드 버스
를 통해 아웃풋을 설정합니다.
안전정지 STOP 2는 외부에서도 작동시킬 수 있습니다.
참고 사항: 이런 정지는 본 문서에서 안전정지 STOP 2로 불립니다.
정지 카테고리 0 드라이브가 즉시 차단되고 브레이크가 작동합니다. 매니퓰레이터 및
부가축(옵션)이 경로에 인접하게 제동됩니다.
참고 사항: 이 정지 카테고리는 문서에서 STOP 0으로 표시됩니다.
정지 카테고리 1 1초 후에 드라이브가 차단되고 브레이크가 작동합니다.
매니퓰레이터 및 부가축(옵션)이 경로 상에서 제동됩니다.
참고 사항: 이 정지 카테고리는 문서에서 STOP 1으로 표시됩니다.
정지 카테고리 2 드라이브가 차단되지 않고 브레이크가 작동되지 않습니다. 머니퓰레
이터 및 부가축(옵션)이 경로유지 제동 램프로 제동됩니다.
참고 사항: 이 정지 카테고리는 문서에서 STOP 2으로 표시됩니다.

2.3.2 작동 모드 변경

진행 방법

구동 중 작동 모드를 변경하면, 드라이브가 즉시 차단됩니다. 산업용 로


봇이 안전정지 2 레벨로 정지합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 37/378


로봇 동작 로봇 프로그래밍 1

1. smartPAD에서 연결 관리자를 호출하기 위한 스위치를 누릅니다. 연결


관리자가 표시됩니다.

2. 작동 모드를 선택합니다.

그림 2-6: 작동 모드

• 원하는 작동 모드(T1, T2, AUT, EXT)를 각 버튼으로 누릅니다.


• 선택된 작동 모드는 녹색 점으로 표시됩니다.
3. 연결 관리자를 위한 스위치를 다시 본래 위치로 이동시킵니다.
선택된 작동 모드는 smartPAD의 상태 표시줄에 표시됩니다.

작동 모드 AUT는 VSS 폭스바겐 시스템 소프트웨어에서 사용할 수 없


습니다.

KSS8.5 버전부터 작동 모드는 권한 관리를 통해 각 사용자 그룹을 정


해서 할당되거나 제한될 수 있습니다.

38/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
2.4 로봇 축을 개별적으로 작동시키기

설명: 축 고유의 동작

그림 2-7: KUKA 로봇의 축

로봇 축의 동작

• 각 축은 개별적으로 양의 방향 및 음의 방향으로 이동합니다.


• 이를 위해 이동 버튼이나 KUKA smartPAD의 6D 마우스를 사용합니
다.
• 속도는 변경될 수 있습니다(핸드 오버라이드: HOV).
• 수동 이동은 모드 종류 T1에서만 가능합니다.
• 승인 버튼은 중앙부를 유지해야 합니다.

원리

• 승인 버튼을 눌러 구동장치를 활성화시킵니다. 구동장치가 승인되었을


경우 이동 버튼의 라벨이 녹색이 됩니다. 이동 버튼 또는 6D 마우스를
실행하는 즉시 로봇 축 컨트롤이 시작되고 원하는 동작이 실행됩니다.
• 이때 연속 모션과 증분 모션이 가능합니다. 이때 상태 표시줄에서 증분
(인크리먼트 크기)을 선택할 수 있습니다. (>>> "진행 방법" 페이
지 42)
다음과 같은 메시지는 수동 작동에 영향을 미칩니다:
메시지 원인 조치
"활성화된 명 (정지-)메시지가 나타났거나 활성화 비상정지를 해제하고/해제하거나 메
령 잠김" 된 명령을 잠그는 상태가 나타났습니 시지 창의 메시지를 확인하십시오. 승
다(예: 비상 정지 버튼을 눌렀거나 구 인 버튼을 누르면 그 즉시 구동장치
동 장치가 아직 작동할 준비가 되어 를 사용할 수 있습니다.
있지 않음).
"소프트웨어 표시된 축(예: A5)의 소프트웨어 리 표시된 축은 반대방향으로 이동합니
리밋 스위치 밋 스위치가 표시된 방향(+ 또는 -) 다.
- A5" 으로 이동하였습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 39/378


로봇 동작 로봇 프로그래밍 1

활용 팁

1. 원하는 프로그램을 선택합니다.


2. 세 개의 승인 버튼 중 하나를 눌러 확인합니다.
3. 드라이브가 구동 준비 상태가 될 때까지 기다립니다(이동 버튼이 초록
색으로 점등하거나 드라이브 표시창에 초록색이 나타남).
4. 원하는 액션 실행 » 실행 버튼, 이동 버튼 또는 6D 마우스.

순서를 준수하지 않으면, "활성화된 명령 잠김" 메시지가 나타납니다.

축 고유의 수동 이동에 대한 안전지침

작동 모드

• 로봇의 수동 작동은 작동 모드 T1(수동 감속 속도)에서만 가능합니다.


• T1 모드의 수동 이동 속도는 최대 250 mm/s입니다.
• 작동 모드는 연결 관리자를 통해 설정할 수 있습니다.
인가 버튼

• 로봇을 이동시키려면, 승인 버튼을 눌러 확인하고 그 상태를 유지해야


합니다.
• smartPAD에는 3개의 승인 스위치가 부착되어 있습니다.
• 승인 스위치는 3개의 위치를 갖습니다:
‒ 눌리지 않음
‒ 중앙 위치
‒ 완전히 누름 (패닉 위치)
소프트웨어 리밋 스위치

• 로봇의 동작은 축 고유의 수동 이동 시에도 소프트웨어 리밋 스위치의


포지티브 및 네거티브 최대값에 의해 제한됩니다.

주의사항

• 메시지 창에 "마스터링 실행" 메시지가 나타나면 이 최대값 이상으


로 이동할 수 있습니다.
• 이 경우 로봇 시스템이 손상될 수 있습니다!

진행 방법

축 고유의 모션을 실행합니다

1. 이동 버튼의 옵션으로서 축을 선택합니다

40/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
2. 핸드 오버라이드 설정

3. 인가 버튼의 중앙부를 누르고 그 상태를 유지합니다

4. 조그 키 옆에 A1-A6번 축이 표시됩니다.
하나의 축을 포지티브 또는 네거티브 방향으로 움직이기 위해 플러스
혹은 마이너스 이동 버튼을 누르십시오.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 41/378


로봇 동작 로봇 프로그래밍 1

2.4.1 증분적 조그 모드

설명

증분적 조그 모드

• 증분적 조그 모드에서는 특정한 거리만큼, 즉 예를 들어 10 mm 또는


3°만큼 로봇을 동작시킬 수 있습니다.
해당 이동 버튼을 누르면 로봇이 자동으로 정지합니다.
• 증분적 조그 모드는 이동 중에 "조그 키"를 눌러 실행시킬 수 있습니
다.
Space Mouse를 통해 이동하는 경우에는 증분적 조그 모드가 불가능
합니다.
• 로봇이 자동으로 정지할 때까지 해당 이동 버튼을 누르고 있어야 합니
다.
로봇이 사전 설정된 거리 또는 각도값에 도달했습니다.
적용 범위:

• 동일한 거리로 포인트를 배치할 때


• 거리가 mm 또는 ° 단위로 정해져 있을 경우(예: 측정 장치의 데이터
이용), 포인트를 정확하게 보정할 때
• 예를 들어 오류 발생 시 어느 한 위치에서 특정한 거리만큼 뒤로 이동
할 때

전제조건

• "조그 키" 이동 유형이 활성화된 상태.


• 작동 모드 T1

진행 방법

1. 상태 표시줄에서 증분값(1)을 선택합니다.

42/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
그림 2-8: 증분적 조그 모드

2. 이동 버튼을 이용해 로봇을 이동시킵니다. 로봇은 직교좌표적 또는 축


에 따라 이동할 수 있습니다.
설정한 증분에 도달하면, 로봇이 정지합니다.

예를 들어 승인 스위치에서 손을 떼는 방식으로 로봇 동작을 중단하는


경우에는, 다음 동작 시 중단된 증분만큼 이동하는 것이 아니라 새 증분
이 시작됩니다.

다음과 같은 옵션을 사용할 수 있습니다:


설정 설명
연속적으로 증분적 조그 모드가 꺼진 상태.
100mm / 10° 1증분 = 100 mm 또는 10°
10mm / 3° 1증분 = 10 mm 또는 3°
1mm / 1° 1증분 = 1 mm 또는 1°
0.1mm / 0.005° 1증분 = 0.1 mm 또는 0.005°

증분(mm 단위):

• X, Y 또는 Z 방향에서 직교좌표적 이동 시 적용.


증분(도 단위):

• A, B 또는 C 회전에서 직교좌표적 이동 시 적용.


• 해당 축의 이동 시 적용.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 43/378


로봇 동작 로봇 프로그래밍 1

2.4.2 비상시 로봇을 제어 시스템을 사용하지 않고 움직이기

설명

그림 2-9: 자유 회전장치

• 사고 또는 장애 발생 후에 자유 회전 장치를 이용해 로봇을 기계적으


로 움직일 수 있습니다.
• 자유 회전장치는 주축 드라이브 모터를 위한 것이지만 로봇 모델에 따
라서 손목 축 드라이브 모터에도 사용할 수 있습니다.
• 이 장치는 예외적 상황 및 비상 상황(예: 장치에 끼인 사람을 구조)에
서만 사용해야 합니다.
• 자유 회전 장치를 사용할 경우 브레이크 기능이 정상인지 확인해야 합
니다.
‒ 이를 위해 브레이크 테스트를 실시해야 합니다. 테스트 결과가 부
정적일 때 모터를 교체해야 합니다.
‒ 제어시스템에서 브레이크 테스트가 제공되지 않거나 실행할 수 없
을 경우 해당 모터를 교체해야 합니다.

브레이크 테스트는 KSS8.x의 고정된 기능입니다. 이것은 셋업 및 안전


장치 셋업 엔지니어에 의해 허용되고 활성화되어야 합니다.

진행 방법

경고

• 모터가 구동하는 동안에는 피부 화상을 일으킬 수 있는 온도까지 가


열됩니다.
• 따라서 접촉을 피해야 합니다.
• 예를 들어 보호장갑의 착용과 같은 적합한 보호 조치를 취해야 합니
다.

1. 로봇 제어 시스템을 끄고 의도치 않게 다시 켜지지 않도록(예: 패드락


이용) 잠그십시오.
2. 모터에서 보호캡을 제거하십시오.
3. 자유 회전장치를 해당 모터에 부착하고 원하는 방향으로 축을 동작시
키십시오.

• 모터에 화살표가 그려진 방향 표시를 옵션으로 주문할 수 있습니다.


• 기계식 모터 브레이크의 저항 및 필요 시 부가축의 저항이 극복되어
야 합니다.

44/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
축 2 모터에서의 예

그림 2-10: 자유 회전 장치를 이용한 진행 방법

번호 설명
1 보호캡이 닫힌 A2 모터
2 A2 모터에서 보호캡 열기
3 보호캡이 제거된 A2 모터
4 A2 모터에 자유 회전 장치 설치하기
5 자유 회전장치
6 회전방향 설명이 있는 표시판(옵션)

주의

• 자유 회전장치를 이용해 축을 동작 시키는 경우, 모터 브레이크가


손상될 수 있습니다.
• 이로 인해 인명 및 대물 피해가 발생할 수 있습니다.
• 자유 회전 장치를 사용한 후에는 브레이크 테스트를 실행하거나 해
당 모터를 교체해야 합니다.

상세 정보는 로봇의 사용 및 조립설명서를 참조하십시오.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 45/378


로봇 동작 로봇 프로그래밍 1

2.4.3 연습: 조작 및 축 중심 수동 이동

작업 설정

코스에서 배포된 연습 문제집을 열어 다음의 연습문제를 실행하십시오:


• 조작 및 축 고유의 수동 이동

46/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
2.5 로봇과 연관된 좌표계

산업용 로봇 조작 및 프로그래밍, 시동 시 좌표계는 매우 중요합니다. 로봇


컨트롤러에는 다음과 같은 좌표계가 정의되어 있습니다:

그림 2-11: 좌표계에 대한 설명

• ROBROOT
로봇 베이스 좌표계
• WORLD
광역 좌표계
• BASE
베이스 좌표계
• NULLFRAME (FLANGE)
플랜지 좌표계
• TOOL
툴 좌표계

• ROBROOT
‒ 로봇 베이스에 고정되어 있습니다.
‒ 로봇의 실제 원점
‒ ROBROOT는 WORLD 좌표계를 기준으로 이동될 수 있습니다.
• WORLD
‒ 출고 상태에서 ROBROOT 좌표계에서와 동일하게 놓여 있다면
‒ 로봇 베이스 "밖으로 밀려날" 수 있습니다.
‒ WORLD 좌표계를 ROBROOT 좌표계와 관련하여 설명합니다.
‒ 특히 벽 및 천장 조립 로봇 시스템에서 사용됩니다.
• BASE
‒ 임의로 정의할 수 있는, 고객에 따라 다른 좌표계입니다.
‒ 베이스의 위치를 WORLD와 관련하여 설명합니다.
‒ 툴 및 장치를 측정하기 위해 사용됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 47/378


로봇 동작 로봇 프로그래밍 1

• FLANGE
‒ 플랜지 좌표계는 로봇 플랜지에 고정되어 있습니다.
‒ 원점은 로봇 플랜지의 중앙입니다.
‒ TOOL 좌표계의 실제 기준점
• TOOL
‒ 임의로 정의할 수 있는, 고객에 따라 다른 좌표계입니다.
‒ 툴 좌표계의 원점은 TCP (Tool Center Point)로 표시됩니다.
‒ 툴 측정을 위해 사용됨

2.6 광역 좌표계에서 로봇 동작

광역 좌표계에서의 모션

그림 2-12: 광역 좌표계 수동 이동 원리

• 로봇의 툴은 광역 좌표계의 좌표 방향에 따라 움직일 수 있습니다.


이때 모든 로봇의 축이 움직입니다.
• 이를 위해 이동 버튼이나 KUKA smartPAD의 스페이스 마우스를 사용
합니다.
• 표준 설정에서 광역 좌표계는 로봇 베이스($ROBROOT)에 있습니다.
• 속도는 변경될 수 있습니다(핸드 오버라이드: HOV).
• 수동 이동은 모드 종류 T1에서만 가능합니다.
• 인가 버튼은 중앙부에서 유지되어야 합니다.
스페이스 마우스

• 스페이스 마우스로 로봇을 직관적으로 움직일 수 있어 광역 좌표계에


서 수동 이동할 경우 이상적인 선택이 됩니다.
• 마우스 위치와 자유도는 변경할 수 있습니다.

48/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
광역 좌표계에서의 수동 이동의 원리

로봇은 두 가지의 상이한 방식으로 좌표계에서 이동할 수 있습니다:

• 좌표계의 방향을 따라 병진식(직선식): X, Y 및 Z.


• 좌표계의 방향을 중심으로 회전식(회전/선회): 각도 A, B 및 C

그림 2-13: 직교좌표계

일부 이동 명령(예를 들어 이동 버튼 누름)에서 컨트롤러는 먼저 구간을


계산합니다. 그 구간의 시작점이 툴의 기준점(TCP- Tool Center Point)
입니다. 광역 좌표계가 구간의 방향을 지정합니다. 그 다음 컨트롤러가 모
든 축을 조절하여 툴이 이 구간으로 유도(병진)되거나 이 구간을 중심으로
돌도록(회전) 합니다.
광역 좌표계 사용의 장점

• 로봇의 모션을 항상 예견할 수 있습니다.


• 원점과 좌표 방향이 항상 알려져 있으므로 공간 내에서 TCP 동작이
항상 명확합니다.
• 광역 좌표계는 마스터링된 로봇에서 항상 사용할 수 있습니다.
• 6D 마우스를 사용하여 직관적으로 조작할 수 있습니다.
6D 마우스 사용

• 6D 마우스로 모든 종류의 동작을 취할 수 있습니다.


‒ 병진식: 6D 마우스를 누른 후 당김

그림 2-14: 예시: 좌측으로 이동

‒ 회전식: 6D 마우스를 누른 후 돌림

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 49/378


로봇 동작 로봇 프로그래밍 1

그림 2-15: 예시: Z를 중심으로 한 회전 동작: 각도 A


• 사람과 로봇의 위치에 맞게 6D 마우스의 위치를 조정할 수 있습니다.

그림 2-16: 6D 마우스: 0° 및 270°

병진 동작 실행하기(광역)

1. smartPAD 위치 조정하기.

KCP KUKA Control Panel ≙ smartPAD

• 6D 마우스 옆의 화살표(1)를 눌러서 옵션 창을 엽니다.


• 심벌화된 smartPAD를 밀어서 smartPAD 위치를 변경합니다.
2. 기타 마우스 설정은 옵션 버튼을 이용해 호출할 수 있습니다.

50/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
그림 2-17: 조그 모드 옵션

번호 설명
1 마우스 설정
6D 마우스 자유도의 축소 및 확장
2 좌표계
6D 마우스로 로봇을 이동시켜야 하는 좌표계

SYNC 버튼을 사용해서 6D 마우스와 이동 버튼의 좌표계 선택이 동


시에 스위칭될 수 있습니다.

3. 6D 마우스의 옵션을 광역(1)으로 선택합니다.

그림 2-18: 6D 마우스, 월드 좌표계에서 조그 모드

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 51/378


로봇 동작 로봇 프로그래밍 1

4. 핸드 오버라이드(1)를 설정합니다.

5. 인가 버튼 (1, 2 또는 3)의 중앙부를 누르고 그 상태를 유지합니다.

6. 6D 마우스를 사용하여 원하는 방향으로 이동합니다.

7. 또는 이동 버튼으로도 이동시킬 수 있습니다.

52/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
그림 2-19: 이동 버튼, 월드 좌표계에서 조그 모드

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 53/378


로봇 동작 로봇 프로그래밍 1

2.6.1 연습: 광역 좌표계에서 이동 버튼을 이용하여 조작 및 수동 이동

작업 설정

코스에서 배포된 연습 문제집을 열어 다음의 연습문제를 실행하십시오:


• 광역 좌표계에서 조그 키를 이용하여 조작 및 수동 이동

54/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
2.6.2 연습: 광역 좌표계에서 6D 마우스를 이용하여 조작 및 수동 이동

작업 설정

코스에서 배포된 연습 문제집을 열어 다음의 연습문제를 실행하십시오:


• 광역 좌표계에서 6D 마우스를 이용하여 조작 및 수동 이동

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 55/378


로봇 동작 로봇 프로그래밍 1

2.7 궤적 이동 모드를 사용해 로봇을 뒤로 움직이기

설명

그림 2-20: 궤적를 사용한 로봇 이동

• 로봇이 움직이면 로봇 컨트롤러가 현재의 로봇 위치를 주기적으로 버


퍼에 기록합니다.
• 이것은 로봇이 어떻게 움직이는지와는 관계없이 적용됩니다. 마찬가지
로, 프로그램이 실행될 때와 수동 이동 버튼 또는 두가지 모두를 사용
한 로봇의 움직임 시에도 적용됩니다
• 로봇의 바로 전의 과거 시점에서 뒤로 이동이 가능합니다.
• 로봇은 임의의 위치에서 궤적 이동 모드와 ±-버튼을 사용해서 "뒤로
이동”할 수 있습니다. 즉, 다시 초기 위치로 돌아갈 수 있습니다.

이동하기 시작한 경로는 원래 경로에 가깝게 일치합니다. 이것은 스플라


인 컨투어를 사용해 저장된 점들을 연결하여 산출됩니다.

조그 키를 이용한 뒤로 이동의 버퍼는 시작 뒤로 버튼을 이용한 뒤로 이


동의 버퍼와 똑같지 않습니다.

로봇의 이동 시 소프트웨어 리밋 스위치에 의해 제한되어질 경우, 기록


이 리셋되며 새로운 기록이 시작됩니다.

진행 방법

궤적 이동모드의 사용은 모드 종류 T1에서만 가능합니다.

1. 조그 모드 옵션 창의 키탭에서트랙 옵션(1)을 선택하십시오.

56/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
그림 2-21: 궤적 이동 유형

2. 핸드 오버라이드를 설정하십시오.

그림 2-22: 상태 표시줄에 대한 핸드 오버라이드 설정하기

3. 세 개의 승인 버튼 중 하나를 길게 누릅니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 57/378


로봇 동작 로봇 프로그래밍 1

그림 2-23: 인가 스위치

4. 최상단 이동 버튼 옆에 다음의 이중 화살표 아이콘이 표시됩니다.

그림 2-24: 궤적 수동 이동

5. 기록된 경로를 따라 로봇을 뒤로 이동하려면 이 조그 키에서 마이너스


를 누르십시오.
6. 기록된 경로를 따라 로봇을 앞으로 이동하려면 플러스를 누르십시오.
로봇을 앞뒤로 번갈아 이동할 수 있습니다. 어느 한 방향에서 기록된
경로의 끝에 도달하면 로봇 컨트롤러가 다음 메시지를 표시합니다. 기
록된 경로의 끝에 도달했습니다.

시작 뒤로 및 궤적 이동모드 비교

아래 표는 시작 뒤로 버튼을 이용한 뒤로 이동과 조그 키를 이용한 뒤로


이동의 가장 중요한 차이점을 보여 줍니다.
시작 뒤로 이용 조그 키 이용
프로그램 동작을 뒤로 실행할 수 거의 모든 유형의 동작을 뒤로 실
있습니다. 행할 수 있습니다.
경로 진행이 앞으로 이동 시 경로 경로 진행이 앞으로 이동 시 경로
와 다릅니다. 와 같습니다.

58/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
시작 뒤로 이용 조그 키 이용
근사접근 또는 진자 동작은 뒤로
이동 시 실행되지 않습니다.
여러 원래 동작을 뒤로 각각 실행 경로가 하나의 연속체입니다 임의
할 수 있습니다. 의 위치에서 정지할 수는 있지만
여러 원래 동작을 뒤로 각각(동작
하나하나) 실행할 수는 없습니다.
프로그램 처리 유형 = #BSTEP, 앞으로 이동 시 경로와 비교해 적
즉 각 프로그램 행 진행 후 정지 거나 똑같은(최대) 정밀 정지 위치

시작 시 버퍼 일부 삭제

사용자가 로봇을 뒤로 이동한 후 다른 동작을 시작하면 버퍼 일부가 삭제


됩니다.

그림 2-25: 시작 시 버퍼 일부 삭제

단계 설명
1 초기 상황: 사용자가 로봇을 앞으로 이동했습니다. 로봇이
점 PA에 접해 있습니다. 그곳으로 가는 경로의 마지막 부분
이 버퍼에 저장되어 있습니다(두꺼운 회색 막대).
2 사용자가 이제 로봇을 뒤로 이동합니다(화살표가 있는 검은
색 파선). 로봇이 이제 버퍼의 점 PN에 접해 있습니다. 이
시점에 버퍼에는 아직 단계 1과 동일한 경로가 저장되어 있
습니다.
3 점 PN에서 사용자가 다른 동작을 시작합니다. 다른 동작이
란 기록된 경로에서의 추가 이동을 제외한 모든 동작을 뜻
합니다(앞뒤 방향은 상관없음).
로봇이 이제 점 PB에 접해 있습니다.

• PN부터 PA까지 부분이 버퍼에서 삭제되었습니다.


• PN에서 PB로 가는 새 동작이 기록되었습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 59/378


로봇 동작 로봇 프로그래밍 1

2.8 로봇 위치의 표시 방법

로봇 위치 표시 방법

현재의 로봇 위치는 2가지 방법으로 표시할 수 있습니다:


• 축에 따라:

그림 2-26: 축 고유의 로봇 위치

‒ 각 축에 따라 현재의 축 각도가 표시됩니다:


‒ 이는 축의 영점 위치를 기준으로 한 절대 각도 값입니다.
• 직교좌표:

그림 2-27: 직교좌표적 위치

‒ 현재 TCP의 현재 위치(툴 좌표계)를 현재 선택된 베이스 좌표계와


연관시켜 표시합니다.
‒ 툴 좌표계를 전혀 선택하지 않았을 경우 플랜지 좌표계가 적용됩니
다!

60/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
‒ 베이스 좌표계를 전혀 선택하지 않았을 경우 광역 좌표계가 적용됩
니다!

다양한 베이스 좌표계가 포함된 직교좌표적 위치

아래에 있는 그림을 보면 로봇이 3회에 걸쳐 동일한 위치에 온다는 것을


쉽게 알 수 있습니다. 그렇지만 위치 표시를 보면 이 3회의 값이 매번 다
릅니다:

그림 2-28: 3개의 툴 위치 - 1개의 로봇 자세!

툴 좌표계/TCP의 위치가 각각의 베이스 좌표계에 표시됩니다:

• 베이스 1의 경우
• 베이스 2의 경우
• 베이스 0의 경우: 이는 광역 좌표계에 해당합니다(대부분의 경우
ROBROOT도 해당함)!

베이스 및 툴을 올바르게 선택했을 경우에만 직교좌표적 실제위치 표시


창이 적합한 값을 표시합니다!

그림 2-29: 툴 및 베이스 선택

2.8.1 현재 로봇 위치를 smartPAD에서 조회하기

설명

• 현재의 로봇 위치는 smartPAD에서 2가지 방법으로 조회될 수 있습니


다.
‒ 축 기준 위치
(>>> "축 기준 로봇 위치의 표시" 페이지 62)
‒ 직교좌표적 위치
(>>> "직교 좌표적 로봇 위치의 표시" 페이지 63)
• 로봇의 위치는 모든 사용자 그룹과 모든 작동모드에서 표시될 수 있습
니다.

로봇의 위치는 프로그램 진행과 나란히 또는 수동 이동 모드에서 표시


될 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 61/378


로봇 동작 로봇 프로그래밍 1

진행 방법

축 기준 로봇 위치의 표시

1. 메뉴 경로: 로봇 버튼 > 표시창 > 실제 위치


2. 직교좌표식/축중심 (7) 버튼을 통해 보기를 전환할 수 있습니다.
3. 모터 (6) 버튼을 통해 추가로 모터 각도(3)를 칼럼(4)에 표시할 수 있
습니다.

그림 2-30: 축 기준 로봇 위치

번호 설명
1 축 이름 및 축 타입 표시 아이콘

• : 회전

• : 무한 회전

• : 선형
2 현재 축 위치
3 "모터" 아이콘
모터 체크박스가 체크된 경우에만 표시됩니다.
4 현재 모터 각도
모터 체크박스가 체크된 경우에만 표시됩니다.
5 회전축 및 선형축의 경우: 현재 위치의 그래픽 표현, 허용 축 범
위 기준

• 막대는 허용 범위, 즉 소프트웨어 리밋 스위치 사이 범위를


나타냅니다. 좌측 가장자리는 마이너스 리밋 스위치에 해당
하고 우측 가장자리는 플러스 리밋 스위치에 해당합니다.
막대 중앙은 허용 범위의 중앙에 해당합니다. 예시: 마이너
스 리밋 스위치가 60°에, 플러스 리밋 스위치가 100°에 있
습니다. 따라서 막대 중앙은 20°입니다.
• 수직선은 범위 내 축 위치를 나타냅니다.
• 축이 리밋 스위치에 도달하면 막대가 적색이 되고 알림창
(A)에 메시지가 나타납니다.
무한 회전축의 경우 표현이 다릅니다.

62/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 동작
직교 좌표적 로봇 위치의 표시

1. 메뉴 경로: 로봇 버튼 > 표시창 > 실제 위치


2. 직교좌표식/축중심 (7) 버튼을 통해 보기를 전환할 수 있습니다.

그림 2-31: 로봇 위치, 직교좌표식


표시 필드 설명

A X, Y, Z 현재 위치
B A, B, C 현재 방향
C 상태 상태(2진 표시), 3자리
Turn Turn(2진 표시), 6자리
D 툴 • 유효한 툴 또는 유효한 베이스의 이름 및 번
베이스 호 또는 $NULLFRAME[0]
• 툴/베이스가 유효하지 않은 경우(예: 컨트롤
러 시동 후) "?[-1]"가 표시됩니다.

보간 모드 • #BASE: 툴은 마운팅 플랜지에 장착되어 있


습니다.
• #TCP: 툴은 고정 툴입니다.
(>>> "툴이 고정되어 있는 경우 변경된 모션 진
행과정" 페이지 303)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 63/378


로봇 초기 설정 로봇 프로그래밍 1

3 로봇 초기 설정

3.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 컨트롤러에서의 사용자그룹
• 마스터링의 원리
• Tool 및 Base 관리
• 로봇에서의 하중
• 툴 측정
• 베이스의 측정
• 메모리 가동률 표시
• 컨트롤러 종료

3.2 컨트롤러에서의 사용자그룹

설명

그림 3-1: 사용자 그룹

• 사용자그룹을 통해 로봇 컨트롤러에서 서로 다른 인원 그룹에 특정한


기능 및 권한을 부여할 수 있습니다.
• 디폴트 사용자 그룹을 제외한 모든 사용자 그룹은 암호로 보호됩니다.
모든 그룹의 디폴트 암호는 "kuka"입니다.
• 무단 사용을 방지하기 위해, 각 그룹에 별도의 암호를 지정해야 합니
다.
이런 맥락에서 사용자그룹 Admin, 안전 시운전 인원 및 안전유지
관리자는 매우 세심하게 관리해야 합니다.

• 권한관리를 통해 각각의 사용자그룹에 다른 권한을 부여할 수 있습니


다. 권한관리는 관리자 사용자그룹에서만 사용할 수 있습니다.

사용자 그룹

• 오퍼레이터
강하게 제한된 권한: 오퍼레이터는 시스템을 영구적으로 변경하는 기
능을 실행할 수 없습니다.
• 유저
유저는 로봇의 일반 작동에 필요한 기능을 실행할 수 있습니다.
예시: 인라인 형식을 통한 간단한 동작 프로그램의 프로그래밍
• 전문가
전문가는 전문 지식이 필요한 기능을 실행할 수 있습니다.
예시: 전문가 프로그램의 프로그래밍.

64/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
• 안전유지 관리자
이 사용자그룹은 (안전 시운전 인원에 의헤) 준비된 안전 인터페이스를
컨트롤러 또는 인원안전 셀 컨피규레이션(예를 들어 SafeOperation)에
서 활성화 코드를 이용해 활성화시킬 수 있습니다.
안전유지 관리자는 다른 포괄적 권한을 보유합니다.
이 사용자 그룹은 암호로 보호되어 있습니다. 인도 암호 kuka는 변경
해야 합니다.
• 안전 시운전 인원
이 사용자그룹은 컨트롤러에서 안전 인터페이스를 변경하거나 또는 인
원안전 셀 컨피규레이션(예를 들어 SafeOperation)을 컨피규레이션할
권한을 갖습니다.
이 사용자 그룹은 암호로 보호되어 있습니다. 인도 암호 kuka는 반드
시 변경해야 합니다.
• 관리자
관리자는 거의 모든 기능을 실행할 수 있습니다(안전 기술 제외).
이 사용자그룹은 권한관리에 액세스할 수 있습니다.
이 사용자 그룹은 암호로 보호되어 있습니다. 인도 암호 kuka는 반드
시 변경해야 합니다.

3.2.1 사용자 그룹 전환

현재 사용자그룹의 표시

• smartHMI에서 사용자 그룹 아이콘이 흰색 세그먼트 수로 현재 선택된


사용자 그룹을 나타냅니다.
• 예시: 흰색 세그먼트 3개 = 전문가

그림 3-2: 사용자 그룹: 전문가

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 65/378


로봇 초기 설정 로봇 프로그래밍 1

진행 방법

그림 3-3: 사용자 그룹 전환

1. smartHMI에서 사용자 그룹 아이콘(1)을 터치하십시오.


또는: 메인 메뉴에서 컨피규레이션 > 사용자 그룹을 선택합니다.
사용자 그룹 선택창이 열립니다.
2. 그룹 전환:
• 디폴트 사용자 그룹으로 전환하려면 기본(을)를 누르십시오.
이미 디폴트 사용자 그룹인 경우 기본(이)가 표시되지 않습니다.
• 다른 사용자그룹으로 전환하는 경우, 원하는 사용자그룹(2)을 선택
합니다.
이어서 암호(3)를 입력하고 로그온(4)를 눌러 확인하십시오.

66/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.2.2 암호 변경

진행 방법

그림 3-4: 암호 변경

1. smartHMI에서 사용자 그룹 아이콘(1)을 터치하십시오.


또는: 메인 메뉴에서 컨피규레이션 > 사용자 그룹을 선택합니다.
사용자 그룹 선택창이 열립니다.
2. 암호를 변경할 사용자 그룹(2)을 선택하십시오.
3. 아래 단추 표시줄의 암호...(3)를 누르십시오.
4. 기존 암호를 입력하십시오. 새 암호를 두 번 입력하십시오. (4)
입력된 암호는 보안을 위해 암호화되어 표시됩니다. 대소문자는 구별
되지 않습니다.
5. OK(5)을 누릅니다. 새 암호가 즉시 적용됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 67/378


로봇 초기 설정 로봇 프로그래밍 1

3.2.3 컨트롤러에서의 권한 관리

설명

그림 3-5

• 컨트롤러에는 오로지 사용자그룹 관리자를 위한 권한관리 메뉴 항목만


사용할 수 있습니다.
메뉴 경로: 로봇 버튼 > 시운전 > 권한관리
모든 사용자그룹은 읽기 권한을 갖습니다.

• 권한관리를 통해,
‒ 어떤 작동 모드가 각 사용자그룹에 제공되는지가 결정됩니다.

그림 3-6: 권한관리, 작동 모드

‒ 어떤 기능 그룹이 각 사용자그룹에 제공되는지가 결정됩니다.

68/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-7: 기능 그룹

3.3 마스터링 원리

왜 마스터링해야 합니까?

그림 3-8: "제로 세팅"

• 마스터링 시 로봇의 각 축에 기준값이 지정됩니다.


• 그러므로 로봇의 컨트롤러는 이 축이 어디에 있는지 압니다.
• 산업용 로봇은 완전하고 올바르게 마스터링된 상태여야만 이 로봇을
최적의 상태로 이용할 수 있습니다.
• 마스터링된 상태일 때에만 로봇이 포인트와 경로를 정확하게 나타내기
때문입니다. 프로그램을 처리할 수 있습니다.
• 마스터링되지 않은 로봇은 축만 따라서 이동할 수 있습니다.

• 마스터링 과정에는 각 축의 마스터링이 포함되어 있습니다.


• 기술적 보조 수단(EMD - Electronic Mastering Device)을 사용하여
각 축의 기계적 영점에 로봇별 기준값을 지정합니다(예: 0°, 90°,
110°...).
• 이로써 축의 기계적 및 전기적 위치가 일치하게 되므로 각 축은 명확
하게 각도값을 갖게 됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 69/378


로봇 초기 설정 로봇 프로그래밍 1

• 마스터링 위치는 모든 로봇에서 유사하지만, 동일하지는 않습니다. 정


확한 위치는 동일한 로봇 유형 중에서도 각 로봇마다 다를 수 있습니
다.

그림 3-9: 마스터링 카트리지의 위치 KR210 R3100 ULTRA

기계적 영점의 각도값(=기준값):


QUANTEC KR210 R2700
축 Cybertech KR16 R1610"
extra
A1 27° -20°
A2 90° -120°
A3 90° 110°
A4 0° 0°
A5 0° 0°
A6 0° 0°

언제 마스터링합니까?

기본적으로 로봇은 항상 마스터링된 상태여야 합니다. 다음의 경우에는 마


스터링을 해야 합니다:
• 로봇 초기 설정 시
• 위치값 측정에 사용된 구성품(예: 리졸버가 장착된 모터나 RDC)을 유
지 보수한 후
• 제어없이 로봇축이 동작한 경우(예: 자유 회전 장치 사용)
• 기계적인 문제의 수리 후, 각 규정에 따라 마스터링 또는 하중 마스터
링을 실행하고 측정된 편차를 적용해야 합니다.
‒ 기어 교체 후
‒ 250 mm/초 이상의 속도로 리밋 스토퍼에 충돌한 후
‒ 충돌 후

수리 작업을 하기 전 일반적으로 현재의 마스터링을 검사하는 것이


좋습니다.

70/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
마스터링을 위한 안전지침

마스터링되지 않은 로봇 축의 경우 로봇의 기능이 현저하게 제한되어 있습


니다.
• 프로그램 모드 불가능
프로그밍된 지점에 접근할 수 없습니다.
• 직교좌표적 수동 이동 불가능
좌표계에서의 동작이 불가능합니다.
• 소프트웨어-리밋 스위치가 꺼져 있습니다

주의사항

• 마스터링되지 않은 로봇의 경우 소프트웨어 리밋 스위치가 비활성화


되어 있습니다.
• 로봇이 리밋 스톱의 쿠션에 충돌하여 로봇이 손상될 수 있습니다.
그 결과로 로봇에서 수리 및 교체를 해야 합니다.
• 설정이 해제된 로봇은 가급적 이동시켜서는 안 되며 핸드 오버라이
드는 가능한 한 축소시켜야 힙니다.

3.3.1 마스터링 도구

설명

로봇의 마스터링에는 두 가지의 마스터링 도구가 사용될 수 있습니다:


• 다이얼 게이지
(>>> "다이얼 게이지" 페이지 71)
• 마스터링 키트
(>>> "SEMD/MEMD - 마스터링 키트" 페이지 72)

다이얼 게이지

그림 3-10: 다이얼 게이지

• 측정 게이지를 사용해서 로봇을 “표준” 마스터링 할 수 있습니다.


• 그 정확도는 마스터링 도구에 크게 의존합니다. (예를 들어, 시차 오차
(parallax error))
• 즉, 측정 게이지를 사용한 하중 마스터링은 불가능합니다.
• 이에 관해서는 SEMD/MEMD - 마스터링 키트를 참조하십시오.
(>>> "SEMD/MEMD - 마스터링 키트" 페이지 72)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 71/378


로봇 초기 설정 로봇 프로그래밍 1

MEMD/ SEMD 사용

그림 3-11: EMD 사용

SEMD/MEMD - 마스터링 키트

설명

• SEMD/MEMD - 마스터링 키트는 다음과 같은 마스터링 키트로 구분


됩니다.
‒ EMT -KR C1 및 KR C2 기술용 전자 프로브
KR C2 기술 옵션(어댑터)이 필요합니다.
‒ EMD - KR C4 기술용 전자 마스터링 장치(Electronical
Mastering Device)
마스터링 키트는 개별 SEMD 또는 MEMD 마스터링 키트로도 사용할
수 있습니다.
• SEMD/EMD 마스터링 키트는 범용 및 간단 마스터링 카트리지로 모든
로봇 버전을 마스터링할 수 있습니다.
‒ MEMD - Micro Electronic Mastering Device
간단 마스터링 카트리지용
‒ SEMD - 기본 전자 마스터링 장치(Standard Electronic
Mastering Device)
범용 마스터링 카트리지용

72/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-12: SEMD/MEMD 마스터링

번호 설명
1 범용 마스터링 박스
2 스크루 드라이버
3 MEMD- 간단 마스터링 카트리지 센서
4 SEMD- 범용 마스터링 마트리지 센서
5 라인
가용 마스터링 키트
마스터링 키트 품목 번호 설명
SEMD/MEMD 00-228-936 모든 측정 카트리지용 마스터링 장
치(M8/M20 정밀 나사)
모든 로봇 유형에 사용 가능
SEMD 00-228-934 M20 정밀 나사가 있는 측정 카트
리지용 마스터링 장치
예를 들어 Quantec 시리즈에 사용
가능
MEMD 00-208-642 M8 정밀 나사가 있는 측정 카트리
지용 마스터링 장치
예를 들어 AGILUS에 사용 가능
KR C2 옵션 00-228-327 KR C2 시스템의 마스터링 장치로
SEMD 사용에 필요한 어댑터 케이
블(KTL)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 73/378


로봇 초기 설정 로봇 프로그래밍 1

3.3.2 기계적 영점의 측정

마스터링의 절차

그림 3-13: EMD 마스터링 진행과정

1 EMD (Electronic Mastering 4 측정 홈


Device)
2 측정 카트리지 5 마스터링 마크
3 측정 핀

기계적 영점의 계산

그림 3-14

• 축의 기계적 영점(2)을 산출하기 위해 마스터링됩니다.


• 이때 측정핀이 마스터링 마크를 한 번 표시할 때까지 축이 이동합니다.
• 이어서 마크의 정확한 위치가 산출됩니다.
• 하강하는 에지(1)와 상승하는 에지(3)의 교차점이 계산되고 가장 낮은
점(2)에 일치하게 됩니다.
• 가장 낮은 점(2)은 축의 기계적인 영점에 해당합니다. 축은 머신 데이
터에 저장된 마스터링 값(도수 정보)으로 조정됩니다.
• 따라서 각 축에는 마스터링 카트리지와 마스터링 마크가 있습니다.

Agilus 와 KR CYBERTECH nano와 같은 다양한 로봇 타입에서 축 6


은 측정 카트리지를 가지지 않습니다. 이러한 로봇 타입에서는 기계적
영점 세팅이 해당 축에 마킹을 사용해서 실행됩니다.

74/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.3.3 로봇 마스터링

로봇 마스터링 방법

그림 3-15: 마스터링 방법

• 표준 마스터링
사진란: 부하 케이스
이 마스터링은 다음의 경우에 사용됩니다:

‒ 로봇이 자신의 어플리케이션 환경에서 고정적으로 설치된, 일정한


무게를 지닌 툴을 가이드할 경우, 예를 들어 용접 토치, 스폿 용접

마스터링 절차

‒ 로봇은 부착된 툴 및 일정하게 유지되는 부하(예를 들어 툴)과 함


께 마스터링됩니다.
‒ 프로그램 생성 후에 로봇이 변경된 툴 또는 부하와 함께 마스터링
되는 경우, 이것은 티칭 포인트의 정확도에 직접적인 영향을 미칩
니다.
‒ 변경된 부하는 로봇의 더 큰/작은 “비틀림"을 발생시키고 이를 통
해 변경된 리졸버값도 발생시키며 이것은 저장됩니다.
‒ 지정된 리졸버값은 로봇의 포인트 측정을 위한 계산 근거("시작 위
치")로 작용합니다.
• 부하 보정이 포함된 마스터링
사진란: 정밀 위치 로봇 및/또는 복수의 부하 케이스

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 75/378


로봇 초기 설정 로봇 프로그래밍 1

이 마스터링은 다음의 경우에 사용됩니다:

‒ 툴 및 부가하중의 탈거 없이 최초 마스터링(부하 없이)을 반복해야


합니다. *)
‒ 로봇이 그 어플리케이션 환경에서 툴 교환 시스템, 예를 들어 그리
퍼 및 스폿 용접건으로 작업합니다.
*)포지셔닝정밀 로봇 모델은 부하 없는 최초 마스터링을 기반으로
합니다. 그러므로 각 마스터링 과정에서 이 상태를 복구하는 것이
매우 중요합니다.
이것을 간편하게 하고 툴 및 부가하중의 탈거를 방지하기 위해, 부
하 보정이 포함된 마스터링을 사용할 수 있습니다.

마스터링 절차

‒ 로봇은 시운전 중에 항상 최초 마스터링(툴/부하 없이)되며 이어서


각 툴에 대해 마스터링이 반복됩니다.
‒ 이때 측정된 최초 마스터링에 대한 오프셋은 툴별로 저장됩니다.
‒ 로봇은 장애 시 현재 부착된 툴/부하로 마스터링할 수 있습니다.
‒ 툴별 오프셋을 통해 로봇은 최초 마스터링을 역으로 계산할 수 있
습니다.

이 마스터링 종류는 고정 장착형 툴에만 의미가 있습니다. 툴의 교


환 또는 변경된 부하는 상황에 따라서 나중 시점에 더 쉽게 진행될
수 있습니다.

3.3.3.1 표준 마스터링 / 최초 마스터링

진행 방법

최초 마스터링

주의사항
최초 마스터링은 로봇에 부하가 없는 상태에서만 실행해야 합니다.
툴과 추가 부하가 조립되어 있어서는 안 됩니다.

1. 로봇을 예비 마스터링 위치로 보냅니다.

그림 3-16: 예비 마스터링 위치의 예

• 저속 핸드 오버라이드를 세팅합니다.
• 마스터링할 축을 ± 버튼을 통해 저속으로 노치-비드 표시선으로
이동시킵니다.
2. 메뉴 경로: 로봇 버튼 > 시운전 > 마스터링 > EMD > 하중 보정 > 최
초 마스터링
3. 최초 마스터링 창

76/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-17: 최초 마스터링 / 표준 마스터링

• 마스터링할 축을 메뉴(1)에서 터치합니다.


활성화된 축이 청색 배경으로 표시됩니다.
4. MEMD/SEMD를 측정 카트리지에 조이고 연결합니다.

그림 3-18: 측정 카트리지에 EMD가 조여져 있음

• 창에서 선택한 물리적 축에서 측정 카트리지의 보호캡을 제거합니


다.
이를 위해 마스터링 키트에 동봉된 스크루 드라이버를 사용할 수
있습니다.
5. MEMD/SEMD 라인 연결

그림 3-19: EMD-라인, 연결됨

• MEMD/SEMD를 측정 카트리지에 조입니다.


• 베이스 프레임 단자 박스의 연결부 X32 및 EMD에 측정 라인을 연
결합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 77/378


로봇 초기 설정 로봇 프로그래밍 1

주의
EMD는 항상 측정 라인 없이 측정 카트리지에 부착해야 합니다. 그
후에 EMD에 측정 라인을 부착합니다. 그렇지 않을 경우 측정 라인
이 손상될 수 있습니다.
마찬가지로 EMD의 제거 시에는 항상 EMD에서 먼저 측정라인을 제
거하십시오. 그 후에 측정 카트리지에서 EMD를 제거합니다.
조절 후에 X32 포트에서 측정 라인을 제거하십시오. 그렇지 않을 경
우 장애 신호 또는 손상이 발생할 수 있습니다.

6. 마스터링 이동을 실시합니다.


• 마스터링(2) 단추를 이용해 마스터링 이동을 시작합니다.
• 시작 버튼 필요함 메시지가 메시지 창에 표시됩니다.

그림 3-20: 메시지 창
7. 인가 스위치 및 시작 버튼을 누르십시오.

그림 3-21: 승인 버튼 및 시작 버튼

• 로봇이 스스로 마스터링 노치로 이동하고 마스터링 위치를 측정합


니다.
이 버튼은 전체 측정 이동 중에 누른 상태로 유지해야 합니다.
• 로봇이 자동으로 정지됩니다.
8. 마스터링된 축은 선택창에서 사라집니다.
9. EMD에서 측정 라인을 제거합니다. 그 다음 측정 카트리지에서 EMD
를 제거하고 다시 보호캡을 부착합니다.
10. 마스터링할 모든 축에 대해 2-5번 단계를 반복하십시오.
11. 창을 닫습니다.
12. 포트 X32에서 측정 라인을 제거합니다.

표준 마스터링

주의사항
표준 마스터링은 최초 마스터링에서와 달리 부착된 툴로 측정이 이루어
집니다.

• 메뉴 경로: 로봇 버튼 > 시운전 > 마스터링 > EMD > 표준 > 마스터
링 설정

78/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
• 다른 모든 단계는 최초 마스터링에서와 동일합니다.
(>>> "최초 마스터링" 페이지 76)

주의사항

• 로봇에서 최초 마스터링 및 오프셋이 티칭된 경우, 부착된 툴로 표


준 마스터링을 실시하지 말아야 합니다.
• 최초 마스터링 및 표준 마스터링은 컨트롤러의 동일한 위치에 저장
됩니다.
• 다양한 툴로의 역계산은 더 이상 불가능합니다!
• 더 이상 프로그래밍된 포인트로 정확하게 접근되지 않습니다.

3.3.3.2 부하 보정이 포함된 마스터링

일상 작업 상황

그림 3-22: 회전점에 미치는 부하의 영향

• 낚시로 물고기를 잡아야 합니다. 이를 위해 빈 낚싯대를 물속에서 유지


해야 합니다.
• 고정 포인트(1)는 추가적으로 수표면과 일정한 간격을 유지해야 합니
다.
• 손(3a)은 이 위치에 도달할 때까기 “회전된” 상태로 유지됩니다.
• 낚싯대는 부하되지 않습니다(2a) - "아직 고기가 물지 않았습니다".
• 물고기가 미끼를 물면(2b), 낚싯대가 부하되고 그 탄성 소재로 인해 낚
싯대가 비틀리고 휘어집니다.
• 포인트(1)를 유지하기 위해, 손(3b)을 "추가적으로 회전시켜야" 합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 79/378


로봇 초기 설정 로봇 프로그래밍 1

옵셋을 왜 배웁니까?

그림 3-23: 기어 유격 및 탄성

• 플랜지에 고정된 툴의 중량에 의해 로봇에는 정적 하중이 가해진 상태


입니다.
• 구성품과 기어 장치에 사용된 재료에 따라 탄성이 다르기 때문에 하중
이 가해진 로봇과 하중이 가해지지 않은 로봇의 위치가 다를 수 있습
니다.
• 이러한 몇몇 증분의 차이로 인해 로봇의 정밀도가 영향을 받습니다.

• 증분이란 로봇 모터의 회전을 측정하기 위한 가장 작은 단위의 디지


털 카운팅입니다.
• 증분은 눈금 표시로 비교할 수 있습니다.
• 증분 해상도는 눈금 하나보다 더욱 정확합니다.

그림 3-24: 오프셋 티칭

"오프셋 티칭"은 하중 조건에서 실시됩니다. 최초 마스터링(무부하)에 대한


편차가 저장됩니다.
• 로봇이 다양한 부하로 가동되는 경우에는, 각 부하에 대해 "옵셋 학습"
기능을 실행해야 합니다.
• 무거운 제품을 수용하는 그리퍼의 경우 및 최초 마스터링의 간단한 복
구를 원하는 경우에는, 그리퍼 및 부품이 있는 상태의 그리퍼에 대해
개별적으로 각각 "오프셋 학습"을 실행해야 합니다.

주의사항
툴의 기하학적 측정은 툴 번호에 맞게 할당해야 합니다.
툴 번호에 따라 하중 데이터(예를 들어 추를 이용한 측정)도 할당됩니
다.

80/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
사용하고자 하는 마스터링 타입(표준 또는 하중 교정 포함)은 현재의 설
비가 시동 시 사용하였던 마스터링 유형에 상응해야 합니다. 틀린 마스
터링 유형을 사용하면 그 결과 로봇이 잘못 마스터링될 수 있습니다.

옵셋 티칭의 진행 방법

"오프셋 티칭"은 하중 조건에서 실시됩니다. 최초 마스터링에 대한 편차


가 저장됩니다.

1. 최초 마스터링이 로봇에서 툴 및 하중 없이 실시되었습니다.


메뉴 경로: 로봇 버튼 > 시운전 > 마스터링 > EMD > 하중 보정 > 최
초 마스터링
2. 마스터링에 필요한 툴을 로봇 플랜지에 조입니다.
3. 로봇을 예비 마스터링 위치로 보냅니다.

그림 3-25: 예비 마스터링 위치의 예

• 저속 핸드 오버라이드를 세팅합니다.
• 마스터링할 모든 축을 ± 버튼을 이용해 저속으로 노치-비드 표시
선으로 이동시킵니다.
4. 메뉴 경로: 로봇 버튼 > 초기 설정 > 마스터링 > EMD > 하중 보정 >
오프셋 학습
5. 툴 번호를 입력합니다.

그림 3-26: 하중 마스터링용 툴 선택

• 입력 필드에 툴 번호를 수치로 입력합니다.


• 툴 OK 단추로 확인합니다.
6. 오프셋 학습 마스터링 창

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 81/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-27: 오프셋 티칭

• 마스터링할 축을 메뉴(1)에서 터치합니다.


활성화된 축이 청색 배경으로 표시됩니다.
7. MEMD/SEMD를 측정 카트리지에 조이고 연결합니다.

그림 3-28: 측정 카트리지에 EMD가 조여져 있음

• 창에서 선택한 물리적 축에서 측정 카트리지의 보호캡을 제거합니


다.
이를 위해 마스터링 키트에 동봉된 스크루 드라이버를 사용할 수
있습니다.
8. MEMD/SEMD 라인 연결

그림 3-29: EMD-라인, 연결됨

• MEMD / SEMD를 측정 카트리지에 조입니다.

82/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
• 베이스 프레임 단자 박스의 연결부 X32 또는 EMD에 측정 라인을
연결합니다.

주의
EMD는 항상 측정 라인 없이 측정 카트리지에 부착해야 합니다. 그
후에 EMD에 측정 라인을 부착합니다. 그렇지 않을 경우 측정 라인
이 손상될 수 있습니다.
마찬가지로 EMD의 제거 시에는 항상 EMD에서 먼저 측정라인을 제
거하십시오. 그 후에 측정 카트리지에서 EMD를 제거합니다.
조절 후에 X32 포트에서 측정 라인을 제거하십시오. 그렇지 않을 경
우 장애 신호 또는 손상이 발생할 수 있습니다.

9. 마스터링 이동을 실시합니다.


• 학습(2) 단추를 이용해 마스터링 이동을 시작합니다.
• 시작 버튼 필요함 메시지가 메시지 창에 표시됩니다.

그림 3-30: 메시지 창
10. 인가 스위치 및 시작 버튼을 누르십시오.

그림 3-31: 승인 버튼 및 시작 버튼

• 로봇이 스스로 마스터링 노치로 이동하고 마스터링 위치를 측정합


니다.
이 버튼은 전체 측정 이동 중에 누른 상태로 유지해야 합니다.
• 로봇이 자동으로 정지됩니다.
11. 인가 스위치 및 시작 버튼을 누르십시오.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 83/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-32: 모터각/축위치 편차

• 창이 열립니다.
이 축에서 최초 마스터링과 다른 편차는 도 단위의 모터각 및 축각
도로 표시됩니다(1).
• OK 단추를 통해 이 값이 저장되며 다음 축을 마스터링할 수 있습
니다.
• 마스터링된 축은 선택창에서 사라집니다.
(>>> 그림 3-27)
12. EMD에서 측정 라인을 제거합니다. 그 다음 측정 카트리지에서 EMD
를 제거하고 다시 보호캡을 부착합니다.
13. 마스터링할 모든 축에 대해 이 단계를 반복하십시오.
14. 포트 X32에서 측정 라인을 제거합니다.
15. 닫기를 눌러 창을 닫으십시오.

장애 시 하중 마스터링

• 장애/충돌 후 모터 또는 기어를 교환한 경우, 로봇을 다시 마스터링해


야 합니다.
• 원칙적으로 로봇이 어떤 상태에 있는지를 점검해야 합니다.
‒ 로봇에 툴이 존재하지 않습니다.
메뉴 경로: 로봇 버튼 > 마스터링 > EMD > 하중 보정 > 하중 마
스터링 > 최초 마스터링
측정 과정은 최초 시운전에서와 동일합니다
(>>> 3.3.3.1 "표준 마스터링 / 최초 마스터링" 페이지 76)
‒ 로봇에 툴이 존재합니다
메뉴 경로: 로봇 버튼 > 마스터링 > EMD > 하중 보정 > 하중 마
스터링 > 오프셋 사용
측정 과정은 최초 시운전에서와 동일합니다
(>>> 3.3.3.2 "부하 보정이 포함된 마스터링" 페이지 79)

주의사항
오프셋이 없는 하중 마스터링은 로봇에서 기계적 변경이 존재하지 않는
경우에만 사용해야 합니다. 이것은 충돌, 모터 교체, 기어 교체 등의 경
우에는 허용되지 않습니다.

84/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.3.3.3 연습: 마스터링, 오프셋이 포함된 하중 마스터링

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 마스터링, 오프셋이 포함된 하중 마스터링

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 85/378


로봇 초기 설정 로봇 프로그래밍 1

3.3.4 소형 로봇 AGILUS에서의 마스터링

설명

KR AGILUS 1에서 마스터링 위치

그림 3-33: KR AGILUS 마스터링 위치

기계적 영점의 각도값(=기준값)


축 KR AGILUS 1
A1 0°
A2 -90°
A3 +90°
A4 0°
A5 0°
A6 0°

진행 방법

• 1번 축부터 5번 축은 간단 마스터링 카트리지용 MEMD 센서로 마스터


링됩니다.
• A6은 MEMD를 사용하지 않고 마스터링합니다.
• 마스터링하기 전에 A6을 마스터링 위치로 이동해야 합니다. (이것은
전체 마스터링 과정 전에 실행해야 하며, A6 자체의 마스터링 직전을
의미하는 것이 아닙니다). 이를 위해 A6에 금속으로 된 미세한 눈금
표시선이 있습니다.
• A6을 마스터링 위치로 이동하기 위해 눈금을 정확하게 정렬해야 합니
다.

86/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
마스터링 포지션의 접근 시 앞에서 일직선으로 고정 눈금을 보는 것이
중요합니다. 측면에서 눈금을 보는 경우에는 움직이는 눈금이 충분히 정
확하게 정렬되지 않을 수 있습니다. 그 결과 부정확한 마스터링이 발생
할 수 있습니다.

• 메인 메뉴에서 시운전 > 마스터링 > 레퍼런스(을)를 선택합니다.


기준 마스터링 옵션 창이 열립니다. A6이 표시되고 선택됩니다.
• 마스터링을 누릅니다. A6이 마스터링되며 옵션 창에서 사라집니다.
• 창을 닫습니다.
• EtherCAT 라인을 X32 연결부와 MEMD 박스에서 제거하십시오.

그림 3-34: 마스터링 포지션 A6 - 정면 상단에서 관찰한 상태

KR AGILUS 2에서 마스터링 위치

그림 3-35: KR Agilus 2, 마스터링 카트리지

후속모델 KR Agilus 2에는 6번 축의 마스터링을 위해 마스터링 카트리


지가 존재합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 87/378


로봇 초기 설정 로봇 프로그래밍 1

3.3.5 주요 마스터링 파일

마스터링 로그 파일

• 로봇을 마스터링하면 특정 마스터링 파일 프로토콜이 로그 파일로 작


성됩니다.
• 측정된 오프셋은 C:\KRC\ROBOTER\LOG\Mastery.log에 도 단
위로 저장됩니다.
• 다음과 같은 특정 마스터링 데이터는 Mastery.log 에 저장됩니다:
‒ 타임 스탬프(날짜, 시간)
‒ 축
‒ 로봇 일련번호
‒ 마스터링 값 (FirstEncoderValue)
‒ 툴 번호
‒ 모터에서의 오프셋 값(Encoder Difference), 도를 단위로 함
• Mastery.log의 예:

Date: 01.09.11 Time: 13:41:07 Axis 1 Serialno.: 864585 First


Mastering (FirstEncoderValue: 1.138909)
Date: 01.09.11 Time: 13:42:07 Axis 2 Serialno.: 864585
First Mastering (FirstEncoderValue: 0.644334)
Date: 01.09.11 Time: 13:42:56 Axis 3 Serialno.: 864585
First Mastering (FirstEncoderValue: 0.745757)
Date: 01.09.11 Time: 13:43:29 Axis 4 Serialno.: 864585
First Mastering (FirstEncoderValue: 1.450234)
Date: 01.09.11 Time: 13:44:03 Axis 5 Serialno.: 864585
First Mastering (FirstEncoderValue: 0.686983)
Date: 01.09.11 Time: 13:44:30 Axis 6 Serialno.: 864585
First Mastering (FirstEncoderValue: 0.901439)
...
Date: 01.09.11 Time: 14:07:10
Axis 1 Serialno.: 864585
Tool Teaching for Tool No 1 (Encoder Difference: -0.001209)
Date: 01.09.11 Time: 14:08:44
Axis 2 Serialno.: 864585
Tool Teaching for Tool No 1 (Encoder Difference: 0.005954)
...

마스터링 파일 (*.cal)

• [일련번호].cal은 RDC의 EDS에 저장되며 로봇을 위한 마스터링 값을


포함합니다.
• 이것은 일반적으로 보이지 않지만, 복사 및 바꾸기가 가능합니다.
이를 위해 별도의 지식 및 더 높은 사용자 프로필이 필요합니다.
다음의 경우 C:\KRC\Roboter\RDC\[Ser.Nr.].cal 에는 추가적으로
마스터링 위치가 저장됩니다
• HMI의 시운전 > 로봇 데이터 메뉴에서 "RDC 데이터 저장” 단추가 눌
리는 경우.
• 컨트롤러의 재시작 후에 RDC 폴더가 다시 삭제되는 경우.

[AbsolutMotorValues]
Axis1=0.463675
Axis2=16.257612
Axis3=36.209384
Axis4=66.48317
Axis5=20.9606263
Axis6=68.8641154

88/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
[MotorDifference for Tool 1]
[MotorDifference for Tool 2]
...
[MotorDifference for Tool 14]
Axis1=-0.157869
Axis2=0.553673
Axis3=-1.059499
Axis4=-0.169838
Axis5=-0.877667571
Axis6=-0.32594979
[MotorDifference for Tool 15]
...
[MotorDifference for Tool 128]
[CalibrationDifference]
Axis1=0.00116852
Axis2=-0.00313334352
Axis3=-0.0100344565
Axis4=0.0115672826
Axis5=-0.0113223559
Axis6=0.02928708

3.4 Tool 및 Base 관리

설명

그림 3-36: 좌표계에 대한 설명

• Tool/Base 관리 - 플러그인으로 툴을 사용할 수 있으며 이를 통해 툴


시스템 및 베이스 시스템을
‒ 생성
‒ 편집
‒ 삭제
‒ 복사

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 89/378


로봇 초기 설정 로봇 프로그래밍 1

‒ 소트
할 수 있습니다.
• Tool/Base 관리는 다음과 같이 사용할 수 있습니다
‒ 컨트롤러의 smartPAD에서
(>>> 3.4.1 "smartPAD에서 Tool 및 Base 관리" 페이지 90)
‒ WorkVisual에서

• 툴 및 베이스 좌표계의 추가적 변경은 이미 생성된 프로그램 또는


티칭된 위치에 영향을 미칠 수 있습니다.
• 툴 및 베이스 좌표계의 변경은 기록 보관 파일 또는 코어 이미지와
병합/비교해야 합니다.

3.4.1 smartPAD에서 Tool 및 Base 관리

설명

• smartPAD에서는 준비된 툴 및 베이스 좌표계를 준비된 시스템의


WorkVisual에서 측정하고 수정할 수 있습니다.
• 여기에서는 좌표계의 새로 만들기 또는 삭제도 가능합니다.
기능 범위 및 편집 가능성은 smartPAD에서 상응하게 어댑테이션됩니
다.

진행 방법

1. 메뉴 경로: 로봇 버튼 > 시운전 > 툴/베이스 관리

그림 3-37: 메뉴 경로

2. “툴/베이스 관리" 창이 열립니다.


툴/공작물 탭을 선택된 상태입니다.
다음 스크린샷은 KUKA-College의 데모 툴에 해당합니다.

90/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-38: 툴/베이스 관리

A 탭 툴 또는 공작물
B 탭 베이스 또는 고정 툴
C 탭 외부 기구
1 컨트롤러에 존재하는 ‒ 툴/공작물 번호
툴 또는 공작물의 개요
‒ 툴/공작물 이름
‒ 빠른 개요, 2번 포인트 참조
2 빠른 개요 ‒ 측정의 종류

= 툴

= 공작물
‒ 좌표계 측정

= 컨트롤러에서 측정 (예
를 들어 4점 방식)

= 수치적 측정

= 측정 없음, 오프셋 알
려지지 않음
‒ 로드 데이터

= 로드 데이터가 저장됨

= 로드 데이터 없음

3 아이콘 선택된 툴 또는 공작물에 대해


저장된 측정 데이터 및 로드 데
이터를 펼칩니다.
4 개요 측정 데이터 및 로드 데이터
툴 또는 공작물 ‒ 변환
‒ 로드 데이터
‒ 로드 데이터 점검

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 91/378


로봇 초기 설정 로봇 프로그래밍 1

5 편집 단추 툴 또는 공작물을 위한 컨피규레
이션 창을 엽니다
6 추가 단추 새로운 툴 또는 공작물을 생성합
니다.

3. 베이스/고정 툴 보기를 위해 동일 이름의 탭(B)으로 이동합니다.

그림 3-39: 툴/베이스 관리

A 탭 툴 또는 공작물
B 탭 베이스 또는 고정 툴
C 탭 외부 기구
1 컨트롤러에 존재하는 베이스 ‒ 베이스 또는 고정 툴의
또는 고정 툴의 개요 번호
‒ 베이스 또는 고정 툴의
이름
‒ 빠른 개요, 2번 포인트
참조
2 빠른 개요 ‒ 측정의 종류

= 고정 툴

= 베이스 좌표계
‒ 좌표계 측정

= 컨트롤러에서 측정
(예를 들어 3점)

= 수치적 측정

= 측정 없음, 오프셋
알려지지 않음
‒ = 광역좌표계를 기준
으로 한 측정 좌표계

3 아이콘 선택된 베이스 도는 고정 툴


을 위해 저장된 오프셋 데이
터를 펼칩니다.
4 개요 베이스 오프셋 데이터
툴 또는 공작물 ‒ 변환
‒ 할당

92/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
5 편집 단추 베이스 또는 고정 툴의 측정
을 위해 컨피규레이션 창을
엽니다.
6 추가 단추 새로운 베이스 또는 고정 툴
을 생성합니다.

3.5 로봇에서의 하중

그림 3-40: 로봇에서의 하중

1 가반하중 3 축 2의 추가 하중
2 축 3의 추가 하중 4 축1의 추가 하중

3.5.1 툴 부하 데이터

툴 하중 데이터란 무엇입니까?

• 툴 하중 데이터란 로봇 플랜지에 가해진 모든 하중을 의미합니다.


• 이 하중에는 로봇에 의해 함께 움직여야 하는, 로봇에 추가로 가해지는
중량이 포함됩니다.
• 중량, 무게 중심 (중량이 작용하는 점)의 위치 및 질량-관성 모멘트와
그에 속하는 관성 주축이 입력해야 할 값입니다.
• 가반 하중 데이터를 반드시 로봇 제어 시스템에 입력해야 하며 이 데
이터는 올바른 툴에 지정해야 합니다.
• 예외: 컨트롤러에 KUKA.LoadDataDetermination 옵션 패키지가 설치
된 경우에는, 측정 중에 로드 데이터가 자동으로 측정될 수 있습니다.
하중 데이터는 다음의 소스에 수록되어 있을 수 있습니다:

• KUKA.LoadDetermination 소프트웨어 옵션(가반 하중에만 적용)


• 제조사 정보

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 93/378


로봇 초기 설정 로봇 프로그래밍 1

• 수동 계산
• CAD 프로그램

하중 데이터의 영향

그림 3-41: 하중 데이터가 잘못된 경우

• 등록한 하중 데이터는 많은 제어 과정에 영향을 끼칩니다.


예를 들어 다음 사항이 포함됩니다.

‒ 제어 알고리즘(가속도 계산)
‒ 속도 및 가속도 모니터링
‒ 모멘트 모니터링
‒ 충돌 모니터링
‒ 에너지 모니터링
‒ 등등
• 그러므로 하중 데이터를 올바로 등록하는 것이 아주 중요합니다.
• 로봇의 하중 데이터가 올바르게 입력된 상태로 동작을 실행하는 경우,
‒ 로봇의 높은 정밀도에 의한 이점을 누릴 수 있고
‒ 최적화된 사이클 타임으로 동작 과정이 실행될 수 있으며
‒ 로봇의 수명이 (낮은 마모도로 인해) 길어집니다.

진행 방법

참조: (>>> "툴/공작물 로드데이터 추가" 페이지 107)

3.5.2 로봇의 추가 하중

로봇에서의 추가 하중

추가 하중은 베이스 프레임 및 스윙 암, 암에 설치된 컴포너트입니다, 예를


들면:
• 에너지 공급장치
• 밸브

94/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
• 재료 공급장치
• 예비 재료

그림 3-42: 로봇에서의 추가 하중

부가 하중 데이터는 로봇 컨트롤러에 입력해야 합니다.


필요한 표기사항에 속함:

• 질량 (m), 단위는 kg
• 질량의 무게중심과 기준 시스템의 간격(X, Y 및 Z), 단위는 mm
• 기준 시스템에 대한 관성 주축의 정향(A, B 및 C), 단위는 도(°)
• 관성 축을 중심으로 한 질량의 관성 모멘트(Jx, Jy 및 Jz), 단위는
kgm²
각 부가하중의 X, Y, Z 값의 기준 시스템:
부하 기준 시스템
부가하중 A1 ROBROOT 좌표계
A1 = 0°
부가하중 A2 ROBROOT 좌표계
A2 = -90°
부가하중 A3 FLANGE 좌표계
A4 = 0°, A5 = 0°, A6 = 0°

하중 데이터는 다음과 같은 소스를 참조하십시오.

• 테크놀로지 패키지 KUKA.LoadDetermination을 통해 측정됨 (가반하


중에 대해서만)
• 제조사 정보
• 수동 계산
• CAD 프로그램

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 95/378


로봇 초기 설정 로봇 프로그래밍 1

추가 하중이 로봇 모션에 미치는 영향

하중 데이터의 내용은 로봇 동작에 매우 다양하게 영향을 미칩니다.

• 경로 계획
• 가속도
• 사이클 시간
• 마모

경고
로봇을 잘못된 하중 데이터 또는 부적합한 하중으로 가동할 경우 그로
인해 신체 상해, 인명피해 및/또는 대물피해가 발생할 수 있습니다.

진행 방법

1. 메뉴 경로: 로봇 버튼 > 시운전 > 부가 하중 데이터


2. 추가 하중(1)이 고정된 축의 번호를 입력합니다. 계속(3)을 눌러 확인
합니다.

그림 3-43: 하중이 가해진 축 선택

3. 하중 데이터(1)를 입력합니다. 계속(2)을 눌러 확인합니다.

96/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-44: 추가 하중 데이터

4. 저장을 누릅니다.

3.6 툴의 측정

설명

그림 3-45: 측정된 툴의 예

• 측정 툴이란 좌표계의 원점을 툴 기준점에 생성하는 것을 의미합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 97/378


로봇 초기 설정 로봇 프로그래밍 1

• 이러한 기준점을 TCP(Tool Center Point)라고 하며, 좌표계는 툴 좌


표계라고 합니다.
툴 측정 시 다음 사항을 측정해야 합니다.

• TCP (좌표계의 원점)


• 좌표계의 방향/정렬

주의사항
기본 구성에 16개의 툴 좌표계를 저장할 수 있습니다. (변수:
TOOL_DATA[1…16]).

측정 시 툴 좌표계(X, Y, Z)에서 플랜지 좌표계까지의 간격과 좌표계의 회


전(각도 A, B, C)이 저장됩니다.

그림 3-46

번호 설명
1 플랜지 좌표계
2 툴 좌표계

장점

툴을 정확히 측정했다면 오퍼레이터 및 프로그래머를 위해 사용 시 다음과


같은 장점이 있습니다:
• 개선된 수동 이동
‒ TCP(예: 툴 팁)를 중심으로 로봇의 방향을 전환할 수 있습니다.

98/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-47: TCP를 중심으로 한 방향전환

‒ 툴 작업방향으로 이동

그림 3-48: TCP 작업방향

• 경로 동작 프로그래밍 시 사용 (일직선상 혹은 원형 모션)


‒ 프로그래밍된 이동 속도가 TCP에서 경로를 따라 유지됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 99/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-49: TCP를 사용한 프로그램 모드

‒ 그 밖에도 트랙을 따라 정의된 방향으로 가이드할 수 있습니다.

툴 측정 방법

툴 측정은 다음 3개의 단계로 이루어집니다:


단계 설명
TOOL 좌표계의 원점 결정
다음과 같은 방법을 선택할 수 있습니다:
1
• XYZ 4점
• XYZ 기준
TOOL 좌표계의 방향 결정
다음과 같은 방법을 선택할 수 있습니다:
2
• ABC World
• ABC 2 포인트
플랜지 중심점(X, Y, Z) 및 회전(A, B, C)과의 간격 값을
대안적 방 직접 입력.

• 숫자 입력
툴 부하 데이터의 입력
3 • 툴 + 공작물의 부하 [kg]
• 로봇 플랜지에 대한 하중점 거리

3.6.1 새로운 툴/공작물 추가

진행 방법

새로운 툴/공작물 추가

1. 컨트롤러에서 Tool/Base 관리를 엽니다.

100/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
2. 툴/공작물 탭(1)에서 추가 단추(2)를 터치합니다.

그림 3-50: 툴/공작물 추가

3. 툴 새로 만들기

그림 3-51: 툴 새로 만들기

• "빈" 툴 번호를 풀다운 창(1)에서 선택합니다.


툴 번호가 이미 할당된 경우, 저장된 측정 데이터가 나타나고 이
것을 편집할 수 있습니다.

• 새로운 툴의 이름을 입력 필드(2)에서 결정합니다.


• 측정할 개체의 종류를 결정합니다.
여기에서는 툴 또는 공작물을 선택합니다

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 101/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-52: 선택

• 보정 방법
측정 단추(4)를 터치하면 다른 컨텍스트 메뉴가 펼쳐집니다:

그림 3-53: 측정 방법

• 원하는 측정 방법을 터치합니다.


TCP의 측정

‒ XYZ 4점
(>>> 3.6.1.1 "TCP 측정, 4포인트 방법" 페이지 103)
‒ XYZ 기준
(>>> 3.6.1.2 "XYZ 기준 방법" 페이지 110)
정향 측정

‒ ABC 월드
(>>> 3.6.1.3 "ABC 월드 방법" 페이지 113)
‒ ABC 2 포인트
(>>> 3.6.1.4 "ABC 2점 방법" 페이지 115)

102/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.6.1.1 TCP 측정, 4포인트 방법

XYZ 4점 방법을 통한 TCP 측정

그림 3-54: 4점 방법

• 측정할 툴의 TCP를 통해 4개의 서로 다른 방향에서 기준점에 접근됩


니다.
• 기준점은 임의로 선택할 수 있습니다.
• 서로 다른 플랜지 위치를 근거로 로봇 제어 시스템이 TCP를 계산합니
다.

기준점 이동에 사용된 4개의 플랜지 위치는 서로 충분히 떨어져 있어야


하며, 동일한 면에 있으면 안 됩니다.

진행 방법

XYZ 4점 방법

1. 새로운 툴을 추가하고 해당 로드 데이터를 저장합니다.


(>>> 3.6.1 "새로운 툴/공작물 추가" 페이지 100)
2. 기준점을 로봇의 공간적 인접부에 포지셔닝합니다.
3. 측정 메뉴의 작업 지침에 따릅니다:
다양한 방향에서 툴을 기준점으로 정렬하십시오.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 103/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-55: XYZ 4점 측정

• 보정 포인트/측정 포인트 1을 선택합니다. 상응하는 행이 청색 배


경으로 표시됩니다(1).
• 6D 마우스 도는 조그 키를 이용해 새로운 툴의 TCP를 레퍼런스
팁으로 이동시킵니다.
이 포인트에 더욱 정확하게 접근할수록, 끝위치에서 측정된
TCP가 더욱 정확해집니다.
해당 위치에서 HOV 핸드 오버라이드를 줄이거나 또는 증분적
조그 모드로 돌아갑니다.

• Touch-Up 단추(2)를 통해 포인트 좌표를 저장합니다.


4. 이 과정을 나머지 보정 포인트/측정 포인트에 대해 반복합니다.

104/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-56: XYZ 4점 측정

• 측정된 좌표(1)는 표형식으로 표시됩니다.


• 측정된 툴 오프셋 및 측정 오차는 측정 결과 필드에 표시됩니다.
측정 오차가 너무 큰 경우, 해당 측정 포인트를 반복적으로 선택
하고 접근 (PTP) 단추(3)를 이용해 접근할 수 있습니다. 이런 경
우 포인트를 더욱 정밀하게 접근하고 결과를 Touch-Up 단추를
이용해 다시 수용합니다. 측정 오차를 다시 점검합니다.

• 측정된 툴 오프셋 저장합니다(4).


5. 점검하고 저장합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 105/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-57: XYZ 4점 측정

• 툴 오프셋을 변환 필드(1)에서 점검합니다.


• 오류 및 측정의 종류가 필드(2)에 표시됩니다.
툴을 측정하는 경우, 동일 이름의 단추를 통해 점검 및 수정 기능
을 사용할 수 있습니다.
• 입력된 모든 값 및 오프셋을 저장합니다(3)

106/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
툴/공작물 로드데이터 추가

진행 방법

그림 3-58: 로드 데이터

1. 툴/공작물이 정의되었으며 Tool/Base 관리에서 열렸습니다.


(>>> 3.6.1 "새로운 툴/공작물 추가" 페이지 100)
2. 툴의 로드 데이터 및 지정된 필드(1)를 입력합니다.
원본

• CAD 데이터
• 툴의 데이터시트
• KUKA.LoadDataDetermination 테크놀로지 패키지를 통한 자동
측정
여기에서는자동 측정의 수행을 위한 별도의 단추를 사용할 수
있습니다.

파라미터/단위 설명
M kg 질량
X, Y, Z mm FLANGE 좌표계에 대해 상대적인 무게중심
의 위치
A, B, C 도 FLANGE 좌표계에 대해 상대적인 주 관성
축의 방향
질량 관성 모멘트:
JX kgm2 주축 시스템의 X축을 중심으로 한 관성

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 107/378


로봇 초기 설정 로봇 프로그래밍 1

파라미터/단위 설명
JY kgm2 주축 시스템의 Y축을 중심으로 한 관성
JZ kgm2 주축 시스템의 Z축을 중심으로 한 관성

3. 로드 데이터 점검 활성화/비활성화 및 컨피규레이션(3).

그림 3-59: 로드 데이터 점검

번호 설명
1 체크 마크: 동일한 창에 표시된 툴을 위한 점검이 활성화된
상태. 과부하 또는 저부하 시 정의된 반응이 수행됩니다.
체크 마크 없음: 동일한 창에 표시된 툴을 위한 점검이 비활
성화된 상태. 과부하 또는 저부하 시 반응이 수행되지 않습
니다.
2 여기에서는 과부하 시 어떤 반응이 수행되는지를 정의할 수
있습니다.

‒ 없음: 반응 없음
‒ 경고: 로봇 컨트롤러가 다음과 같은 상태 메시지를 출력
합니다: 로봇 하중(Tool {번호}) 체크 시 과부하가 측정
됨.
‒ 로봇 중지: 로봇 컨트롤러가 경고에서와 동일한 내용의
확인 메시지를 출력합니다. 로봇이 STOP 2로 정지합니
다.
3 여기에서는 저부하 시 어떤 반응이 수행되는지를 정의할 수
있습니다. 가능한 반응은 과부하 시 반응과 유사합니다.

108/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
연습: 핀 툴 측정

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 핀 툴 측정

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 109/378


로봇 초기 설정 로봇 프로그래밍 1

3.6.1.2 XYZ 기준 방법

설명

그림 3-60: XYZ 기준점 방법

• XYZ 기준점 방법에서는 이미 측정된 툴을 사용하여 새 툴을 측정합니


다.
• 로봇 컨트롤러가 플랜지 위치를 비교하고 새로운 툴의 TCP를 계산합
니다.
• XYZ 기준점 방법은 유형이 동일한 여러 개의 툴을 제어 시스템에서
유사한 형상으로 조절하기 위해 사용됩니다.
• 필요한 측정 런는 XYZ 4점 방법과 비교해 볼 때 2회로 줄일 수 있습
니다.

진행 방법

1. 측정에 필요한 기준 툴을 로봇 플랜지에 조입니다/교환합니다


2. 새로운 툴이 Tool 및 Base 관리를 통해 추가되었습니다.
(>>> 3.6.1 "새로운 툴/공작물 추가" 페이지 100)
3. 측정 단추를 통해 XYZ 기준 방법을 선택합니다.

그림 3-61: 측정 방법

4. Tool 및 Base 관리가 열립니다.

110/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-62: XYZ 기준

• 기준 툴(1)의 오프셋 값(TCP)을 입력합니다.


이것은 로봇 플랜지의 올바른 역계산을 위해 필요합니다.
이 기준 툴 자체가 컨트롤러에 존재하는 경우, Tool 및 Base 관리
의 정보를 사용할 수 있습니다.
• 기준 툴 행(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• 기준 툴의 TCP를 공간에서 자유롭게 선택된 기준점으로 이동시킵
니다.
• Touch-Up 단추(3)를 통해 이 위치를 수용합니다.
측정된 값은 변환 필드에 표시됩니다.

접근 단추(PTP)를 통해 이미 티칭된 포인트에 반복적으로 접근할


수 있습니다.

5. 로봇 플랜지에서 기준 툴을 제거하고 측정할 툴로 교체합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 111/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-63: XYZ 기준

• 툴의 TCP를 기준점으로 이동시킵니다.


• 이 행에서 툴 이름(1)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(2)를 통해 이 위치를 적용합니다
측정된 값은 변환 필드에 표시됩니다.
• 측정된 툴 오프셋이 측정 결과 창(3)에 표시됩니다.
6. 측정 결과를 OK 단추(4)로 백업합니다.

112/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.6.1.3 ABC 월드 방법

설명

그림 3-64: ABC World 방법

• TOOL 좌표계의 축이 WORLD 좌표계의 축과 평행하게 정렬됩니다.


• 이로써 TOOL 좌표계의 방향 설정 정보가 로봇 제어 시스템에 전달됩
니다.

Variants

두 가지 방법이 있습니다.

• 5D
‒ 툴의 충돌 방향에 대한 정보만 로봇 제어 시스템에 제공됩니다.
‒ 작업 방향은 X 축입니다.
‒ 다른 축의 방향은 시스템에 의해 확정되며 사용자가 이를 쉽게 인
식할 수 없습니다.
‒ 사용 범위: 예를 들어 MIG/MAG 용접, 레이저 절단 또는 수압 절

• 6D:
‒ 모든 3개의 축에 대한 방향 정보가 로봇 제어 시스템에 제공됩니
다.
‒ 사용 범위: 예를 들어 용접봉 홀더, 그리퍼 또는 접착 노즐

진행 방법

1. 새로운 툴이 측정되고 Tool 및 Base 관리에 저장되었습니다.


(>>> 3.6.1.1 "TCP 측정, 4포인트 방법" 페이지 103) 또는
(>>> 3.6.1.2 "XYZ 기준 방법" 페이지 110)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 113/378


로봇 초기 설정 로봇 프로그래밍 1

2. 툴을 Tool 및 Base 관리에 엽니다.


3. 측정 단추를 통해 ABC 월드 방법을 선택합니다.

그림 3-65: 측정 방법

4. 툴 편집 창이 열립니다.

그림 3-66: ABC 월드

• 5D/6D 선택창(1)에서 방향측정의 종류를 결정합니다.


‒ 5D » 오로지 X 작업 방향만 정의하고 결정해야 합니다.
‒ 6D » X, Y 및 Z 방향을 정의하고 결정해야 합니다.
• ABC 방향 행(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• 광역 좌표계를 기준으로 로봇의 툴을 정렬합니다.
• Touch-Up 단추(3)를 통해 이 방향를 적용합니다.
• 동일이름의 단추를 이용해 이 값을 저장합니다(5).

접근 단추(PTP)를 통해 이미 티칭된 포인트에 반복적으로 접근할


수 있습니다.

114/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.6.1.4 ABC 2점 방법

설명

그림 3-67: ABC 2점식 방법

보정 포인트
1 TCP
2 X축
3 XY 면

• X축에 있는 하나의 점 및 XY면에 있는 하나의 점으로 이동함으로써


툴 좌표계의 축에 대한 정보가 로봇 제어 시스템으로 전달됩니다.
• 회전 방법을 매우 정확하게 설정해야 하는 경우에 이 방법이 사용됩니
다.

진행 방법

1. 새로운 툴이 측정되고 Tool 및 Base 관리에 저장되었습니다.


(>>> 3.6.1.1 "TCP 측정, 4포인트 방법" 페이지 103) 또는
(>>> 3.6.1.2 "XYZ 기준 방법" 페이지 110)
2. 툴을 Tool 및 Base 관리에 엽니다.
3. 측정 단추를 통해 ABC 2점 방법을 선택합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 115/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-68: 측정 방법

4. 툴 편집 - ABC 2점 창이 열립니다.
보정 포인트: TCP

그림 3-69: 보정 포인트, TCP

• TCP 보정 포인트 행(1)을 터치합니다.


이 행이 청색 배경으로 표시됩니다.
• 툴의 TCP를 결정된 기준점으로 이동시킵니다.
• Touch-Up 단추(2)를 통해 이 위치를 적용합니다.
5. 보정 포인트: X축 및 XY면

116/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-70: ABC 2점, 측정

X축

• 측정할 툴의 네거티브 X 축(작업 방향)에 있는 포인트를 기준점으


로 접근시킵니다.
• X축 보정 포인트 행(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(A)를 통해 이 위치를 적용합니다.
Y축

• 측정할 툴의 XY면에 있는 포인트 Y값을 갖는 포인트를 기준점으로


접근시킵니다.
• XY면 보정 포인트 행(3)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(A)를 통해 이 위치를 적용합니다.

접근 단추(PTP)를 통해 이미 티칭된 포인트에 반복적으로 접근할


수 있습니다.

• 측정된 방향은 측정 결과 창(4)에 표시됩니다.


• 이것을 동일이름의 단추를 이용해 저장합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 117/378


로봇 초기 설정 로봇 프로그래밍 1

연습: 그리퍼 툴 측정, 2점 방법

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 그리퍼 툴 측정, 2포인트 방법

118/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.6.2 툴 좌표계에서 로봇 움직이기

툴 좌표계에서의 수동 이동

그림 3-71: 로봇 툴 좌표계

• 툴 좌표계에서 수동 이동할 경우 로봇을 그 이전에 측정한 툴의 좌표


계 방향에 따라 움직이는 일이 발생할 수 있습니다.
따라서 좌표계는 장소에 따라 고정된 것이 아니라(World/베이스 좌표
계 비고) 로봇이 가이드하는 것입니다.
이때 필요한 모든 로봇의 축이 움직입니다. 어떤 축이 이에 해당하는지
는 시스템에 의해 결정되며 모션에 따라 다릅니다.
툴 좌표계의 원점은 TCP - Tool Center Point 라고 하며 툴의 작업
포인트, 예를 들어 접착용 노즐의 뾰족한 끝에 상응합니다.
• 이를 위해 이동 버튼이나 KUKA smartPAD의 스페이스 마우스를 사용
합니다.
• 16개의 툴 좌표계를 선택할 수 있습니다.
• 속도는 변경될 수 있습니다(핸드 오버라이드: HOV).
• 수동 이동은 모드 종류 T1에서만 가능합니다.
• 승인 버튼은 누른 상태여야 합니다.

측정하지 않은 툴 좌표계는 수동 이동 시에는 항상 플랜지 좌표계에 상


응합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 119/378


로봇 초기 설정 로봇 프로그래밍 1

툴 수동 이동 원리

그림 3-72: 직교좌표계

로봇은 두 가지의 상이한 방식으로 좌표계에서 이동할 수 있습니다:

• 좌표계의 방향을 따라 병진식(직선식): X, Y, Z


• 좌표계의 방향을 중심으로 회전식(회전/선회): 각도 A, B 및 C
툴 좌표계 사용의 장점:

• 툴 좌표계가 인지하는 즉시 로봇의 동작을 항상 예측할 수 있습니다.


• 툴 작업방향으로 이동하고 TCP를 중심으로 정향할 수 있습니다.

• 툴 작업방향은 툴의 작업 및 프로세스 방향을 뜻합니다.


• 툴 좌표계에서 툴이 X+로 이동하면, (일반적으로) 공작물 방향으로
이동합니다.
• 예를 들어 접착용 노즐에서 접착제가 배출되는 방향이 부품을 잡을
때의 그리퍼 방향입니다.

120/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
진행 방법

1. 사용하고자 하는 좌표계로 툴(1)을 선택합니다.

2. 툴 번호를 선택합니다(1).

3. 핸드 오버라이드를 설정합니다(1).

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 121/378


로봇 초기 설정 로봇 프로그래밍 1

4. 승인 버튼의 중앙부(1, 2 또는 3)를 누르고 그 상태를 유지합니다.

5. 이동 버튼을 이용하여 로봇을 이동합니다.

122/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
6. 대안적 방법: 6D 마우스를 사용하여 원하는 방향으로 이동합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 123/378


로봇 초기 설정 로봇 프로그래밍 1

3.6.2.1 연습: 툴 좌표계에서 수동이동

작업 설정

코스에서 배포된 연습 문제집을 열어 다음의 연습문제를 실행하십시오:


• 툴 좌표계에서 수동 이동

124/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.7 베이스의 측정

설명

그림 3-73: 베이스, 사용

• 베이스 측정하기는 로봇 환경에서 광역 좌표계를 바탕으로 하여 특정


위치에 좌표계를 생성한다는 것을 뜻합니다.
• 그 목표는 로봇의 수동 이동 모션 및 프로그래밍된 위치를 이 좌표계
와 연관시키기는데 있습니다.
• 따라서 예를 들어 공작물 마운트나 보관함, 팔레트, 기계 등을 베이스
좌표계를 위한 기준점으로 사용합니다.

단계

그림 3-74: 베이스 측정

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 125/378


로봇 초기 설정 로봇 프로그래밍 1

베이스의 측정 시

• 좌표 원점이 측정됩니다.
• 좌표 방향이 정의됩니다.

장점

베이스를 측정한 후에는 다음과 같은 장점이 있습니다:


• 공작물 모서리를 따라가는 이동:
TCP는 공작물 작업면의 모서리를 따라 수동으로 이동시킬 수 있습니
다.

그림 3-75: 베이스 측정의 이점: 이동 방향

• 기준 좌표계:
티칭된 포인트는 선택된 좌표계와 관련이 있습니다.

그림 3-76: 베이스 측정의 이점: 원하는 좌표계 기준

• 좌표계의 수정/이동
베이스를 기준으로 포인트를 티칭할 수 있습니다. 예를 들어 작업면이
이동됨으로 인해, 베이스를 이동시켜야 하는 경우에는 포인트가 함께
이동하며 새로 티칭할 필요는 없습니다.

126/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-77: 베이스 측정의 이점: 베이스 좌표계의 이동

• 여러 개의 베이스 좌표계 사용
최대 32개의 다양한 좌표계를 저장하여 프로그램 단계에 따라 사용할
수 있습니다.

그림 3-78: 베이스 측정의 이점: 여러 개의 베이스 좌표계 사용

베이스 측정 방법

사용할 수 있는 베이스 측정 방법은 다음과 같습니다:


방법 설명
1. 원점 정의
2. 포지티브 X 방향 정의
3점 방법
3. 포지티브 Y 방향 정의(XY 면)
(>>> 3.7.1.1 "3점 방법" 페이지 129)
• 예를 들어 원점이 툴의 내부 또는 로봇 작업공간 밖에
있어서, 베이스의 원점으로 접근할 수 없는 경우에, 이
간접법을 사용합니다.
간접법 • 측정하고자 하고 그 좌표가 알려진(CAD 데이터) 베이
스에 대한, 주지된 기준점을 사용하여 4개의 포인트로
이동합니다. 로봇 제어 시스템은 이 포인트를 기반으로
베이스를 계산합니다.

숫자 입력 • 광역 좌표계(X, Y, Z) 및 회전(A, B, C)과의 간격 값을


직접 입력함

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 127/378


로봇 초기 설정 로봇 프로그래밍 1

방법 설명

3.7.1 새로운 베이스/고정 툴 추가

진행 방법

새로운 베이스/고정 툴 추가

1. 컨트롤러에서 Tool/Base 관리를 엽니다.


2. 베이스/고정 툴 탭(1)에서 추가 단추(2)를 터치합니다.

그림 3-79: 베이스 추가

새로 생성된 베이스/고정 툴 편집

그림 3-80: 베이스 편집

1. 베이스/고정 툴에 대한 원하는 저장공간 번호(1) 및 이름(2)를 선택하


고/입력합니다.
해당 저장공간이 이미 할당된 경우에는, 현재 변환이 개요에 표시됩니
다.
2. 풀다운 창(3)에서는, 측정할 좌표계가 베이스 또는 고정 툴인지 여부가
결정됩니다.
3. 동일이름의 저장 단추(4)를 통해 지금까지 입력된 데이터.

128/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
언제든지 현재 상태를 저장할 수 있습니다.

4. 광역좌표계를 기준으로 한 베이스/고정 툴의 오프셋 데이터가 알려진


경우에는, 이것을 직접 변환 필드에 수치로 입력할 수 있습니다.
5. 오프셋 데이터가 알려지지 않은 경우, 이것은 측정기술적으로도 측정
할 수 있습니다.
이를 위해 측정 단추(5)를 터치합니다.

보정 방법

측정 단추를 터치하면 다른 컨텍스트 메뉴가 펼쳐집니다:

그림 3-81: 베이스 측정, 선택

원하는 측정 방법을 터치합니다.


• 3포인트
(>>> 3.7.1.1 "3점 방법" 페이지 129)
• 간접적

3.7.1.1 3점 방법

진행 방법

베이스 측정은 앞서 이미 측정된 툴만을 사용해 실행할 수 있습니다


(TCP를 알고 있어야 함).

1. 새로운 베이스가 Tool 및 Base 관리를 통해 추가되었습니다.


(>>> 3.7.1 "새로운 베이스/고정 툴 추가" 페이지 128)
2. 측정 단추를 통해 3점 방법을 선택합니다.

그림 3-82: 베이스 측정, 선택

3. TCP를 새로운 베이스의 원점으로 이동시키십시오

그림 3-83: 첫 번째 포인트: 원점

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 129/378


로봇 초기 설정 로봇 프로그래밍 1

4. Touch-Up 원점

그림 3-84: 원점

• 측정에 사용되는 기준 툴을 풀다운 메뉴(1)에서 선택합니다.


• 원점 행(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(3)를 통해 이 위치를 수용합니다.
측정된 값은 변환 필드에 표시됩니다.
5. TCP를 새로운 베이스의 포지티브 X축에 있는 점으로 이동시키십시오.

그림 3-85: 두 번째 지점: X 방향

6. Touch-Up X축

130/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-86: X축

• X 축 행(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(3)를 통해 이 위치를 수용합니다.
측정된 값은 변환 필드에 표시됩니다.
7. XY 면에서 TCP를 포지티브 Y값을 갖는 점으로 이동시키십시오.

그림 3-87: 세 번째 포인트: XY 면

8. Touch-Up XY 면

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 131/378


로봇 초기 설정 로봇 프로그래밍 1

그림 3-88: XY 면

• XY 면 행(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(2)를 통해 이 위치를 수용합니다.
측정된 값은 변환 필드에 표시됩니다.
• 베이스의 측정은 최근 포인트의 수용을 통해 완료됩니다. 오프셋
값은 측정 결과 필드(3)에 표시됩니다.
• 동일이름의 저장 단추(4)가 포함된 오프셋 값.

3개의 측정 포인트는 일직선상에 있으면 안 됩니다. 포인트 사이에 최


소한의 각도가 있어야 합니다(기본설정 2.5°).

132/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
연습: 테이블 베이스 측정, 3점 방법

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 테이블 베이스 측정, 3포인트 방법

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 133/378


로봇 초기 설정 로봇 프로그래밍 1

3.7.2 베이스 좌표계에서 로봇이 움직입니다

베이스 좌표계에서의 모션

그림 3-89: 베이스 좌표계에서의 수동 이동

베이스 설명

• 로봇의 툴은 베이스 좌표계의 좌표 방향에 따라 움직일 수 있습니다.


베이스 좌표계는 개별적으로 측정할 수 있으며 공작물 모서리나 공작
물 마운트, 팔레트 등을 따라 그 뱡향이 설정되는 경우가 많습니다. 그
결과 간편하게 수동으로 이동할 수 있습니다!
이때 필요한 모든 로봇의 축이 움직입니다. 어떤 축이 이에 해당하는지
는 시스템에 의해 결정되며 모션에 따라 다릅니다.
• 이를 위해 이동 버튼이나 KUKA smartPAD의 스페이스 마우스를 사용
합니다.
• 32개의 베이스 좌표계를 선택할 수 있습니다.
• 속도는 변경될 수 있습니다(핸드 오버라이드: HOV).
• 수동 이동은 모드 종류 T1에서만 가능합니다.
• 승인 버튼은 누른 상태여야 합니다.

베이스 수동 이동의 원리

그림 3-90: 직교좌표계

134/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
로봇은 두 가지의 상이한 방식으로 좌표계에서 이동할 수 있습니다:

• 좌표계의 방향을 따라 병진식(직선식): X, Y, Z


• 좌표계의 방향을 중심으로 회전식(회전/선회): 각도 A, B 및 C

• 일부 이동 명령(예를 들어 이동 버튼 누름)에서 컨트롤러는 먼저 구간


을 계산합니다.
• 그 구간의 시작점이 툴의 기준점(TCP)입니다.
• 측정된 베이스가 구간의 방향을 결정합니다.
• 그 다음 컨트롤러가 모든 축을 조절하여 툴이 이 구간으로 유도(병진)
되거나 이 구간을 중심으로 돌도록(회전) 합니다.
베이스 좌표계의 사용:

• 베이스 좌표계가 알려져 있으면 로봇의 동작을 항상 예상할 수 있습니


다.
• 여기서도 6D 마우스를 사용하여 직관적으로 조작할 수 있습니다. 이에
대한 전제 조건은 조작자가 베이스 좌표계에 대해 올바르게 서 있어야
한다는 점입니다. 이를 위해 X-축을 기준축으로서 선택할 수 있습니
다.
• 예를 들어 공작물이나 팔레트 모서리로 평행 이동을 할 수 있습니다.

또한 올바른 툴 좌표계가 설정되어 있으면 베이스 좌표계에서 TCP를


중심으로 방향을 전환할 수 있습니다.

진행 방법

1. 이동 버튼의 옵션을 베이스(1)로 선택합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 135/378


로봇 초기 설정 로봇 프로그래밍 1

2. 툴 및 베이스(1)를 선택합니다.

3. 핸드 오버라이드를 설정합니다(1).

4. 승인 버튼의 중앙부(1, 2 또는 3)를 누르고 그 상태를 유지합니다.

136/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
5. 이동 버튼을 사용하여 원하는 방향으로 이동합니다.

6. 또는 스페이스 마우스로도 이동시킬 수도 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 137/378


로봇 초기 설정 로봇 프로그래밍 1

3.7.2.1 연습: 베이스 좌표계에서 수동 이동

작업 설정

코스에서 배포된 연습 문제집을 열어 다음의 연습문제를 실행하십시오:


• 베이스 좌표계에서의 수동 이동

138/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
3.8 메모리 가동률 표시

설명

• 동시 프로세스 및 추가옵션으로 인해 컨트롤러에서 작업 메모리 및 하


드디스크 저장공간에 대한 요구가 증가합니다.
• 이 플러그인은 현재 작업 메모리 및 하드디스크 저장공간 상황에 대한
빠른 개요를 제공합니다.

진행 방법

그림 3-91: 메모리 관리

메뉴 경로: 로봇 버튼 > 도움말 > 정보 > 시스템 탭 (1)


• 컴퓨터 이름 (2)
이 이름은 시운전 중에 결정되며 Windows 이름에 해당합니다.
파일 경로: C:\KUKA\WES7RenameComputer
• 컨트롤러 이름 (2)
이 이름은 시운전 중에 설정됩니다.
메뉴 경로: 로봇 버튼 > 시운전 > 로봇 데이터
이 컨트롤러 이름은 RDC의 EDS에 저장됩니다.
• Windows 버전 (3)
설치된 Windows 기본 시스템을 통한 버전 정보
• SID - Security Identifier (3)
Windows 기본 시스템의 중복되지 않는 ID
SID는 시운전 중에 완성 단계 Sysprep를 통해 생성됩니다.
• 운전시간 (3)
컨트롤러가 얼마 동안 켜져 있었는지를 나타내는 런타임 표시창 [h].
• 프로세서 (3)
장착된 프로세서의 정확한 모델 명칭.
• 작업 메모리 (3)
기본 시스템을 위해 예비된 영역을 뺀 나머지의 사용 가능한 작업 메
모리 [MB] 및 그 이용률 [%] 표시.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 139/378


로봇 초기 설정 로봇 프로그래밍 1

• 하드디스크 용량 (3)
파티션 C:\ 및 D:\의 용량 크기 및 할당의 표시.
• 기본 시스템 메모리 가동률 (4)
기본 시스템에서 예비된 메모리 영역의 이용률에 대한 개요 [MB]
[%].

3.9 컨트롤러 종료

설명

그림 3-92: 아이콘

• 메인 스위치를 통한 컨트롤러의 간단한 종료뿐 아니라 smartPAD를 통


한 소프트웨어에 의한 전원 차단 기능도 사용할 수 있습니다.
• 이것은 특히 컨피규레이션, 시운전 또는 고장 진단 시 필요한 상황에
따른 제어식 종료를 가능하게 합니다.

종료 메뉴 항목은 대개의 경우 권한관리를 통해 특정 사용자그룹만 접


근이 가능합니다.

주의사항
종료 시 컨트롤 PC 다시 시작 옵션을 선택하는 경우, 재시작이 완료되
지 않은 상태에서는 로봇 컨트롤러에서 메인 스위치를 누르지 말아야
합니다. 그렇지 않을 경우 시스템 파일이 손상될 수 있습니다.
종료 시 이 옵션을 선택하지 않은 경우, 컨트롤러가 종료되면 메인 스위
치를 누를 수 있습니다.

진행 방법

1. 메뉴 경로: 로봇 버튼 > 종료
2. 원하는 옵션을 선택합니다:
특수한 사용자 권한이 필요합니다.
3. 컨트롤 PC 종료 또는 컨트롤 PC 다시 시작(을)를 누릅니다.
4. 확인창을 예로 확인합니다. 시스템 소프트웨어가 종료되고 선택된 옵
션에 따라 다시 시작됩니다.

140/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 초기 설정
그림 3-93: 종료

번호 설명
1 종료에 대한 기본 설정
이 설정은 종료 시 기본 거동을 정의합니다.
• 콜드 부팅
로봇 컨트롤러는 콜드 부팅 후에 탐색기를 표시합니다. 프
로그램이 선택되지 않은 상태. 로봇 컨트롤러가 새로 초기
화됩니다. 예를 들어 모든 사용자 아웃풋이 FALSE로 설정
됩니다. 변경된 XML 파일이 함께 고려됩니다.
• 최대절전모드
최대절전모드를 통한 시작 후에는 이전에 선택된 로봇 프
로그램을 계속 진행할 수 있습니다. 레코드 포인터, 변수
내용, 아웃풋 및 프로그램 같은 기본 시스템의 상태가 다시
복구됩니다.

• Power-off 대기시간 [s]


메인 스위치로 컨트롤러를 끄면 여기에서 지정된 대기시간
후에 컨트롤러가 종료됩니다.
• Power-fail 대기시간 [s]
컨트롤러의 종료가 억제되는, 신뢰할 수 있는 전원공급이
보장되지 않는 전원공급장치 비탑재 시스템을 위해([초]
단위).
2 그다음 종료에 대한 설정
이 설정은 단지 그다음 종료에 대한 거동만 정의합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 141/378


로봇 초기 설정 로봇 프로그래밍 1

번호 설명
부팅 후에는 다시 기본 설정이 유효합니다.
• 강제 콜드 부팅
로봇 컨트롤러가 종료되고 다시 콜드 부팅으로 시작됩니
다.
• 파일 새로 읽기
‒ 컨트롤러에서 예를 들어 프로젝트 활성화, 네트워크 컨
피규레이션의 변경 등으로 인해 XML 파일이 변경된
경우 이 세팅이 활성화되어야 합니다. 컨피규레이션 메
뉴에 상응하는 정보가 표시됩니다.
‒ 이 정보는 콜드 부팅 도는 강제 콜드 부팅이 선택된 경
우에만 제공됩니다.
• Power-off 대기시간
아래에(1) 명시된 Power-off 대기시간의 활성화
• Power-fail 대기시간
아래에(1) 명시된 Power-fail 대기시간의 활성화
3 종료를 위한 액션
종료 또는 재시작을 위한 액션. 이런 방식의 시스템 종료는 배
터리를 보호합니다.
• 컨트롤 PC 종료
로봇 컨트롤러가 종료됩니다. 메인 스위치는 ON 위치에
있고 Sleep-LED가 CSP에서 점멸됩니다!
• 컨트롤 PC 다시 시작
로봇 컨트롤러가 메인 스위치의 작동 없이 가동되고, 종료
되며 그 후에 콜드 부팅으로 시작됩니다.
4 드라이브 버스
드라이브 버스의 켜기 및 끄기
On «» Off

• 녹색: 드라이브 버스 켜짐
• 적색: 드라이브 버스 꺼짐
• 회색: 드라이브 버스의 상태를 알 수 없음

142/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램 실행하기
4 로봇 프로그램 실행하기

4.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 로봇 프로그램 선택
• 로봇 프로그램은 어떻게 생겼나요?
• 초기화 이동 실행
• 프로그램 스타트 실행하기

4.2 로봇 프로그램 선택

로봇 프로그램 선택 및 시작

로봇 프로그램을 가동시키려면 우선 이 프로그램을 선택해야 합니다. 로봇


프로그램은 탐색기에서 사용자 인터페이스에 나와 있습니다. 일반적으로
이동 프로그램은 폴더에 들어 있습니다. 셀 프로그램(로봇을 트리거링하기
위한 PLC의 관리 프로그램)은 항상 "R1" 폴더 안에 있습니다.

그림 4-1: 탐색기

A 탐색기: 디렉토리/드라이브 구조
B 탐색기: 디렉토리/데이터 목록

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 143/378


로봇 프로그램 실행하기 로봇 프로그래밍 1

1 선택된 프로그램 폴더
2 선택된 프로그램
3 프로그램 선택을 위한 버튼영역

프로그램을 시작하기 위해 스타트 앞으로 및 스타트 뒤로 -버튼이


있습니다.

• -버튼으로 프로그램을 뒤로 시작하는 것은 프로그램의 INI 행이


완료되었고 로봇이 바로 직전에 되돌아가야 할 경로를 앞으로 시작
했을 경우에만 가능합니다.
• 그렇지만 로봇을 예를 들어 프로그램 정지 후 수동으로 이동시킬 경
우 후진 이동은 더 이상 불가능합니다.
• 소프트웨어 버전 KSS8.5 및 상위 버전에서는 별도의 “조그 모드 유
형” 트랙을 사용할 수 있습니다. (>>> 2.7 "궤적 이동 모드를 사용
해 로봇을 뒤로 움직이기" 페이지 56)
여기에서는 광학적/물리적으로 경로에서 동작하지만, 프로그래밍된
경로가 이탈되었습니다.

그림 4-2: 프로그램 진행방향: 앞으로/뒤로

번호 설명
1 스타트 버튼 앞으로
2 스타트 버튼 뒤로
프로그램이 가동되면 로봇의 프로그램으로 제어되는 모션을 위해 여러 개
의 프로그램 진행 유형이 제공됩니다:
GO

• 프로그램이 프로그램 종료까지 연속적으로 진행됩니다.


• 테스트 모드에서 시작 버튼을 누른 상태로 유지해야 합니
다.
동작

• 모션-스텝-진행 유형에서 각 모션 명령을 개별적으로 사


용할 수 있습니다.
• 모션을 마친 후 매번 "시작"을 다시 눌러야 합니다.
개별 스텝 | 사용자 그룹 "전문가"만 사용할 수 있습니다!

• 증분 스텝의 경우 행이 차례차례 처리됩니다(행의 내용과


는 무관함).
• 각 행이 끝난 후 시작 버튼을 다시 눌러야 합니다.

144/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램 실행하기
4.3 로봇 프로그램은 어떻게 생겼나요?

설명

1 DEF KUKA_Prog()
2
3 INI
4 SPTP HOME VEL= 100 % DEFAULT
5 SPTP P1 VEL= 100 % PDAT1 Tool[5] Base[10]
6 SPTP P2 VEL= 100 % PDAT1 Tool[5] Base[10]
7 SLIN P3 VEL= 1 m/s CPDAT1 Tool[5] Base[10]
8 SLIN P4 VEL= 1 m/s CPDAT2 Tool[5] Base[10]
9 SPTP P5 VEL= 100% PDAT1 Tool[5] Base[10]
10 SPTP HOME VEL= 100 % DEFAULT
11
12 END

행 설명
사용자그룹 전문가에서만 보임:

1 및 12 • "DEF 프로그램 이름()"은 항상 프로그램이 시작할


때 나옵니다
• "END"는 프로그램 끝을 나타냅니다

• "INI" 행에는 프로그램을 정확하게 처리하기 위해


3 필요한 표준 파라미터 바로가기가 있습니다.
• 항상 "INI" 행을 먼저 처리해야 합니다!

• 모션 명령 및 대기 명령/논리 명령 등등이 있는 원
래의 프로그램 텍스트
4~10 • 이동 명령 "SPTP Home"은 명확하고 잘 알려진
위치이기 때문에 주로 프로그램 시작 및 끝에 사용
됩니다.

4.4 초기화 이동 실행하기

SAK 이동

그림 4-3: 스프린터

KUKA 로봇의 초기화 이동을 SAK 이동이라고 합니다.


SAK는 Satzkoinzidenz의 약자입니다. Koinzidenz는 "일치" 및 "시간
적/공간적 이벤트의 동시발생"을 뜻합니다.

SAK 이동은 다음과 같은 경우에 실행합니다:

• 프로그램 선택
• 프로그램 리셋(되돌리기)
• 프로그램 모드에서의 수동 이동

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 145/378


로봇 프로그램 실행하기 로봇 프로그래밍 1

• 프로그램 변경
• 레코드 선택
SAK 이동 실행의 예:

그림 4-4: SAK 이동의 이유의 예

1 프로그램 선택 또는 프로그램 리셋 후 Home 위치로의 SAK 이동


그림 예시: 로봇이 HOME 위치 밖에 있음 » 프로그램 시작
2 블록 선택 후 SAK 이동
그림 예시: 로봇이 P1에 있음 » P3에서 블록 선택 » 프로그램 시

3 모션 명령 변경 후 SAK 이동:
그림 예시: 로봇이 P1에 있음 » 위치 P2를 P2´로 변경 » 프로그램
시작

SAK 이동의 이유

• SAK 이동은 현재의 로봇 위치를 로봇 프로그램에 있는 현재 포인트의


좌표와 일치키시기 위해 필요합니다.
• 현재의 로봇 위치가 프로그래밍된 위치와 일치할 경우에야 비로소 트
랙을 계획할 수 있습니다. 즉 언제나 TCP를 먼저 트랙 위로 보내야 합
니다.

그림 4-5: 프로그램 선택 시 SAK 이동의 예

1 프로그램 선택 또는 프로그램 리셋 후 기본 위치/홈 위치로 SAK


이동

146/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램 실행하기
VSS 기본위치
KSS HOME

주의사항
로봇이 현재 위치에서 기본 위치/홈 위치로 바로(가장 빠른 경로) 이동
합니다. 충돌 위험!

4.5 프로그램 스타트 실행하기

1. 프로그램 선택

그림 4-6: 프로그램 선택

2. 프로그램 속도 설정하기(프로그램 오버라이드, POV)

그림 4-7: POV 설정

3. 승인 버튼을 누르십시오.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 147/378


로봇 프로그램 실행하기 로봇 프로그래밍 1

그림 4-8: 인가 스위치

4. 시작 버튼 (+)을 누르고 그 상태를 유지하십시오:


• "INI"-행이 처리됩니다.
• 로봇이 SAK 이동을 실행합니다.

그림 4-9: 프로그램 진행방향: 앞으로/뒤로

번호 설명
1 스타트 버튼 앞으로
2 스타트 버튼 뒤로

경고
SAK 이동은 선택한 모션 블록에 PTP 이동명령이 있으면 실제 위치
에서 목표 위치로 이동하는 PTP 모션으로 진행됩니다. 선택한 모션
블록에 LIN 혹은 CIRC가 포함되어 있으면 SAK 이동은 LIN 모션으
로 실행됩니다. 충돌을 방지하기 위해 모션을 관찰해야 합니다.
SAK 이동에서는 속도가 자동으로 감소됩니다.

5. 목표 위치에 도달한 후에는 동작이 정지됩니다

그림 4-10

참조 메시지 "SAK에 도달했음”이 나타납니다.


6. 그 이후의 진행과정(설정된 작동 모드에 따라):

148/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램 실행하기
그림 4-11: 드라이브 활성화

• T1 및 T2: 시작 버튼을 눌러 프로그램을 계속 진행시킵니다.


• AUT: 구동장치를 활성화시키십시오.
그 후 펄스를 Start하여 프로그램을 실행하십시오.
• 셀 프로그램에서 작동 모드를 EXT로 전환하여 PLC의 이동명령을
전송합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 149/378


로봇 프로그램 실행하기 로봇 프로그래밍 1

4.5.1 연습: 로봇 프로그램 실행하기

작업 설정

코스에서 배포된 연습 문제집을 열어 다음의 연습문제를 실행하십시오:


• 로봇 프로그램 실행하기

150/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 파일의 취급
5 프로그램 파일의 취급

5.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 프로그램 모듈 만들기 및 편집
• 데이터 보관 및 복구
• 로그북을 사용하여 프로그램 및 상태 변경 파악하기

5.2 프로그램 모듈 만들기

탐색기에 있는 프로그램 모듈

그림 5-1: 탐색기에 있는 모듈

1 프로그램 메인 폴더: "프로그램"


2 다른 프로그램용 하위 폴더
3 프로그램 모듈/모듈
4 프로그램 모듈의 메모

• 프로그램 모듈은 항상 "프로그램" 폴더에 저장해야 합니다.


• 새 폴더를 만들어 여기에 프로그램 모듈을 저장할 수도 있습니다.
• 모듈은 "M" 으로 표시합니다.
• 각 모듈에 메모를 첨가할 수 있습니다.
• 이러한 메모에는 예를 들어 프로그램 기능 설명이 들어 있을 수 있습
니다.

프로그램 모듈의 특징

모듈은 항상 두 부분으로 이뤄져 있습니다:

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 151/378


프로그램 파일의 취급 로봇 프로그래밍 1

그림 5-2: 사용자 및 전문가 관점의 모듈/순서

1 사용자 영역 모듈 보기
2 소스 파일: 프로그램 명령에 포함되어 있음
모듈 선택 시 사용자 영역에 표시됨
3 DAT 파일: 저장된 위치에 포함되어 있음
전문가 영역에서만 DAT를 볼 수 있음

*.SRC과 *.DAT 파일은 전문가 사용자 그룹에서만 편집이 가능합니다.


유저는 상세 보기만 읽기 전용으로 표시할 수 있습니다.

• 소스 코드:
SRC 파일에 프로그램 코드가 포함되어 있습니다.

DEF MAINPROGRAM()
INI
SPTP HOME Vel= 100% DEFAULT
SPTP P1 Vel=100% PDAT1 TOOL[1] BASE[2]
SPTP P2 Vel=100% PDAT2 TOOL[1] BASE[2]

END

• 데이터 목록:
DAT 파일에 영구 데이터와 포인트 좌표가 포함되어 있습니다.

DEFDAT MAINPROGRAM()
DECL E6POS XP1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27, E1
0, E2 0, E3 0, E4 0, E5 0, E6 0}
DECL FDAT FPOINT1 …

ENDDAT

프로그램 모듈 만들기

1. 디렉터리 구조에서 프로그램을 만들 폴더(1)를 선택합니다(예: 프로그


램 폴더).

152/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 파일의 취급
그림 5-3: 모듈 만들기

폴더에서 모듈을 생성하려면 폴더(2)에 포인터를 정렬해야 합니다.


2. 신규 소프트키(3)를 누르면 새 모듈이 생성됩니다.
3. 프로그램(1)의 이름과 필요에 따라 메모를 입력하고(2) OK(3)를 눌러
확인합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 153/378


프로그램 파일의 취급 로봇 프로그래밍 1

그림 5-4: 프로그램 이름

5.3 프로그램 모듈 편집

편집 가능성

일반적인 파일 시스템에서와 같이 프로그램 모듈을 KUKA smartPad의 탐


색기에서 편집할 수 있습니다.
여기서 편집은 다음의 의미합니다:

• 복제/복사
• 삭제
• 이름 바꾸기

154/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 파일의 취급
진행 방법

프로그램 복제

그림 5-5: 모듈 복제

1. 디렉토리 구조에서 파일이 있는 폴더(1)를 선택합니다.


2. 파일 목록에서 파일(2)을 선택합니다.
3. 복제 소프트키(3)를 선택합니다.
4. 새 모듈에 새 파일 이름을 지정합니다.
5. OK 버튼을 눌러 모듈을 복제합니다.

• 사용자 그룹 "전문가"와 필터 설정 "세부 정보"에는 모듈당 2개의


파일이 탐색기에 복사되어 있습니다(SRC 및 DAT 파일).
• 이 경우 이 두 파일을 복제해야 합니다!

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 155/378


프로그램 파일의 취급 로봇 프로그래밍 1

프로그램 삭제

그림 5-6: 모듈 삭제

1. 디렉토리 구조에서 파일이 존재하는 폴더를 선택합니다.


2. 파일 목록에서 파일을 선택합니다.
3. 소프트키 삭제 > 선택.
4. 확인창을 예로 확인하십시오. 모듈이 삭제됩니다.

• 사용자 그룹 "전문가"와 필터 설정 "세부 정보"에는 모듈당 2개의


파일이 탐색기에 복사되어 있습니다(SRC 및 DAT 파일).
• 이 경우 양 파일의 이름을 삭제해야 합니다! 삭제된 파일은 복구가
불가능합니다!

156/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 파일의 취급
프로그램 이름 변경

그림 5-7: 모듈 이름 바꾸기

1. 디렉토리 구조에서 파일(1)이 존재하는 폴더를 선택합니다.


2. 파일 목록에서 파일(2)을 선택합니다.
3. 편집(3) > 이름 바꾸기(4) 소프트키를 선택합니다.
4. 파일 이름을 새로운 이름으로 덮어쓰기하고 OK를 눌러 학인합니다.

• 사용자 그룹 "전문가"와 필터 설정 "세부 정보"에는 모듈당 2개의


파일이 탐색기에 복사되어 있습니다(SRC 및 DAT 파일).
• 이 경우 양 파일의 이름을 다르게 지정해야 합니다!
• 다음도 참조: (>>> 11.3 "탐색기에서 보기 어댑테이션" 페이
지 312)

5.4 로봇 프로그램 보관하기 및 복구하기

설명

기록 보관 방법

• 각 기록 보관 과정은 로봇에서와 동일한 이름을 갖는 목표 저장매체에


ZIP 파일을 생성합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 157/378


프로그램 파일의 취급 로봇 프로그래밍 1

• 로봇 데이터에서 파일 이름을 개별적으로 변경할 수 있습니다.

저장소

그림 5-8: KUKA.Recovery USB 스틱

3개의 서로 다른 USB 저장소를 사용할 수 있습니다.

• USB (KCP)
‒ KCP의 USB 스틱 (smartPAD)
• USB (캐비넷)
‒ 로봇 제어반의 USB 스틱
• 네트워크
‒ 네트워크 경로로 백업
‒ 원하는 네트워크 경로는 로봇 데이터에서 컨피규레이션해야 합니
다.

각 기록 보관 과정에서 원하는 저장 매체에 생성된 ZIP 파일과 함께 드


라이브 D:\에서도 또다른 기록 보관용 파일(BackupAll.ZIP)이 저장되
야 합니다.

그림 5-9: 백업 파일

압축저장을 위해 반드시 KUKA USB 스틱이 필요한 것은 아닙니다. 타


사 제품은 기능은 보장되지 않습니다.

백업용 데이터 선택은 다음과 같습니다.

• 모두:
기존 시스템 복원에 필요한 데이터가 백업됩니다.

158/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 파일의 취급
• 애플리케이션:
모든 사용자 정의에 따른 KRL 모듈(프로그램) 및 그에 속하는 시스템
파일이 기록 보관됩니다.
• 시스템 데이터:
기계 데이터가 백업됩니다.
• 로그 데이터:
로그 파일이 백업됩니다.
• KrcDiag:
오류 분석을 위해 KUKA Roboter GmbH에 전달될 데이터 기록 보관.
이때 폴더가 생성되며(이름 KRCDiag) 이 폴더 안에 최대 10개의 ZIP
파일을 기록할 수 있습니다. 이와 동시에 제어시스템에서도 C:
\KUKA\KRCDiag에 기록 보관됩니다.

진행 방법

데이터 복구하기

경고
일반적으로 기록 보관 파일만 적합한 버전의 소프트웨어를 사용하여 로
딩할 수 있습니다. 다른 백업 파일을 로드하는 경우 다음과 같은 상황이
발생할 수 있습니다.
• 오류 메시지
• 로봇 제어시스템이 작동할 수 없습니다.
• 신체 상해 및 대물 피해

그림 5-10: 백업 파일 복구

1. 퓨즈가 포함된 USB 스틱을 컨트롤러에 꽂습니다.


대안적 방법으로서 네트워크 압축저장 경로를 사용할 수 있습니다.
2. smartPAD의 내비게이터에서 복구할 백업파일(1)을 엽니다.
3. 백업파일에서 옵션으로서 개별 엘리먼트(2)도 선택할 수도 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 159/378


프로그램 파일의 취급 로봇 프로그래밍 1

4. 동일이름의 복구 단추(3)를 이용해 단추를 통한 개별 선택.


다음 메뉴 항목을 선택할 수 있습니다:
• 모두
• 애플리케이션
• 시스템 데이터
5. 확인창을 예로 확인하십시오.
압축된 파일이 로봇 제어 시스템에 복원됩니다.
6. 내용 전체를 복구하는 경우, 모두 복구 단추(4)를 사용합니다.
7. USB 매체의 LED에 불이 더 이상 들어오지 않는 경우에만 그 매체를
제거할 수 있습니다.
그렇지 않을 경우 매체가 손상될 수 있습니다.

다음의 경우 시스템은 오류 메시지를 내보냅니다:

• 보관된 데이터가 시스템에 있는 것과 다른 버전을 갖고 있을 경우.


• 테크놀로지 패키지의 버전이 설치된 버전과 일치하지 않을 경우.

데이터 압축저장

1.
2. 메뉴 경로: 파일 > 압축 저장 > USB (캐비넷) > 원하는 하위 항목

그림 5-11: 압축저장, 메뉴 경로

3. USB 스틱을 선택된 USB 인터페이스에 꽂습니다.


4. 어떤 내용을 백업파일에 저장할지를 선택합니다.

그림 5-12: 선택

5. 확인창을 예로 확인하십시오.
기록 보관이 완료되면 메시지 창에 나타납니다.
6. 스틱의 LED가 소등되면 스틱을 뽑을 수 있습니다.

USB(캐비넷) 버전을 통한 압축저장이 선호됩니다. 여기에서는 KCP-


KUKA PC를를 직접 독점적 인터페이스를 통해 USB 스틱에 기록할 수
있습니다. 이와 달리 smartPAD에 있는 인터페이스를 사용하는 경우에
는, 데이터를 KCP에서 필드버스 시스템 EtherCAT을 거쳐 smartPAD
로 전송해야 합니다.

160/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 파일의 취급
5.5 로그북을 사용하여 프로그램 및 상태 변경 파악하기

설명

그림 5-13: 로그북

• 컨트롤러에서 모든 핸들링, 오류 메시지 및 상태는 로그북에 기록됩니


다.
• 각각의 이벤트에는 타임스탬프 및 일련번호가 포함됩니다.
• 로그북은 삭제할 수 없습니다.

진행 방법

1. 메뉴 경로: KUKA 버튼 > 진단 > 로그북 > 표시

그림 5-14: 로그북 표시 및 컨피규레이션

2. 로그북은 smartPAD에 표시됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 161/378


프로그램 파일의 취급 로봇 프로그래밍 1

그림 5-15: 로그북, 탭Log

번호 설명
1 로그 이벤트 유형
각 필터 타입과 필터 등급은 탭 필터에 목록으로 나와 있습
니다.
2 로그 이벤트 번호
3 로그 이벤트의 날짜와 시간
4 로그 이벤트에 대한 간략한 설명
5 선택한 로그 이벤트에 대한 상세 설명
6 활성화된 필터 표시

로그 이벤트 필터링

• 어떤 항목이 로그북에서 표시에 사용되는지는 필터 탭에서 세팅할 수


있습니다.
• 이를 위해 마우스를 이용해 관련된 해당 항목을 선택합니다.

162/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 파일의 취급
그림 5-16: 로그북, 탭 필터

5.5.1 로그북 내보내기

설명

• 로그북의 현재 버전을 텍스트 파일로 내보내기할 수 있습니다.


• 내보내기 기능은 컨트롤러의 원본 로그북 내용에 영향을 미치지 않습
니다.

진행 방법

1. 적어도 사용자그룹 유저가 필요합니다.


2. 기본 설정에서는 내보내기 기능을 위해 적어도 사용자 그룹 전문가가
필요합니다.
3. 메뉴 경로: 진단 > 로그북 > 컨피규레이션
4. 내보내기 파라미터를 컨피규레이션합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 163/378


프로그램 파일의 취급 로봇 프로그래밍 1

그림 5-17: 창 로그북 구성

1 출력을 위한 필터 설정을 적용시킵니다. 체크표시가 전혀 되어


있지 않다면 출력 시 필터가 사용되지 않습니다.
2 텍스트 파일 경로
3 버퍼 오버플로우로 인해 삭제된 로그 파일은 텍스트 파일에서
회색 바탕에 표시됩니다.

5. OK 단추를 통해 컨피규레이션을 저장하고 창을 닫습니다.


6. 로그 표시로 이동
메뉴 경로: KUKA 버튼 > 진단 > 로그북 > 표시
7. 동일이름의 단추(1)를 이용해 로그북을 내보내기합니다

그림 5-18: 로그북 내보내기

164/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
6 프로그래밍된 동작 만들기 및 변경

6.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 새 모션 명령 생성하기
• 사이클 시간에 최적화된 동작 만들기
• 경로 동작 만들기
• 글로벌 포인트로 프로그래밍
• 모션 명령 변경하기

6.2 새로운 동작 명령의 생성을 위해 어떤 정보가 필요합니까?

로봇 동작의 프로그래밍

로봇의 동작을 프로그래밍해야 하면, 다음와 같은 많은 질문이 제기됩니


다:

그림 6-1: 로봇 모션

질문 솔루션 키워드
로봇은 자신의 위치를 어떻게 툴의 공간 내에의 각 위치가 저장됩니다. (로 POS
표시합니까? 봇의 위치에 따라 설정된 툴과 베이스)
E6POS
로봇이 자신이 어떻게 움직여 동작 종류의 정보를 통해: 점대점, 선형 또는 SPTP
야 한다는 것을 어떻게 압니 원형.
SLIN
까?
SCIRC
로봇은 동작 시 어느 정도 빠 두 점 사이의 속도 표시와 가속도는 프로그래 Vel.
릅니까? 밍 시 이루어집니다.
Acc.
로봇은 각 점에서 정지해야 사이클 시간을 절약하기 위해 점을 혼합할 수 CONT
합니까? 도 있으며, 이 경우 정확한 정지가 이루어지
지 않습니다.
어떤 점에 도달하면 툴은 어 각 동작에 대해 정향 유도를 개별적으로 설정 ORI_TYPE
떤 방향으로 향합니까? 할 수 있습니다.
이 설정은 트랙 이동에만 적용됩니다.
(>>> "모션 유형" 페이지 166)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 165/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

질문 솔루션 키워드
로봇은 어떤 장애물을 인식합 아닙니다, 로봇은 프로그래밍된 트랙을 "무작 충돌 모니터
니까? 정" 따라갑니다. 무충돌은 프로그래머의 책임 링
에 속합니다.
하지만 기계를 보호하기 위해 "충돌 모니터
링"을 할 수 있습니다.

모션 유형

• 모션 명령 프로그래밍을 위해 다양한 모션 유형을 사용할 수 있습니다.


• 로봇 작업과정에 대한 요구사항에 맞춰 모션을 프로그래밍할 수 있습
니다.
‒ 축 고유의 동작
SPTP » Point to Point
‒ 경로 모션:
SLIN » 리니어
SCIRC » 서클

PTP, LIN, CIRC 동작은 이 교육 자료에서 다루지 않습니다. 상세한 정


보는 KUKA System Software 8.x 조작 및 프로그래밍 설명서에서 확
인할 수 있습니다.

인라인 양식을 통한 프로그래밍

그림 6-2: 인라인 양식

• 티치인 방식으로 로봇의 동작을 프로그래밍할 때 명시된 해당 포인트


및 동작에 대한 정보를 전달해야 합니다.
• 이를 위해 이 정보를 사용자 친화적으로 입력할 수 있는 인라인 양식
을 사용할 수 있습니다.

166/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
6.3 SPTP - 사이클 시간 최적화 동작(축 동작)

설명

그림 6-3: SPTP 동작

• SPTP - Spline Point To Point는 축에 따른 동작입니다.


• 로봇이 가장 빠른 모션을 따라 TCP를 목표점으로 보냅니다.
• 일반적으로 가장 빠른 트랙이 가장 짧은 트랙은 아니며 따라서 직선이
아닙니다.
• 로봇 축이 회전 동작을 수행하므로, 스윙 경로가 직선 경로보다 빠르게
실행됩니다.

경로 양상

• 동작의 정확한 진행은 예측할 수 없습니다.


• 목표점에 도달하기까지 가장 오래 걸린 축을 유도 축이라 칭합니다.
• SYNCHRO-PTP: 모든 축이 함께 시작하고 동시에 정지합니다.
(>>> "Synchro-PTP" 페이지 167)
• 프로그램에서의 첫 번째 동작은 PTP 동작이어야 합니다. 그렇지 않을
경우 Status 및 Turn을 평가할 수 없습니다.

Synchro-PTP

• 목표점에 도달하기까지 가장 오래 걸린 축을 유도하는 축이라 칭합니


다.
• 이때 인라인 양식에 표시된 속도를 함께 고려합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 167/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

그림 6-4: Synchro-PTP

사용

• 로봇이 목표점으로 이동합니다.


• 충돌 없이 빠르게 포인트로 이동해야 합니다.
• 경로 자체는 후순위입니다.
• 보기
‒ 스팟 용접 및 리벳팅
‒ 운반하기
‒ 측정, 점검
• 경로 동작 사이 또는 경로 동작으로 이동 중인 로봇도 공간 내 위치한
중간점을 이용해 최적화할 수 있습니다.

6.3.1 Status & Turn

설명

• Status 및 Turn은 동일한 TCP 위치를 갖는 여러 개의 축 위치 중에서


명확한 1개의 축 위치를 지정하는데 사용됩니다.
• 서로 다른 상태값 및 Turn 값으로 인한 상이한 축 위치
로봇 위치 상태 Turn

1 46

2 43

168/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
로봇 위치 상태 Turn

6 59

4 63

Status 및 Turn의 평가

• 로봇 제어 시스템은 SPTP 동작을 취할 경우에만 프로그래밍된 상태와


Turn 값을 고려합니다.
• 경로 동작(CP=SLIN 및 SCIRC)의 경우 이것은 무시됩니다.
• KRL 프로그램에서 첫 번째 동작 지령은 SPTP(HOME)입니다
‒ 이것은 POS 또는 E6POS 타입이며 중복되지 않는 초기 위치를 정
의합니다
‒ (AXIS 또는 E6AXIS 타입의 완전한 SPTP 지령도 가능합니다.)

DEFDAT MAINPROGRAM ()
DECL POS XPOINT1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27}
DECL FDAT FPOINT1 …

ENDDDAT

6.3.2 SPTP 우회

우회

그림 6-5: (S)PTP 포인트 우회

• 제어시스템은 모션 진행을 가속화시키기 위해 CONT 표시가 있는 모


션 명령을 우회시킬 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 169/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

• 우회란 포인트 좌표에 정확히 도착하지 않는 다는 것을 뜻합니다.


• 정확정지 컨투어의 트랙을 그 전에 벗어납니다.
• TCP는 우회 컨투어를 따라 유도되어 그 다음 모션 명령의 정확정지
컨투어로 이어집니다.

우회의 장점

그림 6-6: 정확정지 - 우회 비교

• 기계장치가 덜 마모됩니다. 포인트 사이에서 제동을 걸거나 가속화할


필요가 없기 때문입니다(포인트 1 참조).
• 이로 인해 사이클 시간이 최적화되며 프로그램이 좀더 빠르게 처리됩
니다(포인트 2 참조).

우회 시 SPTP 경로 양상

그림 6-7

• 우회 모션을 실행할 수 있으려면 제어시스템은 다음과 같은 모션 블록


을 읽을 수 있어야 합니다. 이는 컴퓨터 포워드를 통해 이뤄집니다.
• 우회 거리의 단위는 % 또는 mm입니다.

우회 컨투어는 예견할 수 없습니다!

6.3.3 인라인 양식을 이용한 동작 프로그래밍

전제조건

• 작동 모드 T1가 설정되어 있습니다


• 로봇 프로그램이 선택되었습니다.

170/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
진행 방법

1. 목표점으로서 티칭하고자 하는 위치로 TCP를 이동시킵니다.

그림 6-8: 모션 명령

2. 가능성 1:
인라인 양식 삽입

그림 6-9: 인라인 양식 삽입

• 동작 지령을 삽입할 행(1)으로 커서를 이동시키십시오.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 171/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

• 메뉴 순서 명령(2) > 동작 > SPTP


3. 가능성 2:

그림 6-10: 동작 삽입

• 동작 지령을 삽입할 행(1)으로 커서를 이동시키십시오.


• 동일이름의 단추를 통해 동작(2)을 삽입합니다.
4. 미리 기입된 인라인 양식은 선택된 프로그램 행 뒤에 삽입됩니다.

그림 6-11: 동작 유형의 선택

• 동작 단추를 통해 인라인 양식이 삽입된 경우, 동작 선택(1)이 자동


으로 열립니다.
• 여기에서 동작 유형 SPTP(2) 중 하나를 선택합니다.
5. 개별 동작 파라미터를 컨피규레이션합니다.
• SPTP
(>>> 6.3.3.1 "인라인 양식: SPTP" 페이지 173)
6. 명령 OK를 눌러 지령을 저장합니다. TCP의 현재 위치가 목표점으로
티칭됩니다.

172/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
그림 6-12: "명령 OK" 및 "Touchup" 시의 포인트 좌표 저장

6.3.3.1 인라인 양식: SPTP

그림 6-13: 인라인 양식 SPTP (개별 동작)

번호 설명
1 동작 유형 SPTP
2 목표점을 위한 포인트 이름. 시스템이 자동으로 이름을 부여합
니다. 이름은 덮어쓰기할 수 있습니다.
화살표 아이콘: (>>> "툴 및 베이스 설정" 페이지 175)
3 • CONT: 목표점이 근사접근됩니다.
• [비어 있음]: 목표점이 정확하게 접근됩니다.
4 속도

• 1 … 100 %
5 동작 데이터 레코드의 이름. 시스템이 자동으로 이름을 부여합
니다. 이름은 덮어쓰기할 수 있습니다.
화살표 아이콘: (>>> "동작 파라미터 변경" 페이지 174)
6 이 동작에 대한 충돌 감지

• OFF: 충돌 감지가 꺼짐
• CDSet_Set[No.]: 충돌 감지가 꺼짐. 데이터 레코드 No.의
값을 감지에 사용합니다.
7 이 필드는 파라미터 전환을 통해 보이게 하거나 또는 숨길 수
있습니다.
로직 파라미터가 포함된 데이터 레코드의 이름. 시스템이 자동
으로 이름을 부여합니다. 이름은 덮어쓰기할 수 있습니다. 데이

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 173/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

번호 설명
터의 처리를 위해 화살표를 터치하십시오. 해당 옵션창이 열립
니다.

동작 파라미터 변경

그림 6-14: 동작 파라미터

1. 열린 인라인 양식에서 PDATx(1) 옆의 화살표 아이콘을 터치합니다.


2. 열린 동작 파라미터 컨텍스트 메뉴에서 다음 값을 세팅합니다.
• 근사접근 거리
(>>> 6.3.2 "SPTP 우회" 페이지 169)
• 가속도

174/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
툴 및 베이스 설정

그림 6-15: 베이스 및 툴 설정

1. 인라인 양식에서 포인트 이름 옆의 화살표 아이콘을 터치합니다.


2. 프레임 탭(2)에서 풀다운 창을 통해 툴(3) 및 베이스(4)를 설정합니다

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 175/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

6.3.4 연습: 더미 프로그램 - 프로그램 취급 및 SPTP 동작

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 더미 프로그램 - 프로그램 취급 및 SPTP 동작

176/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
6.4 트랙 모션 생성하기

SLIN 및 SCIRC 동작 유형

그림 6-16: 경로 동작

동작 유형 의미 사용 예
선형: 선형 경로 어플리케이션, 예를 들
어:
• 직선상의 경로 모션:
• 툴의 TCP는 일정한 속도 • 경로 용접
및 정의된 방향으로 시작 • 붙이기
점에서 목표점까지 유도 • 레이저 용접/절단
됩니다.
• 속도와 정향이 TCP와 연
관되어 있습니다.
원형: 원형 SLIN에서와 같은 경로 애플
리케이션:
• 원형 경로모션은 시작점,
보조점 및 목표점을 통해 • 원, 반경, 올림 및 내림
정의됩니다.
• 툴의 TCP는 일정한 속도
및 정의된 방향으로 시작
점에서 목표점까지 유도
됩니다.
• 속도와 정향이 툴의
TCP(툴 좌표계)와 연관
되어 있습니다

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 177/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

6.4.1 특이성

설명

• 6 자유도의 KUKA 로봇에는 3개의 다양한 특이점이 있습니다.


• 특이 위치의 특징은 역변환(해당 축의 값으로 직교좌표적 환산)이 지정
된 Status 및 Turn에도 불구하고 정확하지 않을 수 있다는 것입니다.
• 이러한 경우 또는 최소 직교좌표적 변경이 매우 큰 축각도 변경을 유
발하는 경우, 이를 특이점이라 칭합니다.
• 이는 기계적 특성이 아니라 수학적 특성이며 이러한 이유로 트랙 모션
영역에서만 나타나며 축 모션에서는 나타나지 않습니다.
6 자유도의 KUKA 로봇에는 3개의 다양한 특이점이 있습니다.
특이 위치의 특징은 역변환(해당 축의 값으로 직교좌표적 환산)이 지정된
Status 및 Turn에도 불구하고 정확하지 않을 수 있다는 것입니다. 이러한
경우 또는 최소 직교좌표적 변경이 매우 큰 축각도 변경을 유발하는 경우,
이를 특이점이라 칭합니다. 이는 기계적 특성이 아니라 수학적 특성이며
이러한 이유로 트랙 모션 영역에서만 나타나며 축 모션에서는 나타나지 않
습니다.

오버헤드 특이성 α1

• 오버 헤드 특이성 오류 시 손목점(= A5 축의 중점)은 로봇의 A1 축에


수직으로 존재합니다.
• A1 축의 위치는 역변환을 통해 정확하게 결정할 수 없으며 따라서 임
의의 값을 가질 수 있습니다.

그림 6-17: 오버헤드 특이성(α1 위치)

확장 위치 특이성 α2

• 확장 위치 특이성 오류 시 손목점(= A5 축의 중점)은 로봇의 A2 및


A3 축의 연장선에 존재합니다.
• 로봇은 그 작업 구역의 가장자리에 존재합니다.
• 역변환은 정확한 축각도를 제공하지만, 그 결과 작은 직교좌표적 속도
가 A2 및 A3 축의 큰 축 속도를 갖습니다.

178/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
그림 6-18: 확장 위치(α2-위치)

손목 축 특이성 α5

• 손목 축 특이성에서는 A4 및 A6 축이 서로 평행하며 A5 축이
±0.01812°의 범위 내에 있습니다.
• 양측 축의 위치는 역변환으로 인해 정확하게 결정할 수 없습니다.
• 하지만 A4 및 A6 축의 각도 합이 동일한 임의의 축 위치가 많이 있습
니다.

그림 6-19: 손목 축 특이성(α5 위치)

6.4.2 SLIN 프로그래밍

1. 목표점으로서 티칭하고자 하는 위치로 TCP를 이동시킵니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 179/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

그림 6-20: SLIN 및 SCIRC이 포함된 동작 명령

2. 인라인 양식 SLIN 삽입

그림 6-21: 동작 삽입

• 동작 지령을 삽입할 행(1)으로 커서를 이동시키십시오.


• 동일이름의 단추를 통해 동작(2)을 삽입합니다.
3. 미리 기입된 인라인 양식은 선택된 프로그램 행 뒤에 삽입됩니다.

그림 6-22: 동작 유형의 선택

• 인라인 양식에서 동작 유형이 있는 필드를 터치합니다(1).


• 선택 창이 열리고 여기에서 동작 유형 SLIN(2)을 선택합니다.
4. 개별 동작 파라미터를 컨피규레이션합니다.

180/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
• SLIN
(>>> 6.4.2.1 "인라인 양식: SLIN" 페이지 181)
5. 명령 OK를 눌러 지령을 저장합니다. TCP의 현재 위치가 목표점으로
티칭됩니다.

그림 6-23: "명령 OK" 및 "Touchup" 시의 포인트 좌표 저장

6.4.2.1 인라인 양식: SLIN

그림 6-24: 인라인 양식 SLIN(개별 동작)

번호 설명
1 동작 유형 SLIN
2 목표점을 위한 포인트 이름. 시스템이 자동으로 이름을 부여합
니다. 이름은 덮어쓰기할 수 있습니다.
화살표 아이콘: (>>> "툴 및 베이스 설정" 페이지 175)
3 • CONT: 목표점이 근사접근됩니다.
• [비어 있음]: 목표점이 정확하게 접근됩니다.
4 속도

• 0.001 … 2 m/s
5 동작 데이터 레코드의 이름. 시스템이 자동으로 이름을 부여합
니다. 이름은 덮어쓰기할 수 있습니다.
포인트 데이터의 편집을 위해 화살표를 터치합니다. 해당 옵션
창이 열립니다.
6 이 동작에 대한 충돌 감지

• OFF: 충돌 감지가 꺼짐

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 181/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

번호 설명
• CDSet_Set[No.]: 충돌 감지가 꺼짐. 데이터 레코드 No.의
값을 감지에 사용합니다.
7 이 필드는 파라미터 전환을 통해 보이게 하거나 또는 숨길 수
있습니다.
로직 파라미터가 포함된 데이터 레코드의 이름. 시스템이 자동
으로 이름을 부여합니다. 이름은 덮어쓰기할 수 있습니다. 데이
터의 처리를 위해 화살표를 터치하십시오. 해당 옵션창이 열립
니다.

방향 컨트롤

• 트랙 동작 시 정향 가이드를 정확하게 정의할 수 있습니다.


• 툴은 동작의 시작점 및 목표점에서 서로 다른 방향을 가질 수 있습니
다.
‒ 툴의 방향 컨트롤
(>>> 6.4.2.2 "SLIN에서 방향 컨트롤" 페이지 182)

6.4.2.2 SLIN에서 방향 컨트롤

SLIN 동작 유형

SLIN 동작 유형의 방향 설정 가이드

• 기본 또는 수동 PTP
툴의 방향이 동작 중에 지속적으로 변합니다.
로봇이 표준 모드로 손목축 특이성으로 들어갈 때만 수동 PTP를 사용
하십시오. 왜냐하면 정향이 손목축 각도의 선형 전환(축 고유의 이동)
에 의해 실행되기 때문입니다.

그림 6-25: 표준

• 상수
툴의 정향은 동작 중 그대로 유지됩니다 - 이 정향은 시작점에서 티칭
된 정향과 동일합니다. 최종점에서 티칭된 정향을 무시합니다.

182/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
그림 6-26: 일정한 방향

진행 방법

그림 6-27: 동작 파라미터 SLIN

1. 열린 인라인 양식에서 CPDATn 필드(1)의 화살표 아이콘을 터치합니


다.
2. 표시된 동작 파라미터 창에서 다음 어댑테이션을 실시합니다
• 방향 컨트롤(2)
(>>> "SLIN 동작 유형" 페이지 182)

‒ 표준
‒ 수동 PTP
‒ 일정한 방향 컨트롤
3. 축 속도(3)
4. 근사접근 거리(4)
(>>> 6.4.4 "경로 동작 시 우회" 페이지 194)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 183/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

5. 축 가속도(5)

6.4.3 SCIRC 프로그래밍

SCIRC에서 동작 절차

그림 6-28: SCIRC가 포함된 2개의 원 세그먼트

• 여기에서 툴 및 공작물의 기준점이 호를 그리며 목표점으로 이동합니


다.
• 트랙은 시작점과 보조점, 최종점을 통해 설명됩니다.
• 이때 지난 모션 명령의 목표점이 시작점으로 작용합니다.
• 보조점에서 툴의 정향은 전혀 무시하거나 허용할 수 있습니다.

1. 목표점/보조점으로 티칭할 위치로 TCP를 이동하십시오.

그림 6-29: SLIN 및 SCIRC이 포함된 동작 명령

2. 인라인 양식 SCIRC 삽입

그림 6-30: 동작 삽입

• 동작 지령을 삽입할 행(1)으로 커서를 이동시키십시오.

184/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
• 동일이름의 단추를 통해 동작(2)을 삽입합니다.
3. 미리 기입된 인라인 양식은 선택된 프로그램 행 뒤에 삽입됩니다.

그림 6-31: 동작 유형의 선택

• 인라인 양식에서 동작 유형이 있는 필드를 터치합니다(1).


• 선택 창이 열리고 여기에서 동작 유형 SCIRC(2)을 선택합니다.
4. 개별 동작 파라미터를 컨피규레이션합니다.
• SCIRC
(>>> 6.4.3.1 "인라인 양식: SCIRC" 페이지 186)
5. 보조점 또는 목표점 티칭

그림 6-32: SCIRC 포인트 티칭

• 원형 경로에서 보조점(HP)에 접근하고 이것을 Touch-Up 보조점


단추로 적용합니다.
• 원형 경로의 목표점(ZP)으로 접근하고 이것을 Touch-Up 목표점
단추로 적용합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 185/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

옵션으로서 추가 파라미터 ANGLE(청색 필드)를 통해 원형 경로를


목표점 밖으로 확장하거나 또는 단축시킬 수 있습니다. 이를 위해
각도 입력이 필요합니다.

주의사항
원 각도의 변경 시 다른 경로 진행을 점검해야 합니다. 충돌 위험

6. 명령 OK를 눌러 지령을 저장합니다.

그림 6-33: "명령 OK" 및 "Touchup" 시의 포인트 좌표 저장

6.4.3.1 인라인 양식: SCIRC

그림 6-34: 인라인 양식 SCIRC(개별 동작)

번호 설명
1 동작 유형 SCIRC
2 보조점을 위한 포인트 이름
시스템이 자동으로 이름을 부여합니다. 이름은 덮어쓰기할 수
있습니다.
3 목표점을 위한 포인트 이름
시스템이 자동으로 이름을 부여합니다. 이름은 덮어쓰기할 수
있습니다.
화살표 아이콘: (>>> "툴 및 베이스 설정" 페이지 175)
4 • CONT: 목표점이 근사접근됩니다.
• [비어 있음]: 목표점이 정확하게 접근됩니다.
5 속도

186/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
번호 설명
• 0.001 … 2 m/s
6 동작 데이터 레코드의 이름. 시스템이 자동으로 이름을 부여합
니다. 이름은 덮어쓰기할 수 있습니다.
포인트 데이터의 편집을 위해 화살표를 터치합니다. 해당 옵션
창이 열립니다.

7 이 동작에 대한 충돌 감지

• OFF: 충돌 감지가 꺼짐
• CDSet_Set[No.]: 충돌 감지가 꺼짐. 데이터 레코드 No.의
값을 감지에 사용합니다.

8 원 각도

• - 9 999° … + 9 999°
- 400° 미만 또는 + 400° 이상의 원 각도를 입력하는 경우, 인
라인 양식의 저장 시 입력의 확인 또는 삭제를 묻는 확인창이
나타납니다.
9 이 필드는 파라미터 전환을 통해 보이게 하거나 또는 숨길 수
있습니다.
로직 파라미터가 포함된 데이터 레코드의 이름. 시스템이 자동
으로 이름을 부여합니다. 이름은 덮어쓰기할 수 있습니다. 데이
터의 처리를 위해 화살표를 터치하십시오. 해당 옵션창이 열립
니다.

방향 컨트롤

• 트랙 동작 시 정향 가이드를 정확하게 정의할 수 있습니다.


• 툴은 동작의 시작점 및 목표점에서 서로 다른 방향을 가질 수 있습니
다.
‒ 툴의 방향 컨트롤
(>>> 6.4.3.2 "SCIRC에서 방향 컨트롤" 페이지 187)
• 툴의 방향은 원형 경로의 출발 시 다른 파라미터에 의해 영향을 받을
수 있습니다:
‒ 보조점에서의 회전.
(>>> 6.4.3.3 "SCIRC: 방향 컨트롤 - 예: 보조점" 페이지 190)
‒ 목표점에서 방향 컨트롤
(>>> 6.4.3.4 "SCIRC: 방향 컨트롤 - 예: 목표점" 페이지 193)

6.4.3.2 SCIRC에서 방향 컨트롤

SCIRC 동작 유형

SCIRC 동작 유형의 방향 설정 가이드

• 기본 또는 수동 PTP
‒ 툴의 방향이 동작 중에 지속적으로 변합니다.
‒ 로봇이 표준 모드로 손목축 특이성으로 들어갈 때만 수동 PTP를
사용하십시오. 왜냐하면 정향이 손목축 각도의 선형 전환(축 고유
의 이동)에 의해 실행되기 때문입니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 187/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

그림 6-35: 기본 + 베이스 기준

• 상수
‒ 툴의 정향은 동작 중 그대로 유지됩니다 - 이 정향은 시작점에서
티칭된 정향과 동일합니다.
‒ 최종점에서 티칭된 정향을 무시합니다.

그림 6-36: 일정한 방향 컨트롤 + 베이스 기준

• 상수, 경로 기준

188/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
그림 6-37: 일정한 방향, 경로 기준

진행 방법

그림 6-38: 동작 파라미터

1. 열린 인라인 양식에서 CPDATn 필드(1)의 화살표 아이콘을 터치합니


다.
2. 표시된 컨텍스트 창에서 평가 파라미터 탭(2)으로 이동합니다.
파라미터
3 서클 방향 컨트롤

• 베이스 기준
• 경로 기준
4 축 가속도
이 값은 머신 데이터에 명시된 최대값을 기준으로 함.

• 1 … 100 %

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 189/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

5 우회 거리
이 필드는 인라인 양식에서 CONT가 선택된 경우에만 표시됩니
다.
근사접근이 가장 빨리 시작되는 목표점 이전의 거리.
이 거리는 시작점과 목표점 사이의 최대 절반에 해당할 수 있습
니다. 여기에 더 큰 값을 입력하는 경우, 이 값은 무시되고 최대
값이 사용됩니다.
6 축 속도.
이 값은 머신 데이터에 명시된 최대값을 기준으로 함.

• 1 … 100 %
7 방향 컨트롤

• 표준
• 수동 PTP
• 일정한 방향 컨트롤

6.4.3.3 SCIRC: 방향 컨트롤 - 예: 보조점

아웃풋 상황

• TCP에 다음과 같은 방향 설정이 프로그래밍되어 있습니다.


‒ 시작점: 0°
‒ 보조점: 98°
‒ 목표점: 197°
• 방향 전환은 197°입니다.
보조점을 무시하면, 더 짧은 전환 경로(360° - 197° = 163°)로 목표
방향 설정에 도달할 수 있습니다.
‒ 표시된 주황색 화살표는 프로그래밍된 방향 설정을 나타냅니다.
‒ 회색 화살표가 프로그래밍된 방향 설정과 다를 경우 회색 화살표는
현재의 방향 설정을 도식으로 나타내는 것입니다.

보간 #INTERPOLATE

그림 6-39: #INTERPOLATE

SP 시작점
AuxP 보조점
TP 목표점

• TCP는 보조점에서 98°로 프로그래밍된 방향 설정을 수행합니다.

190/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
• 방향 전환은 197°입니다.

무시 #IGNORE

그림 6-40: #IGNORE

• 짧은 163° 경로로 방향이 전환됩니다.


• 보조점의 프로그래밍된 방향은 무시됩니다.

고려 #CONSIDER

그림 6-41: #CONSIDER

• 프로그래밍된 보조점의 방향 설정은 98°이고, 이에 따라 진로가 연장


되었습니다.
• 따라서 로봇 제어 시스템이 연장된 진로로 방향을 전환합니다.

고려 #CONSIDER는 사용자가 보조점을 경유하지 않고 어떤 방향으로


TCP를 전환하고자 하는지 지정할 때 적합합니다. 사용자가 보조점을
경유하는 방향을 지정할 수도 있습니다.

고려 #CONSIDER에 대한 다른 예시

그림 6-42: #CONSIDER, 다른 예시

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 191/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

• 보조점을 262°으로 프로그래밍하면 거리가 더 단축될 수 있습니다.


• 따라서 로봇 제어 시스템이 단축된 거리로 방향을 전환할 수 있습니다.
• 이때 회색 화살표가 보조점의 프로그래밍된 방향 설정을 반드시 따르
지는 않습니다.

진행 방법

그림 6-43: SCIRC 방향 컨트롤

1. 열린 인라인 양식에서 CPDATn 필드(1)의 화살표 아이콘을 터치합니


다.
2. 표시된 컨텍스트 창에서 서클 컨피규레이션 탭(2)으로 이동합니다.
3. 보조점 및 목표점을 위한 방향 컨트롤을 결정합니다.

엘리먼트 설명
보조점에서 풀다운 메뉴
의 회전.
• INTERPOLATE: TCP는 보조점에서 프로그래밍된
방향 설정을 실행합니다.
• IGNORE: 로봇 제어 시스템은 보조점의 프로그래밍
된 방향 설정을 무시합니다. TCP의 초기 방향 설정
이 목표 방향 설정으로 진행되는 가장 짧은 진로로
전환됩니다.
• CONSIDER(기본값): 로봇 제어 시스템이 보조점의
프로그래밍된 방향 설정에 근접한 진로를 선택합니
다.
목표점에서 풀다운 메뉴
방향 컨트롤
• INTERPOLATE: 실제 목표점에서 목표점의 프로그
래밍된 방향 설정을 수행합니다.
(SCIRC의 원 각도 정보가 없는 경우 유일한 방법.
EXTRAPOLATE가 설정되어 있어도
INTERPOLATE가 실행됩니다)
• EXTRAPOLATE(원 각도 정보가 있는 SCIRC의 기
본값): 원 각도의 방향 설정이 조정됩니다.
원 각도가 동작을 연장할 경우 프로그래밍된 목표점
이 프로그래밍된 방향 설정을 수행합니다. 실제 목표
점까지 적절하게 방향 설정이 계속 실행됩니다.
원 각도가 동작을 단축할 경우, 프로그래밍된 방향
설정에 도달하지 못합니다.

192/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
6.4.3.4 SCIRC: 방향 컨트롤 - 예: 목표점

설명

• 표시된 주황색 화살표는 프로그래밍된 방향 설정을 나타냅니다.


• 회색 화살표가 프로그래밍된 방향 설정과 다를 경우 회색 화살표는 현
재의 방향 설정을 나타내는 것입니다.

보간 #INTERPOLATE

그림 6-44: #INTERPOLATE

SP 시작점
AuxP 보조점
TP 프로그래밍된 목표점
TP_CA 실제 목표점. 원 각도를 이용해 산출됨.

• 프로그래밍된 방향 설정이 TP_CA 전방에 있는 TP에 아직 도달하지


못했습니다.
• TP_CA에서 프로그래밍된 방향 설정이 실행됩니다.

외삽 #EXTRAPOLATE

그림 6-45: #EXTRAPOLATE

• TP에서 프로그래밍된 방향 설정이 실행됩니다.


• 이러한 방향 설정이 TP_CA에서도 원 각도에 따라 실행됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 193/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

진행 방법

참조:

6.4.3.5 $CIRC_MODE의 제한

제약사항

시스템 변수 설명 중 일부
• SCIRC 세그먼트에 $ORI_TYPE = #IGNORE가 유효하면,
$CIRC_MODE가 평가되지 않습니다.
• $ORI_TYPE = #IGNORE 가 유효한 상태에서 SCIRC 세그먼트보다
SCIRC 또는 SLIN 세그먼트가 선행하면, 해당 SCIRC 세그먼트에
#CONSIDER를 사용할 수 없습니다.
원 각도 정보가 있는 SCIRC의 경우:

• 보조점에서 #INTERPOLATE를 설정하면 안 됩니다.


• $ORI_TYPE = #IGNORE 가 유효하면, 목표점에 대한
#EXTRAPOLATE를 설정하면 안 됩니다.
• $ORI_TYPE = #IGNORE가 유효한 상태에서 스플라인 세그먼트가 선
행하면, 목표점에 대한 #EXTRAPOLATE를 설정하면 안 됩니다.

오류 메시지 설명

일부 오류 메시지에 "규칙 x로 인한 오류" 텍스트가 포함되어 있습니다.


$CIRC_MODE 프로그래밍 시 방향 설정과 보조 축에 유의해야 합니다.
1. 규칙 1: 시작점과 목표점을 무시할 수 없는 경우, #CONSIDER가 허용
된 것입니다.
2. 규칙 2: 시작점과 목표점을 무시할 수 없는 경우, $CIRC_TYPE=
#PATH가 허용된 것입니다.
3. 규칙 3: $ORI_TYPE = #IGNORE 또는 $EX_AX_IGNORE가 설정되어
있으면, $CIRC_MODE를 더는 평가할 수 없습니다.
4. 규칙 4: 원 각도가 프로그래밍되어 있으면, 보조점에서 보간법을 실행
할 수 없습니다.
5. 규칙 5: 원 각도가 프로그래밍되어 있으면, 보외법을 통해 목표점을 정
확하게 규정해야 합니다(시작점과 목표점을 무시할 수 없는 경우).
6. 규칙 6: 원 각도가 프로그래밍되어 있으면, 목표점을 정확하게 적용해
야 합니다(보간법)(무시할 수 없는 경우).
7. 규칙 7: #CONSIDER 경로는 보조 축이 무한 회전할 경우에만 적용됩
니다. 다른 축의 경우에는 #IGNORE에 맞는 짧은 경로만 항상 선택됩
니다.
8. 규칙 8: 원 각도가 프로그래밍되어 있는 경우에만 TARGET_PT 부품
이 고려됩니다.
9. 규칙 9: $CIRC_MODE 읽기 기능은 절대로 허용되지 않습니다. SCIRC
의 WITH-Token에서 작성만 할 수 있습니다.

6.4.4 경로 동작 시 우회

경로 동작 우회

우회는 써클 모션 생성에는 적합하지 않습니다. 이 기능은 포인트에서


정확하게 정지하는 것을 방지하기 위해서만 사용됩니다.

동작 유형 SLIN과 SCIRC에서 우회

194/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
동작 유형 특징 우회 거리

• 경로진행은 2개의 mm 표기
포물선형 나뭇가
지와 같습니다.

• 경로진행은 2개의 mm 표기
포물선형 나뭇가
지와 같습니다.
• 목표점이 우회됩
니다

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 195/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

6.4.5 CP 모션 및 근사접근

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 경로 이동 및 우회

196/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
6.5 글로벌 포인트로 프로그래밍

설명

그림 6-46: 글로벌 및 로컬 포인트

• 상기 예시에서는 포인트를 2개의 유사한 차량으로 접근시켜야 합니다.


‒ 오렌지색 포인트는 양측 차체에서 동일합니다.
‒ 녹색 포인트는 양측 차체에서 서로 다릅니다.
• 양측 차량에 대해 서로 다른 프로그램이 사용됩니다.
• 프로그래밍 비용 및 관리 비용을 최소화하기 위해
‒ 오렌지색 포인트는 글로벌 포인트로 티칭됩니다.
‒ 녹색 포인트는 프로그램 데이터 목록에서 로컬 포인트입니다.
• 글로벌 포인트는 컨트롤러에서 별도의 글로벌 포인트 데이터 목록에
저장됩니다.

글로벌 포인트 티칭 기능은 관리자를 통해 승인되어야 합니다.

법관리

낮은 레벨의 사용자그룹도 글로벌 포인트 티칭 기능을 사용할 수 있도


록 하기 위해, 여기에서 관리자는 권한 관리에서 이것을 승인해야 합니
다.

그림 6-47: 권한관리

제약사항

글로벌 포인트는 다음 동작을 위해 가능합니다

• SLIN (SPLINE 블록뿐 아니라 개별적으로도 가능)


• SPTP (SPLINE 블록뿐 아니라 개별적으로도 가능)
• LIN
• PTP

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 197/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

글로벌 포인트는 다음에 불가능합니다

• 전체로서의 SPLINE 블록
• SCIRC
• CIRC

HOME 위치는 이미 글로벌 포인트입니다!

진행 방법

그림 6-48: 글로벌 포인트 활성화

1. 인라인 양식에서 포인트 파라미터(1)를 엽니다.


2. 파라미터 탭(2)으로 이동합니다.
3. 동일이름의 단추를 통해 글로벌 포인트(3)를 활성화시킵니다.
4. 열린 인라인 양식에서 GLOBAL 접미사를 통한 글로벌 포인트의 선택

그림 6-49: 인라인 양식의 글로벌 포인트

5. OK 단추를 눌러 포인트를 적용합니다.


6. 프로그램에서는 전역으로 저장된 포인트를 <> 꺽쇠에서 알 수 있습니
다.
• 로컬로 저장된 포인트

1 SPTP P3 Vel = 100% ....

• 글로벌로 저장된 포인트

1 SPTP <P3> Vel = 100% ....

198/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
각 포인트에 대해 이것을 로컬로 또는 글로벌로 저장할 것인지를 개별
적으로 결정할 수 있습니다.

주의사항
글로벌 포인트의 위치가 Touch-Up을 통해 다시 변경되는 경우, 시스템
은 가능한 다중 사용/충돌위험을 알립니다.

그림 6-50: 참조 메시지

Global_Points.dat

• 인라인 양식에서 글로벌로 활성화되는 포인트는 Global_Points.dat에


저장됩니다.
• 메뉴 경로: KUKA_DISK C: > KRC > 로봇 > KRC > R1 > 시스템 >
Global_Points.dat

그림 6-51: Global_Points.dat

• 예시: Global_Points.dat에 저장된 포인트

DEFDAT GLOBAL_POINTS PUBLIC


DECL GLOBAL E6POS gXP1={X 1765.00,Y -2.81284883E-07,Z
1784.00,A 0.0,B 90.0000,C 9.13112519E-09,S 6,T 26,E1 0.0,E2 0.0,E3
0.0,E4 0.0,E5 0.0,E6 0.0}
DECL GLOBAL FDAT gFP1={TOOL_NO 1,BASE_NO 0,IPO_FRAME
#BASE,POINT2[] " "}
DECL GLOBAL PDAT gPPDAT1={VEL 100.000,ACC
100.000,APO_DIST 100.000,APO_MODE #CPTP,GEAR_JERK
50.0000,EXAX_IGN 0}
ENDDAT

• 구문:
‒ 로컬 데이터 목록에서 인라인 양식을 통해 티칭된 포인트.

xP1 = {X 1700, Y 23, Z 1200, A 0, B 90, C 45}

‒ Global_Points.dat에서 인라인 양식을 통해 티칭된 포인트.

gxP1 = {X 1700, Y 23, Z 1200, A 0, B 90, C 45}

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 199/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

서로 다른 xPn 및 gXPn 접두사를 통해 컨트롤러에서 각각의 포인트는


중복되지 않습니다.

6.6 모션 명령 변경하기

모션 명령 변경

현재의 모션 명령을 변경해야 하는 이유는 매우 다양합니다:


예가 되는 이유 실행해야 할 변경사항

• 잡고자 하는 부품의 위치가 변 • 위치 데이터 변경


경됩니다.
• 처리 시 5개의 구멍 중 1개의
위치가 변경됩니다.
• 용접 심을 줄여야 합니다.

• 팔레트 위치가 변경됩니다. • 프레임 데이터 변경: 베이스

• 실수로 한 위치가 잘못된 베이 • 프레임 데이터 변경: 위치 업데


스 혹은 잘못된 툴로 교시되었 이트를 통한 베이스 및/또는
습니다. 툴
• 처리 시간이 너무 길 경우: 사 • 모션 데이터 변경: 속도, 가속
이클 시간을 개선해야 합니다. 도
• 모션 유형 변경

위치 데이터의 변경

그림 6-52: "터치업"(Touchup)을 사용한 로봇 위치 변경

• 포인트의 데이터 레코드만 변경됩니다: "Touchup"을 통해 값이 업그


레드되어, 이 포인트는 새로운 좌표를 갖습니다.
• 이전의 점 좌표는 덮어쓰기되었고 이제 더 이상 사용할 수 없습니다!

진행 방법

1. 모드 종류 T1을 설정하고 변경할 지령이 있는 행으로 커서를 이동시키


십시오.

200/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
2. 로봇을 원하는 위치로 보냅니다.
3. 변경을 누릅니다.

그림 6-53: 인라인 양식, 단추

지령을 위한 인라인 양식이 열립니다.


4. SPTP 및 SLIN 동작을 위해:

그림 6-54: 인라인 양식 편집

• TCP의 현재 위치를 새로운 목표점으로 적용하기 위해 Touchup을


누릅니다.
5. SCIRC 동작을 위해:

그림 6-55: SCIRC, 단추

• TCP의 현재 위치를 새로운 보조점으로 적용하기 위해, 보조점


Touchup을 누릅니다.
• 또는 TCP의 현재 위치를 새로운 목표점으로 적용하기 위해, 목표
점 Touchup을 누릅니다.
6. 대화창: ""XPnn" 포인트를 정말 수용하시겠습니까?"

그림 6-56: 메시지

예를 눌러 대화 상자를 확인합니다.
7. 명령 OK를 눌러 변경 내용을 저장합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 201/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

프레임 데이터 변경하기

그림 6-57: 프레임 데이터 변경(예를 들어 베이스)

• 프레임 데이터(예를 들어 툴, 베이스)를 변경할 때 위치가 이동됩니다("


벡터이동" 비고)
• 로봇 위치가 변경됩니다! (로봇의 축 각도 위치에 상응하여)
포인트의 이전 좌표는 여전히 저장되어 있고 유효합니다. 단지 기준만
(예를 들어 베이스) 변경됩니다.
• 작업영역을 넘어서는 경우가 발생할 수 있습니다! 이로써 특정 로봇 위
치에는 이를 수 없습니다.
• 로봇 위치가 여전히 동일할 경우, 그렇지만 그럼에도 불구하고 프레임
파라미터가 변경될 경우 파라미터(예를 들어 베이스)를 변경한 후 원하
는 위치에서 좌표를 "Touchup"을 사용하여 업데이트해야 합니다.

사용자 대화상자가 별도로 경고합니다: "주의 - 포인트와 관련된 프레


임 데이타 변경 시 충돌 위험!"

진행 방법

1. 변경할 지령이 있는 행으로 커서를 이동합니다.


2. 변경을 누릅니다.

그림 6-58: 인라인 양식, 단추

지령을 위한 인라인 양식이 열립니다.


3. 옵션 창 프레임을 엽니다.
4. 새 툴 혹은 베이스, 외부 TCP를 설정합니다.

202/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
그림 6-59: 베이스 및 툴 설정

5. 사용자 대화창 "유의. 포인트에 대한 프레임 파라미터 변경 시 충돌의


위험이 있습니다!"를 OK를 눌러 확인하십시오.

그림 6-60: 메시지, 충돌위험

6. 현재의 로봇 위치를 변경된 툴 및/또는 베이스 설정에서도 유지하려면


Touch Up 버튼을 눌러 현재의 위치를 다시 계산하여 저장해야 합니
다. 이에 앞서 원하는 위치로 이동해 있어야 합니다.
7. 명령 OK를 눌러 변경 내용을 저장하십시오.

프레임 파라미터를 변경할 경우 충돌의 위험이 없는지 프로그램을 다시


테스트해야 합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 203/378


프로그래밍된 동작 만들기 및 변경 로봇 프로그래밍 1

모션 유형 변경하기

그림 6-61: 동작 유형 변경

• 모션 유형을 변경하면 항상 트랙 진행계획도 변경됩니다. 이로 인해 부


적절한 상황에서 충돌을 일으킬 수 있습니다. 트랙이 예견하기 어렵게
변경되기 때문입니다.

진행 방법

1. 변경할 지령이 있는 행으로 커서를 이동합니다.


2. 변경을 누릅니다.

그림 6-62: 인라인 양식, 단추

지령을 위한 인라인 양식이 열립니다.


3. 파라미터를 변경하십시오.
4. 명령 OK를 눌러 변경 내용을 저장하십시오.

모션 파라미터를 변경할 때 프로그램을 충돌 가능성 및 공정 안전성 관


점에서 다시 점검해야 합니다.

이 방법은 다음과 같은 변경에 사용될 수 있습니다:

• 동작 유형
• 속도
• 가속도
• 우회
• 우회 거리

204/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그래밍된 동작 만들기 및 변경
모션 명령 변경을 위한 안전지침

주의사항

• 매번 모션 명령을 변경한 후 로봇 프로그램을 감속된 상태(모드 유


형 T1)에서 테스트해야 합니다.
• 로봇 프로그램을 높은 속도로 즉각 시작하면 예측할 수 없는 모션이
발생할 수 있기 때문에 로봇 시스템과 설비를 손상시킬 수 있습니
다.
• 위험구역에 인원이 있을 경우 치명적인 부상을 입을 수 있습니다.

포인트 이름 바꾸기

1. 이름을 바꿀 포인트를 커서로 선택하십시오.


2. 버튼영역 "변경"을 눌러 인라인 양식을 여십시오.
3. 포인트 이름을 인라인 양식에서 변경하십시오(포인트 이름 필드).
4. 변경사항을 버튼영역 "OK"를 눌러 채택하십시오.
5. 다음과 같은 대화상자가 나타납니다: "포인트 이름” 포인트의 이전 좌
표를 그대로 유지하시겠습니까? (TOOL_DATA[n], BASE_DATA[n],
#BASE)
6. 버튼영역 "예"로 원래 포인트의 이전 좌표를 채택합니다.

포인트 다중 사용

1. 새 인라인 양식을 원하는 프로그램 위치에 삽입하십시오.


2. 다시 사용하고자 하는 포인트의 이름을 인라인 양식에 입력하십시오
(포인트 이름 필드).
이때 포인트 이름을 있는 그대로 정확히 기입하도록 유의하십시오.
3. 그 외 다른 설정 작업을 실행한 후 버튼영역 "명령 OK"를 눌러 채택하
십시오.
4. 다음과 같은 대화상자가 나타납니다: "포인트 이름” 포인트가 이미 존
재합니다 - 덮어쓰시겠습니까? (TOOL_DATA[n], BASE_DATA[n],
#BASE)
5. 버튼영역 "아니요"를 눌러 원래의 포인트의 기존의 포인트 파라미터를
덮어쓰지 않습니다.

프로그램 행 삽입

1. 기존의 프로그램 행을 커서로 선택하십시오.


2. 버튼영역 모션으로 새 인라인 양식을 여십시오.

새 인라인 양식은 항상 선택한 프로그램 행 뒤에 삽입됩니다. 그 다음에


오는 프로그램 행은 한 행씩 뒤로 밀립니다.

프로그램 행 삭제

1. 삭제하고자 하는 프로그램 행을 커서로 선택하십시오.


2. 메뉴 경로:편집 > 삭제 단추

이에 속하는 .dat 파일에 포인트와 관련된 값이 남아 있습니다. 포인트


다중 사용도 참조.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 205/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

7 스플라인 동작의 프로그래밍

7.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• SPLINE 은 무엇입니까?
• SPLINE 블록의 설명
• 동작이 포함된 SPLINE 블록 프로그래밍
• 프로그래밍 지침
• SPLINE 동작의 근사접근

7.2 스플라인은 무엇입니까?

설명

개별 동작 프로그래밍하기

• 로봇 프로그램은 첫 번째 단계에서 개별적으로 티칭된 또는 계산된 포


인트로 구성됩니다.

그림 7-1: 초기 상황 위치

• 인라인 양식 또는 KRL 프로그래밍을 통해 어떻게 이 포인트를 서로


연결해야 하는지가 로봇에 추가적으로 통보됩니다.
• 예시: 가능한 동작 레코드는 여기에서 (S)LIN입니다. » 포인트는 구간
을 통해 서로 연결됩니다.

206/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


그림 7-2: 리니어 보간

단점: 로봇이 각각의 개별 포인트에서 정지하고 다시 가속합니다.

• 정확 정지를 방지하기 위해, 포인트는 CONT 파라미터로


근사접근시킬 수 있습니다.

그림 7-3: B-SPLINE 보간

단점: 로봇이 티칭된/계산된 포인트에 근사접근합니다.


이점: 로봇이 매끄러운 동작으로 전체 경로를 이동합니다.

정확하게 이것은 스플라인의 특수한 경우에 해당합니다.

스플라인은(SPLINE) 무엇입니까?

• 긴 탄성 판자
‒ "스플라인"이라는 명칭은 과거에 선박 또는 항공기 제조에서 표면
을 매끈하게 가공하는데 사용된 “긴 박판”의 클램핑에서 유래합니
다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 207/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

그림 7-4: 선체, 판자 구조

‒ 이 방법에서는 보간점(그림에서 못/핀에 해당)에서 분할된 목재 중


량에 의해 탄성 판자(탄성의 긴 판재; 영어: spline)가 강제로 보간
조건(컨투어)을 충족해야 합니다.

그림 7-5: 긴 탄성 판자

‒ 이 과정을 거쳐 재료의 탄성이 가장 작은 전체 곡률의 벤딩선이 형


성됩니다.
• 보간점 이동됨

그림 7-6: 보간점의 이동

‒ 보간점(적색 못/핀)의 이동은 긴 탄성 판자 즉 스플라인의 전체 경


로에 영향을 미칩니다.
‒ 복수의 보간점을 통해 경로를 정밀하게 구현할 수 있습니다.

수학적 배경

• 다항식 보간

208/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


그림 7-7: 다항식 보간

‒ 다항식 보간, 포인트를 통한 n번째 도 기능


‒ 예를 들어 보간 기능으로서 사용되는 것보다 더 높은 도의 다항식
기능이 사용되는 경우(그림 참조), 곡선의 매우 큰 진동이 발생할
수 있습니다.
‒ 명시된 8개의 위치에서 하나의 7도 다항식이 나타납니다
(ax7+bx6+...)

선박건조 또는 항공산업과 같은 설계 어플리케이션에서는 이런 강한


진동이 극히 지양되며, 여기에서는 개별 보간 위치 사이에서 단지
약하게 휘어진, 부드러운 곡선이 필요합니다(톱니 형태의 선체를 보
기로 들 수 있음).

• 스플라인 보간

그림 7-8: 스플라인 보간

‒ 스플라인은 모든 보간 위치를 통해 기능을 보간하는 것을 시도하지


않으며 단지 로컬에서 각각 2개의 보간 위치를 통해 보간하는 것을
시도합니다.
‒ 이 스플라인은 평활 작용을 하며 매우 작은 파형도를 갖습니다. 이
를 통해 실제에 유사한 컨투어를 구현할 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 209/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

‒ 가장 빈번하게 여기에서는 선형 또는 육각형 스플라인이 사용되며,


이것은 선형 기능 또는 3 또는 4도 다항식(KUKA)으로 보간됩니
다.
‒ 보간 위치에서 스플라인은 항상 2중으로 분할할 수 있어야 합니다.
‒ 인접한 스플라인 엘리먼트의 오름경사 및 곡률은 서로 일치해야 합
니다.

다음도 참조 (>>> 그림 7-3)

7.3 스플라인 블록의 설명

설명

그림 7-9: 스플라인 동작

• SPTP, SLIN, SCIRC 및 상대적 동작이 포함된 단일 레코드에 추가적


으로 "스플라인 블록"을 사용할 수 있습니다.
• 스플라인 블록은 특히 복잡한 스윙 경로에 적합한 동작 유형입니다.
• 스플라인 블록은 “복잡한 경로”가 포함된 개별 동작을 위해 계획되고
수행됩니다.
• 2가지 종류의 스플라인 블록이 존재합니다:
‒ 스플라인 블록
경로 동작이 포함된 스플라인 (SPL, SLIN, SCIRC)
‒ PTP 스플라인 블록
축 공간에서만 동작을 포함하는 스플라인 (SPTP만)
• 경로는 모든 포인트를 통과하는 것으로 계획되고 따라서 모든 포인트
가 통과됩니다.
• 경로는 완전히 사전에 계산됩니다.
• 매우 좁은 컨투어를 갖는 경로는 항상 속도를 낮추는데, 로봇 축이 제
한적인 엘리먼트이기 때문입니다.

210/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


스플라인 경로

그림 7-10: 스윙 경로, 스플라인 블록

• 이 경로는 경로에 놓여 있는 보간점을 통해 정의됩니다.


로봇은 보간점에서 경로를 계산합니다
• 프로그래밍된 속도가 기존 동작 유형보다 더 정확하게 유지됩니다. 드
문 경우에만 감속이 나타납니다.
이외에도 스플라인 블록에서 조건적 정지의 특정한 정속 이동 영역을
정의할 수 있습니다.
• 경로는 오버라이드, 속도 또는 가속도에 상관없이 항상 동일하게 진행
됩니다.
• 원 및 좁은 반경에서 높은 정밀도로 이동합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 211/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

스플라인 블록의 구조

그림 7-11: 스플라인 블록

• 스플라인 블록은 컨트롤러에 의해 동작으로서 보간되는 Fold(폴드)입


니다.
• 이 폴드에서는 스플라인 동작으로서 보간되는 보간점이 티칭됩니다.
• 추가적으로 로봇은 개별 스플라인 세그먼트에서 선형 또는 원형 경로
로 강제로 동작할 수 있습니다. 이것은 세그먼트에서 보간점까지의 동
작 유형 선택을 통해 이루어집니다.
• 여기에서 개별 스플라인 세그먼트를 위한 다음 동작 유형이 나타납니
다:
‒ SLIN
‒ SCIRC
‒ SPL
• 전체 스플라인 블록을 위해 동작 이름의 "머리글"에는 글로벌 파라미터
도 결정됩니다.
‒ 툴, 베이스
‒ 속도
‒ 우회
‒ 동작 파라미터
‒ 충돌 인식 on/off
• 개별적으로 티칭된 각각의 동작에서 편차가 나타날 수 있습니다.
예외: 툴 및 베이스가 오로지 "머리글"을 통해 결정됩니다.

• 스플라인 블록은 동작 세그먼트 외에 다음 요소를 포함할 수 있습니다:


‒ 스플라인 기능을 갖는 테크놀로지 패키지의 인라인 명령
‒ 메모 및 공백 행
• 스플라인 블록은 예를 들어 변수 할당 또는 로직 지령과 같은 기타 지
령을 포함할 수 없습니다.

212/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


예외: 인라인 양식을 통해 사용할 수 있는 스플라인 로직 (트리거,
조건적 정지, 속도 상수)

스플라인 블록 전 및 후의 포인트는 컨투어가 스플라인 블록으로 또는


스플라인 블록에서 이동하는 방식을 결정합니다.

스플라인 블록의 시작점은 스플라인 블록 전 마지막 포인트입니다.


스플라인 블록의 목표점은 스플라인 블록 내 마지막 포인트입니다.
스플라인 블록은 전진 중지를 발생시키지 않습니다.

7.4 동작이 포함된 SPLINE 블록 프로그래밍

1. 스플라인 블록 삽입

그림 7-12: 스플라인 블록 삽입

• 스플라인 블록을 삽입할 프로그램 행(1) 뒤에 커서를 위치시킵십시


오.
• 명령 버튼(2)을 터치합니다.
• 동작 항목(3)을 엽니다.
• 컨텍스트 메뉴에서 스플라인 블록(4)을 선택합니다.
2. 스플라인 블록이 삽입됩니다.

그림 7-13: CP 스플라인 블록의 인라인 양식

• 스플라인 블록(1)의 이름을 결정합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 213/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

• 단일 레코드 프로그래밍에 상응하게 다른 모든 파라미터가 스플라


인 블록 전체에 적용됩니다.
(툴, 베이스, 근사접근, TCP에서의 속도, 방향 컨트롤, 저크, 충돌
인식)

개별적으로 티칭된 각각의 포인트에서 개별적으로 이 파라미터에서


편차가 나타날 수 있습니다.

3. 스플라인 블록은 프로그램 기술적으로 Fold(폴드)에 해당합니다. 여기


에서는 이동할 포인트가 순차적으로 티칭됩니다.

그림 7-14: Fold 열기

• 스플라인 블록을 새로 삽입하는 경우, 폴드가 이미 열립니다.


• 오랫동안 비활성화된 경우 폴드가 닫히고 다시 열어야 합니다.
• 이를 위해 스플라인 블록을 선택하고(1) 동일한 이름의 단추로 폴
드를 열고/닫습니다(2).
4. 로봇을 새로 수용하하는 포인트로 이동시킵니다.

그림 7-15: 포인트 수용

• 스플라인 블록(1) 내에 포커스를 지정합니다.


포인트가 이미 프로그래밍된 경우 새로운 포인트를 삽입할 위치.
• 단추 명령(2)을 통해 새로운 포인트를 스플라인 블록에 삽입합니
다.
5. 가능성 1: 동작 삽입

214/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


그림 7-16: 동작

• 메뉴 경로: 명령 > 동작 > SLIN,SCIRC 또는 SPL


• SLIN, SCIRC 또는 SPL 동작만 스플라인 블록 내에서 가능합니다.
6. 가능성 2: 동작 삽입

그림 7-17: 동작 삽입

• 열린 폴드에서 동일한 이름의 단추를 통해 동작(1)를 삽입합니다.


• 원하는 동작을 풀다운 창(2)을 통해 변경합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 215/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

7.4.1 스플라인 블록 내 SLIN

설명

그림 7-18: 인라인 양식 SLIN 세그먼트

번호 설명
1 동작 유형

• SPL, SLIN 또는 SCIRC


2 모션 포인트

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 티칭된 포인트 좌표는 이 포인트에 저장됩니다.
3 직교좌표 속도

• 기본적으로 스플라인 블록에 유효한 글로벌 값이 동작에 대


해 적용됩니다.
• 입력된 값은 이 동작에 대해 적용됩니다

• 0.001 … 2 m/s
4 동작 파라미터

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 기본적으로 스플라인 블록에 유효한 글로벌 값이 동작에 대
해 적용됩니다.
• 입력된 값은 이 동작에 대해 적용됩니다
• 데이터의 처리를 위해 화살표를 터치하십시오.
평가 파라미터 창이 열립니다: (>>> 7.4.4 "동작 파라미터"
페이지 220)
5 이 동작에 대한 충돌 감지

• OFF: 충돌 감지가 꺼짐
• CDSet_Set[No.]: 충돌 감지가 꺼짐. 데이터 레코드 No.의
값을 감지에 사용합니다.
6 로직 파라미터

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 입력된 값은 이 동작에 대해 적용됩니다
• 데이터의 처리를 위해 화살표를 터치하십시오.
• 해당 옵션창이 열립니다.
로직 파라미터

‒ 트리거
‒ 조건적 정지
‒ 일정 속도

216/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


파라미터 전환

그림 7-19: 파라미터 전환

• 기본적으로 인라인 양식의 모든 필드가 표시되지는 않습니다.


• 인라인 양식이 열린 상태에서 파라미터 교환 단추를 이용해 추가적 파
라미터를 표시하고 다시 숨길 수 있습니다.

7.4.2 스플라인 블록 내 SCIRC

설명

그림 7-20: 인라인 양식 SCIRC 스플라인 세그먼트

번호 설명
1 동작 유형

• SPL, SLIN 또는 SCIRC


2 보조점

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 티칭된 포인트 좌표는 이 포인트에 저장됩니다.
3 목표점

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 티칭된 포인트 좌표는 이 포인트에 저장됩니다.
4 직교좌표 속도

• 기본적으로 스플라인 블록에 유효한 글로벌 값이 동작에 대


해 적용됩니다.
• 입력된 값은 이 동작에 대해 적용됩니다

• 0.001 … 2 m/s
5 동작 파라미터

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 217/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

번호 설명
• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.
• 기본적으로 스플라인 블록에 유효한 글로벌 값이 동작에 대
해 적용됩니다.
• 입력된 값은 이 동작에 대해 적용됩니다
• 데이터의 처리를 위해 화살표를 터치하십시오.
동작 파라미터 창이 열립니다: (>>> 7.4.4 "동작 파라미터"
페이지 220)
6 이 동작에 대한 충돌 감지

• OFF: 충돌 감지가 꺼짐
• CDSet_Set[No.]: 충돌 감지가 꺼짐. 데이터 레코드 No.의
값을 감지에 사용합니다.
7 원 각도

• 원형 경로를 목표점에 대해 크게 또는 작게 이동시키기 위


해 옵션으로 활성화 가능.
• - 9 999° … + 9 999°
• - 400° 미만 또는 + 400° 이상의 값을 입력하는 경우, 인
라인 양식의 저장 시 입력의 확인 또는 삭제를 묻는 확인창
이 나타납니다.
8 로직 파라미터

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 입력된 값은 이 동작에 대해 적용됩니다
• 데이터의 처리를 위해 화살표를 터치하십시오.
• 해당 옵션창이 열립니다.
로직 파라미터

‒ 트리거
‒ 조건적 정지
‒ 일정 속도

파라미터 전환

그림 7-21: 파라미터 전환

• 기본적으로 인라인 양식의 모든 필드가 표시되지는 않습니다.


• 인라인 양식이 열린 상태에서 파라미터 교환 단추를 이용해 추가적 파
라미터를 표시하고 다시 숨길 수 있습니다.

218/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


7.4.3 스플라인 블록 내 SPL

설명

그림 7-22: 인라인 양식 SPL 세그먼트

번호 설명
1 동작 유형

• SPL, SLIN 또는 SCIRC


2 모션 포인트

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 티칭된 포인트 좌표는 이 포인트에 저장됩니다.
3 직교좌표 속도

• 기본적으로 스플라인 블록에 유효한 글로벌 값이 동작에 대


해 적용됩니다.
• 입력된 값은 이 동작에 대해 적용됩니다

• 0.001 … 2 m/s
4 동작 파라미터

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 기본적으로 스플라인 블록에 유효한 글로벌 값이 동작에 대
해 적용됩니다.
• 입력된 값은 이 동작에 대해 적용됩니다
• 데이터의 처리를 위해 화살표를 터치하십시오.
평가 파라미터 창이 열립니다: (>>> 7.4.4 "동작 파라미터"
페이지 220)
5 이 동작에 대한 충돌 감지

• OFF: 충돌 감지가 꺼짐
• CDSet_Set[No.]: 충돌 감지가 꺼짐. 데이터 레코드 No.의
값을 감지에 사용합니다.
6 로직 파라미터

• 시스템에 의해 자동으로 부여된 이름은 변경이 가능합니다.


• 입력된 값은 이 동작에 대해 적용됩니다
• 데이터의 처리를 위해 화살표를 터치하십시오.
• 해당 옵션창이 열립니다.
로직 파라미터

‒ 트리거
‒ 조건적 정지
‒ 일정 속도

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 219/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

파라미터 전환

그림 7-23: 파라미터 전환

• 기본적으로 인라인 양식의 모든 필드가 표시되지는 않습니다.


• 인라인 양식이 열린 상태에서 파라미터 교환 단추를 이용해 추가적 파
라미터를 표시하고 다시 숨길 수 있습니다.

7.4.4 동작 파라미터

동작 파라미터

• 속도(v): 속도란 시간 단위(t)당 개체가 이동한 거리(s)를 의미합니다.


수학적으로 속도는 시간에 따른 장소의 미분에 해당합니다.
• 가속도(a): 가속도란 시간 단위(t)당 개체의 속도(v) 변화를 의미합니
다. 가속도는 시간에 따른 구간의 두 번째 미분 또는 속도의 시간적 미
분에 해당합니다.

그림 7-24: 동작 파라미터

1 우회 거리
이 필드는 인라인 양식에서 CONT가 선택된 경우에만 표시됩니
다.
근사접근이 가장 빨리 시작되는 목표점 이전의 거리.
이 거리는 시작점과 목표점 사이의 최대 절반에 해당할 수 있습
니다. 여기에 더 큰 값을 입력하는 경우, 이 값은 무시되고 최대
값이 사용됩니다.
2 축 가속도
이 값은 머신 데이터에 명시된 최대값을 기준으로 함.

220/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


• 1 … 100 %
3 서클 방향 컨트롤

• 베이스 기준
• 경로 기준
4 축 속도.
이 값은 머신 데이터에 명시된 최대값을 기준으로 함.

• 1 … 100 %
5 방향 컨트롤

• 표준
• 수동 PTP
• 일정한 방향 컨트롤

7.5 프로그래밍 지침

SLIN-SPL-SLIN 천이부

그림 7-25: SLIN > SPL > SLIN 천이부

SLIN > SPL > SLIN 천이부의 프로그래밍 시 다음 사항에 주의해야 합니



• 양측 SLIN 세그먼트가 그 연장선 상에서 교차함.
• 2/3 ≤ a/b ≤ 3/2
a = SLIN 세그먼트의 교차점에 대한 SPL 세그먼트 시작점의 간격
a = SPL 세그먼트의 목표점에 대한 SLIN 세그먼트 교차점의 간격

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 221/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

7.5.1 SPLINE 블록에서 포인트 변경

설명

• 포인트 위치의 변경:


스플라인 블록 내에서 포인트가 이동되는 경우, 경로는 이 포인트 앞의
최대 2개의 세그먼트에서 그리고 이 포인트 뒤의 2개의 세그먼트에서
변합니다.
경미한 포인트 이동 시 일반적으로 경미한 경로 변경이 나타납니다. 하
지만 매우 긴 세그먼트 및 매우 짧은 세그먼트가 이어지는 경우에는
경미한 변경이 매우 큰 효과를 나타낼 수 있습니다.
• 세그먼트 타입의 변경:
SPL 세그먼트가 SLIN 세그먼트로 변경되거나 또는 그 반대로 변경되
는 경우 선행된 세그먼트 및 후속 세그먼트에서 경로가 변합니다.

예시 1

• 오리지날 패스:

그림 7-26: SPLINE, 오리지날 경로

• 오리지날 패스에서 하나의 포인트가 이동되는 경우:

그림 7-27: 포인트 이동됨

‒ P3이 이동됩니다.
‒ 이로 인해 세그먼트 P1 - P2, P2 - P3 및 P3 - P4에서 경로가
변합니다.
‒ 이 경우 P4 - P5 세그먼트는 변하지 않는데, 그 이유는 이 세그먼
트가 SCIRC에 속하며 이로써 원형 경로가 결정된 상태이기 때문입
니다.
• 오리지날 패스에 대해 경로 타입이 변경되는 경우:

222/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


그림 7-28: 경로 타입 변경됨

‒ 오리지날 패스의 경우 P2 - P3의 세그먼트 타입이 SPL에서 SLIN


으로 변합니다.
‒ 이 경로는 P1 - P2, P2 - P3 및 P3 - P4 세그먼트로 변경됩니
다.

예시 2

• 오리지날 패스:

그림 7-29: 오리지날 패스

• 오리지날 패스에서 하나의 포인트가 이동되는 경우:

그림 7-30: 포인트가 이동됨

‒ P3이 이동됩니다.
‒ 이로써 표시된 모든 세그먼트에서 경로가 변합니다.
‒ P2 - P3 및 P3 - P4는 매우 짧은 세그먼트이고 P1 - P2 및 P4
- P5는 매우 긴 세그먼트이므로, 경미한 이동이 강한 경로 변경 효
과를 나타냅니다.

• 포인트 간격을 더욱 균일하게 분포시킴


• SLIN 세그먼트로서 직선(매우 짧은 직선 제외)을 프로그래밍함

7.5.2 스플라인 동작 시 속도 프로필

SPLINE 속도

• 경로는 오버라이드, 속도 또는 가속도에 상관없이 항상 동일하게 진행


됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 223/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

• 로봇 제어 시스템은 이미 플래닝 단계에서 로봇의 물리적 한계를 고려


합니다.
• 로봇은 프로그래밍된 속도의 범위 내에서 최대한 신속하게, 즉 로봇의
물리적 한계 범위 내에서 최대 속도로 동작합니다.
• 이것은 플래닝 단계에서 물리적 한계가 고려되지 않는 기존 방식의
(S)LIN 및 (S)CIRC 동작에 비해 이점으로 작용합니다.
• 여기에서는 모션 실행 중에 비로소 물리적 한계가 고려되고 상황에 따
라 정지가 발생합니다.

속도 감속

프로그래밍된 속도에 미달해야 하는 대표적인 경우는 다음과 같습니다.


• 뚜렷한 코너
• 큰 방향 전환
• 부가축의 큰 동작
• 특이성 오류의 인접 위치

스플라인 세그먼트의 경우 큰 방향 전환으로 인한 속도 감속은 방향 컨


트롤 회전 없이의 선택을 통해 방지할 수 있습니다.

0으로 속도 감속

다음과 같은 경우에 해당:

• 동일한 좌표를 갖는 연속되는 포인트


• 연속되는 SLIN 및/또는 SCIRC 세그먼트.
원인: 속도 벡터의 불연속적 진행.

그림 7-31: P2에서 정확 정지

SLIN-SCIRC 전환 시 직선이 접선을 거쳐 원으로 바뀔 때에도 속도는


0이 됩니다. 직선과 달리 원은 휘어져 있기 때문입니다.

그림 7-32: P2에서 정확 정지

예외

• 직선이 나타나고 방향이 일정하게 변하는 SLIN 세그먼트가 연속되는


경우 속도는 감소되지 않습니다.

224/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


그림 7-33: P2가 정확 정지(exact stop) 없이 이동합니다.

• 양측 원이 동일한 중심점 및 동일한 반경을 가지며 방향이 일정하게


변하는 경우에는 SCIRC-SCIRC 전환부에서 속도가 감소되지 않습니
다. (티칭이 어려우므로 포인트 계산 및 프로그래밍)

동일한 중점 및 동일한 반경을 갖는 원은 360 ° 이상(≥)의 원을 얻기


위해 특정한 경우에만 프로그래밍됩니다. 더 간단한 방법은 원 각도를
프로그래밍하는 것입니다.

불규칙적으로 진행된 티칭으로 인한 감속

• 직교 좌표 아치 길이에 대한 방향 설정 변경/보조 축 변경으로 인해 분


포가 불규칙이면 원치 않게 속도가 감소합니다.

• 방향 진로에서 직교 좌표적 진로(아치 길이)까지 불규칙적으로 분포된


경우에는 방향을 매우 빈번하게 가속하거나 감속해서 의도적으로 방향
전환의 폭을 크게 해야 합니다.
• 이를 통해 진로 분배가 불규칙적인 경우 방향 진로 분배가 규칙적일
경우보다(비율적으로) 속도 감소가 매우 빈번하게 나타납니다.

조치

방향 설정과 보조 축을 가능한 한 동일하게 분포시키십시오.

규일한 분포의 예시:

; 스플라인의 시작점
PTP {x 0, y 0, z 0, A 0, B 0, C 0}
SPLINE
; 0,1° mm당 방향 전환(직교 좌표 거리)
SPL {x 0, y 100, z 0, A 10, B 0, C 0}
; 0,1° mm당 방향 전환(직교 좌표 거리)
SPL {x 0, y 110, z 0, A 11, B 0, C 0}
; 0,1° mm당 방향 전환(직교 좌표 거리)
SPL {x 0, y 310, z 0, A 31, B 0, C 0}
ENDSPLINE

프로그래밍된 방향 설정 있음

그림 7-34: 프로그래밍된 방향 포함

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 225/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

프로그래밍된 방향 설정 없음

그림 7-35: 프로그래밍된 방향 비포함

번호 비고
1 적절한 방향 설정이 티칭된 위치
2 보간 위치
3 적절한 방향 설정이 티칭된 위치, 해당 위치의 방향 설정
을 적용할 수 없음

주의사항

• 가끔씩 다수의 포인트가 비교적 짧은 간격으로 프로그래밍됩니다.


• 주로 직교 좌표적 경로(x, y, z)를 선호합니다.
• 스플라인은 프로그래밍된 방향 설정도 보간하여 속도 감소를 유발할
수 있습니다.
• 따라서 이러한 경우 IGNORE 인라인 양식을 선택하는 것이 좋습니
다.

7.5.3 스플라인 동작 시 레코드 선택

스플라인 블록

• 스플라인 블록의 세그먼트로 레코드 선택을 실시할 수 있습니다.


‒ CP 스플라인 블록:
BCO 이동이 기존의 LIN 동작으로서 수행됩니다. 이 내용은 확인
이 요구되는 메시지를 통해 표시됩니다.
‒ PTP 스플라인 블록:
BCO 이동이 기존의 PTP 동작으로서 수행됩니다. 이 내용은 메시
지를 통해 표시되지 않습니다.
• 일반적으로 레코드 선택 후에 프로그램 진행에서 스플라인이 처리되는
것처럼 경로가 진행됩니다.
• 레코드 선택 전에 아직 한번도 스플라인이 처리되지 않았고 이런 조건
에서 스플라인 블록의 시작 위치로 레코드 선택이 실시되는 경우에는
예외가 가능합니다:
‒ 스플라인 동작의 시작점은 스플라인 블록 전 마지막 포인트입니다.
즉 시작점이 블록 밖에 존재합니다.
로봇 컨트롤러는 스플라인의 정상적인 처리 시 시작점을 저장합니
다.
이를 통해 나중에 레코드 선택을 실시할 때 시작점을 알 수 있습니
다.

226/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


스플라인 블록이 아직 처리된 적이 없는 경우에는 시작점을 알 수
없습니다.
‒ BCO 이동 후 시작 버튼을 누르면, 변경된 경로가 확인해야 하는
메시지를 통해 표시됩니다.

예시: P1로 레코드 선택 시 변경된 경로

그림 7-36: 예시: P0이 지정되지 않은 P1로 레코드를 선택할 때 변경된


경로

행 설명
2 CP 스플라인 블록의 머리글/시작
3 … 9 스플라인 세그먼트
10 CP 스플라인 블록의 끝

1 PTP P0
2 SPLINE
3 SPL P1
4 SPL P2
5 SPL P3
6 SPL P4
7 SCIRC P5, P6
8 SPL P7
9 SLIN P8
10 ENDSPLINE

SCIRC

• 원 각도가 프로그래밍되어 있는 SCIRC 세그먼트로 레코드 선택 시 로


봇 제어 시스템이 시작점을 인식하면 원 각도를 고려하여 목표점으로
이동합니다.
• 로봇 제어 시스템이 시작점을 인지하지 못하면, 프로그래밍된 목표점
으로 이동합니다.
이러한 경우 원 각도를 고려하지 않는다는 메시지가 표시됩니다.
• SCIRC 개별 동작으로 레코드 선택 시 원 각도는 고려되지 않습니다.

7.6 스플라인 동작의 근사접근

설명

• 모든 스플라인 블록 및 모든 스플라인 개별 동작은 서로 우회할 수 있


습니다.
• 이것이 CP 또는 PTP 스플라인 블록인지 또는 어떤 종류의 개별 동작
인지는 중요하지 않습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 227/378


스플라인 동작의 프로그래밍 로봇 프로그래밍 1

• 우회 아치는 항상 동작 유형의 두 번째 동작과 일치합니다.


• 예를 들어 SPTP-SLIN 우회 시 우회 아치는 CP 유형입니다.

스플라인 동작은 기존 동작(LIN, CIRC, PTP)으로 우회할 수 없습니다.

시간 또는 전진 중지로 인해 우회할 수 없는 경우:

• 시간적 이유 또는 전진 중지로 인해 우회할 수 없는 경우, 로봇이 우회


아치의 시작 위치에서 대기합니다.
‒ 시간적 이유인 경우: 다음 레코드의 계획이 가능하게 되는 즉시 로
봇이 계속 이동합니다.
‒ 전진 중지의 경우: 우회 아치의 시작점이 현재 레코드의 끝에 도달
한 상태입니다. 즉, 전진 중지가 해제되고 로봇 제어 시스템이 다음
레코드를 계획할 수 있습니다. 로봇이 계속 이동합니다.
• 이 두 가지 경우에 로봇이 우회 아치로 이동합니다. 정확하게 표현하면
우회할 수 있지만, 단지 지연될 뿐입니다.
• 이러한 양상은 LIN, CIRC 또는 PTP 동작과 다릅니다. 언급한 이유로
인해 우회할 수 없는 경우에는 목표점으로 정확하게 이동합니다.
MSTEP 및 ISTEP에 근사접근 없음:
프로그램 처리 유형 MSTEP 및 ISTEP에서는 근사접근 동작 시에도 목표
점이 정확하게 접근됩니다.
스플라인 블록에서 스플라인 블록으로의 근사접근 시 이 정확 정지의 결과
로서 제1 블록의 마지막 세그먼트 및 제2 블록의 제1 세그먼트의 경로는
프로그램 처리 유형 GO에서와는 다릅니다.
이 두 가지 스플라인 블록의 다른 모든 세그먼트에서는 MSTEP, ISTEP
및 GO의 경로가 동일합니다.

228/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

스플라인 동작의 프로그래밍


7.7 연습: 스플라인 블록이 포함된 경로 컨투어

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 스플라인 블록이 포함된 경로 컨투어

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 229/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

8 로봇 프로그램에서의 논리적 기능 이용

8.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 논리 프로그래밍 입문
• 변수의 표시
• 간단한 로직 프로그래밍
• SPLINE 이 포함된 로직의 프로그래밍

8.2 논리 프로그래밍 입문

설명

그림 8-1: 디지털 인풋 및 아웃풋

• 정의된 프로그램 위치에서 예를 들어 툴을 구동시키거나 또는 신호를


기다리기 위해, 컨트롤러에서 필드버스 인터페이스를 사용할 수 있습
니다.
• 이 인터페이스를 통해 주변장치와의 통신이 이루어지며, 이를 통해 디
지털 및 아날로그 인풋 및 아웃풋이 사용됩니다.

용어 설명

용어 선언 예시
커뮤니케이션 인터페이스를 통한 시 상태 조회(그리퍼 열
그널 교환 림/닫힘)
주변기기 "환경" 툴(예를 들어 그리퍼,
용접 플라이어 등등),
센서, 재료운송시스템
등등.
디지털 디지털 기술: 이산값 센서 시그널: 파트가
및 이산시간 신호 있음: 값 1(TRUE/
WAHR), 파트가 없음:
값 0 (FALSE/
FALSCH)
아날로그 물리적 크기 모사 온도 측정
인풋 필드 버스 인터페이스 센서 시그널: 그리퍼
를 통해 제어 시스템 가 열려 있음/그리퍼
으로 오는 시그널 가 닫혀 있음

230/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
용어 선언 예시
아웃풋 제어시스템의 필드버 조오 그리퍼를 닫게
스 인터페이스를 통해 하는 밸브 스위칭 명
주변기기로 송신되는 령
시그널

8.3 변수의 표시

변수 값 표시하기 및 변경하기

1. 메뉴 경로: 로봇 버튼 > 표시창 > 변수 > 개별

그림 8-2: 메뉴 경로

2. 변수 표시-개별적 창이 열립니다.

그림 8-3: 창 변수 표시 - 개별

번호 설명
1 변경해야 할 변수의 이름
2 변수에 할당할 새 값
3 변수를 검색할 프로그램
시스템 변수의 경우 모듈 필드는 중요하지 않습니다.
4 이 필드는 2가지 상태를 갖습니다:

‒ : 표시된 값이 자동으로 업데이트되지 않습니다.

‒ : 표시된 값이 자동으로 업데이트됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 231/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

번호 설명
이 두 상태 사이에서 이동하려면:

‒ 업데이트를 누릅니다.
‒ 대안적 방법: 시프트 + 엔터

3. 변수값 표시하기
• 이름 필드에 변수의 이름을 입력하십시오.
• 프로그램을 선택했을 경우 이 프로그램이 모듈 필드에 자동으로 입
력되어 있습니다.
다른 프로그램의 변수를 표시해야 한다면 프로그램을 다음과 같이
입력하십시오:
/R1/프로그램 이름
/R1/과 프로그램 이름 사이에 폴더를 입력하지 마십시오. 프로그램
이름에 파일 확장자를 입력하지 마십시오.
• 엔터 버튼을 누르십시오.
현재 값 필드에는 변수의 현재값이 표시됩니다. 아무것도 표시되지
않는다면 변수에 아직 값이 할당되지 않았습니다.
• 새 값 필드에 원하는 값을 입력하십시오.
• 엔터 버튼을 누르십시오.
현재 값 필드에는 새 값이 표시됩니다.

8.3.1 인풋 및 아웃풋의 표시

설명

• 필드버스 기반 디지털 및 아날로그 인풋 및 아웃풋의 현재 상태는


smartPAD에 표시할 수 있습니다.
• 아웃풋은 수동 입력을 통해 설정할 수 있습니다.
이를 위해 상응하는 사용자 권한이 필요합니다.

진행 방법

• 메뉴 경로: 로봇 버튼 > 표시창 > 변수 > I/O

그림 8-4: 메뉴 경로: I/O

• 원하는 표시창으로 이동합니다(1).


‒ 디지털 인풋 및 아웃풋
(>>> "디지털 인풋 및 아웃풋" 페이지 233)

232/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
‒ 아날로그 입출력부

디지털 인풋 및 아웃풋

디지털 아웃풋 예시

그림 8-5: 디지털 아웃풋

번호 설명
1 I/O의 번호
2 I/O의 값. 인풋 또는 아웃풋이 TRUE인 경우, 이것은 적색으로
지정됩니다.
3 SIM 항목: I/O가 시뮬레이션됩니다.
SYS 항목: I/O의 값이 시스템 변수에 저장됩니다. 이 I/O는 읽
기전용입니다.
4 I/O의 이름

번호 단추 설명
-100 표시창에서 100 인풋 또는 아웃풋을 뒤로
스위칭합니다.
A
+100 표시창에서 100 인풋 또는 아웃풋을 앞으
로 스위칭합니다.
B 이동 검색된 인풋 또는 아웃풋의 번호를
입력할 수 있습니다.
C 값 선택한 인풋 또는 아웃풋을 TRUE와
FALSE 사이에서 이동 스위칭합니다. 전
제조건: 인가 스위치가 눌린 상태입니다.

• AUT EXT 작동 모드에서는 값을 사


용할 수 없습니다.
• 인풋에서 값은 시뮬레이션이 켜진 경
우에만 사용할 수 있습니다.
D 이름 선택된 인풋 또는 아웃풋의 이름은
변경할 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 233/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

8.3.2 플래그, 카운터, 타이머 표시

• 메뉴 경로: 로봇 버튼 > 표시창 > 변수

그림 8-6: 메뉴 경로

이제 선택할 수 있는 여러 개의 시스템 변수가 나타납니다:

‒ 주기적 플래그
‒ 플래그
‒ 카운터
‒ 타이머
• 예시: 카운터

그림 8-7: 카운터

번호 설명
1 카운터의 번호
4 카운터의 값
5 카운터의 이름

234/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
단추 설명
이동 검색된 카운터의 번호를 입력할 수 있습니
다.
값 선택된 카운터에 대해 하나의 값을 입력할
수 있습니다.
이름 선택된 카운터의 이름을 변경할 수 있습니
다.

8.4 간단한 로직 프로그래밍

설명

KUKA 로봇을 프로그래밍할 때 인풋 및 아웃풋 시그널은 논리 지령을 위


해 사용됩니다.
• OUT
프로그램에서 특정 위치에 있는 아웃풋을 켬
• WAIT FOR
신호에 따른 대기 함수 » 여기에서 제어시스템이 시그널을 기다림:
‒ 인풋 IN
‒ 아웃풋 OUT
‒ 시간 시그널 TIMER
‒ 제어시스템 내부의 메모리 주소(플래그/1-Bit-메모리) FLAG 또는
CYCFLAG (주기적으로 지속적으로 평가될 경우)
• WAIT
시간에 다른 대기 함수 » 제어시스템은 프로그램에서 이 위치에서 입
력된 시간에 맞게 대기합니다.

여기에 설명된 로직 명령은 구버전의 소프트웨어에서도 기본적 구성요


소입니다. 사용은 항상 정확한 스위칭 포인트와 전진 중지 사이에서의
타협에 해당합니다.
새로운 프로젝팅 시 Trigger 명령(경로에서 스위칭)의 사용을 SPTP,
SLIN, SCIRP 및 SPLINE 블록과 함께 점검할 것을 권장합니다.
여기에서는 전진 중지에 상관 없이 정확한 스위칭 포인트가 보장될 수
있습니다.

8.4.1 대기 함수의 프로그래밍

설명

컴퓨터 포워드

1 DEF Depal_Box1()
2
3 INI
4 SPTP HOME VEL= 100 % DEFAULT
5 SPTP P1 VEL= 100 % PDAT1 Tool[5] Base[10]
6 SPTP P2 VEL= 100 % PDAT1 Tool[5] Base[10]
7 SLIN P3 VEL= 1 m/s CPDAT1 Tool[5] Base[10]
8 SLIN P4 VEL= 1 m/s CPDAT2 Tool[5] Base[10]
9 SPTP P5 VEL= 100% PDAT1 Tool[5] Base[10]
10 OUT 26'' State=TRUE
11 SPTP HOME VEL= 100 % DEFAULT
12

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 235/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

13 END


6 주 진행 표시창의 위치
9 발생가능한 전진 표시기 위치(보이지 않음)
10 전진 중지를 발생시키는 명령 세트

• 컴퓨터 포워드는 (오퍼레이터에게는 보이지 않게) 전진하고 있는 모션


블록을 읽어 우회 명령이 있을 때 제어시스템으로 하여금 트랙을 계획
할 수 있도록 해 줍니다.
• 그렇지만 전진 모션 데이터만 처리하는 것이 아니라 산술적 지령 및
주변기기를 제어하는 지령 역시 처리합니다.
• 특정한 지령은 전진 중지를 발생시킵니다. 이러한 지령에는 예를 들어
OUT 지령과 같은, 주변기기에 영향을 미치는 지령이 포함됩니다(그리
퍼 닫기, 용접 플라이어 열기).
• 전진 표시기가 멈추면 우회할 수 없습니다.

대기 함수 WAIT

그림 8-8: 인라인 양식 WAIT

번호 설명
1 대기 시간

• ≥ 0 s

• 어떤 동작 프로그램에서의 대기 함수는 인라인 양식을 통해 아주 간단


히 프로그래밍됩니다.
• 이때 시간에 따른 대기 함수와 신호에 따른 대기 함수는 구별됩니다.
• WAIT로 로봇의 동작이 프로그래밍 시간 동안 정지합니다. WAIT로는
항상 전진이 중지됩니다.

SPTP P1 Vel=100% PDAT1 Tool[1] Base[1]


SPTP P2 Vel=100% PDAT2 Tool[1] Base[1]
WAIT Time=2 sec
SPTP P3 Vel=100% PDAT3 Tool[1] Base[1]

예시

그림 8-9: 논리 사례 모션

236/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
번호 비고
1 동작이 지점 P2에서 2초 동안 중단됩니다.

대기 함수 WAIT FOR

• 필요 시 복수의 신호(최대 12개)를 논리적으로 링크할 수 있습니다.


• 하나의 링크를 추가하면, 인라인 양식에서 추가적 신호 및 다른 링크를
위한 필드가 나타납니다.

그림 8-10: 인라인 양식 WAITFOR

번호 설명
1 외부 링크를 추가합니다. 연산자가 괄호로 표시된 표현식 사이
에 위치합니다.

• AND
• OR
• EXOR
NOT을 추가합니다.

• NOT
• [빔]
상응하는 단추를 이용해 원하는 연산자를 삽입합니다.
2 내부 링크를 추가합니다. 연산자가 괄호로 표시된 표현식 내에
존재합니다.

• AND
• OR
• EXOR
NOT을 추가합니다.

• NOT
• [빔]
상응하는 단추를 이용해 원하는 연산자를 삽입합니다.
3 대기하고 있는 신호

• IN
• OUT
• CYCFLAG
• TIMER
• FLAG
4 신호의 번호

• 1 … 4096
5 이 신호의 이름이 존재하는 경우, 이름이 표시됩니다.
사용자그룹 전문가에만 적용됨:

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 237/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

번호 설명
긴 텍스트를 눌러 이름을 입력할 수 있습니다. 이름은 자유롭게
선택할 수 있습니다.
6 • CONT: 전진으로 처리
• [비어 있음]: 전진 중지로 처리

항목 CONT를 사용할 때 전진할 때 신호를 조회한다는 점에 유의해야


합니다. 전진 시간 후의 신호 변경은 인식되지 않습니다!

논리 링크

• 시그널에 따른 대기 함수를 사용할 때 논리 링크도 사용됩니다.


• 논리 링크는 다양한 시그널 혹은 상태에 대한 조회와 결합시킬 수 있
습니다.
‒ 종속성을 만들 수 있습니다.
‒ 특정한 상태를 배제시킬 수 있습니다.
논리 연산자를 사용하는 기능은 그 결과로 항상 진리값을, 즉 "참(값 1)"
혹은 "거짓(값 0)"을 도출해 냅니다.

그림 8-11: 논리 링크의 원리와 예

논리 링크용 연산자는 다음과 같습니다:

• NOT | 이 피연산자는 부정을 위해 사용됩니다. 즉 값이 역전됩니다


("참"이 "거짓"이 됩니다).
• AND | 이 표현식의 결과는 링크된 양 표현식이 참일 경우 참이 됩니
다.
• OR | 이 표현식의 결과는 링크된 표현식 중 최소한 하나가 참일 경우
참이 됩니다.
• EXOR | 이 표현식의 결과는 연산자를 통해 링크된 양 표현식이 서로
다른 진리값을 가질 경우에 참이 됩니다.

전진 없이 가공

• 시그널에 따른 대기 함수는 전진 시의 처리를 포함하여, 또한 배제시켜


프로그래밍할 수 있습니다.
• 전진을 배제함은 어떠한 경우에도 포인트에서 모션이 정지되고 그곳에
서 시그널을 점검한다는 것을 뜻합니다: (1) (>>> 그림 8-12)
• 포인트는 우회할 수 없습니다.

그림 8-12: 논리 사례 모션

238/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
SPTP P1 Vel=100% PDAT1 Tool[1] Base[1]
SPTP P2 CONT Vel=100% PDAT2 Tool[1] Base[1]
WAIT FOR IN 10 'door_signal'
SPTP P3 Vel=100% PDAT3 Tool[1] Base[1]

WAIT FOR 행을 CONT없이 처리할 경우 참고 메시지가 나타납니다:


"우회 불가능".

전진이 포함된 처리 (CONT)

• 전진을 포함하여 프로그래밍된, 시그널에 따른 대기 함수를 사용할 경


우 명령행 앞에 설정된 포인트를 우회할 수 있습니다.
• 그러나 진행 표시기의 현재 위치가 명확하지 않아서(기본값: 3개의 동
작 세트), 신호 점검을 위한 정확한 시점이 정해지지 않았습니다(1).
• 그 밖에도 시그널을 점검한 후의 시그널 변경사항은 인식되지 않습니
다!

그림 8-13: 우회 동작 시 WAIT FOR

SPTP P1 Vel=100% PDAT1 Tool[1] Base[1]


SLIN P2 CONT Vel=100% PDAT2 Tool[1] Base[1]
WAIT FOR IN 10 'door_signal' CONT
SLIN P3 Vel=100% PDAT3 Tool[1] Base[1]

1. 위치(1)
• 위치(2)에 도달하기 전 WAIT FOR = TRUE
• » 로봇이 정지하지않고 우회 경로를 이탈할 수 있습니다.
2. 위치(2)
• 위치(2)에 도달하기까지 WAIT FOR = FALSE
• »로봇이 정지 상태로 우회 컨투어 시작점에 서 있습니다.
• 위치(2)에 도달한 후 WAIT FOR = TRUE로 변경
• » 로봇이 우회 경로상의 컨투어를 따라 이동합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 239/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

진행 방법

그림 8-14: 로직 삽입

1. 논리 지령을 삽입할 행으로 커서를 이동시키십시오(1).


2. 명령 탭(2)을 엽니다.
3. 로직 항목(3)을 통해 원하는 대기 명령 및 아웃풋 명령(4)을 선택합니
다.
4. 원하는 인라인 양식이 프로그램에서 선택한 위치에 삽입됩니다.
5. 인라인 양식에서 파라미터를 설정하십시오.
6. 명령 OK를 눌러 지령을 저장합니다.

8.4.2 간단한 스위칭 함수 프로그래밍

설명

간단한 스위칭 함수

• 스위칭 함수에 의해 디지털 신호를 주변기기에 송신할 수 있습니다.

240/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
그림 8-15: 정적 스위칭

• 이를 위해 인터페이스가 미리 적절하게 지정한 아웃풋 번호가 사용됩


니다.
• 이 신호는 정적으로 설정됩니다. 즉 아웃풋에 다른 값이 할당될 때까지
이 신호는 그대로 유지됩니다.
• 스위칭 함수는 프로그램 내에서 인라인 양식에 의해 실현됩니다:

그림 8-16: 인라인 양식 OUT

번호 설명
1 아웃풋 번호

‒ 1 … 4096
2 이 아웃풋의 이름이 존재하는 경우, 이름이 표시됩니다.
사용자그룹 전문가에만 적용됨:
긴 텍스트를 눌러 이름을 입력할 수 있습니다. 이름은 자유
롭게 선택할 수 있습니다.
3 아웃풋의 스위칭 상태

‒ TRUE
‒ FALSE
4 ‒ CONT: 전진으로 처리
‒ [비어 있음]: 전진 중지로 처리

항목 CONT를 사용할 때 전진할 때 신호가 지정될 것이라는 점에 유의


해야 합니다!

프로그램의 시작 위치에서 필드버스 아웃풋을 정의된 초기 상태로 스위


칭하기 위해 간단한 스위칭 명령 OUT이 사용됩니다.

펄스드 스위칭 함수

• 단순한 스위칭 함수에서와 마찬가지로 여기서도 아웃풋에 대한 값이


변경됩니다.
• 물론 펄싱 시 정의된 시간이 지난 후 그 신호가 다시 회복됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 241/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

그림 8-17: 펄스 레벨

• 프로그래밍은 펄스가 정의된 길이로 설정되는 인라인 양식으로도 이루


어집니다.

그림 8-18: 인라인 양식 PULSE

번호 설명
1 아웃풋 번호

‒ 1 … 4096
2 이 아웃풋의 이름이 존재하는 경우, 이름이 표시됩니다.
사용자그룹 전문가에만 적용됨:
긴 텍스트를 눌러 이름을 입력할 수 있습니다. 이름은 자유
롭게 선택할 수 있습니다.
3 아웃풋의 스위칭 상태

‒ TRUE: 레벨 "High"
‒ FALSE: 레벨 "Low"
4 ‒ CONT: 전진으로 처리
‒ [비어 있음]: 전진 중지로 처리
5 펄스의 길이

‒ 0.10 … 3.00초

스위칭 함수에서 CONT의 영향

• CONT가 없을 때:
OUT 인라인 양식에서 CONT 항목을 생략하면 스위칭 과정에서 전진
중지가 발생하며 그 뒤를 이어 정확 정지가 스위칭 명령 앞의 포인트
에서 발생합니다. 아웃풋을 설정한 후 모션이 계속 됩니다.

242/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
그림 8-19: 전진 정지가 있는 스위칭을 사용한 예시 동작

SLIN P1 Vel=0.2 m/s CPDAT1 Tool[1] Base[1]


SLIN P2 CONT Vel=0.2 m/s CPDAT2 Tool[1] Base[1]
SLIN P3 CONT Vel=0.2 m/s CPDAT3 Tool[1] Base[1]
OUT 5 'rob_ready' State=TRUE
SLIN P4 Vel=0.2 m/s CPDAT4 Tool[1] Base[1]

• CONT가 있을 경우:
CONT 항목을 설정하면 진행 포인터가 중지되지 않습니다(전진 중지
가 발생하지 않습니다). 그 결과 모션이 스위칭 명령 전에 우회될 수
있습니다. 시그널 설정은 전진 시에 이뤄집니다.

그림 8-20: 스위칭을 사용한 전진 예시 동작

SLIN P1 Vel=0.2 m/s CPDAT1 Tool[1] Base[1]


SLIN P2 CONT Vel=0.2 m/s CPDAT2 Tool[1] Base[1]
SLIN P3 CONT Vel=0.2 m/s CPDAT3 Tool[1] Base[1]
OUT 5 'rob_ready' State=TRUE CONT
SLIN P4 Vel=0.2 m/s CPDAT4 Tool[1] Base[1]

진행 표시기의 표준값은 3개의 모션 블록에 해당합니다. 그렇지만 전진


에 차이가 있을 수 있습니다. 즉 스위칭 시점이 항상 같지는 않다는 점
을 고려해야 합니다!

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 243/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

진행 방법

그림 8-21: 로직 삽입

1. 논리 지령(1)을 삽입할 행으로 커서를 이동시키십시오.


2. 메뉴 순서: 명령 (2) > 로직 > OUT (4)> OUT, PULSE, SYN OUT
또는 SYN PULSE
3. 인라인 양식에서 파라미터를 설정하십시오.
4. 명령 OK를 눌러 지령을 저장합니다.

244/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
8.4.3 선택적 연습: 경로 동작에 로직 탑재

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 로직을 경로 동작에 포함시키기

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 245/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

8.5 SPLINE 및 SPLINE 단일 레코드를 통한 로직의 프로그래밍

설명

• SPLINE 단일 레코드(SLIN, SCIRC, SPTPT)의 프로그래밍 시 도는


SPLINE 블록 내에서 인라인 양식에서 이 동작에 로직을 추가적으로
삽입할 수 있습니다.
• 이 옵션은 별도의 인라인 양식으로서 사용할 수 있습니다. 물론 KRL을
통해 이 로직만 프로그래밍하거나 또는 이 로직도 프로그래밍할 수 있
습니다.
• 항상 사용 가능:
‒ 트리거 (경로상에서 스위칭 명령)
‒ 조건적 정지
• CP-SPLINE 블록에서만
‒ 정속 이동 영역
• CP-SPLINE 블록에서만 KRL 명령으로서
‒ 타임 블록

8.5.1 SPLINE 트리거 프로그래밍

설명

그림 8-22: SPLINE 이 포함된 트리거

• 트리거는 사용자의 특정 지령을 실행합니다.


예시에서 디지털 아웃풋 5.
• 로봇 제어 시스템은 로봇 동작과 동시에 지령을 실행합니다.
• 트리거는 동작의 시작점 또는 목표점을 기준으로 할 수 있습니다.
• 지령을 기준점에서 직접 실행하거나 장소 및/또는 시간에 따라 변경할
수도 있습니다.

트리거를 PTP 동작에는 사용할 수 없습니다.

SPLINE 블록에서 트리거를 사용할 경우, 마지막 세그먼트와


ENDSPLINE 사이에 트리거를 위치시키면 안 됩니다.

프로그래밍 방법

• 트리거 로직 옵션 창 인라인 양식

246/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
• SPLINE 트리거 인라인 양식
• KRL 지령을 이용한 프로그래밍 TRIGGER WHEN PATH

8.5.1.1 SPLINE 트리거 프로그래밍

진행 방법

1. “Fold 열기/닫기” 단추로 SPLINE 블록 열기


2. 5번 포인트에서 $OUT[5] 디지털 아웃풋을 켜야 합니다.

4 SPLINE S1 Vel=0.5 m/s CPDAT 2 Tool[1]:pen Base[5] blue


5 SPL P4 Vel=0.2 m/s CPDAT4
6 SLIN P5 Vel=0.2 m/s CPDAT5 ADAT
7 SPL P6 Vel=0.2 m/s CPDAT6
8 SLIN P7 Vel=0.2 m/s CPDAT7
9 SPL P8 Vel=0.2 m/s CPDAT8
10 ENDSPLINE

3. 파라미터 선택

그림 8-23: 파라미터 전환

• 5번 포인트를 SPLINE 로직으로 확장합니다.


• 단추: 변경 > 파라미터 전환 > SPLINE 로직 추가
4. 포인트 5

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 247/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

그림 8-24: 트리거 선택 (빔)

• 5번 포인트(ADAT)에서 화살표 아이콘(1)을 터치합니다.


• 표시된 창에서 트리거 탭(2)으로 이동합니다.

트리거 풀다운 창을 통해 이 포인트에서 활성화시킬 일차정의된 트


리거 / 스위칭 액션을 선택할 수 있습니다. 이것은 현재는 아직 존재
하지 않으며 다음 단계에서 정의해야 합니다.

5. Trigger 명령 추가

그림 8-25: SPLINE 액션

• 열린 동작 레코드에서 SPLINE 액션 단추를 통해 Trigger 명령을


추가합니다.
• 트리거 창은 다른 입력 필드로 확장됩니다.
6. 버전 1: 포인트에서 트리거를 활성화시킵니다.

248/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
그림 8-26: SPLINE 트리거 정의

• 트리거 (1)
시스템이 트리거 1의 이름으로 새로운 트리거를 생성합니다. 이미
다른 트리거가 정의된 경우에는 이것을 이 창에서 호출하고 어댑테
이션할 수 있습니다.
• ONSTART (2)
ONSTART 파라미터가 TRUE로 설정되는 경우, 트리거의 작동을
위한 기준점은 시작점을 기준으로 합니다. 이것은 Path 및 Delay
파라미터를 통해 추가적으로 이동시킬 수 있습니다. 여기의 예시에
서 이것은 디지털 아웃풋 5입니다.
• 트리거 (3)

그림 8-27: 트리거 타입

어떤 트리거 종류를 사용할 것인지를 정의합니다. 여기에서는 KRL


에서 부분적으로 추가적 전문가 프로그래밍이 필요합니다.
이 예시에서는 디지털 아웃풋을 스위칭하기 위해 OUT을 선택해야
합니다.
선택된 트리거 PULSE, ASSIGNMENT 또는 CALL의 종류에 따
라서, 3, 4 및 7번 필드에서 입력창 및 선택창이 변합니다.
상세한 정보는 소프트웨어 문서에 설명되어 있습니다.

• OUT (4)
트리거를 통해 어떤 디지털 아웃풋이 스위칭되는지를 선택.
• PATH (5)
트리거가 직접 포인트에서 스위칭되고 TRUE에 있으므로, 위치적
오프셋은 비활성화됩니다.
• Delay (6)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 249/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

포인트를 기준으로 포인트 위치는 이동한 속도에 따라 시간적으로


밀릴 수 있습니다. 예를 들어 본딩 어플리케이션에서 유용합니다
• OUT 상태 (7)
디지털 아웃풋의 원하는 스위칭 상태를 여기에서 정의할 수 있습니
다. 본 예시에서는 이것이 부울 표현식 TRUE를 통해 켜집니다.
7. 버전 2: 5번 포인트를 기준으로 한 위치적 및 시간적 이동.

그림 8-28: 장소적 및 시간적 오프셋

• 프로그램 버튼을 이용해 로봇을 SPLINE 경로에서 정속 주행의 시


작점에 도달할 때까지 전진 또는 후진 방향으로 이동시킵니다.
• SPLINE 액션 > 트리거 패스 수용 단추를 통해 현재 위치를 필드
패스에 적용합니다.

그림 8-29: SPLINE 액션

경로가 로봇의 수동 이동을 통해 이탈되는 경우, 패스를 통한 수


용이 불가능합니다. 여기에서는 다시 레코드를 선택해야 합니다.

티칭을 통해 ONSTART는 항상 FALSE로 설정되고 이 목표점


(네거티브)을 기준으로 한 위치적 이동을 명시합니다.

시작점을 기준으로 한 이동은 원칙적으로 ONSTART를 통해


TRUE로 가능합니다. 하지만 여기에서는 오프셋(포지티브)이 수
치 입력을 통해서만 가능합니다.

• 필요 시 시간적 이동을 Delay [ms] 필드에서 수치로 입력합니다.

250/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
예시: CALL

그림 8-30: 방법 호출

• 트리거 (1)
CALL » 인터럽트를 통한 서브프로그램 호출
• 방법 호출 (2)
인터럽트로 무엇을 호출합니까.
본 예시에서는 subprg() 프로그램.
• 우선순위 (3)
값 -1은 우선순위가 시스템에 의해 자동으로 결정되는 것을 의미합니
다.
‒ 이를 위해 40-80의 보호된 영역이 사용됩니다.
‒ 1-39 및 81-128 영역은 수동 우선순위 부여를 위해 사용할 수 있
습니다.

8.5.1.2 인라인 양식을 이용한 SPLINE 트리거 프로그래밍

설명

SPLINE 블록의 동작 포인트에서 직접 SPLINE 트리거를 프로그래밍하는


방법에 보완적으로 별도의 인라인 양식에서 이것을 프로그래밍하는 방법
도 존재합니다.
SPLINE 트리거 인라인 양식은 SPLINE 블록에서만 사용할 수 있습니
다.

진행 방법

1. 로직 명령을 삽입할 동작 레코드를 선택합니다.


2. SPLINE 로직 삽입

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 251/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

그림 8-31: SPLINE 로직 삽입

메뉴 경로: 단추 명령 (1) > 로직 (2) > SPLINE 트리거 또는 Spline


Stop Condition (3)
3. 표시되는 인라인 양식을 컨피규레이션합니다.

인라인 양식

그림 8-32: 인라인 양식

번호 명칭 설명
1 패스 수용 경로에서 스위칭 포인트의 장
소 이동(패스)은 패스 수용을
통해 “티칭”할 수 있습니다.
2 ONSTART SPLINE 트리거가 기준으로
사용하는 포인트

252/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
번호 명칭 설명
• ONSTART 사용:
SPLINE 트리거 앞 최근
포인트
• ONSTART 비사용:
SPLINE 블록 뒤 포인트
ONSTART는 오퍼레이터
OnStart 단추를 이용해 설정
하거나 제거할 수 있습니다.
3 DELAY SPLINE 트리거의 시간적 오
프셋
4 OUT 스위칭할 디지털 아웃풋의 정
보.
5 상태 아웃풋의 적용할 상태에
대한 정보
6 패스 수용 경로에서 트리거 포인트의 접
근을 통한 PATH 값의 자동
측정
7 전환 OnStart 2번 항목 참조
8 전환 Delay 3번 항목 참조
9 전환 타입 트리거 타입의 전환

• 아웃풋 설정
• 펄스 아웃풋 설정
• Trigger 할당
• 기능호출 Trigger

예시: 기능호출 Trigger

전환 타입 단추를 통해 다른 트리거 반응을 선택할 수 있습니다. 다음의


예시는 기능호출의 경험적 유형을 보여줍니다.
1. 전환 타입 단추를 터치합니다.

그림 8-33: Trigger 선택

• 트리거 기능호출을 선택합니다.


2. 인라인 양식

그림 8-34: 인터럽트 예시

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 253/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

• 디지털 아웃풋을 위한 본래의 필드가 더 이상 표시되지 않습니다.


• 기능/서브 프로그램 및 우선순위의 정보를 위한 새로운 필드가 나
타납니다.

8.5.1.3 프로그래밍 지침

질문

PATH 트리거의 기준점이 어디입니까? 시작점 또는 목표점을 우회하였습


니까?
이는 주로 단일 또는 혼합의 우회 경로인지에 따라 결정됩니다.

균일한 근사접근

• CP SPLINE 동작에서 CP SPLINE 동작으로 변경


• PTP SPLINE 동작에서 PTP SPLINE 동작으로 변경
• LIN 또는 CIRC 동작에서 LIN 또는 CIRC 동작으로 변경
(>>> "균일한 근사접근 시 기준점" 페이지 254)
모든 SPLINE 동작이 SPLINE 블록 또는 단일 레코드일 수 있습니다.

혼합된 근사접근

• CP SPLINE 동작에서 PTP SPLINE 동작으로 변경되거나 역방향으로


변경
모든 SPLINE 동작이 SPLINE 블록 또는 단일 레코드일 수 있습니다.
• PTP 동작에서 LIN 또는 CIRC 동작으로 변경되거나 역방향으로 변경
(>>> "혼합 근사접근 시 기준점" 페이지 256)
이러한 경우에는 기준점 위치가 추가로 SPLINE 동작 또는 기존 동작에
따라 결정됩니다.

균일한 근사접근 시 기준점

설명

• 원리는 여기에서 CP SPLINE 블록의 예시에서 설명됩니다.


• 이 내용은 균일한 근사접근의 다른 종류에 대해서도 작용됩니다.

예시

SPLINE
...
SLIN P2
TRIGGER WHEN PATH=0 DELAY=0 DO ... ;Trigger 1
SLIN P3
ENDSPLINE C_SPL
SPLINE
TRIGGER WHEN PATH=0 ONSTART DELAY=0 DO ... ;Trigger 2
SLIN P4
...
ENDSPLINE

트리거 1 및 2는 모두 P3을 기준으로 합니다. P3이 근사접근된 상태입니


다. 로봇 컨트롤러는 근사접근 거리에 상응하게 점을 근사접근 아치(=
P3')에 적용합니다.

254/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
목표점 근사접근됨

트리거 1의 기준점:
로봇 컨트롤러가 근사접근 아치의 시작 위치에서 정확정지 목표점까지의
거리를 계산합니다. 이 거리는 근사접근 아치에 적용됩니다.
PStartApprox → P3 거리의 길이는 PStartApprox → P3'Trigger 1 거리와 동
일합니다.

그림 8-35: 트리거 1: 균일한 근사접근 시 기준점

PStartApprox 근사접근 아치의 시작


P3 정확 정지 시 기준점
P3'Trigger 1 근사접근 시 기준점

시작점 근사접근됨

트리거 2의 기준점:
로봇 컨트롤러가 근사접근 아치의 끝 위치에서 정확정지 시작점까지의 거
리를 계산합니다. 이 거리는 근사접근 아치에 적용됩니다.
PEndApprox → P3 거리의 길이는 PEndApprox → P3'Trigger 2 거리와 동일
합니다.

그림 8-36: 트리거 2: 균일한 근사접근 시 기준점

PEndApprox 근사접근 아치의 끝


P3 정확 정지 시 기준점
P3'Trigger 2 근사접근 시 기준점

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 255/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

혼합 근사접근 시 기준점

예시

PTP_SPLINE
...
SPTP P2
TRIGGER WHEN PATH=0 DELAY=0 DO ... ;Trigger 1
SPTP P3
ENDSPLINE C_SPL

SPLINE
TRIGGER WHEN PATH=0 ONSTART DELAY=0 DO ... ;Trigger 2
SLIN P4
...
ENDSPLINE

트리거 1 및 2는 모두 P3을 기준으로 합니다. P3이 근사접근된 상태입니


다.

시작점 근사접근됨

트리거 2의 기준점:
이 기준점은 먼저 관찰해야 하는데, 그 이유는 트리거 1의 기준점이 이
와 관련이 있기 때문입니다!

이 기준점은 균일 근사접근 방식과 동일한 원리에 따라 계산됩니다.


(>>> "시작점 근사접근됨" 페이지 255)

목표점 근사접근됨

트리거 1의 기준점:

• 트리거 1의 기준점은 트리거 2에서와 동일한 위치에 놓입니다.


• PStartApprox → P3'Trigger 1 구간은 일반적으로 PStartApprox → P3보다
짧습니다.

그림 8-37: 트리거 1: 혼합 근사접근 시 기준점

PStartApprox 근사접근 아치의 시작위치


PEndApprox 근사접근 아치의 끝위치
P3 정확 정지의 기준점
P3' 근사접근 시 기준점

256/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
• 1번 트리거가 이동되고 이것이 이 이동을 통해 PStartApprox와 P3’ 사
이에 놓인다고 가정하면, 정확한 위치는 다음과 같을 것입니다:
• 로봇 컨트롤러는 목표점이 정확 정지일 경우 PStartApprox → P3 구간
의 몇 퍼센트에서 스위칭 포인트가 놓일 것인지를 계산합니다. 이 비율
은 근사접근 아치로 전달되었습니다. 스위칭 포인트는 PStartApprox →
P3'Trigger 1 구간의 x %에 놓입니다

혼합된 근사접근 시 기준점 (LIN/CIRC/PTP)

시작점 근사접근됨

PTP-CP 근사접근:
기준점이 근사접근 아치의 끝 위치에 있습니다.

목표점 근사접근됨

CP-PTP 근사접근:
기준점이 근사접근 아치의 시작 위치에 있습니다.

8.5.2 조건적 정지 프로그래밍

설명

그림 8-38: 조건적 정지가 포함된 SPLINE

번호 선언
1 거리 및 속도에 따라 계산된 제동 포인트
2 부울 표현식의 가능한 취소 -> 프로그래밍된 속도로의
가가속
2 b 재가속 후에 프로그래밍된 속도의 도달.
3 지정된 정지 포인트 (인라인 양식 또는 KRL을 통해)

• "조건적 정지"에서 사용자는 특정한 조건이 충족되는 경우 경로에서 로


봇이 정지하는 위치를 정의할 수 있습니다.
• 이 위치를 "정지 포인트"라 부릅니다. 조건이 더 이상 충족되지 않게되
는 즉시 로봇은 동작을 계속 수행합니다.
• 작동 시간 중에 로봇 컨트롤러는 정지 포인트에서 정지할 수 있도록
늦어도 제동을 시작해야 하는 포인트를 계산합니다.
• 이 포인트(="제동 포인트") 이후부터 컨트롤러는 조건의 충족 여부를
평가합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 257/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

• 제동 포인트에서 조건이 충족되는 경우 로봇은 정지 포인트에서 정지


하기 위해 제동합니다.
하지만 조건이 정지 포인트 도달 전에 다시 "충족 안됨"으로 바뀌는 경
우에는, 로봇이 다시 가속하고 정지가 이루어지지 않습니다.
• 정지 조건이 만족되는 조건에서 로봇이 제동 포인트를 이미 통과한 경
우에는 정지 포인트에서 정상적인 브레이킹 램프로 정지하기에는 너무
늦습니다.
‒ 이런 경우 로봇이 경로 상에서 비상정지로 정지하고 예측할 수 없
는 포인트에서 멈춥니다.
‒ 로봇이 비상정지를 통해 정지 포인트 이후에 멈추는 경우에는, 정
지 조건이 더 이상 유효하지 않은 상황에서만 프로그램을 계속 진
행시킬 수 있습니다.
• 로봇이 경로 상에서 비상정지를 통해 정지 포인트 이전에 멈추는 경우
에는, 프로그램을 계속 진행시킬 때 다음과 같은 상황이 발생할 수 있
습니다:
‒ 정지 조건이 더 이상 충족되지 않는 경우:
로봇이 계속 이동합니다.
‒ 정지 조건이 아직 충족되는 경우:
로봇이 정지 포인트에까지 이동하고 여기에서 멈춥니다.

원칙적으로 임의의 수의 조건적 정지를 프로그래밍할 수 있습니다. 하지


만 최대 10개의 경로가 중첩될 수 있습니다("제동 포인트 → 정지 포인
트").
제동 과정 시 로봇 컨트롤러는 T1/T2에서 다음과 같은 메시지를 출력
합니다: 조건적 정지 활성화(행 {행 번호}).

프로그래밍 방법

• SPLINE 블록(CP 및 PTP)에서 또는 SPLINE 단일 레코드에서:


조건적 정지 로직 옵션 창 인라인 양식
• SPLINE 블록(CP 및 PTP) 전에:
조건적 정지 SPLINE 인라인 양식
• KRL 명령을 통한 프로그래밍
STOP WHEN PATH

8.5.2.1 프로그래밍 지침

디지털 인풋 점검

$IN[1]==TRUE

$IN 여기에서 이것은 시스템에 의해 결정된 필드(변수)에 해


당합니다.
이 필드에서 시운전자는 필드버스 파티시펀트의 디지털
인풋의 현재 상태를 반영합니다. 이 상태는 TRUE(ON)
또는 FALSE(OFF)일 수 있습니다.
[1] 숫자는 필드 인덱스에 해당합니다. 이런 경우 디지털 인
풋은 1번입니다.
== 비교 연산. 입력 단자의 실제 물리적 상태(1번 행)를 이
표현식 우측 옆의 상태(4번 행)와 비교합니다.
TRUE 디폴트 값, 디지털 인풋은 ON이어야 합니다. 예인 경우
조건적 정지가 발생합니다.

258/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
디지털 인풋을 OFF 상태와 비교하는 경우, 비교 연산자
가 FALSE여야 합니다.

디지털 인풋을 TRUE로 모니터링하기 위해 다음 단축 입력도 사용할


수 있습니다.
$IN[1]

8.5.2.2 조건적 정지 프로그래밍

진행 방법

1. “Fold 열기/닫기” 단추로 SPLINE 블록 열기


2. 조건적 정지는 포인트 4에서 발생해야 합니다.

4 SPLINE S1 Vel=0.5 m/s CPDAT 2 Tool[1]:pen Base[5] blue


5 SPL P1 Vel=0.2 m/s CPDAT4
6 SLIN P2 Vel=0.2 m/s CPDAT5
7 SPL P2 Vel=0.2 m/s CPDAT6
8 SLIN P4 Vel=0.2 m/s CPDAT7 ADAT
9 SPL P5 Vel=0.2 m/s CPDAT8
10 ENDSPLINE

3. SPLINE 로직 삽입

그림 8-39: 파라미터 전환

• P4 동작 포인트는 SPLINE 로직으로 확장됩니다(ADAT).


• 단추: 변경 > 파라미터 전환 > SPLINE 로직 추가
4. 조건적 정지 활성화

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 259/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

그림 8-40: 조건적 정지 활성화

• 4번 포인트에서 화살표 아이콘(1)을 터치합니다.


• 표시된 창에서 조건적 정지 탭(2)으로 이동합니다.
• 풀다운 창을 통해 조건적 정지(3)를 활성화시킵니다.
이를 위해 ENABLED를 선택합니다.
5. 버전 1: 4번 포인트에서 조건적 정지를 활성화시킵니다.

그림 8-41: 조건적 정지 프로그래밍

위치 파라미터 값 설명
1 조건적 정지 ENA 조건적 정지가 이 포인트를 기준
BLED 으로 활성화됩니다
2 조건 KRL 이 동작 포인트의 접근 시 조건
적 정지를 발생시키거나 또는 정
지 없이 계속 이동하기 위해 조
회되는 조건.
이 조건은 KRL에서 프로그래밍
됩니다.
(>>> "디지털 인풋 점검" 페이
지 258)
3 ONSTART TRU 시작은 시작점을 기준으로 합니
E 다

260/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
위치 파라미터 값 설명
시작점이 근사접근되는 경우 기
준점은 PATH 트리거에서의 균
일한 근사접근처럼 결정됩니다.
4 Path 0 mm 정속 이동 영역을 위한 시작 위
치에서 위치적 이동 없음

6. 버전 2: 4번 포인트를 기준으로 조건적 정지를 위한 시작 위치에서 위


치적 이동.

그림 8-42: 기준점 이동됨

위치 파라미터 값 설명
1 조건적 정지 ENA 조건적 정지가 이 포인트를 기준
BLED 으로 활성화됩니다
2 조건 KRL 이 동작 포인트의 접근 시 조건
적 정지를 발생시키거나 또는 정
지 없이 계속 이동하기 위해 조
회되는 조건.
이 조건은 KRL에서 프로그래밍
됩니다.
3 ONSTART FALS 시작은 목표점을 기준으로 합니
E 다
목표점이 근사접근되는 경우에는
Start 또는 End가 근사접근 아치
의 시작 위치를 기준으로 합니
다.
4 Path -234 조건적 정지를 위한 기준점은 목
mm 표점 도달 전 245mm로 결정됩
니다.

• 프로그램 버튼을 이용해 로봇을 SPLINE 경로에서 조건적 정지의


기준점에 도달할 때까지 전진 또는 후진 방향으로 이동시킵니다.
• SPLINE 액션 > 조건적 정지 패스 수용 단추를 통해 현재 위치를
필드 패스에 적용합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 261/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

그림 8-43: SPLINE 액션

경로가 로봇의 수동 이동을 통해 이탈되는 경우, 패스를 통한 수


용이 불가능합니다. 여기에서는 다시 레코드를 선택해야 합니다.

티칭을 통해 ONSTART는 항상 FALSE로 설정되고 이 목표점


(네거티브)을 기준으로 한 위치적 이동을 명시합니다.

시작점을 기준으로 한 이동은 원칙적으로 ONSTART를 통해


TRUE로 가능합니다. 하지만 여기에서는 오프셋(포지티브)이 수
치 입력을 통해서만 가능합니다.

8.5.2.3 인라인 양식을 이용한 조건적 정지 프로그래밍

설명

SPLINE 블록의 동작 포인트에서 직접 조건적 정지를 프로그래밍하는 방


법뿐 아니라 별도의 인라인 양식에서 이것을 프로그래밍하는 방법도 존재
합니다.
이 인라인 양식은 SPLINE 블록 밖에만 사용할 수 있습니다.

진행 방법

참조:

인라인 양식

그림 8-44: 인라인 양식 Spline Stop Condition

번호 설명
1 조건적 정지의 기준이 되는 포인트

• ONSTART가 있는 경우: 스플라인 블록 전 마지막 포인트


• ONSTART가 없는 경우: 스플라인 블록 내 마지막 포인트
스플라인이 근사접근되는 경우에는 PATH 트리거에서와 동일
한 규칙이 적용됩니다.
참고: PATH 트리거에서의 근사접근에 대한 정보는 시스템 통
합자를 위한 사용설명서/프로그래밍 설명서를 참조하시기 바랍
니다.

262/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
번호 설명
ONSTART는 오퍼레이터 OnStart 단추를 이용해 설정하거나
제거할 수 있습니다.
2 정지 포인트는 장소 이동이 가능합니다. 이를 위해 여기에 원하
는 기준점 거리를 지정해야 합니다. 장소 이동을 원하지 않는
경우에는 "0"을 입력합니다.

• 양수 값: 동작 끝 방향으로 이동
• 음수 값: 동작 시작 방향으로 이동
정지 포인트는 임의의 거리로 이동시킬 수 없습니다. PATH 트
리거에서와 동일한 한계가 적용됩니다.
장소 이동도 티칭이 가능합니다.

3 정지 조건
허용되는 항목:

• 전역 불리언 변수
• 신호 이름
• 비교
• 간단한 논리 링크: NOT, OR, AND 또는 EXOR

단추

인라인 양식이 열린 상태에서는 보완적 단추가 나타납니다.

그림 8-45: 단추

번호 명칭 설명
1 패스 수용 경로에서 스위칭 포인트의 장
소 이동(패스)은 패스 수용을
통해 “티칭”할 수 있습니다.
2 전환 OnStart 장소적 이동이 없는 포인트에
서 스위칭 포인트의 결정

8.5.3 정속 이동 영역

설명

• CP SPLINE 블록에서 로봇이 프로그래밍된 속도를 일정하게 유지하는


영역을 지정할 수 있습니다(속도를 일정하게 유지할 수 있는 경우).
• 이 영역을 "정속 이동 영역"이라 합니다.
‒ CP SPLINE 블록당 1개의 정속 이동 영역을 지정할 수 있습니다.
‒ 정속 이동 영역은 시작 지령 및 끝 지령을 통해 지정됩니다.
‒ 이 영역은 SPLINE 블록을 초과하여 진행할 수 없습니다.
‒ 이 영역은 임의의 작은 크기를 가질 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 263/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

그림 8-46: 일정 속도, 원리

• 프로그래밍된 속도를 일정하게 유지하는 것이 불가능한 경우 로봇 제


어 시스템이 프로그램 진행 시 이 내용을 메시지로 출력합니다.
• 여러 개의 세그먼트에 존재하는 정속 이동 영역:
‒ 정속 이동 영역은 다양하게 프로그래밍된 속도를 갖는 여러 세그먼
트를 초과하여 진행할 수 있습니다.
이런 경우에는 가장 낮은 속도가 전체 영역에 적용됩니다.
‒ 또한 더 높게 프로그래밍된 속도를 갖는 세그먼트에서도 가장 낮은
속도로 이동합니다.
여기에서는 속도 미달과 관련된 메시지가 출력되지 않습니다.
이 내용은 가장 낮은 속도를 유지하기 어려울 때에만 적용됩니다.

8.5.3.1 정속 이동 영역 프로그래밍

진행 방법

1. “Fold 열기/닫기” 단추로 SPLINE 블록 열기


2. 속도는 5번 포인트와 7번 포인트 사이에서 일정하게 유지되어야 합니
다.

4 SPLINE S1 Vel=0.5 m/s CPDAT 2 Tool[1]:pen Base[5] blue


5 SPL P4 Vel=0.2 m/s CPDAT4
6 SLIN P5 Vel=0.2 m/s CPDAT5 ADAT
7 SPL P6 Vel=0.2 m/s CPDAT6
8 SLIN P7 Vel=0.2 m/s CPDAT7 ADAT
9 SPL P8 Vel=0.2 m/s CPDAT8
10 ENDSPLINE

3. 정속 주행은 5번 포인트에서 시작되고 7번 포인트에서 종료됩니다.

264/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
그림 8-47: 파라미터 전환

• 즉 이 양측 위치(6번 및 8번 포인트)에서 동작 포인트를 SPLINE


로직으로 확장해야 합니다(ADAT).
• 단추: 변경 > 파라미터 전환 > SPLINE 로직 추가
4. 포인트 5

그림 8-48: 일정 속도 활성화

• 5번 포인트에서 화살표 아이콘(1)을 터치합니다.


• 표시된 창에서 일정 속도 탭(2)으로 이동합니다.
• 풀다운 창을 통해 일정 속도(3)를 활성화시킵니다.
이를 위해 START를 선택합니다.
5. 버전 1: 5번 포인트에서 일정 속도를 활성화시킵니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 265/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

그림 8-49: 일정 속도 활성화

파라미터 값 설명
일정 속도 시작 정속 이동 영역의 시작 위치에서
시작합니다
ONSTART TRUE 시작은 시작점을 기준으로 합니

시작점이 근사접근되는 경우 기
준점은 PATH 트리거에서의 균
일한 근사접근처럼 결정됩니다.
Path 0 mm 정속 이동 영역을 위한 시작 위
치에서 위치적 이동 없음

6. 버전 2: 5번 포인트를 기준으로 정속 이동 영역을 위한 시작 위치에서


위치적 이동.

그림 8-50: 시작점 이동됨

파라미터 값 설명
일정 속도 시작 정속 이동 영역의 시작
ONSTART FALSE 시작은 목표점을 기준으로 합니

목표점이 근사접근되는 경우에는
Start 또는 End가 근사접근 아치
의 시작 위치를 기준으로 합니
다.
Path -537 정속 주행은 목표점의 도달 전
mm 537mm에서 시작합니다.

266/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
• 프로그램 버튼을 이용해 로봇을 SPLINE 경로에서 정속 주행의 시
작점에 도달할 때까지 전진 또는 후진 방향으로 이동시킵니다.
• SPLINE 액션 > 정속 주행 영역 패스 수용 단추를 통해 현재 위치
를 필드 패스에 적용합니다.

그림 8-51: SPLINE 액션

경로가 로봇의 수동 이동을 통해 이탈되는 경우, 패스를 통한 수


용이 불가능합니다. 여기에서는 다시 레코드를 선택해야 합니다.

티칭을 통해 ONSTART는 항상 FALSE로 설정되고 이 목표점


(네거티브)을 기준으로 한 위치적 이동을 명시합니다.

시작점을 기준으로 한 이동은 원칙적으로 ONSTART를 통해


TRUE로 가능합니다. 하지만 여기에서는 오프셋(포지티브)이 수
치 입력을 통해서만 가능합니다.
7. 7번 포인트에서 정속 주행 종료

그림 8-52: 일정 속도 종료

• 이 진행 방법은 시작점의 수용 방법에 해당합니다.


• 여기에서는 일정 속도 필드(1)에서 END를 선택해야 합니다.
• 여기에서도 포인트가 SPLINE 액션 > 정속 주행 영역 패스 수용을
통해 이동되고 수용될 수 있습니다.

정속 주행 점검

1. 작동 모드 T1에서 프로그래밍된 정속 주행을 테스트합니다.


2. 로봇이 감소된 속도로 SPLINE 컨투어를 주행하는 경우에도, 로봇이
프로그래밍된 속도와 달리 정속 주행에서 최대로 도달할 수 있는 속도
가 포함된 상응하는 메시지가 표시됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 267/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

그림 8-53: 감속

여기에서 어떤 포인트가 제한된 크기인지를 알려주는 행 번호가 표시


됩니다.
이를 위해 모든 폴더가 열려 있어야 하며, 행 번호를 알 수 있도록
보기에는 추가적으로 DEF 행, 상세 보기(ASCII)가 활성화되어야 합
니다.

해당 포인트(위치 또는 방향)의 최적화를 통해 도달할 속도를 최대화할


수 있습니다.

직접 T2에서의 초기 테스트 또는 오토매틱을 지양해야 하는데, 여기에


서는 "메시지 오버플로"가 존재하기 때문입니다. 이것은 개별 동작 포인
트의 최적화에 적합하지 않습니다.

8.5.3.2 프로그래밍 지침

정속 이동 영역으로의 레코드 선택

정속 이동 영역에서 레코드 선택이 이루어지는 경우에는, 로봇 컨트롤러


가 이 지령을 무시하고 이와 관련하여 메시지를 출력합니다. 동작은 정
속 이동 영역이 프로그래밍되지 않은 것처럼 수행됩니다.

이동 값을 통해 정의된 경로 섹션에서의 레코드 선택이 정속 이동 영역


에서 레코드 선택으로서 유효합니다. 이와 달리 영역의 시작 및 끝이 어
느 동작 레코드에 프로그래밍되어 있는지는 중요하지 않습니다.

레코드 선택으로서 무엇이 유효합니까?

그림 8-54: 정속 이동 영역 예시 (경로)

다음 포인트로의 레코드 선택 ... P1 P2 P3 P4


= 정속 이동 영역 내에 존재? 아니요 아니요 예 아니요

최대 한계

• SPLINE 블록의 시작점 또는 목표점이 정확 정지인 경우:


‒ 정속 이동 영역은 빨라야 시작점에서 시작합니다.
‒ 정속 이동 영역은 늦어도 목표점에서 끝납니다.
• 이 한계가 초과되도록 이동값이 지정된 경우, 로봇 컨트롤러는 자동으
로 오프셋을 줄이고 다음과 같은 메시지를 출력합니다: CONST_VEL
{Start/End} = {오프셋} 구현 불가능, {새로운 오프셋}(이)가 사용됩니
다.
• 로봇 컨트롤러는 프로그래밍된 속도를 일정하게 유지할 수 있는 영역
이 형성되도록 오프셋을 줄입니다. 즉 컨트롤러는 반드시 SPLINE 블
록의 시작점 또는 목표점으로 정확하게 한계를 이동시키는 것이 아니
라 더 내측으로 이동시킵니다.

268/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
• 이 영역이 처음부터 SPLINE 블록 내에 존재했지만 정의된 속도를 오
프셋으로 인해 유지할 수 없는 경우에 동일한 메시지가 출력됩니다. 이
런 경우에도 로봇 컨트롤러는 오프셋을 줄입니다.
• SPLINE 블록의 시작점 또는 목표점이 근사접근되는 경우:
‒ 정속 이동 영역은 빨라야 시작점 근사접근 아치의 시작 위치에서
시작합니다.
‒ 정속 이동 영역은 늦어도 목표점 근사접근 아치의 시작 위치에서
끝납니다.

그림 8-55: 근사접근 SPLINE/ENDSPLINE에서 최대 한계

이 한계가 초과되도록 오프셋이 지정된 경우, 로봇 컨트롤러는


자동으로 한계를 각 근사접근 아치의 시작 위치로 설정합니다.
메시지는 출력하지 않습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 269/378


로봇 프로그램에서의 논리적 기능 이용 로봇 프로그래밍 1

8.5.4 연습: SPLINE 움직임에 로직이 있음

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• SPLINE 동작에 로직 포함

270/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

로봇 프로그램에서의 논리적 기능 이용
8.5.5 연습: 정속 이동 영역 및 조건적 중지

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 정속 이동 영역 및 조건적 정지

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 271/378


기술 패키지 사용 로봇 프로그래밍 1

9 기술 패키지 사용

9.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• KUKA.GripperTech 배우기
• KUKA.GripperTech 조작
• KUKA.GripperTech 컨피규레이션
• KUKA.GripperTech 프로그래밍

9.2 GripperTech 상세 정보

설명

그림 9-1: 그리퍼 구동

번호 설명 번호 설명
1 KR C4 3 인풋 모듈과 아웃풋 모듈
이 있는 필드 버스 모듈
2 필드버스 4 디지털 인풋과 아웃풋이
있는 그리퍼
예를 들어 College 교육 셀의 할당
그리퍼 열기 $OUT[25] 그리퍼 열림 $IN[25]
파일 닫기 $OUT[26] 그리퍼 닫힘 $IN[26]

• 프로그래밍 진행 시 예를 들어 교육 셀(3) 그리퍼와 같은 툴을 열거나


닫아야 합니다.
• 구성된 아웃풋($OUT)을 이용해 상태를 변경할 수 있습니다.
• 인풋($IN)은 현재 상태의 툴을 제어 시스템으로 재전송합니다.

272/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
• 일반적으로 구성된 필드버스 시스템이 디지털 인풋과 아웃풋(2)을 이
용해 그리퍼로 전송합니다.
• 프로그래밍과 구성에 대한 도움말은 KUKA.GripperTech를 참조하십
시오.

주의사항
제어시스템에서 최대 16개까지의 그리퍼를 컨피규레이션할 수 있습니
다.

계속해서 다음과 같은 내용을 다룹니다.

• smartPAD를 이용한 그리퍼 조작


(>>> 9.3 "KUKA.GripperTech를 사용한 그리퍼 조작" 페이지 273)
• 그리퍼 구성
(>>> 9.4 "그리퍼 구성" 페이지 276)
• 그리퍼 매개변수 입력
(>>> 그림 9-12)
• smartPAD에 그리퍼 신호 표시
(>>> 9.3.1 "smartPAD에서 그리퍼 신호 표시" 페이지 274)
• 인라인 양식을 이용한 그리퍼 프로그래밍
(>>> 9.5 "인라인 양식을 이용한 그리퍼 프로그래밍" 페이지 282)

9.3 KUKA.GripperTech를 사용한 그리퍼 조작

설명

• 그리퍼를 쉽게 조작하기 위해 smartPAD에 별도의 상태 버튼이 4개


있습니다.
• 이는 KUKA.GripperTech를 통해 소프트웨어에 저장되고 사용자는 그
리퍼 구성을 이용해 설정할 수 있습니다.
• 또한 smartHMI 측면 프레임 필드에 상태 표시줄 뿐만 아니라 그래픽
요소도 할당되어 있어 상태 버튼의 기능을 쉽게 파악할 수 있습니다.

진행 방법

상태 버튼 보이기

그림 9-2: 상태 버튼 보이기

• 새로 설치했거나 냉간 시동 후 상태 버튼을 사용할 수 없으면, 수동으


로 펼치거나 숨길 수 있습니다.
• 메뉴 경로: 로봇 버튼 > 구성 > 상태 버튼 > 그리퍼/SpotTech

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 273/378


기술 패키지 사용 로봇 프로그래밍 1

그리퍼 조작

그림 9-3: 그리퍼 버튼

• 상태 버튼(1)을 이용하여 사전 구성된 그리퍼 중 하나를 여러 번 눌러


선택할 수 있습니다.
• 그림 A: 기본 그리퍼
그리퍼의 열림(2) 및 닫힘(3) 기능용 상태 버튼.
이를 위해 승인 버튼을 병행해서 누릅니다. 심벌이 “활성화”됩니다.
• 그림 B: 흡입 그리퍼
그리퍼의 배출(2), 꺼짐(3), 흡입(4) 기능용 상태 버튼.
이를 위해 승인 버튼을 병행해서 누릅니다. 심벌이 “활성화”됩니다.

경고
경고!
그리퍼 시스템을 취급할 때 끼이거나 절개될 위험이 있습니다.
그리퍼를 조작하는 인원은 신체의 어떤 부위도 그리퍼에 끼일 위험이
없다는 것을 확인하십시오.

9.3.1 smartPAD에서 그리퍼 신호 표시

설명

• 그리퍼 표시창을 통해 현재 그리퍼 상태가 smartPAD에 시각화됩니다.


• 따라서 특히 그리퍼가 복잡한 경우(예: 흡입 그리퍼) 안전하게 조작할
수 있습니다.

진행 방법

1. 메뉴 경로: 로봇 버튼 > 표시창 > 그리퍼/SpotTech

274/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
그림 9-4: 그리퍼 신호 표시창

2. 단순 그리퍼의 예

그림 9-5: 그리퍼 신호 표시

번호 설명
1 표시할 그리퍼 선택
2 스위칭 상태 1 … n
표시창과 상태 버튼을 이용해 스위칭 상태 1 … n을 설정할
수 있습니다.
위험 버튼으로 구성할 때 안전상의 이유로 플러그인이 아닌
상태 버튼으로 스위칭 상태 1 … n을 설정할 수 있습니다.
상태 버튼의 LED 아이콘을 통해 마지막으로 설정된 스위칭
상태가 표시됩니다.

‒ 녹색: 스위칭 상태가 정상입니다.


‒ 적색: 스위칭 상태가 비정상입니다. 오류가 있는 인풋 상
태가 빨간색 LED 아이콘으로도 표시됩니다.
3, 4 인풋/아웃풋 상태
LED 아이콘을 통해 인풋/아웃풋의 상태가 활성화되어 있는
지 표시됩니다.

‒ 녹색: 아웃풋 설정 상태, 인풋 TRUE


‒ 회색: 아웃풋 설정 상태 아님, 인풋 FALSE

3. 흡입 그리퍼의 예

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 275/378


기술 패키지 사용 로봇 프로그래밍 1

그림 9-6: 흡입 그리퍼의 그리퍼 신호

9.4 그리퍼 구성

설명

• 제어시스템에서 최대 16개까지의 그리퍼를 컨피규레이션할 수 있습니


다.
• KUKA 그리퍼 기술은 다음 기능을 지원합니다.
‒ 다양한 그리퍼 유형 구동
‒ 현재 그리퍼 설정 조회 및 표시.
‒ 특정 그리퍼 위치 이동을 위한 조작 확인. (관련 교육 자료 없음)
‒ 특정 사용자 로직의 프로그래밍(관련 교육 자료 없음)
경로: R1\TP\GripperSpotTech\Grp_User.src

진행 방법

메뉴 경로: 로봇 버튼 > 구성 > 그리퍼/SpotTech > 그리퍼

그림 9-7: 메뉴 경로

탭: 그리퍼

• 그리퍼 (A) 탭에 그리퍼 설정이 구성됩니다.


• 후속 상태 및 IO 탭에 확정된 스위칭 상태 또는 인풋/아웃풋이 지정됩
니다.

276/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
그림 9-8: 탭: 그리퍼

파라미터 설명
그리퍼 선택(1) 구성할 그리퍼를 지정합니다.
16개의 저장 공간이 있습니다.
그리퍼 이름(2) 그리퍼 이름(최대 24자)
이름은 인라인 양식에 표시됩니다. 사전 지정한 이름은 변경
할 수 있습니다.
상태(2) • 체크 마크가 표시된 경우: 상태 버튼으로 그리퍼를 조작
하고 ILF로 프로그래밍할 수 있습니다.
• 체크 마크가 표시되지 않은 경우: 그리퍼가 활성화되지
않습니다.
스위칭 상태(2) 개수 그리퍼 스위칭 상태 개수

• 1 … 6
아웃풋(2) 개수 그리퍼를 구동할 아웃풋 개수.

• 1 … 6
인풋(2) 개수 그리퍼를 감시할 인풋 개수.

• 1 … 6
그리퍼 아이콘(2) 상태 버튼과 표시창 플러그인 아이콘 선택
디폴트: 숫자가 지정된 아이콘
스위칭 상태(2) 타임아웃 상태를 테스트할 때 스위칭 상태가 나타날 때까지 최대 시간
을 기다리십시오(그리퍼 감시 설정, 그리퍼 확인).

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 277/378


기술 패키지 사용 로봇 프로그래밍 1

파라미터 설명
이 시간이 경과되었는데도 스위칭 상태가 아직 나타나지 않으
면, 오류 전략이 실행됩니다.
스위칭 상태가 나타나면, 시간을 기다리지 않고 프로그램이
계속 진행됩니다.

• 0 … 10 s
디폴트: 3 s
아웃풋(2) 펄스 지속 시간 펄스로 지정된 아웃풋의 펄스 지속 시간.

• 0 … 3 s
디폴트: 0.5 s

매개변수 옆 화살표 기호를 누르면 상세 설명이 펼쳐집니다.


예를 들어 스위칭 상태의 타임아웃[s]과 아웃풋의 펄스 지속 시간[s]
그림을 참조하십시오.

탭: 상태 및 IO

• 상태 및 IO 탭에 스위칭 상태(2) 또는 인풋(3)과 아웃풋(4)이 할당됩니


다.
• 여기에는 인풋/아웃풋에 대해 규정된 스위칭 상태 또는 수동 조작 조건
이 할당됩니다.

그림 9-9: 탭: 상태 및 IO

• 스위칭 상태(2)
파라미터 설명
번호 스위칭 상태 번호
내부 인덱스 관리는 1부터 시작됩니다.

278/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
파라미터 설명
변경할 수 없습니다.
그림 스위칭 상태 아이콘
상태 버튼과 표시 플러그인에 스위칭 상태를 표시해야 하는
아이콘 선택.
이름 스위칭 상태 이름
해당 그리퍼를 선택하면 인라인 양식에 표시됩니다.
타입 해당 스위칭 상태의 상태 버튼 유형

‒ 기본 버튼: 액션이 즉시 실행됩니다.


‒ 위험 버튼: 버튼을 4초 이내에 연달아 2번 눌러서 액션을
실행해야 합니다. 처음 3번의 상태 버튼만 위험 버튼으로
지정할 수 있습니다. 남은 3번은 표시창 플러그인에만 표
시되어 위험 상황으로 간주하지 않습니다.
설명 스위칭 상태 설명

• 인풋(3) 및 아웃풋(4)
파라미터 설명
번호 아웃풋 내부 인덱스 관리
인풋 내부 인덱스 관리
1부터 시작합니다.
변경할 수 없습니다.
아웃풋/인풋 아웃풋 및 인풋

‒ 1 … $Num_Out, $Num_In
디폴트: 0
고스트 고스트 모드의 인풋/아웃풋 설정 또는 평가 여부 조정.
인풋:

‒ 체크 마크가 표시된 심: 인풋이 평가되지 않습니다.


‒ 체크 마크가 표시되지 않은 심: 고스트 모드에서도 인풋
이 평가됩니다.
아웃풋:

‒ 체크 마크가 표시된 심: 아웃풋이 설정되지 않습니다.


‒ 체크 마크가 표시되지 않은 심: 고스트 모드에서도 아웃
풋이 설정됩니다.
타입 아웃풋 유형

‒ 기본: 아웃풋이 기본 아웃풋으로 지정되었습니다. 상태가


그대로 유지됩니다.
‒ 펄스: 아웃풋이 펄스 아웃풋으로 지정되었습니다. 설정한
상태가 일정 시간 동안만 유지됩니다.
설명 아웃풋과 인풋 텍스트

탭: 할당

• 할당(3) 탭에 지정된 스위칭 상태, 지정된 아웃풋/인풋 또는 수동 조작


을 위한 전제 조건이 할당됩니다.
• 해당 탭에 스위칭 상태 또는 인풋/아웃풋을 할당하려면, 이를 미리 이
전의 상태 및 IO 탭에 지정해야 합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 279/378


기술 패키지 사용 로봇 프로그래밍 1

그림 9-10: 탭: 할당

할당 설명
아웃풋(2) 할당 상태에 대한 아웃풋 설정

• TRUE: 아웃풋이 TRUE로 설정됩니다.


• FALSE: 아웃풋이 FALSE로 설정됩니다.
• [비어 있음]: 아웃풋이 설정되지 않고 현재 상태를 그대
로 유지합니다.
인풋(3) 할당 스위칭 상태에 대한 인풋 평가

• TRUE: 인풋을 설정해야 합니다.


• FALSE: 인풋을 설정할 필요가 없습니다.
• [비어 있음]: 인풋은 무관하며 평가되지 않습니다.
수동 조작(4)의 전제 조건 스위칭 상태를 수동으로 설정할 때 최대 3개의 전제 조건을
지정할 수 있습니다. 지정한 전제 조건이 충족되어야 스위칭
상태가 설정됩니다.
인풋:

• 인풋의 번호가 지정됩니다.


• 지정한 인풋이 TRUE여야 합니다.
• 디폴트: 0
상태:

• 지정한 스위칭 상태 선택
• 지정한 스위칭 상태가 있어야 새 스위칭 상태가 설정됩니
다.
• 디폴트: [비어 있음]

280/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
할당 설명
기능:

• 최대 10개의 다양한 사용자 루틴 선택 이 기능은


Grp_User.src (R1\TP\GripperSpotTech)에서 프로그
래밍할 수 있습니다. 각 조건은 반환값을 반환합니다.
• 반환값:
‒ TRUE: 스위칭 상태가 설정됩니다.
‒ FALSE: 스위칭 상태가 설정되지 않습니다.
• 디폴트: [비어 있음]

9.4.1 그리퍼 매개변수 입력

설명

고스트 모드

• 시스템이 작동 중에 있거나 생산 단계가 종료된 후 "무효 실행"이라고


나타나면, 이는 보통 부품이 없는 상태입니다.
• 이러한 무효 실행 현상을 구성에서 고스트 모드라고 합니다.
• 예상치 못한 그리퍼 액션을 예방하기 위해(예: 그리퍼가 부품을 집어
올림) 구성에서 이를 확실하게 비활성화할 수 있습니다.
• 보통 흡입 그리퍼의 경우에는 약간 다른 경로로 진행됩니다. 그리퍼가
흡입 대신 배기 상태로 구동됩니다. 상태가 변경됩니다.
금속 마운트는 그리퍼가 미끄러지거나 밀리지 않도록 방지합니다.
• 구성 메뉴에서 고스트 모드를 수동으로 활성화/비활성화할 수 있습니
다. 또한 PLC 인풋/아웃풋에서도 고스트 모드를 켜거나 끌 수 있습니
다.

진행 방법

그리퍼 매개변수

• 메뉴 경로: 로봇 버튼 > 구성 > 그리퍼/SpotTech > 매개변수

그림 9-11: 메뉴 경로

• 그리퍼 매개변수

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 281/378


기술 패키지 사용 로봇 프로그래밍 1

그림 9-12: 그리퍼 매개변수

파라미터 설명
고스트 모드 켜짐을 위한 인 인풋 숫자에 따라 고스트 모드가 활성화됩니다.
풋(1)
‒ 0: 고스트 모드의 활성화 여부는 인풋과 무관합니다.
‒ 1 … $NUM_IN: 인풋이 TRUE이면, 고스트 모드가 활성
화됩니다.
디폴트: 0
고스트 모드 켜짐(2) 고스트 모드가 켜짐으로 전환됨(인풋과 무관)

‒ 체크 마크가 표시된 경우: 고스트 모드가 켜졌습니다.


‒ 체크 마크가 표시되지 않은 경우: 고스트 모드가 꺼졌습
니다.
디폴트: 고스트 모드가 꺼졌습니다.
오류 시 아웃풋 숫자(3) 오류 시 아웃풋 숫자가 설정됩니다(상위 컨트롤러의 오류 정
보).

‒ 0: 아웃풋 설정이 없습니다.


‒ 1 … $NUM_OUT: 이 번호로 아웃풋이 설정됩니다.
디폴트: 0
오류 전략 1…3 (4-6) 추후에 인라인 양식에서 그리퍼 감시를 선택할 수 있는 3개
의 오류 전략을 구성할 수 있습니다.
스위칭 상태가 없으면 선택한 오류 전략이 실행됩니다.

9.5 인라인 양식을 이용한 그리퍼 프로그래밍

설명

테크놀로지 패키지인 KUKA.GripperTech를 사용하여 직접 선택한 프로그


램에서 미리 작성된 인라인 양식을 통해 그리퍼 명령어를 프로그래밍할 수
있습니다. 이때 2개의 명령어를 사용할 수 있습니다.
• 그리퍼 키트
프로그램에서 그리퍼 열기/닫기 명령

282/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
• 그리퍼 SYN 키트
프로그램에서 그리퍼 열기/닫기 명령
또한 스위칭 포인트를 시간 및 경로에 따라 변경할 수 있습니다.

그리퍼 프로그래밍 기능

원칙적으로 시작점 혹은 목표점과 관련된 명령이 실행되도록 그리퍼 명령


을 프로그래밍할 수 있습니다.

그림 9-13: 예: 그리퍼 기능

번호 설명
1 그리퍼 열기
2 그리퍼의 위치
3 프로그래밍된 포인트

• 예시에서는 수용할 큐브(2)가 프로그래밍된 포인트 P3(3) 앞 20mm 위


치에 존재합니다.
• 큐브(1)에 도달하기 10ms 전에 로봇의 그리퍼가 열려야 합니다.

경고
모션 중 처리해야 할 그리퍼 명령은 신중하게 선택해야 합니다. 그렇지
않을 경우 경유하는 부품으로 인한 대인 및 대물 피해나 충돌이 발생할
수 있습니다!

진행 방법

1. 선택한 프로그램에서 그리퍼 명령에 삽입할 프로그램 열을 선택합니


다.

1 INI
2
3 SPTP HOME Vel=100% % DEFAULT
4 SLIN P1 Vel=2m/s CPDAT1 Tool[1] Base[1]
5 SLIN P2 Vel=0.2m/s CPDAT2 Tool[1] Base[1]6
6 ;#### 여기에서 그리퍼 명령을 입력합니다 ###
7 SLIN P3 Vel=0.2m/s CPDAT3 Tool[1] Base[1]
8 SLIN P4 Vel=2m/s CPDAT3 Tool[1] Base[1]
9 ...

2. 메뉴 경로: 명령 > GripperTech > 그리퍼....


원하는 그리퍼 명령을 입력합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 283/378


기술 패키지 사용 로봇 프로그래밍 1

그림 9-14: 그리퍼 명령

3. 인라인 양식에서 원하는 그리퍼 상태, 대기시간 또는 에러 전략을 세팅


합니다.

1 INI
2
3 SPTP HOME Vel=100% % DEFAULT
4 SLIN P1 Vel=2m/s CPDAT1 Tool[1] Base[1]
5 SLIN P2 Vel=0.2m/s CPDAT2 Tool[1] Base[1]
6 ; ### 그리퍼 명령 ###
7 Gripper SET [1]Gripper State=[1]OPEN Wait 0.2[s]Check with No
Check
7 SLIN P3 Vel=0.2m/s CPDAT3 Tool[1] Base[1]
8 SLIN P4 Vel=2m/s CPDAT3 Tool[1] Base[1]
9 ...

그리퍼 키트

• 인라인 양식으로 그리퍼의 스위칭 상태가 설정됩니다.


• 스위칭 상태는 메인 경로와 전진 경로에서 전환할 수 있습니다.
• 메인 경로를 적용할 경우 다음 동작 세트가 실행될 때까지, 그리퍼 액
션에 따라 다소 기다려야 할 수 있습니다.

그림 9-15: 그리퍼 키트 인라인 양식

284/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
번호 설명
1 활성화된 그리퍼
그리퍼가 활성화된 경우에만 표시됩니다.
2 설정된 그리퍼의 스위칭 상태
선택한 스위칭 상태의 개수와 명칭은 구성에 따라 결정됩니다.
3 • CONT: 스위칭 상태가 전진 방향으로 설정됩니다.
• [비어 있음]: 스위칭 상태가 메인 경로로 설정됩니다.
4 대기 시간
지정된 시간이 경과하면, 프로그램이 실행됩니다.

• 0.0 … 10.0초
디폴트: 0.2 s
이 필드는 메인 경로로 전환된 경우에만 표시됩니다.
5 오류 전략
상태를 파악할 수 없으면, 이에 대한 오류 전략이 설정됩니다.

• No Check: 스위칭 상태가 있는지 확인하지 않고 프로그램


이 실행됩니다.
• 전략 1…3: 구성된 오류 전략

그리퍼 SYN 키트

• 인라인 양식을 이용해 동작의 시작점 또는 목표점과 관련한 그리퍼 스


위칭 상태를 설정할 수 있습니다.
• 스위칭 상태는 시간 및/또는 장소에 따라 변경될 수 있습니다.

그림 9-16: 그리퍼 SYN 키트 인라인 양식

번호 설명
1 활성화된 그리퍼
그리퍼가 활성화된 경우에만 표시됩니다.
2 설정된 그리퍼의 스위칭 상태
선택한 스위칭 상태의 개수와 명칭은 구성에 따라 결정됩니다.
3 그리퍼 SYN 키트의 기준이 되는 포인트

• START: 동작의 시작점


• END: 동작의 목표점
• PATH: 스위칭 상태의 설정은 동작 목표점과 연관이 있습니
다. 추가적으로 장소 이동이 가능합니다.
4 이 필드는 PATH가 선택된 경우에만 표시됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 285/378


기술 패키지 사용 로봇 프로그래밍 1

번호 설명
목표점을 기준으로 한 스위칭 포인트의 거리

• -2 000 … +2 000 mm
5 스위칭 작업의 시간적 이동

• -1000 … 1000 ms
시간 표기는 절대값입니다. 스위칭 포인트는 로봇의 속도에 따
라 변합니다.

SYN SET 예시

그림 9-17: 예: 그리퍼 기능

1 INI
2
3 SPTP HOME Vel=100% % DEFAULT
4 SLIN P1 Vel=2m/s CPDAT1 Tool[1] Base[1]
5 SLIN P2 Vel=0.2m/s CPDAT2 Tool[1] Base[1]
6 ; *** 그리퍼 열기 ***
7 Gripper Syn SET [1]Gripper State=[1]OPEN Path=-20mm
Delay=-200ms
8 ; *** 그리퍼 닫기 ***
9 Gripper Syn SET [1]Gripper State=[1]CLOSE Path=-20mm Delay=0ms
10 SLIN P3 Vel=0.2m/s CPDAT3 Tool[1] Base[1]
16 ...

9.5.1 인라인 양식을 이용한 그리퍼 테스트

설명

테크놀로지 패키지인 KUKA.GripperTech를 사용하여 직접 선택한 프로그


램에서 미리 작성된 인라인 양식을 통해 그리퍼 상태를 확인할 수 있습니
다. 이때 2개의 명령어를 사용할 수 있습니다.
• 그리퍼 체크
메인 경로 또는 전진 방향으로 스위칭 시점 포인트 테스트.
• 그리퍼 SYN 체크
스위칭 시점 포인트의 테스트를 시간 또는 경로에 따라 변경할 수 있
습니다.

진행 방법

그리퍼 체크

인라인 양식을 이용해 그리퍼의 스위칭 상태를 점검하십시오.

286/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
그림 9-18: 그리퍼 체크 인라인 양식

번호 설명
1 활성화된 그리퍼
그리퍼가 활성화된 경우에만 표시됩니다.
2 점검할 그리퍼의 스위칭 상태
선택한 스위칭 상태의 개수와 명칭은 구성에 따라 결정됩니다.
3 • CONT: 스위칭 상태를 전진 방향으로 점검합니다.
• [비어 있음]: 스위칭 상태를 메인 경로로 점검합니다.
4 오류 전략
상태를 파악할 수 없으면, 이에 대한 오류 전략이 설정됩니다.

• No Check: 스위칭 상태가 있는지 확인하지 않고 프로그램


이 실행됩니다.
• 전략 1…3: 구성된 오류 전략

그리퍼 SYN 체크

• 인라인 양식을 이용해 동작의 시작점 또는 목표점과 관련한 그리퍼 스


위칭 상태를 테스트할 수 있습니다.
• 스위칭 상태 테스트는 시간 및/또는 장소에 따라 변경될 수 있습니다.

그림 9-19: 그리퍼 SYN 체크 인라인 양식

번호 설명
1 활성화된 그리퍼
그리퍼가 활성화된 경우에만 표시됩니다.
2 점검할 그리퍼의 스위칭 상태
선택한 스위칭 상태의 개수와 명칭은 구성에 따라 결정됩니다.
3 그리퍼 SYN 체크의 기준이 되는 포인트

• START: 동작의 시작점


• END: 동작의 목표점
• PATH: 테스트는 동작의 목표점을 기준으로 한 것입니다.
추가적으로 장소 이동이 가능합니다.
4 이 필드는 PATH가 선택된 경우에만 표시됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 287/378


기술 패키지 사용 로봇 프로그래밍 1

번호 설명
목표점을 기준으로 한 스위칭 포인트의 거리

• -2 000 … +2 000 mm
5 테스트의 시간적 이동

• -1000 … 1000 ms
시간 표기는 절대값입니다. 테스트 시점이 로봇 속도에 따라 변
경됩니다.
6 오류 전략
상태를 파악할 수 없으면, 이에 대한 오류 전략이 설정됩니다.

• No Check: 스위칭 상태가 있는지 확인하지 않고 프로그램


이 실행됩니다.
• 전략 1…3: 구성된 오류 전략

288/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

기술 패키지 사용
9.5.2 연습: 표지판 그리퍼 프로그래밍

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 표지판 그리퍼 프로그래밍

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 289/378


기술 패키지 사용 로봇 프로그래밍 1

9.5.3 연습: 핀 그리퍼 프로그래밍

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 핀 그리퍼 프로그래밍

290/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
10 외부 툴의 구성 및 프로그래밍

10.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 고정된 툴을 사용한 수동 이동
• 로봇 시동시키기
‒ 고정된 툴의 측정
‒ 로봇에 의해 유도된 공작물의 측정
• 외부 TCP를 사용한 모션 프로그래밍

10.2 로봇 가이디드 공작물 및 고정 툴

설명

그림 10-1: 사이드 윈도우의 본딩

본 예시에서는 로봇에 의해 사이드 윈도우가 가이드되고 고정 툴에 접


착제가 도포됩니다.

• 프로세스 고유의 이유에서 다음이 필요할 수 있습니다,


‒ 예를 들어 최적의 동작 순서를 달성하기 위해 가공할 공작물이 로
봇에 의해 가이드되어야 합니다.
‒ 예를 들어 부품 크기로 인해 툴이 고정적으로 설치되어야 합니다.
• 고정 툴 및 로봇 가이디드 공작물의 사용으로 인해
‒ 툴 중량은 더 이상 중요하지 않습니다.
‒ 매체 공급을 매우 간단하게 구현할 수 있습니다.
케이블 드래그 체인에 호환되지 않는 연결 라인도 사용이 가능합니
다.
• 다음과 같은 측정 단계가 필요합니다:
‒ 고정된 툴의 측정
(>>> 10.2.1 "고정 툴의 측정" 페이지 292)
‒ 로봇 가이디드 공작물의 측정
(>>> 10.2.2 "로봇이 안내한 공작물 측정" 페이지 296)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 291/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

10.2.1 고정 툴의 측정

설명

그림 10-2: 고정된 툴의 측정

고정된 (외부) 툴의 측정은 2단계로 이루어집니다.


1. 광역 좌표계의 원점에 대한 외부 TCP 위치 측정
2. 외부 TCP에서의 좌표계 방향 설정

전제조건

• 측정하기 전에 플랜지 좌표계 방향이 입력되어 있어야 합니다.


• 특히 6D 방법을 사용할 때 적용하십시오. +X 플랜지를 기반으로 +Z
베이스(외부 TCP)가 산출되기 때문입니다.

측정하기 전에 툴 0(플랜지)과 툴 좌표계를 설정하십시오. +X 방향으로


이동시키고 플랜지에 방향을 표시하십시오.

진행 방법

TCP의 측정

1. 새로운 고정 툴이 Tool 및 Base 관리를 통해 추가되었습니다.


(>>> 3.7.1 "새로운 베이스/고정 툴 추가" 페이지 128)

그림 10-3: 고정 툴 생성

2. 측정 단추를 통해 XYZ 방법을 선택합니다.

292/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
그림 10-4: 보정 방법

3. 기준 툴과 함께 외부 TCP 접근

그림 10-5: 외부 TCP 접근

• 외부 TCP를 측정하기 위해서는 이미 측정한, 로봇에 의해 유도된


툴이 필요합니다.
• 외부 TCP는 자신의 툴 팁을 사용하여 접근합니다.
4. 외부 TCP 티칭

그림 10-6: TCP 측정

• 풀다운 창(1)에서 기준 툴을 선택합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 293/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

• 기준 툴의 TCP 및 고정 툴의 TCP가 동일한 경우, 보정 포인트


TCP 행(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(3)를 이용해 포인트를 수용합니다.
측정된 값은 변환 필드에 표시됩니다.
• 측정된 툴 오프셋이 측정 결과 창(4)에 표시됩니다.
• 동일이름의 단추를 이용해 이 값을 저장합니다(5).

접근 단추(PTP)를 통해 이미 티칭된 포인트에 반복적으로 접근할


수 있습니다.

정향 측정

1. 새로운 고정 툴이 Tool 및 Base 관리를 통해 추가되었습니다.


(>>> 3.7.1 "새로운 베이스/고정 툴 추가" 페이지 128)
고정 툴의 TCP가 아직 측정되고 저장되었습니다.
(>>> "TCP의 측정" 페이지 292)
2. 고정 툴을 툴 관리에서 엽니다.
측정 단추를 통해 ABC 월드 방법을 선택합니다.

그림 10-7: 보정 방법

3. 작업 방향 결정

그림 10-8: 좌표계 평행하게 정렬하기

• 정향을 측정하기 위해 FLANGE 좌표계가 새 좌표계에 대해 평행


하게 정렬됩니다.
• 이 측정에서는 인라인 손목에 주의해야 합니다. 다수의 로봇 타입
에서 KUKA 문자열을 방향 결정에 사용할 수 있습니다.
4. 작업 방향 티칭

294/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
그림 10-9: 툴의 작업 방향

• 5D/6D 선택창(1)에서 측정의 종류 결정


2가지 버전이 존재합니다:

‒ 5D: 고정 툴의 작업 방향에 대한 정보만 로봇 컨트롤러에 제공


됩니다. 작업 방향은 기본적으로 +X 축입니다. 다른 축의 정향
은 시스템에 의해 확정되며 사용자에게는 직접 인식될 수 없습
니다.
‒ 6D: 좌표계의 3개의 모든 축에 대한 방향 정보가 로봇 컨트롤
러에 제공됩니다.
• 보정 포인트 행, ABC 방향(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(3)를 통해 이 로봇 위치를 적용합니다.
측정된 값은 변환 필드에 표시됩니다.
• 측정된 툴 오프셋이 측정 결과 창(4)에 표시됩니다.
• 동일이름의 단추를 이용해 이 값을 저장합니다(5).

접근 단추(PTP)를 통해 이미 티칭된 포인트에 반복적으로 접근할


수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 295/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

10.2.2 로봇이 안내한 공작물 측정

설명

로봇 가이디드 공작물의 측정

그림 10-10: 직접 측정을 통해 공작물 측정하기

부품 측정
1 플랜지 중간점
2 1과 3 사이의 간격 및 비틀림
3 측정된 공작물의 좌표계 원점

주의사항
다음에서는 직접 측정방법에 대해서만 알아 보겠습니다. 간접 측정은 매
우 드물며 시스템 소프트웨어 8.5 사용 및 프로그래밍 매뉴얼 문서에
상세히 설명되어 있습니다.

진행 방법

1. 고정 툴이 측정되었습니다.
(>>> 10.2.1 "고정 툴의 측정" 페이지 292)
2. 측정에 필요한 공작물을 로봇 플랜지에 조입니다/교환합니다.
3. 새로운 로봇 가이디드 공작물이 Tool 및 Base 관리를 통해 추가되었
습니다.
(>>> 3.6.1 "새로운 툴/공작물 추가" 페이지 100)
4. 툴 편집 창의 풀다운 창에서 공작물을 선택합니다.

296/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
그림 10-11: 로봇 가이디드 툴 정의

5. 측정 단추를 통해 3점 방법을 선택합니다.

그림 10-12: 베이스 측정, 선택

6. 좌표 원점으로 접근

그림 10-13: 좌표 원점

• 공작물과 함께 고정 툴의 TCP로 이동합니다.


• 이때 정의할 좌표계의 원점을 고정 툴의 TCP와 일치시켜야 합니
다.
• 공작물의 방향은 고려되지 않습니다.
7. 좌표 원점 측정

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 297/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

그림 10-14: 좌표 원점 측정

• 풀다운 창(1)에서 고정 툴을 선택합니다.


• 고정 툴의 TCP 및 좌표 원점이 동일한 경우, 보정 포인트 원점 행
(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(3)를 이용해 포인트를 수용합니다.
측정된 값은 변환 필드(2)에 표시됩니다.
8. X 방향에서 포인트에 접근

그림 10-15: X 방향

• 고정 툴의 TCP를 이용해 정의할 공작물 좌표계의 포지티브 X축에


서 포인트에 접근합니다.
9. X 방향에서 포인트 티칭

298/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
그림 10-16: X축 측정

• X축 보정 포인트 행(2)을 터치합니다.


이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(2)를 이용해 포인트를 수용합니다.
측정된 값은 변환 필드(2)에 표시됩니다.
10. XY 면의 포인트 접근

그림 10-17: XY 면

• 고정 툴의 TCP를 이용해 정의할 공작물 좌표계의 XY 면에서 포인


트에 접근합니다.
11. XY 면의 포인트 티칭

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 299/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

그림 10-18: XY 면 측정

• XY 면 행(2)을 터치합니다.
이 행이 청색 배경으로 표시됩니다.
• Touch-Up 단추(2)를 통해 이 위치를 수용합니다.
측정된 값은 변환 필드에 표시됩니다.
• 베이스의 측정은 최근 포인트의 수용을 통해 완료됩니다. 오프셋
값은 측정 결과 필드(3)에 표시됩니다.
• 동일이름의 저장 단추(4)가 포함된 오프셋 값 및 비틀림.

300/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
10.2.3 연습: 외부 툴 및 로봇에 의해 유도된 공작물 측정

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 외부 툴 및 로봇 가이디드 공작물의 측정

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 301/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

10.3 고정된 툴을 사용한 수동 이동

설명

장점 및 사용분야

• 일부 생산 및 가공 프로세스에서는 로봇이 작업 툴(2 또는 3)이


아니라 공작물(부품)(1)을 다뤄야 합니다.
• 이때 부품 처리를 위해 부품을 별도로 내려 놓을 필요가 없습니다 -
그 결과 조임장치를 절약할 수 있습니다.
• 무엇보다 다음과 같은 경우가 이에 해당합니다:
‒ 접착 어플리케이션
‒ 용접 어플리케이션

그림 10-19: 고정된 툴의 예

주의사항
이러한 어플리케이션을 성공적으로 프로그래밍하려면 고정된 툴의 외부
TCP 및 공작물을 측정해야 합니다.

302/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
툴이 고정되어 있는 경우 변경된 모션 진행과정

그림 10-20: $IPO_MODE = #BASE

• 툴이 고정되어 있는(움직이지 않는) 물체라고 해도 좌표계가 포함된 툴


기준점이 있습니다.
• 이제 이 기준점을 외부 TCP라고 칭합니다.
• 그렇지만 좌표계가 움직이지 않는 좌표계이기 때문에 데이터는 베이스
좌표계처럼 관리되고 이에 따라 베이스로 저장됩니다!
• (움직이는) 공작물은 반면 툴로 저장됩니다.
• 이로써 TCP와 연관시켜 공작물 모서리를 따라 이동할 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 303/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

그림 10-21: $IPO_MODE = #TCP

주의사항
고정된 툴과 함께 수동으로 이동할 경우 동작이 외부 TCP와 연관되어
실행된다는 점에 유의해야 합니다.

진행 방법

고정된 툴을 사용한 수동 이동

1. 현재 베이스/툴 창(1)을 smartPAD에서 엽니다.

304/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
그림 10-22: 옵션 메뉴에서 외부 TCP 선택

• 로봇에 의해 가이드된 공작물을 툴 선택 창(2)에서 활성화시킵니


다.
• 고정 툴을 베이스 선택 창(3)에서 활성화시킵니다.
• IpoMode 선택을 외부 툴(4)로 설정합니다.
2. 핸드 오버라이드를 세팅합니다(1).

3. 원하는 요구에 따라 smartPAD에서 조그 모드를 세팅합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 305/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

그림 10-23: 조그 모드, 익스터널 툴, 6D 마우스

그림 예시에서는 고정 툴을 기준으로 마우스를 이용한 이동이 설명되


어 있습니다.
• 공작물의 좌표계에서 이동하기 위해 툴을 설정하고
• 외부 좌표계에서 툴을 이동하기 위해 베이스를 설정하십시오.
4. 3개의 인가 버튼 중 하나를 중앙 위치로 누르고 누른 상태를 유지합니
다.

5. 이동 버튼/스페이스 마우스를 사용하여 원하는 방향으로 이동하십시오.

306/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
그림 10-24: 수동 이동

조그 모드 옵션 옵션창에서 외부 툴을 선택하면 컨트롤러가 전환합니다:


이제 모든 모션은 로봇이 가이드한 툴이 아니라 외부 TCP에 대해 상대적
으로 진행됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 307/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

10.3.1 연습: 고정된 툴을 포함한 수동 이동

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 고정된 툴을 사용한 수동 이동

308/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

외부 툴의 구성 및 프로그래밍
10.4 외부 TCP를 사용한 모션 프로그래밍

외부 TCP를 사용한 모션 프로그래밍

고정된 툴을 사용한 모션 프로그래밍의 경우 표준 모션과 비교해 볼 때 모


션 진행 면에서 다음과 같은 차이를 갖습니다:
• 인라인 양식에서의 표시: 옵션 창 프레임에서 외부 TCP 항목이 TRUE
로 되어 있어야 합니다.

그림 10-25: 옵션 창 "프레임": 외부 TCP

• 그러면 모션 속도는 외부 TCP와 연관됩니다.


• 이 경우 트랙을 따라가는 정향 역시 외부 툴과 연관됩니다.
• 적합한 베이스 좌표계(고정된 툴/외부 TCP) 뿐만 아니라 적합한 툴 좌
표계(움직여진 공작물)도 입력해야 합니다.

그림 10-26: 고정된 툴에서의 좌표계

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 309/378


외부 툴의 구성 및 프로그래밍 로봇 프로그래밍 1

10.4.1 연습: 외부 TCP를 사용한 동작 프로그래밍

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 외부 TCP를 사용한 모션 프로그래밍

310/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

전문가 레벨로의 입문
11 전문가 레벨로의 입문

11.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 프로그램을 템플릿을 사용하여 만들기
• 탐색기에서 보기 어댑테이션
• 편집기에서 보기 어댑테이션
• 프로그램에서 오류 찾기 및 제거하기
• 로봇 프로그램의 구조 만들기

11.2 프로그램을 템플릿을 사용하여 만들기

설명

• 사용자그룹 전문가가 선택되고 새로운 프로그램이 컨트롤러에 생성된


경우, 컨트롤러는 어떤 템플릿이 여기에 사용되는지를 조회할 것입니
다.
• 템플릿은 새로운 프로그램을 만들기 위한 복사 템플릿으로 사용되는
프로그램 바디에 해당합니다.
• 원칙적으로 다음 템플릿을 사용할 수 있습니다.

그림 11-1: 템플릿 선택

‒ 셀: 기존의 셀 프로그램은 교환만 가능하며 셀을 삭제했을 경우 새


로 만들어야 합니다.
‒ 전문가: 프로그램 헤더와 프로그램 엔드만 있는 SRC 및 DAT 파일
로 구성된 모듈
‒ 전문가 서브밋: 프로그램 헤더와 프로그램 엔드로 구성된 추가 서
브밋 파일(SUB)
‒ 함수: BOOL 변수를 사용하는 함수 헤더만 설정되어 있는 SRC 함
수 만들기 함수 엔드는 있지만 우선 반송값을 프로그래밍해야 합니
다.
‒ 모듈: 프로그램 헤더 및 엔드, 프레임워크(INI 및 2x SPTP
HOME)이 있는 SRC 및 DAT 파일로 구성된 모듈.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 311/378


전문가 레벨로의 입문 로봇 프로그래밍 1

‒ 서브밋: 프로그램 헤더 및 엔드, 프레임워크(DECLARATION, INI,


LOOP/ENDLOOP)로 구성된 추가 서브밋 파일(SUB)

템플릿 변경

그림 11-2: 템플릿

요구사항 ≙ predefined

• 프로그램 생성에 선택할 수 있는 템플릿은 컨트롤러의 다음 위치에 존


재합니다
파일 경로: C:\KRC\ROBOTER\TEMPLATE
• 템플릿은 복사 템플릿으로 사용할 수 있는 사전 정의된 프로그램 바디
에 해당합니다.
• 템플릿은 "보통" 프로그램, 함수 등과 같이 편집 및 변경이 가능합니다.

주의사항
템플릿이 변경되는 경우, 이 변경 내용은 프로그램의 새로 만들기에 매
번 즉시 영향을 미칩니다!

11.3 탐색기에서 보기 어댑테이션

설명

상세 보기 사용

사용자그룹 전문가에서는 모듈 보기뿐 아니라 상세 보기도 사용할 수 있습


니다.
• 모듈 보기

312/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

전문가 레벨로의 입문
그림 11-3: 모듈 보기

‒ 모듈 보기에서는 프로그램이 항상 항목으로서 표시됩니다.


‒ 본래의 프로그램 *.src 및 그에 관련된 데이터 목록 *.dat는 개별적
으로 편집할 수 없습니다.

모듈이 복제되는 경우, 필요한 파일이 항상 함께 제공됩니다.

• 상세 보기

그림 11-4: 상세 보기

‒ 상세 보기에서는 본래의 프로그램 *.src 및 그에 관련된 데이터 목


록 *.dat가 개별적으로 표시됩니다.
‒ 양측 파일은 서로 분리하여 편집 및 복사/삭제할 수 있습니다.

모듈을 복제하는 경우, 양측 파일 *.src 및 *.dat가 함께 제공되도록


주의해야 합니다.

진행 방법

• 편집 단추를 통해 컨텍스트 메뉴를 엽니다. 필터 기능을 호출합니다.

그림 11-5: 편집, 필터

• 표시된 선택창에서 모듈 보기 또는 상세 보기 사이에서 이동할 수 있


습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 313/378


전문가 레벨로의 입문 로봇 프로그래밍 1

그림 11-6: 필터 선택

11.4 편집기에서 보기 어댑테이션

설명

• 편집기에서 보기는 조작 및 표시에 맞게 어댑테이션할 수 있습니다.


• 상세 조기의 수준도 사용자의 요구에 맞게 조절할 수 있습니다.

진행 방법

1. smartPAD 편집기에서 프로그램을 엽니다.

그림 11-7: 보기

메뉴 경로: 편집 > 보기 단추
• DEF 행
프로그램 바디(Header 및 END)가 표시됩니다.

DEF program()
...
END

314/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

전문가 레벨로의 입문
• 상세 보기 (ASCII)
숨겨진 ASCII 문자가 표시됩니다.

...
;FOLD SPTP HOME VEL=100% DEFAULT;%{PE}
%NJZJATOBASUS....
...

• 자동 줄 바꿈
화면은 기본 설정에서 수평으로 스크롤할 수 있습니다.
자동 줄 바꿈이 활성화된 경우, 긴 프로그램 행은 줄바꿈으로 표시
됩니다.
• 행 간격 보통/작음
프로그램 행 사이의 행 간격이 줄이거나 늘일 수 있습니다.
2. 예시: DEF 행, 상세 보기 및 작은 자동 줄 바꿈이 적용된 편집기에서
의 확장된 보기.

그림 11-8: 상세 보기, 편집기

확장된 보기는 행 번호를 이용한 구문오류의 검색 시 도움을 줍니다.


(>>> 11.5 "프로그램에서 오류 찾기 및 제거하기" 페이지 315)

11.5 프로그램에서 오류 찾기 및 제거하기

설명

그림 11-9: 오류가 있는 프로그램

• 인라인 양식을 이용해 프로그램을 만들 때 일반적으로 프로그래밍 오


류가 발생할 수 없습니다.
• 하지만 고급언어 KRL-KUKA Robot Language에서 프로그래밍이 이
루어지는 경우, 텍스트 입력 시 구문오류가 발생할 수 있습니다.
• 이것은 컨트롤러에서 판독되지 않으며 오류로 표시됩니다.
• 불량한 프로그램/파일이 적색 X로 표시됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 315/378


전문가 레벨로의 입문 로봇 프로그래밍 1

진행 방법

1. 탐색기에서 오류가 있는 모듈 선택하기


(>>> 그림 11-9)
2. 메뉴 오류 목록을 선택하십시오

그림 11-10: 에러 목록, 호출

3. 오류 표시창(프로그램 이름.ERR)이 열립니다.

그림 11-11: 오류 표시창

• 이 오류 표시창에는 알려진 구문오류가 표 형식으로 표시됩니다.


• 마우스를 이용해 행을 선택합니다(1). 이 행이 청색 배경으로 표시
됩니다.
• 상세한 정보는 별도의 창에 표시됩니다(2).
• 표시창 단추(3)를 통해 프로그램이 열립니다.
4. 오류가 있는 구문행으로 커서가 이동합니다. 오류는 분석 및 수정이 가
능합니다.

316/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

전문가 레벨로의 입문
그림 11-12: 구문오류

이 예시에서 오류 표시창에 표시되는 행 번호 46은 프로그램 13의


그것과 일치하지 않습니다. 그 이유는 보기가 감소된 크기로 표시되
기 때문입니다. (>>> 11.4 "편집기에서 보기 어댑테이션" 페이
지 314)

5. 편집기를 마치고 저장합니다

11.6 로봇 프로그램의 구조 만들기

로봇 프로그램 구조형성 방법

• 로봇 프로그램의 구조는 프로그램의 사용가치를 위해 중요한 요소입니


다.
• 프로그램의 구조형성 정도가 높을 수록 이해하기 쉽고 가독성도 뛰어
나며 경제성도 높습니다.
• 프로그램을 구조적으로 만들기 위해서 다음과 같은 테크닉을 사용할
수 있습니다:
‒ 코맨드
메모 및 스탬프
(>>> 11.6.1 "프로그램 코맨드" 페이지 317)
‒ 들여넣기
공백
(>>> 11.6.2 "프로그램 들여넣기" 페이지 320)
‒ 숨기기
Folds ("접기")
(>>> 11.6.3 "프로그램 행 숨기기" 페이지 321)
‒ 모듈 기술
서브프로그램
(>>> 11.6.4 "로봇 프로그램 연결" 페이지 321)

11.6.1 프로그램 코맨드

설명

• 메모를 추가하면 프로그램의 독자만 읽도록 한 텍스트를 로봇 프로그


램에 남길 수 있습니다.
• 즉 로봇 해석기가 이 텍스트를 읽지는 않습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 317/378


전문가 레벨로의 입문 로봇 프로그래밍 1

• 이 텍스트의 목적은 프로그램의 가독성을 높이는 것 뿐입니다.


• 로봇 프로그램에서 이 메모를 여러 관점에서 사용할 수 있습니다:
‒ 프로그램 텍스트에 대한 정보: 저자, 버전, 작성일

그림 11-13: 메모의 예: 정보

‒ 프로그램 텍스트의 구분: 특히 그래픽적 수단(특수 문자 #, *, ~,)


을 사용하여

그림 11-14: 메모의 예: 분할

‒ 메모 처리(전문가 레벨): 프로그램 행의 처음에 세미콜론를 붙여 이


행이 "메모로 처리"되는 바, 즉 이 텍스트가 메모로서 인식되어 프
로그램 실행에 포함되지 않습니다.

그림 11-15: 메모의 예: 코멘트 아웃

인라인 양식은 ;으로 메모로 처리되지 않습니다.

‒ 각 행에 대한 설명
및 처리할 작업에 대한 지침: 불충분한 프로그램 부분의 표시

그림 11-16: 메모의 예: 언급:

주의사항
최신 버전을 유지하는 경우에만 메모가 유의미합니다. 설명서의 변
경 사항에 맞추어 메모를 반드시 추가로 업데이트해야 합니다!

코맨드의 종류

• 세미콜론 삽입(전문가 레벨): 세미콜론(";")을 삽입하면 행에 후속하는


부분은 메모가 됩니다.

...
SPTP HOME Vel=100% DEFAULT
; ##### Wuerfel holen ####

318/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

전문가 레벨로의 입문
SLIN P1 Vel=0.5 m/s CPDAT1 Tool[1]....

• 인라인 양식 "메모" 삽입

그림 11-17: 인라인 양식 메모

번호 설명
1 임의의 텍스트

• 인라인 양식 "스탬프" 삽입
여기에 시간 스탬프를 추가로 삽입합니다. 또한 편집자의 이름을 삽입
할 수 있습니다.

그림 11-18: 인라인 양식 스탬프

번호 설명
1 시스템 날짜 (업데이트가 가능합니다)
2 시스템 시간 (업데이트가 가능합니다)
3 사용자 이름 또는 ID
4 임의의 텍스트

진행 방법

1. 메모 또는 스탬프를 삽입할 행을 선택합니다.


2. 메뉴 순서: 명령 > 메모 > 일반 또는 스탬프

그림 11-19: 주석 삽입

3. 원하는 데이터를 입력합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 319/378


전문가 레벨로의 입문 로봇 프로그래밍 1

그림 11-20: 스탬프 삽입

• 메모에서는 새로운 텍스트를 입력하기 위해 새 텍스트를 이용해 입


력란을 비울 수 있습니다.
• 이외에도 스탬프에서는 뉴타임을 이용해 시스템 시간을 새로 고치
고 새 이름으로 이름 입력란을 비울 수 있습니다.

이전에 이미 메모 또는 스탬프가 삽입된 경우에는, 인라인 양식에


동일한 정보가 기록되어 있습니다.

4. OK 단추를 통해 메모/스탬프를 저장합니다.

11.6.2 프로그램 들여넣기

프로그램 행 들여넣기

그림 11-21: 프로그램의 행 누르기

• 로봇 프로그램의 가독성을 높이는 효과적인 방법은 프로그램의 행을


누르는 것입니다.
• 이렇게 함으로써 프로그램 요소의 관련성을 명확하게 할 수 있습니다.

주의사항
누르기의 효과는 오로지 시각적일 뿐입니다. 누른 프로그램 부분은 프로
그램 진행 시 누르지 않았을 때와 똑같이 처리됩니다.

320/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

전문가 레벨로의 입문
11.6.3 프로그램 행 숨기기

폴드를 통해 프로그램 행 숨기기

• KUKA 로봇 언어에는 프로그램 행을 폴드에서 요약하고 숨기는 방법


이 있습니다.
• 이로 인해 프로그램 부분이 사용자에게 보이지 않습니다 - 따라서 프
로그램을 읽을 때 단순성이 향상됩니다.
• 사용자 그룹 전문가에서는 그 폴드가 열리므로 편집할 수도 있습니다.

그림 11-22: 닫힌 폴드

그림 11-23: 열린 폴드

폴드에서의 색 표시:
컬러 설명
암적색 닫힌 폴드
적색 열린 폴드
암청색 닫힌 하위 폴드
청색 열린 하위 폴드
녹색 폴드의 내용

11.6.4 로봇 프로그램 연결

설명

• 하위 프로그램 테크닉은 로봇 프로그램을 모듈 방식으로 구성하여 구


조면에서 효율적으로 디자인할 수 있도록 해 줍니다.
• 그 목적은 하나의 프로그램에 모든 명령을 쓰는 것이 아니라 특정 진
행과정 및 계산, 혹은 프로세스를 별도의 프로그램으로 옮기는 것입니
다.
• 하위 프로그램을 사용할 경우 장점이 많습니다:
‒ 메인 프로그램은 프로그램 길이가 줄어 그 구조가 명확해지고 보다
쉽게 읽을 수 있습니다.
‒ 서브 프로그램은 서로 분리하여 개발할 수 있습니다: 프로그래밍으
로 인한 소모가 분배되고 오류 소스가 최소한으로 줄어듭니다.
‒ 하위 프로그램은 여러 차례에 걸쳐 다시 사용할 수 있습니다.
• 원칙적으로 하위 프로그램의 유형은 2가지입니다:
‒ 글로벌 서브 프로그램
(>>> "글로벌 서브 프로그램" 페이지 322)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 321/378


전문가 레벨로의 입문 로봇 프로그래밍 1

‒ 로컬 서브 프로그램
(>>> "로컬 서브 프로그램" 페이지 322)

글로벌 서브 프로그램

그림 11-24: 글로벌 하위 프로그램을 위한 스키마의 예

• 글로벌 하위 프로그램은 독립적인 로봇 프로그램으로 다른 로봇 프로


그램에서 불러올 수 있습니다.
• 프로그램의 분기는 요청사항에 맞춰 진행될 수 있습니다, 즉 경우에 따
라 메인 프로그램일 수도 있으며 다른 경우에는 하위 프로그램으로 기
능할 수도 있습니다.

로컬 서브 프로그램

그림 11-25: 스키마: 로컬 서브 프로그램

• 로컬 하위 프로그램은 메인 프로그램에 통합되어 있는 프로그램입니


다. 즉 명령이 동일한 SRC 파일에 들어 있습니다.
• 이에 따라 하위 프로그램의 포인트 좌표는 동일한 DAT 파일에 저장되
어 있습니다.

322/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

전문가 레벨로의 입문
하위 프로그램 호줄 진행과정

그림 11-26: 하위 프로그램 호줄 진행과정

• 각 프로그램은 DEF 행으로 시작하여 END 행으로 끝납니다.


• 메인 프로그램에서 하위 프로그램을 불러올 경우 기본적으로 하위 프
로그램은 DEF에서 END까지 처리됩니다.
• END 행에 도달하면 프로그램 진행 표시기는 다시 불러내고자 하는 프
로그램(메인 프로그램)으로 이동합니다.

주의사항
하위 프로그램을 일찍이(즉 END 행 전에) 마치려면 하위 프로그램에
명령 RETURN을 프로그래밍해야 합니다. 이 프로그램 행을 읽으면 하
위 프로그램을 조기에 중단할 수 있습니다.

서브 프로그램 호출

• 사용자 그룹 전문가가 필요합니다.


(>>> 3.2.1 "사용자 그룹 전환" 페이지 65)
• 구문: 이름( )

1. 원하는 메인 프로그램을 열기를 눌러 편집기에 로딩하십시오.

INI
SPTP HOME Vel= 100% DEFAULT
SPTP HOME Vel= 100% DEFAULT

2. 커서를 원하는 행에 놓으십시오.


3. 하위 프로그램의 이름을 양 괄호를 사용하여 입력하기 - 예를 들어
myprog( ).

INI
SPTP HOME Vel= 100% DEFAULT
myprog( )
SPTP HOME Vel= 100% DEFAULT

4. 닫기 심벌을 사용하여 편집기를 닫고 변경한 내용을 저장하십시오.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 323/378


전문가 레벨로의 입문 로봇 프로그래밍 1

11.6.5 연습: 하위 프로그램 호출 프로그래밍

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 하위 프로그램 불러내기 프로그래밍

324/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

변수 및 합의
12 변수 및 합의

12.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• KRL을 이용한 데이터 관리
• 간단한 데이터 유형으로 작업하기

12.2 KRL을 이용한 데이터 관리

변수에 대한 일반 사항

그림 12-1: Variable

• KRL로 로봇을 프로그래밍할 때 일반적으로 변수는 로봇 프로세스가


진행되는 동안 나타나는 피연산 함수("값") 을 담는 그릇입니다.
• 각 변수는 컴퓨터 메모리에서 할당된 특정 주소를 갖습니다.
• 변수는 KUKA 키워드가 아닌 이름을 사용하여 표시됩니다.
• 각 변수는 특정 데이터 파입과 결합되어 있습니다.
• 사용하기 전에 데이터 타입 선언을 해야 합니다.
• KRL에서 로컬 변수와 글로벌 변수는 다릅니다.

그림 12-2: 버전 표시

12.2.1 명명 규칙

변수의 이름을 선택할 때 다음과 같은 규칙을 고려해야 합니다:

• KRL로 된 이름의 길이는 최대 24자입니다.


• KRL로 된 이름은 알파벳(A - Z) 및 숫자(0 - 9), 특수문자 "_" 및 "$"
등을 포함해야 합니다.
• KRL로 된 이름은 숫자로 시작해서는 안 됩니다.
• KRL로 된 이름은 키워드여서는 안 됩니다.
• 대문자 및 소문자 표기는 중요하지 않습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 325/378


변수 및 합의 로봇 프로그래밍 1

유용한 팁

• 의미가 있고 자명한 변수 이름을 사용하십시오,


• 난해한 이름이나 약자는 사용하지 마십시오,
• 적합한 길이의 이름을 사용하십시오, 즉 매번 24자 모두 사용하지 마
십시오.

12.2.2 변수의 이중 선언

설명

• 이중 선언은 항상 동일한 변수 이름(기호의 순서)을 사용할 때 발생합


니다.
• 이중선언이 아닌 경우는 동일한 이름에 상이한 *.SRC 또는 *.DAT-
파일을 사용하는 경우입니다.
• 동일한 *.SRC und *.DAT- 파일을 사용한 이중 선언은 허용되지 않으
며 오류 메시지를 발생시킵니다.
• KSS8.5부터는 *.SRC 또는 *.DAT 파일에서 그리고 $CONFIG.DAT에
서 이중 선언이 더 이상 허용되지 않습니다.

12.2.3 데이터 타입

사전에 정의된 표준 데이터 타입

• BOOL: 기존방식의 "예"/"아니오" 결과


• REAL: 부동 소수점 수, 산술 연산의 결과, 올림 및 버림으로 인한 오
류를 방지하기 위함
• INT: 정수, 카운팅 루프 또는 카운터를 위한 고전적인 카운팅 변수
• CHAR: 하나의 문자만
스트링 혹은 텍스트는 CHAR-필드로서만 실현될 수 있습니다

단순한 데이터
정수 부동소수점 논리값 개별 기호
타입
키워드 INT REAL BOOL CHAR
값 범위 -231 ... ± 1.1 10-38... TRUE / ASCII-기
(231-1) ± 3.4 10+38 FALSE 호 세트

예시 -199 또 -0.0000123 또 TRUE 또 "A" 또는


는 56 는 3,1415 는 "q" 또는
FALSE "7"

필드/어레이

Voltage[10] = 12.75
Voltage[11] = 15.59

• 인덱스를 사용하여 동일한 데이터 타입의 여러 개의 변수를 저장합니



• 초기화 또는 값 변경 시 인덱스를 입력해야 합니다
• 필드의 최대 크기는 데이터 타입이 필요로 하는 메모리 크기에 따라
다릅니다

열거 데이터 타입

color = #red

326/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

변수 및 합의
• 열거 데이터 타입의 모든 값은 저장할 때 이름(일반 텍스트)을 사용하
여 정의합니다.
• 이때 시스템은 순서도 결정합니다

혼합형 데이터 타입/구조

Date = {day 14, month 12, year 1996}

• 다양한 데이터 타입의 구성요소를 혼합한 데이터 타입


• 구성요소는 단순한 데이터 타입일 수도 있고 구조일 수도 있습니다.
• 각 구성요소로의 접근은 가능합니다.

12.2.4 변수 만들기

변수의 선언

• 선언은 항상 사용하기 전에 이뤄져야 합니다.


• 각 변수에 데이터 타입이 할당되어야 합니다.
• 이름을 부여할 때 명명 규칙을 준수해야 합니다.
• 선언의 키워드는 DECL입니다.
• 키워드 DECL은 4개의 간단한 데이터 타입에서는 생략될 수 있습니다.
• 값 할당은 전진 시에 이뤄집니다.
• 변수 선언은 다양한 장소에서 행해질 수 있습니다. 이는 각 변수의 수
명과 유효성에 영향을 미칩니다.

12.2.5 변수의 수명 및 유효성

수명

• 여기서 수명이란 변수를 위해 저장 공간이 예약되어 있는 기간을 의미


합니다.
• 런타임 변수는 프로그램이나 기능을 종료할 때 그 저장 공간의 할당을
다시 취소합니다.
• 데이터 목록에 있는 변수는 저장 공간에 있는 자신의 현재 (최신) 값을
계속 유지합니다.

유효성

• 로컬이라고 선언한 변수는 그렇게 선언한 프로그램에서만 사용할 수


있고 보일 수 있습니다.
• 글로벌 변수는 중앙 (글로벌) 변수 목록에 만들어져 있습니다.
• 글로벌 변수를 로컬 데이터 목록에도 만들수 있으며 선언할 때 이 변
수를 키워드 글로벌로 구분할 수 있습니다.

12.2.6 저장 장소에 따른 변수 선언

*.SRC 파일 내 변수

• *.SRC 파일에서 만들어진 변수는 런타임 변수로 불립니다.


• 이 변수는 항상 표시되지는 않습니다.
• 이 변수는 선언된 프로그램 루틴에서만 사용할 수 있습니다. 따라서 이
변수는 프로그램 실행 시 사용할 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 327/378


변수 및 합의 로봇 프로그래밍 1

• 이 변수는 프로그램의 마지막 행(END-행)에 도달하면 사진의 저장공


간을 다시 비워줍니다.

로컬 *.DAT- 파일에서의 변수

• 해당 *.SRC- File의 프로그램 진행 시 항상 표시됩니다.


• 변수의 값은 프로그램이 종료된 후 계속 유지됩니다.
• 또한 전체 *.SRC- File 에서도, 즉 로컬 하위 프로그램에서도 사용할
수 있으며
• 글로벌 변수로도 생성될 수 있고
• *.DAT- File에서 현재값을 가지며 다시 불러낼 경우 저장된 값을 사
용하기 시작합니다.
• 변수가 글로벌로 선언되면 이를 글로벌하게 사용할 수 있습니다.
DAT-파일이 키워드 PUBLIC과 함께, 또한 선언 시 추가로 키워드
GLOBAL과 함께 사용되면 모든 프로그램 루틴에서 읽기 및 쓰기 액세
스가 가능합니다.

시스템 파일 $CONFIG.DAT에서의 변수

• 모든 프로그램에서 사용할 수 있으며(글로벌)


• 프로그램이 작동하고 있지 않는 상태에서도 항상 표시됩니다.
• 글로벌하게 사용할 수 있습니다. 즉 모든 프로그램 루틴에서 읽기 및
쓰기 액세스가 가능합니다
• $CONFIG.DAT에서 현재의 값을 저장합니다.

12.2.7 KUKA 시스템 데이터

설명

• KUKA 시스템 데이터는 모든 데이터 타입에서 사용됩니다, 예를 들어


‒ 열거 데이터 타입으로 작동모드
‒ 구조나 날짜/시간 등
• 시스템 정보는 KUKA 시스템 변수에서 얻게 됩니다. 이는
‒ 현재의 시스템 정보를 읽고,
‒ 현재의 시스템 컨피규레이션을 변경시키며
‒ 사전에 정의되어 있으며 "$"-기호로 시작됩니다
‒ $DATE (현재의 시간과 날짜)
‒ $POS_ACT (현재의 로봇 위치)
‒ $MODE_OP(현재의 작동 모드)
‒ ...

12.3 단순한 데이터 타입으로 작업

아래에서는 만들기, 초기화 및 변수 변경에 대해 설명합니다. 이때 단순한


데이터 타입만 사용합니다.
KRL이 있는 단순한 데이터 타입

• 정수(INT)
• 부동 소수점 수(REAL)
• 논리값(BOOL)
• 개별 기호(CHAR)

328/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

변수 및 합의
12.3.1 변수 선언

변수 선언의 원리

SRC 파일의 프로그램 구조의 예

• 선언 파트에서 변수를 선언해야 합니다.


• 초기화 파트는 첫 번째 값 할당으로, 그렇지만 대부분 "INI" 행으로 시
작합니다.
• 지령 파트에서는 값이 할당되거나 변경됩니다.

DEF main( )
; 선언 파트
...
; 초기화 파트
INI
...
; 지령 파트
SPTP HOME Vel=100% DEFAULT
...
END
기본 보기 변경하기

• DEF 행은 전문가만이 보이도록 할 수 있습니다.


• 모듈에서 "INI" 행에 앞서 선언 파트에 접근하려면 이 과정이 필요합니
다.
• DEF 및 END 행을 볼 수 있으려면 하위 프로그램에 변수를 전달할 경
우에도 중요합니다
변수 선언 계획

• 수명 지정
• 유효성/사용 가능성 지정
• 데이터 타입 지정
• 이름 부여 및 선언

간단한 데이터 타입 으로 변수를 선언하는 방법

SRC-파일에서 변수를 작성합니다

1. 사용자그룹 전문가
2. DEF-행을 표시합니다
3. 편집기에서 SRC 파일을 엽니다
4. 변수 선언을 실행합니다

DEF MY_PROG ( )
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
INI
...
END

5. 프로그램을 닫고 저장합니다
DAT-파일에서 변수를 작성합니다

1. 사용자그룹 전문가

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 329/378


변수 및 합의 로봇 프로그래밍 1

2. 편집기에서 DAT 파일을 엽니다


3. 변수 선언을 실행합니다

DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL INT counter1
DECL REAL price1
DECL BOOL error1
DECL CHAR symbol1
...
ENDDAT

주의사항
SRC 파일에서 사용되는 변수를 사용하지 않습니다. 이것은 이중 선
언을 발생시킵니다.

4. 데이터 목록을 닫고 저장합니다


$CONFIG.DAT에서 변수를 작성합니다

1. 사용자그룹 전문가
2. SYSTEM 폴더에서 편집기에 있는 $CONFIG.DAT를 엽니다

DEFDAT $CONFIG
BASISTECH GLOBALS
AUTOEXT GLOBALS
USER GLOBALS
BackupManagerConfig
Conveyor
ENDDAT

3. 폴드 "USER GLOBALS"를 선택하고 소프트키로 "폴드 열기/닫기"를


엽니다
4. 변수 선언을 실행합니다

DEFDAT $CONFIG
...
;==================================
; Userdefined Types
;==================================
;==================================
; Userdefined Externals
;==================================
;==================================
; Userdefined Variables
;==================================
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
...
; *******************************************
;Make your modifications -ONLY- here
; *******************************************
ENDDAT

5. 데이터 목록을 닫고 저장합니다

330/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

변수 및 합의
DAT-파일에서 글로벌 변수를 작성합니다

1. 사용자그룹 전문가
2. 편집기에서 DAT 파일을 엽니다
3. 프로그램 헤더에 있는 데이터 목록을 키워드 PUBLIC을 사용하여 확장
합니다

DEFDAT MY_PROG PUBLIC

4. 변수 선언을 실행합니다

DEFDAT MY_PROG PUBLIC


EXTERNAL DECLARATIONS
DECL GLOBAL INT counter
DECL GLOBAL REAL price
DECL GLOBAL BOOL error
DECL GLOBAL CHAR symbol
...
ENDDAT

주의사항
CONFIG.DAT에서 사용되는 이름을 사용하지 않습니다. 이것은 이
중 선언을 발생시킵니다.

5. 데이터 목록을 닫고 저장합니다

12.3.2 단순한 데이터 타입을 사용한 변수 초기화

KRL을 사용한 초기화 설명

• 변수는 선언 후 하나의 저장공간을 예약할 수 있습니다, 변수의 값은


항상 무효한 값입니다.
• SRC 파일에서 선언 및 초기화는 항상 분리된 2개의 행에서 이뤄집니
다.
• DAT 파일에서 선언 및 초기화는 항상 1개의 행에서 이뤄집니다(초기
화가 요구되는 경우).
상수는 데이터 목록에서만 선언될 수 있으며 이곳에서 즉시 초기화해
야 합니다.
• 초기화 부분은 첫 번째 값 할당으로 시작됩니다.

초기화 원리

정수 초기화

• 소수로 초기화하기

value = 58

• 이진수로 초기화하기

value = 'B111010'

계산: 1*32+1*16+1*8+0*4+1*2+0*1 = 58
바이너
25 24 23 22 21 20
리:
소수 32 16 8 4 2 1

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 331/378


변수 및 합의 로봇 프로그래밍 1

• 16진수 초기화하기

value = 'H3A'

계산: 3*16 +10 = 58


16진
0 1 2 3 4 5 6 7 8 9 A B C D E F

소수 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

KRL을 이용한 초기화 시 진행 방식

SRC 파일에서의 선언 및 초기화

1. 편집기에서 SRC 파일을 엽니다


2. 선언이 실행됩니다
3. 초기화를 실시합니다

DEF MY_PROG ( )
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
INI
counter = 10
price = 0.0
error = FALSE
symbol = "X"
...
END

4. 프로그램을 닫고 저장합니다
DAT 파일에서의 선언 및 초기화

1. 편집기에서 DAT 파일을 엽니다


2. 선언이 실행됩니다
3. 초기화를 실시합니다

DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL INT counter = 10
DECL REAL price = 0.0
DECL BOOL error = FALSE
DECL CHAR symbol = "X"
...
ENDDAT

4. 데이터 목록을 닫고 저장합니다


DAT 파일에서의 선언 및 SRC 파일에서의 초기화

1. 편집기에서 DAT 파일을 엽니다


2. 선언을 실시합니다

DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL INT counter
DECL REAL price
DECL BOOL error

332/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

변수 및 합의
DECL CHAR symbol
...
ENDDAT

3. 데이터 목록을 닫고 저장합니다


4. 편집기에서 SRC 파일을 엽니다
5. 초기화를 실시합니다

DEF MY_PROG ( )
...
INI
counter = 10
price = 0.0
error = FALSE
symbol = "X"
...
END

6. 프로그램을 닫고 저장합니다

상수의 선언과 초기화

설명

• 상수는 키워드 CONST로 만들어집니다.


• 상수를 데이터 목록에만 저장해야 합니다.
상수 만들기

1. 편집기에서 DAT 파일을 엽니다.


2. 선엄 및 초기화를 실행합니다.

DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL CONST INT max_size = 99
DECL CONST REAL PI = 3.1415
...
ENDDAT

3. 데이터 목록을 닫고 저장합니다

12.3.3 간단한 데이터 타입의 변수 값을 KRL로 매니퓰레이션하기

KRL로 변수값을 변경시키는 방법의 목록

변수값은 프로그램 루틴(SRC 파일)에서 작업설정에 따라 다르게 변경됩니


다. 아래에서는 가장 많이 쓰이는 방법이 설명됩니다. Bit 연산을 사용한
매니퓰레이션과 기본 함수도 사용가능한 방법이지만 여기에서는 깊이 다
루지 않겠습니다.
데이터 매니퓰레이션의 수단

• 기본 산술연산
‒ (+) 더하기
‒ (-) 빼기
‒ (*) 곱하기
‒ (/) 나누기
• 비교 연산

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 333/378


변수 및 합의 로봇 프로그래밍 1

‒ (==) 동일함/등식
‒ (<>) 같지 않음
‒ (>) 보다 큼
‒ (<) 보다 작음
‒ (>=) 크거나 같음
‒ (<=) 작거나 같음
• 논리적 연산
‒ (NOT) 역전
‒ (AND) 논리적 AND
‒ (OR) 논리적 OR
‒ (EXOR) 배타적 OR
• Bit 연산
‒ (B_NOT) 비트 역전
‒ (B_AND) 비트 AND 결합
‒ (B_OR) 비트 OR 결합
‒ (B_EXOR) 비트 배타적 OR 결합
기본 함수

• 절대값 함수
• 루트 함수
• 사인, 코사인 함수
• 탄젠트 함수
• 아크 코사인 함수
• 아크 탄젠트 함수
• 스트링 매니퓰레이션을 위한 다수의 함수

데이터 매니퓰레이션에서의 연관관계

데이터 타입 REAL 및 INT를 사용한 값 변경


• 반올림/반내림

; 선언
DECL INT A,B,C
DECL REAL R,S,T
; 초기화
A = 3 ; A=3
B = 5.5 ; B=6 (x.5부터 반올림됨)
C = 2.25 ; C=2 (반내림)
R = 4 ; R=4.0
S = 6.5 ; S=6.5
T = C ; T=2.0 (반내림된 값이 채택됨)

• 산술적 연산 (+;-;*)의 결과
피연산자 INT REAL
INT INT REAL
REAL REAL REAL

; 선언
DECL INT D,E
DECL REAL U,V

334/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

변수 및 합의
; 초기화
D = 2
E = 5
U = 0.5
V = 10.6
; 지령부분 (데이터 매니퓰레이션)
D = D*E ; D = 2 * 5 = 10
E = E+V ; E= 5 + 10.6 = 15.6 -> 반올림 E=16
U = U*V ; U= 0.5 * 10.6 = 5.3
V = E+V ; V= 16 + 10.6 = 26.6

• 산술적 연산 (/)의 결과
정수값을 사용한 산술적 연산의 특징

‒ 정수 연산의 중간 결과에서 소수점 뒷자리는 모두 잘라냅니다.


‒ 정수 변수에 값을 할당할 때 결과는 일반적인 계산규칙에 따라 끝
자리 수를 처리합니다.

; 선언
DECL INT F
DECL REAL W
; 초기화
F = 10
W = 10.0
; 지령부분 (데이터 매니퓰레이션)
; INT / INT -> INT
F = F/2 ; F=5
F = 10/4 ; F=2 (10/4 = 2.5 -> 소수점 뒷자리를 잘라냅니다.)
; REAL / INT -> REAL
F = W/4 ; F=3 (10.0/4=2.5 -> 반올림)
W = W/4 ; W=2.5
비교 연산
비교 연산으로 논리적 표현식을 만들 수 있습니다. 비교 결과는 항상 데이
터 파입 BOOL을 갖습니다.
연산자/KRL 설명 허용된 데이터 타입
== 동일함/등식 INT, REAL, CHAR, BOOL
<> 같지 않음 INT, REAL, CHAR, BOOL
> 보다 큼 INT, REAL, CHAR
< 보다 작음 INT, REAL, CHAR
>= 크거나 같음 INT, REAL, CHAR
<= 작거나 같음 INT, REAL, CHAR

; 선언
DECL BOOL G,H
; 초기화/지령부분
G = 10>10.1 ; G=FALSE
H = 10/3 == 3 ; H=TRUE
G = G<>H ; G=TRUE

논리적 연산
논리적 연산으로 논리적 표현식을 만들 수 있습니다. 이러한 연산의 결과
는 항상 데이터 파입 BOOL을 갖습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 335/378


변수 및 합의 로봇 프로그래밍 1

A AND A EXOR
연산 NOT A A OR B
B B
A=FALS B=FALS TRUE FALSE FALSE FALSE
E E
A=FALS B=TRUE TRUE FALSE TRUE TRUE
E
A=TRUE B=FALS FALSE FALSE TRUE TRUE
E
A=TRUE B=TRUE FALSE TRUE TRUE FALSE

; 선언
DECL BOOL K,L,M
; 초기화/지령부분
K = TRUE
L = NOT K ; L=FALSE
M = (K AND L) OR (K EXOR L) ; M=TRUE
L = NOT (NOT K) ; L=TRUE

연산자는 우선순위에 따라 실행됩니다


우선순위 연산자
1 NOT (B_NOT)
2 곱셈 (*); 나눗셈 (/)
3 덧셈 (+), 빼기 (-)
4 AND (B_AND)
5 EXOR (B_EXOR)
6 OR (B_OR)
7 각종 비교 (==; <>; ...)

; 선언
DECL BOOL X, Y
DECL INT Z
; 초기화/지령부분
X = TRUE
Z = 4
Y = (4*Z+16 <> 32) AND X ; Y=FALSE

데이터 매니퓰레이션 방법

1. 변수 1개 혹은 여러 개의 데이터 타입을 정합니다


2. 변수의 유효성 및 수명을 검사합니다.
3. 변수 선언을 실시합니다
4. 변수를 초기화합니다
5. 프로그램 루틴에서, 즉 항상 *.SRC 파일에서 변수를 매니퓰레이션합니

6. *.SRC 파일을 닫고 저장합니다

정지 명령

정지는 주로 프로그래밍 단계에서 테스트용으로 사용됩니다. 예를 들어 런


타임 변수의 내용을 표시하기 위해 사용됩니다.

336/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

변수 및 합의
• 정지 명령은 프로그램을 정지시킵니다. 하지만 최근에 처리된 동작 지
령은 완전히 실행되지 않습니다.
• 프로그램은 시작 버튼으로만 다시 계속 진행시킬 수 있습니다. 그러면
그 다음 정지 지령이 실행됩니다.

인터럽트 프로그램에서는 프로그램이 전진을 완전히 처리한 후에 정지


됩니다.

예시:

DEF program()
DECL BOOL a,b
INI
...
SPTP XP1
a=$IN[1]
b=$IN[2]
HALT
IF ((a == TRUE) AND (b == FALSE)) THEN
..
ENDIF
...

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 337/378


변수 및 합의 로봇 프로그래밍 1

12.3.4 연습: 간단한 데이터 타입

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 단순한 데이터 타입

338/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
13 프로그램 진행 컨트롤의 사용

13.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• 브랜딩 프로그래밍
• 분기 프로그래밍
• 분배기 프로그래밍
• 점프 명령 프로그래밍
• KRL에서 대기 함수 프로그래밍

13.2 루프 프로그래밍하기

로봇 프로그램에서는 순전한 모션 명령 및 통신 명령(스위칭 함수 및 대기


함수) 이외에도 프로그램 진행을 컨트롤하는데 사용되는 수 많은 루틴이
있습니다.

루프에 대한 일반사항

• 루프는 컨트롤 구조입니다.


• 루프는 중단 조건이 발생할 때까지 프로그램 지령을 반복합니다.
• 외부에서 특정 루프 본체로 점프하는 것은 금지되어 있습니다.
• 루프는 서로 연계될 수 있습니다.
• 루프 파입은 다양합니다.
‒ 무한 루프
‒ 카운터 루프
‒ 조건부 루프
‒ 거부하는 루프
‒ 거부하지 않는 루프

13.2.1 무한 루프 프로그래밍하기

무한 루프 설명

• 무한 루프는 처리를 마친 후 매번 처리되는 루프입니다.


• 이 실행과정은 외부의 영향으로 중단될 수 있습니다.
• 구문

LOOP
; 지령
...
; 지령
ENDLOOP

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 339/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

무한 루프의 원리

그림 13-1: 프로그램 로드맵: 무한 루프

• 무한 루프는 EXIT을 사용하여 마칠 수 있습니다


• EXIT로 무한 루프를 마칠 때 충돌 위험이 없는지 유의해야 합니다
• 2개의 무한루프가 서로 연계되어 있을 때 양 루프를 마치려면 EXIT
명령도 2개가 필요합니다

무한 루프를 프로그래밍할 경우의 예

중단없는 무한 루프

DEF MY_PROG( )
INI
SPTP HOME Vel=100% DEFAULT
LOOP
SPTP XP1
SPTP XP2
SPTP XP3
SPTP XP4
ENDLOOP
SPTP P5 Vel=30% PDAT5 Tool[1] Base[1]
SPTP HOME Vel=100% DEFAULT
END

프로그램 테크닉 면에서 P5 지점으로는 결코 이동하지 않습니다.

중단이 있는 무한 루프

DEF MY_PROG( )
INI
SPTP HOME Vel=100% DEFAULT
LOOP
SPTP XP1
SPTP XP2
; Bedingung für Abbruch
IF $IN[3]==TRUE THEN ;
EXIT
ENDIF
SPTP XP3
SPTP XP4

340/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
ENDLOOP
SPTP P5 Vel=30% PDAT5 Tool[1] Base[1]
SPTP HOME Vel=100% DEFAULT
END

인풋 3이 활성화되는 즉시 P5 포인트로 이동합니다.


중요: P2와 P5 사이에서 이동할 때 충돌할 가능성이 있는지 점검해야
합니다.

13.2.2 카운트 루프 프로그래밍하기

카운트 루프에 관한 설명

그림 13-2: 프로그램 로드맵: 카운터 루프

• FOR 루프는 일종의 제어 구조로서, 이 구조를 이용하여 하나 이상의


응용 프로그램이 지정된 횟수로 반복하며 실행될 수 있습니다.
• 카운트 루프에는 사전에 선언한 데이터 타입 정수의 루프 카운터가 필
요합니다.
• 카운트 루프는 값 시작에서 시작되며 늦어도 값 last에서 종료됩니다.
단계 폭이 +1인 구문

FOR counter = start TO last


;지령
ENDFOR

• 단계 폭(increment)을 키워드 STEP을 사용하여 정수로서도 표시할 수


있습니다.

FOR counter = start TO last STEP increment


;지령
ENDFOR

• EXIT를 사용하여 카운트 루프를 즉시 마칠 수 있습니다.

Increment에 대한 값은 정수로 입력해야 하며 변수일 수 없습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 341/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

카운트 루프를 사용한 전진 계수

DECL INT counter


FOR counter = 1 TO 3 Step 1
;지령
ENDFOR

1. 시작값을 사용하여 루프 카운터를 초기화합니다: counter = 1


2. 루프 카운터는 ENDFOR에서 단계 폭 STEP만큼 증가합니다
3. 루프는 FOR 행에서 다시 시작됩니다
4. 진입 조건의 검사: 루프 카운터는 표시된 최종값보다 작거나 같아야 합
니다. 그렇지 않으면 루프가 종료됩니다
5. 검사에 따라 루프 카운터가 다시 증가하거나 루프가 종료되며 프로그
램은 ENDFOR 행 후 계속 실행됩니다
예시:

• 단계 폭이 표시되지 않은 단순한 카운트 루프

DECL INT counter


FOR counter = 1 TO 50
$OUT[counter] = FALSE
ENDFOR

STEP을 사용한 단계 폭을 표시하지 않고 +1의 단계 폭이 사용됩니


다.

• 단계 폭이 표시된 단순한 카운트 루프

DECL INT counter


FOR counter = 1 TO 4 STEP 2
$OUT[counter] = TRUE
ENDFOR

이 루프는 두 번만 통과합니다. 한 번은 시작값 counter=1로 두 번


째는 counter=3으로. 카운터의 값이 5이면 루프가 즉시 중지됩니다.

카운트 루프를 사용한 후진 계수

DECL INT counter


FOR counter = 15 TO 1 Step -1
;지령
ENDFOR

루프가 여러 차례에 걸쳐 가동될 수 있으려면 루프의 초기값 또는 시작


값은 최종값보다 커야 합니다.

보기:

• 음수의 단계 폭이 표기된 카운트 루프

DECL INT counter


FOR counter = 10 TO 1 STEP -1
지령
ENDFOR

• 단계 폭이 표시된 단순한 카운트 루프

342/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
DECL INT counter1, counter2
FOR counter1 = 1 TO 21 STEP 2
FOR counter2 = 20 TO 2 STEP -2
...
ENDFOR
ENDFOR

언제나 내부 루프, 여기에서는 카운터 2가 먼저 가동되고 연이어 외


부 루프(counter1)가 가동됩니다.

13.2.3 거부하는 루프 프로그래밍하기

거부하는 루프에 대한 설명

그림 13-3: 프로그램 로드맵: 거부하는 루프

• WHILE- 루프는 이성적인 루프라고도 합니다.


• WHILE- 루프는 거부하는 또는 사전 검사 루프로서 루프의 지령 부분
이 실행되기 전에 취소 조건을 검사합니다.
• 이러한 루프는 특정 실행조건(condition)이 충족되어 있는 한 프로세스
를 반복합니다.
• 실행조건이 충족되지 않았다면 루프는 즉각 종료되며 지령은
ENDWHILE에 따라 처리됩니다.
• 구문

WHILE condition
; 지령
ENDWHILE

• EXIT를 사용하여 거부하는 루프를 즉시 마칠 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 343/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

거부하는 루프를 사용한 프로그래밍

• 간단한 실행조건을 사용한 거부하는 루프

...
WHILE IN $[41]==TRUE ; 부분이 이미 매거진에 있습니다
PICK_PART( )
ENDWILE
...

표현식 WHILE $IN[41]==TRUE는 WHILE $IN[41]로도 축소될


수 있습니다. 생략은 항상 TRUE에 대한 비교를 뜻합니다.

• 간단하고 부정하는 실행 조건을 사용한 거부하는 루프

...
WHILE NOT $IN[42]==TRUE ; 인풋 42: 매거진이 비어 있음
PICK_PART( )
ENDWILE...

또는

...
WHILE $IN[42]==FALSE ; 인풋 42: 매거진이 비어 있음
PICK_PART( )
ENDWILE...

• 복합적인 실행조건을 사용한 거부하는 루프

...
WHILE (($IN[40]==TRUE) AND ($IN[41]==FALSE) OR (counter>20))
PALLET( )
ENDWILE
...

344/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
13.2.4 거부하지 않는 루프 프로그래밍하기

거부하지 않는 루프에 대한 설명

그림 13-4: 프로그램 로드맵: 거부하지 않는 루프

• 거부하지 않는 루프를 풋제어 루프라고도 합니다.


• REPEAT-루프는 거부하지 않는 또는 사후 검사 루프로서, 이 루프에
서는 루프의 지령 부분을 한 번 완전히 실행한 후에야 취소 조건을 검
사합니다.
• 지령 부분을 처리한 후 조건(condition)이 충족되어 있어 이 루프를 마
칠 수 있는지 검사합니다.
‒ 조건 검사의 결과가 양호하면 루프를 종료하고 지령을 UNTIL에
따라 처리합니다.
‒ 조건 검사의 결과가 불량하면 루프는 다시 REPEAT에서 시작됩니
다.
• EXIT를 사용하여 거부하지 않는 루프를 즉시 마칠 수 있습니다.
• 구문

REPEAT
; 지령
UNTIL condition

거부하지 않는 루프를 프로그래밍하기

• 간단한 실행조건을 사용한 거부하지 않는 루프

...
REPEAT
PICK_PART( )
UNTIL $IN[42]==TRUE ; 인풋 42: 매거진이 비어 있음
...

표현식 UNTIL $IN[42]==TRUE은 UNTIL $IN[42]로도 축소될 수


있습니다. 생략은 항상 TRUE에 대한 비교를 뜻합니다

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 345/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

• 복합적인 실행조건을 사용한 거부하지 않는 루프

...
REPEAT
PALLET( )
UNTIL (($IN[40]==TRUE) AND ($IN[41]==FALSE) OR (counter>20))
...

포지티브한 결과가 나올 경우 루프는 종료됩니다!

13.3 조회 혹은 분기 프로그래밍하기

분기에 대한 설명

그림 13-5: 프로그램 로드맵: IF 분기

• 분기를 사용하여 프로그램 구간이 어떤 특정한 조건에서만 실행되도록


할 수 있습니다.
• 프로그램을 여러 경로로 나눌 때 분기를 사용합니다.
• 조건적 분기 (IF 조회)는 하나의 조건절과 두 개의 지령 부분으로 구성
되어 있습니다.
• IF-지령은 이 조건이 참(TRUE)인지 또는 거짓(FALSE)인지를 점검합
니다.
‒ 이 조건이 충족되어 있으면 첫 번째 지령을 처리할 수 있습니다.
‒ 이 조건이 충족되어 있지 않으면, 두 번째의 다른 지령이 처리됩니
다.
• IF 조회의 버전:
‒ 두 번째 지령 부분을 삭제할 수 있습니다: ELSE가 없는 IF 조회.
그에 따라 조건이 충족되어 있지 않는 경우 분기 직후 프로그램이
속행됩니다.
‒ 여러 개의 IF 조회는 서로 연계될 수 있습니다(다중 분기): 조회가
순서에 따라 처리되며 조건이 충족되어 있는지를 검사합니다.

346/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
분기 프로그래밍하기

구문

• 대안 분기 사용

IF condition THEN
지령
ELSE
지령
ENDIF

• 대안 분기 사용하지 않음(조회)

IF condition THEN
지령
ENDIF

분기의 예

대체분기가 있는 분기

DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; error_nr = 5 일 경우에만 P21로 이동합니다, 그렇지 않을 경우에는 P22로 이
동.
IF error_nr == 5 THEN
SPTP XP21 ; 지령 1
ELSE
SPTP XP22 ; 지령 2
ENDIF
...
END

대체분기가 없는 분기

DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; error_nr = 5 일 경우에만 P21로 이동합니다.
IF error_nr == 5 THEN
SPTP XP21
ENDIF
...
END

복합적인 실행조건을 사용한 분기

DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; error_nr = 1 또는 10 또는 99보다 클 경우에만 P21로 이동합니다

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 347/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

IF ((error_nr == 1) OR (error_nr == 10) OR (error_nr > 99)) THEN


SPTP XP21
ENDIF
...
END

BOOL형 표현식을 사용한 분기

DEF MY_PROG( )
DECL BOOL no_error
...
INI
no_error = TRUE
...
; 에러가 없는 경우에만(no_error) P21로 이동합니다
IF no_error == TRUE THEN
SPTP XP21
ENDIF
...
END

표현식 IF no_error==TRUE THEN는 IF no_error THEN으로도 축소


될 수 있습니다. 생략은 항상 TRUE에 대한 비교를 뜻합니다.

13.4 디스트리뷰터 프로그래밍 (SWITCH- CASE)

분배기(SWITCH- CASE) 설명

그림 13-6: 프로그램 로드맵 디스트리뷰터 SWITCH - CASE

• 많은 경우를 구별하고 각 경우에 상이한 작업을 실시하고자 한다면


SWITCH - CASE 지령으로 이를 이룰 수 있습니다.
• SWITCH- CASE 분기는 분배기 및 다중 분기이며 경우 구별에 사용
됩니다.
• SWITCH-지령에서 전달된 변수는 스위치로 사용되며 지령 블록에서
사전정의된 CASE-지령으로 이동합니다.

348/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
• SWITCH-지령이 사전정의된 CASE를 발견하지 못하면 DEFAULT-구
간이 앞서 사전정의되어 있을 경우 이 구간을 거치게 됩니다.

구문

SWITCH 선택 기준
CASE 값
지령
CASE 값
지령
CASE 값
지령
...
DEFAULT
지령
ENDSWITCH

단순한 데이터 타입을 통한 값 전달

• SWITCH- CASE 는 다음과 같은 데이터 타입과 결합하여 사용할 수


있습니다:
‒ INT (정수)
예시:

DEF MY_PROG( )
DECL INT my_number
...
INI
my_number = 2
...
SWITCH my_number
CASE 1
SPTP XP21
CASE 2
SPTP XP22
CASE 3
SPTP XP23
ENDSWITCH
...

‒ CHAR (기호)
예시:

DEF MY_PROG( )
DECL CHAR my_sign
...
INI
my_sign = "a"
...
SWITCH my_sign
CASE "a"
SPTP XP21
CASE "b"
SPTP XP22
CASE "c"
SPTP XP23
ENDSWITCH
...

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 349/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

SWITCH- CASE 변수

SWITCH- CASE 분배기는 프로그래밍이 가능합니다.

• 지정된 분배기만 사용하고 대안경로는 사용하지 않는 경우에만

DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; 지정된 경우에만 이동이 가능합니다
SWITCH error_nr
CASE 1
SPTP XP21
CASE 2
SPTP XP22
CASE 3
SPTP XP23
ENDSWITCH
...

error_nr이 1, 2 또는 3과 같지 않을 경우 지령을 실행하지 않고 즉


시 ENDSWITCH로 이동합니다.

• 지정된 분배기 및 대안경로를 사용하는 경우에만


예시:

DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 99
...
; 정의되지 않은 상황에서는 HOME으로 이동합니다
SWITCH error_nr
CASE 1
SPTP XP21
CASE 2
SPTP XP22
CASE 3
SPTP XP23
DEFAULT
SPTP XHOME
ENDSWITCH
...

error_nr이 1, 2 또는 3과 같지 않을 경우 이 지령(들)을 실행하기


위해 "DEFAULT 케이스"로 이동합니다.

• 1개의 분배기 및 대안경로에 여러 개의 솔루션을 사용할 때

SWITCH number
CASE 1,2
...
CASE 3,4,5
...
CASE 6
...

350/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
DEFAULT
...
ENDSWITCH

number 3, 4 또는 5에서 이 지령을 실행하기 위해 두 번째 "CASE"


로 이동합니다.

13.5 점프 명령 프로그래밍하기

설명

• 프로그램의 특화된 위치로의 무조건적인 점프 이 위치에서 프로그램이


계속 진행됩니다.
• 점프 목표는 GOTO 지령과 동일한 프로그램 부분 혹은 동일한 기능 안
에 있어야 합니다.
• 다음과 같은 점프는 블가능합니다:
‒ 외부에서 IF 지령으로 점프하기.
‒ 외부에서 IF 지령으로 점프하기.
‒ 한 CASE 지령에서 다른 CASE 지령으로 점프하기.

무조건적 점프의 경우 프로그램측에서는 특정 조건이 충족되었는지 아


닌지를 점검하지 않습니다.
점프는 항상 실행됩니다. 사실상 발생할 수 있는 뜻밖의 점프는 프로그
래밍 차원에서 해결해야 합니다. 두 번째 프로그램 예 참조.
GOTO를 사용해 프로그래밍하면 프로그램이 일목요연하지 않습니다.
보다 적합함: 그 대신 IF, SWITCH, 또는 루프로 작업하십시오.

구문

...
GOTO Marke
...
Marke:
...

요소 설명
마크 건너뛰는 지점 목표 위치에서 마크의 끝에 콜론이 있어
야 합니다.

보기

• 프로그램 위치 GLUESTOP으로의 무조건적인 점프

GOTO GLUE_STOP
...
GLUE_STOP:

• IF 지령으로 확장시켜 무조건적인 점프를 조건적 점프로 전환시키기


프로그램 위치 GLUE_END로 점프합니다.

IF X>100 THEN
GOTO GLUE_END
ELSE
X=X+1
ENDIF
A=A*X
...

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 351/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

GLUE_END:
END

13.6 KRL에서 대기 함수 프로그래밍

그림 13-7

KRL에서 다음의 프로그래밍:

• 시간에 따른 대기 함수
• 신호에 따른 대기 함수

13.6.1 시간에 따른 대기 함수

시간에 따른 대기 함수를 KRL을 사용하여 설명하기

• 시간에 따른 대기 함수는 프로세스가 계속 진행될 수 있을 때까지 표


시된 시간 동안 (time) 기다립니다
• 구문

WAIT SEC time

시간에 따른 대기 함수의 원리

• 시간에 따른 대기 함수는 초(s)를 기준으로 하는 시간 축을 갖습니다.


• 최대 시간은 2147484 초이며 이는 24일 이상에 달합니다.
시간에 따른 대기 함수용 인라인 양식은 최대 30초까지 대기할 수
있습니다.

• 시간값은 적합한 변수를 사용하여 전달할 수도 있습니다.


• 사용가능한 최소 시간 단위는 0.012 초입니다(IPO-클록).
• 선택한 값이 음수인 경우에는, 대기가 이루어지지 않습니다.
• 시간에 따른 대기 함수는 전진 중지를 발생시키며 이로써 우회는 불가
능합니다.
• 의도적으로 전진 중지만을 발생시키려면 명령 WAIT SEC 0을 사용합
니다.

352/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
시간에 따른 대기 함수 프로그래밍

• 고정된 시간을 사용하는 시간에 따른 대기 함수

SPTP P1 Vel=100% PDAT1


SPTP P2 Vel=100% PDAT2
WAIT SEC 5.25
SPTP P3 Vel=100% PDAT3

그림 13-8: 논리 사례 모션

번호 비고
1 동작이 지점 P2에서 5.25초 동안 중단됩니다.

• 계산된 시간을 사용하는 시간에 따른 대기 함수

WAIT SEC 3*0.25

• 변수를 사용하는 시간에 따른 대기 함수

DECL REAL time


time = 12.75
WAIT SEC time

13.6.2 시그널에 따른 대기 함수

신호에 따른 대기 함수에 대한 설명

• 신호에 따른 대기 함수는 조건(condition)이 충족된 경우 계속 작동하


고 공정이 계속 진행됩니다
• 구문

WAIT FOR condition

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 353/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

신호에 따른 대기 함수의 원리

그림 13-9: 우회 동작 시 WAIT FOR

• 신호에 따른 대기 함수는 전진 진행을 중지시켜 우회가 불가능하게 됩


니다.
• 조건이 충족된 상태에서도 전진 중지가 발생합니다
• 대기 명령 직전의 행에 명령 CONTINUE가 프로그래밍되면 조건이 적
절한 시기에 충족될 경우 전진 중지를 막을 수 있습니다

CONTINUE는 행이 비어 있는 경우에도 동일하게 항상 행과 관련이 있


습니다.

시그널에 따른 대기 함수 프로그래밍

• 전진 중지를 사용한 WAIT FOR

SPTP P1 Vel=100% PDAT1


SPTP P2 CONT Vel=100% PDAT2
WAIT FOR $IN[20]==TRUE
SPTP P3 Vel=100% PDAT3

그림 13-10: 논리 사례 모션

비고
1 모션이 P2에서 중단됩니다. 정확 정지 후 인풋 20을 점검
합니다. 인풋 상태가 적절할 경우 연이어 이동합니다. 그렇
지 않을 경우 상태를 기다립니다.

• 전진 시 처리를 포함한 WAIT FOR(CONTINUE 사용)

354/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

프로그램 진행 컨트롤의 사용
그림 13-11: 우회 동작 시 WAIT FOR

SPTP P1 Vel=100% PDAT1


SPTP P2 CONT Vel=100% PDAT2
CONTINUE
WAIT FOR ($IN[10] OR $IN[20])
SPTP P3 Vel=100% PDAT3

액션
1 인풋 10 또는 인풋 20은 전진 시 이미 TRUE에 있었거나
현재 있습니다. 이로써 우회됩니다.
2 ‒ 조건을 그 직전에 충족시키면 모션이 우회됩니다.
‒ 조건을 뒤늦게 충족시키면 동작을 우회할 수 없으며 우
회 한계점에서 중지됩니다. 조건을 충족할 때까지 로봇
이 우회 한계점에서 대기합니다. 이때 메시지 창에 "기
다리십시오(인풋 10 또는 인풋 20)" 표시가 나타납니
다. 테스트 작동 모드(T1 또는 T2)에서는 버튼영역인
시뮬레이션을 사용할 수 있습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 355/378


프로그램 진행 컨트롤의 사용 로봇 프로그래밍 1

13.7 연습: 루핑 기술

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 루프 테크닉

356/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

상위 제어장치를 사용한 작업
14 상위 제어장치를 사용한 작업

14.1 개요

이 학습단원에서는 다음의 내용을 학습합니다:


• PLC의 프로그램 시작 준비
• PLC 연결 어댑테이션 (Cell.src)

14.2 PLC를 통해 프로그램 시작 준비

공장 네트워크에 연결된 로봇

로봇 프로세스를 중앙에서 통제해야 할 경우(마스터 컴퓨터나 PLC에 의


해) 이는 외부 오토매틱 포트를 통해 이뤄집니다.

그림 14-1: PLC 연결

설비 구조의 원리

인터페이스 외부 오토매틱을 사용하여 상위 컨트롤러(예: PLC)가 로봇 고


정을 제어합니다.

그림 14-2: 상위 PLC

PLC와 로봇 사이의 통신에는 다음 사항이 필수적입니다:

• 로봇과 PLC 사이에 물리적으로 존재하고 구성되어 있는 필드 버스(예:


PROFINET)가 있어야 합니다.
• 이 필드 버스를 통해 로봇 공정을 위한 신호를 전송해야 합니다.
이는 인터페이스 협약 외부 오토매틱에서 구성할 수 있는 디지털 인풋/
아웃풋에 의해 이루어집니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 357/378


상위 제어장치를 사용한 작업 로봇 프로그래밍 1

‒ 로봇으로 송신되는 제어 신호(인풋):


인터페이스 외부 오토매틱을 통해 상위 컨트롤러가 로봇 컨트롤러
에 로봇 공정용 신호(예: 이동 승인, 오류 처리 확인, 프로그램 시
작 등)을 전송합니다.
‒ 로봇 상태(아웃풋):
로봇 컨트롤러는 상위 컨트롤러에 작동 및 고장 상태에 관한 정보
를 전송합니다.
• 조정식 CELL.SRC
로봇 프로그램을 외부에서 선택하기 위한 기관 프로그램.
• 작동 모드 외부 오토매틱의 선택
호스트 컴퓨터나 PLC가 로봇 시스템의 트리거링을 인수하는 작동 모

외부 프로그램 스타트 안전지침

CELL 프로그램을 선택한 후 작동모드 T1 및 T2에서 SAK 이동을 실행해


야 합니다.
경고

• SAK 이동은 선택한 모션 블록에 PTP 이동명령이 포함되어 있으면


실제 위치에서 목표 위치로 이동하는 PTP 모션으로 진행됩니다.
• 선택한 모션 블록에 LIN 혹은 CIRC가 포함되어 있으면 SAK 이동
은 LIN 모션으로 실행됩니다.
• 충돌을 방지하기 위해 이 동작을 관찰하십시오. SAK 이동에서는 속
도가 자동으로 감소됩니다.

SAK 이동이 한번 실행되었을 경우 외부 스타트 시 SAK 이동은 더 이상


실행되지 않습니다.
경고

• 외부 오토매틱 모드에서는 SAK 이동이 존재하지 않습니다.


• 즉, 로봇이 시작 후에 프로그래밍된(감속 안된) 속도로 제1 프로그
래밍 위치로 이동하고 여기에서 정지하지 않습니다.

외부 프로그램 시작 진행 방식

전제조건

• 작동 모드 T1 또는 T2
• 외부 자동 장치를 위한 인풋/아웃풋 및 프로그램 CELL.SRC가 구성된
상태입니다.

1. 탐색기에서 CELL.SRC 프로그램을 선택합니다.


CELL 프로그램은 항상 KRC:\R1 디렉터리에 있습니다

358/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

상위 제어장치를 사용한 작업
그림 14-3: cell.src

2. 프로그램 오버라이드를 100%로 설정합니다. 이 설정은 권장 사항입니


다.
값은 상황에 맞게 다양하게 조정할 수 있습니다.

그림 14-4: 프로그램 오버라이드

3. SAK 이동을 실행합니다:


승인 버튼을 길게 누릅니다. 그 다음 메시지 창에 "SAK에 도달함"이
표시될 때까지, 시작 버튼을 길게 누릅니다.
4. "외부 오토매틱" 작동 모드를 선택합니다.
5. 상위 제어 시스템(PLC)에서 프로그램을 시작합니다.

14.3 PLC 연결 어댑테이션(Cell.src)

Cell.src 관리 프로그램

• PLC에서 전송된 프로그램 번호를 관리하기 위해 관리 프로그램인


Cell,src가 사용됩니다.
• 이 프로그램은 항상 폴더 "R1"에 있습니다.
• 다른 일반적인 프로그램과 마찬가지로 셀 프로그램 역시 개별적으로
적응시킬 수 있지만 프로그램의 기본 구조는 유지되어야 합니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 359/378


상위 제어장치를 사용한 작업 로봇 프로그래밍 1

셀 프로그램의 구조와 기능

그림 14-5: Cell 프로그램

1 초기화 및 홈 위치

• 베이스 파라미터 초기화


• "홈" 위치에 따른 로봇 위치 점검
• 외부 오토매틱 인터페이스 초기화
2
무한 루프:

• 모듈 "P00)으로 프로그램 번호 조회
• 산출된 프로그램 번호로 선택 루프 시작
3 선택 루프 프로그램 번호

• 프로그램 번호(변수 "PGNO"에 들어 있음)에 따라 각각의 분기


("CASE")로 이동합니다.
• 그 후 분기에 입력된 로봇 프로그램이 처리됩니다.
• 프로그램 번호가 유효하지 않을 경우 "디폴트" 분기로 이동하
게 됩니다.
• 처리를 마친 후에는 루프가 반복됩니다.

진행 방법

1. 사용자 그룹 "전문가"로 이동하십시오.

360/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

상위 제어장치를 사용한 작업
2. CELL.SRC을 여십시오.
3. "CASE" 파트에서 "EXAMPLE" 표시를 각 프로그램 번호로 불러내게
될 프로그램 이름으로 대체하십시오. 이름 앞의 세미콜론을 삭제하십
시오.

그림 14-6: 적응된 셀 프로그램의 예

4. 프로그램을 닫고 변경사항을 저장하십시오.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 361/378


상위 제어장치를 사용한 작업 로봇 프로그래밍 1

14.4 질문: 상위 컨트롤러에서 작업

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 질문에 답하십시오:


• 상위 제어 시스템에서의 작업

362/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

부록
15 부록

15.1 외부 오토매틱 인터페이스 설명

설명

외부 오토매틱 인터페이스의 인풋/아웃풋 사용

인터페이스의 주요 시그널 개요

그림 15-1: 외부 오토매틱의 주요 시그널 개요

인풋(로봇 제어 시스템 관점에서)

• PGNO_TYPE - 프로그램 번호 - 타입
이 변수는 상위 제어시스템이 전달한 프로그램 번호를 어떤 포맷으로
읽어야 할지 결정합니다.
값 설명 예시
1 이진수로 읽기 0 0 1 0 0 1 1
1
프로그램 번호는 상위 제어시스템에 의
해 이진법으로 코딩된 정수로 전달됩니 => PGNO = 39
다.
2 BCD 값으로 읽기 0 0 1 0 0 1 1
1
프로그램 번호는 상위 제어시스템에 의
해 이진법으로 코딩된 십진수로 전달됩 => PGNO = 27
니다.
3 "N 중 1"로 읽기 0 0 0 0 0 0 0
1
프로그램 번호는 상위 제어시스템 또는
주변기기에 의해 "N 중 1"로 코딩된 값 => PGNO = 1
으로 전달됩니다.
0 0 0 0 1 0 0
0

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 363/378


부록 로봇 프로그래밍 1

값 설명 예시
=> PGNO = 4
* 이 전달 포맷에서 PGNO_REQ, PGNO_PARITY 및 PGNO_VALID의
값은 평가되지 않습니다. 따라서 중요하지 않습니다.
• PGNO_LENGTH - 프로그램 번호 길이
이 변수는 상위 제어시스템에 의해 전달된 프로그램 번호의 비트 폭을
결정합니다. 값 범위: 1 … 16
PGNO_TYPE의 값이 2일 경우 비트 폭 4 및 8, 16만 허용됩니다.
• PGNO_PARITY - 프로그램 번호-패리티 비트
상위 제어 시스템이 패리티 비트를 전송할 때 사용하는 인풋.
인풋 기능
음수 값 홀수 패리티
0 평가되지 않음
양수 값 짝수 패리티
PGNO_TYPE이 값 3을 가지면 PGNO_PARITY는 평가되지 않습니다.
• PGNO_VALID - 프로그램 번호 유효함
상위 제어시스템에 의해 프로그램 번호를 읽기 위한 명령이 전송될 때
사용되는 인풋
인풋 기능
음수 값 번호는 시그널의 하강 에지를 사용하여 채택됩니
다.
0 번호는 시그널의 상승하는 에지를사용하여 라인
EXT_START에서 채택됩니다.
양수 값 번호는 시그널의 상승 에지를 사용하여 채택됩니
다.

• $EXT_START - 외부 시작
이 인풋을 사용하여 I/O-포트가 작동중일 때 프로그램(일반적으로
CELL.SRC)을 시작하거나 계속 진행할 수 있습니다.
이때 시그널의 상승 에지만 평가됩니다.

경고
외부 오토매틱 모드에서는 SAK 이동이 존재하지 않습니다. 즉, 로
봇이 시작 후에 프로그래밍된(감속 안된) 속도로 제1 프로그래밍 위
치로 이동하고 여기에서 정지하지 않습니다.

• $MOVE_ENABLE - 이동 승인
이 인풋은 상위 제어 시스템을 통해 로봇 구동 장치를 컨트롤하기 위
해 사용됩니다.
신호 기능
TRUE 작동모드 T1 및 T2에서 수동 이동이 가능합니다.
프로그램 실행이 가능합니다.
FALSE 모든 구동장치를 정지시키고 작동중인 모든 명령
을 차단하기

구동장치가 상위 제어시스템에 의해 정지되었을 경우 메시지 "전체


이동 승인"이 표시됩니다. 먼저 이 메시지를 삭제하고 외부 스타트
시그널을 다시 사용할 경우에야 비로소 로봇을 움직일 수 있습니다.

364/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

부록
시동 시 변수 $MOVE_ENABLE가 자주 값 $IN[1025]로 컨피규레
이션됩니다. 그 후 다른 인풋을 컨피규레이션하는 것을 잊는다면 외
부 스타트는 불가능합니다.

• $CONF_MESS - 메시지 확인
이 인풋을 사용하여 상위 제어 시스템은 장애의 원인이 제거되는 즉시
오류 메시지를 직접 확인합니다.
이때 시그널의 상승 에지만 평가됩니다.

• $DRIVES_ON - 구동장치 ON
이 인풋에 하이 임펄스가 최소한 20ms 동안 유지될 경우 상위 제어
시스템이 로봇 구동 장치를 활성화합니다.
• $DRIVES_OFF - 구동장치 OFF
이 인풋에 로우 임펄스가 최소한 20ms 동안 유지될 경우 상위 제어
시스템이 로봇 구동 장치를 차단합니다.

아웃풋(로봇 제어 시스템 관점에서)

• $ALARM_STOP - 비상정지
이 아웃풋은 다음과 같은 비상 정지 상황에서 리셋됩니다.

‒ KCP에 있는 비상정지 버튼을 누릅니다. (I내부 비상정지)


‒ 외부 비상정지

비상정지 시 아웃풋 상태에 $ALARM_STOP 및 Int. NotAus를 볼


수 있습니다. 이는 비상정지를 나타냅니다:
‒ 양쪽 아웃풋이 FALSE인 경우: KCP에 있는 비상정지 버튼이 작
동되었습니다.
‒ $ALARM_STOP는 FALSE, Int. NotAus는 TRUE입니다: 외부
비상정지

• $USER_SAF - 오퍼레이터 보호/안전 도어


이 아웃풋은 안전 격자 조회 스위치를 열 때(작동 모드 AUT) 또는 승
인 스위치를 해제할 때(작동 모드 T1 또는 T2) 리셋됩니다.
• $PERI_RDY - 구동 준비
이 아웃풋이 설정되면 로봇 제어 시스템은 상위 제어 시스템에 로봇
드라이브가 켜져 있다는 것을 알립니다.
• $STOPMESS - 스톱 메시지
이 아웃풋은 로봇 제어 시스템이 상위 제어 시스템에게 로봇을 정지시
켜야 할 메시지가 발생했다는 것을 알리기 위해 설정됩니다. (예: 비상
정지, 이동 승인 또는 오퍼레이터 보호)
• $I_O_ACTCONF - 외부 오토매틱 작동중
작동모드 외부 오토매틱가 선택되었고 인풋이 $I_O_ACT TRUE(일반
적으로 항상 $IN[1025])일 경우 이 인풋은 TRUE입니다.
• $PRO_ACT - 프로그램은 활성화되어 있음/가동중임
로봇에서 하나의 프로세스가 활성화되어 있으면 이 아웃풋은 항상 설
정되어 있습니다. 어떤 프로그램이나 인터럽트가 처리되고 있는 동안
에는 프로세스는 작동중입니다. 모든 임펄스 아웃풋과 트리거가 완전
히 처리된 후에야 프로그램 처리 과정이 끝으로 비활성화됩니다.
• PGNO_REQ - 프로그램번호 문의
이 아웃풋에서의 시그널 교체로 상위 제어시스템에게 프로그램 번호를
알려줄 것을 요청합니다.
PGNO_TYPE이 값 3을 가지면 PGNO_REQ는 평가되지 않습니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 365/378


부록 로봇 프로그래밍 1

• APPL_RUN - 어플리케이션 프로그램이 가동중입니다


이 아웃풋을 세팅하여 로봇 제어시스템은 상위 제어시스템에 현재 프
로그램이 가동중이라는 것을 알립니다.
• $IN_HOME - HOME 위치에 있는 로봇
이 아웃풋은 상위 제어시스템에게 로봇이 HOME 위치에 있는지를 알
립니다.
• $ON_PATH - 로봇이 트랙에 있습니다
이 아웃풋은 로봇이 프로그래밍된 경로상에 있으면 설정되어 있습니
다. SAK 이동 후 아웃풋 ON_OATH가 설정됩니다. 이 아웃풋은 로봇
이 경로를 벗어나거나 프로그램이 리셋되거나 레코드 선택을 실행할
때까지 설정된 상태로 있습니다. 그렇지만 시그널 ON_PATH는 허용오
차 창이 없습니다; 로봇이 트랙을 벗어나는 즉시 이 시그널은 리셋됩니
다.

외부 오토매틱 통신의 원리

전체 진행절차 개요

그림 15-2: 설비의 자동 시동 및 PGNO_VALID으로 프로그램 번호를 확


인하는 정상 모드

핸드쉐이크

부분영역으로 나뉘어짐

1. 구동장치 켜기
(>>> "구동장치 켜기" 페이지 367)
2. 메시지 처리 확인하기
(>>> "메시지 처리 확인하기" 페이지 368)
3. 셀 프로그램 시작하기
(>>> "프로그램(CELL.SRC)을 외부에서 시작하기" 페이지 368)
4. 프로그램 번호 전달하기 및 어플리케이션 가동하기
(>>> "프로그램 번호 전달 및 어플리케이션 프로그램 처리하기" 페이
지 369)

366/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

부록
이러한 영역은 각각 핸드쉐이크로 되어 있습니다. 조건이 충족되면, PLC
는 신호를 전송하고 로봇 제어 시스템은 해당 로봇의 상태를 PLC에 알립
니다.

그림 15-3: 핸드쉐이크

이러한 규정되어 있는 핸드쉐이크는 매우 유용하게 사용할 수 있습니다.

구동장치 켜기

그림 15-6

• 전제조건
‒ $USER_SAF - 안전 도어는 닫혀 있음
‒ $ALARM_STOP - 비상정지 상태가 아님
‒ $I_O_ACTCONF - 외부 오토매틱 작동 중
‒ $MOVE_ENABLE - 이동 승인이 있음
‒ $DRIVES_OFF - 구동장치 OFF가 작동중이지 않음
• 구동장치 켜기
$DRIVES_ON - 드라이브용 신호를 최소 20ms간 활성화함
• 드라이브 준비 상태
$PERI_RDY - 구동장치용 피드백이 오면 그 즉시 시그널
$DRIVES_ON이 취소됨

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 367/378


부록 로봇 프로그래밍 1

메시지 처리 확인하기

그림 15-10

• 전제조건
$STOPMESS - 정지 메시지가 있음
• 메시지 처리 확인하기
$CONF_MESS - 메시지 처리 확인하기
• 확인할 수 있는 메시지가 삭제되었음
$STOPMESS - 정지 메시지가 더 이상 없음, $CONF_MESS는 이제
취소할 수 있습니다

프로그램(CELL.SRC)을 외부에서 시작하기

그림 15-15

• 전제조건
‒ $PERI_RDY - 구동 준비
‒ $IN_HOME - HOME 위치에 있는 로봇
‒ keine $STOPMESS - 정지 메시지가 없음
• 외부 시작
$EXT_START- 외부 시작 켜기(포지티브 에지)
• CELL 프로그램이 가동됨
‒ $PRO_ACT - CELL 프로그램이 가동된다고 보고함
‒ $ON_PATH - 로봇이 프로그래밍된 경로에 있는 즉시 시그널
$EXT_START이 취소됩니다

368/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

부록
프로그램 번호 전달 및 어플리케이션 프로그램 처리하기

그림 15-22

• 전제조건
‒ $PERI_RDY - 구동 준비
‒ $PRO_ACT - CELL 프로그램이 가동됨
‒ $ON_PATH - 로봇이 경로에 있음
‒ $IN_HOME - 로봇이 HOME 위치에 있음, 재가동 시 필요하지 않

‒ PGNO_REQ - 프로그램 번호 문의가 있음
• 프로그램 번호 전송 및 확인
‒ 프로그램 번호 전달
(올바른 데이터 타입(PGNO_TYPE), 프로그램 번호 길이
(PGNO_LENGTH) 및 프로그램 번호의 첫 번째 비트
(PGNO_FBIT) 등이 설정되어 있음)
‒ PGNO_VALID- 프로그램 번호 유효함 (확인)스위칭(포지티브 에
지)
• 어플리케이션 프로그램이 가동됨
‒ APPL_RUN - 어플리케이션 프로그램이 가동된다고 보고함
‒ 로봇이 HOME 위치를 벗어납니다. 어플리케이션 프로그램을 종료
할 때 로봇은 다시 HOME 위치로 되돌아갑니다.

15.1.1 외부 오토매틱 인터페이스 구성

진행 방법

외부 오토매틱 구성ㅔ: 인풋

1. 메뉴 경로: KUKA 버튼 > 컨피규레이션 > 인풋/아웃풋 > 외부 오토매



2. 값 열에서 편집할 행을 선택한 다음 편집(C)을 누르십시오.
3. 원하는 값을 입력한 후OK를 눌러 저장합니다.
4. 편집할 모든 값에 대해 단계 2와 3을 반복하십시오.
5. 창을 닫습니다. 변경 내용이 적용됩니다.

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 369/378


부록 로봇 프로그래밍 1

그림 15-25: 외부 오토매틱 구성: 인풋

번호 설명
1 번호
2 인풋/아웃풋의 텍스트 이름
3 타입

• 녹색: 인풋/아웃풋
• 황색: 변수 또는 시스템 변수 ($...)
4 신호 또는 변수의 이름
5 인풋/아웃풋 번호 또는 채널 번호
6 아웃풋은 주제에 따라 탭으로 분류되어 있습니다.

외부 오토매틱 구성: 아웃풋

1. 메뉴 경로: KUKA 버튼 > 컨피규레이션 > 인풋/아웃풋 > 외부 오토매



2. 아웃풋(B) (>>> 그림 15-25) 단추를 눌러 해당 개요로 이동합니다.
3. 값 열에서 편집할 행을 표시한 다음 실행을 누릅니다.
4. 원하는 값을 입력한 후OK를 눌러 저장합니다.
5. 편집할 모든 값에 대해 단계 2와 3을 반복하십시오.
6. 모든 값이 그룹에 분류되었습니다.
• 시작 조건(A)

370/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

부록
그림 15-26: 외부 오토매틱 구성: 아웃풋

• 프로그램 상태 (B)

그림 15-27: 아웃풋, 프로그램 상태

• 로봇 위치 (C)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 371/378


부록 로봇 프로그래밍 1

그림 15-28: 아웃풋, 로봇 설정

• 작동 모드(D)

그림 15-29: 아웃풋, 작동 모드

각 툴을 순서대로 열고 기존 방법으로 값을 측정하십시오.


7. 창을 닫습니다. 변경 내용이 적용됩니다.

372/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

부록
15.1.2 연습: 외부 오토매틱 인터페이스 구성(수동)

작업 설정

코스에서 지참해야 하는 연습장을 열고 다음 연습을 수행하십시오:


• 외부 오토매틱 인터페이스 구성(수동)

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 373/378


부록 로봇 프로그래밍 1

15.2 약어

KR C4 제어 시스템으로 좀더 수월하게 작업하실 수 있도록 주요 약어에


대해 간략히 언급하고자 합니다.
용어 설명
CCU Cabinet Control Unit
CCUsr Cabinet Control Unit
small robot
CIB Cabinet Interface Board
CIBsr Cabinet Interface Board
small robot
CK Customer Built Kinematics
CSP Controler System Panel
Dual-NIC 카드 이중 네트워크 카드
EDS Electronic Data Storage (메모리 카드)
EMD 로봇 마스터링용 Electronic Mastering
Device (이전의 EMT)
EMV Electromagnetic Compatibility
GBE Giga Bit EtherNet
카탈로그 양식이나 구성요소, 기구 등 다양한 요소들이
포함되어 있습니다.
KCB KUKA Controller Bus
KEB KUKA Extension Bus
KCP KUKA Control Panel(프로그래밍 핸드셋), 새
용어: smartPAD
KLI KUKA Line Interface
KOI KUKA Operator Panel Interface
KONI KUKA Customer Network I nterface
KPC KUKA 컨트롤PC
KPP KUKA Power Pack
KPPsr KUKA Power Pack
small robot
KRL KUKA Robot Language (KUKA 로봇 프로그
래밍 언어)
KSB KUKA System Bus
KSP KUKA Servo Pack
KSPsr KUKA Servo Pack
small robot
KSI KUKA Service Interface
KUKA.HMI Human Machine Interface
KUKA.HMI는 KUKA 사용자 인터페이스입니
다.
LWL Fiber Optic Cable
MEMD Micro Electronic Mastering Device

374/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

부록
용어 설명
MCC Multi Core Computer
MCFB Motion Control Function Block
모션 작업 프로그래밍을 위한 프로그램 요소
이 요소들은 PLC-호환성이 있으며 KUKA 고
유의 요소들입니다.
MGU Motor Gear Unit
기구를 위한 KUKA 모터-기어-조합
OPC OLE (Object Link Embedding) forProcess
Control
OPI Operator Panel Interface (smartPAD 연결)
PMB Power Management Board
RCD Residual Current Device; 고장전류 누선차단
기 (FI)
RDC Resolver Digital Converter
SATA Serial Advanced Technology Attachment
(프로세서와 하드디스크 사이의 데이터 버스)
SEMD Standard Electronic Mastering Device
SIB Safety Interface Board
SBC Single Brake Controll
STO Safe Torque Off
SION Safety Input Output Node
USB Universal Serial Bus (컴퓨터와 주변장치를
연결하기 위한 버스 시스템)
USV Uninterruptible Power Supply
WorkVisual 카탈로그 WorkVisual 카탈로그 요소 작성을 위한 소프
편집기 트웨어

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 375/378


로봇 프로그래밍 1

인덱스 LIN-모션........................................................ 177


LWL...............................................................374
조작 및 축 중심 수동 이동.............................46

B M
MCC..............................................................375
Base 좌표계....................................................47
MCFB............................................................375
Bit 연산......................................................... 334
MEMD........................................................... 374
MGU..............................................................375
C
CCU.............................................................. 374
CCUsr........................................................... 374
O
CIB................................................................ 374 OPC.............................................................. 375
CIBsr............................................................. 374 OPI................................................................375
CIRC-모션.....................................................177
CK................................................................. 374
CP 모션 및 근사접근................................... 196 P
CSP...............................................................374 PLC에서 프로그램 시작............................... 357
PMB.............................................................. 375

D
DECL.................................................... 327, 329 R
Dual-NIC 카드...............................................374 RCD.............................................................. 375
RDW............................................................. 375
Robroot........................................................... 47
E
EDS...............................................................374
EMD.............................................................. 374 S
EMV.............................................................. 374 SAK...............................................................145
SATA............................................................. 375
SBC...............................................................375
F SEMD............................................................375
SIB................................................................ 375
Flange 좌표계.................................................47
SION............................................................. 375
smartPAD........................................................14
smartPAD 개요............................................... 16
G smartPAD 기본 설정.......................................23
GBE.............................................................. 374 smartPAD 연결 및 분리..................................18
GOTO........................................................... 351 SPTP 동작.................................................... 167
STO...............................................................375
STOP 0...........................................................37
K STOP 1...........................................................37
KCB...............................................................374 STOP 2...........................................................37
KCP...............................................................374
KEB...............................................................374
KLI.................................................................374 T
KOI................................................................374 Tool 좌표계..................................................... 47
KONI............................................................. 374
KPC...............................................................374
KPP...............................................................374
KRL............................................................... 374
U
KSB...............................................................374 USB...............................................................375
KSI................................................................ 374 USV...............................................................375
KSP...............................................................374
KUKA 로봇 기계 장치...................................... 9
KUKA.HMI.....................................................374 W
WAIT............................................................. 236
WHILE...........................................................343
L WorkVisual 카탈로그 편집기........................375

376/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018


로봇 프로그래밍 1

World 좌표계.................................................. 47 ᄇ
베이스........................................................... 125
베이스 좌표계에서 수동 이동...................... 138
ᄀ 변경하기, 모션 명령..................................... 200
간단한 데이터 타입...................................... 338 변수...................................................... 325, 329
고정 툴..........................................................292 변수, 개별적으로 표시하기...........................231
고정된 툴, 수동 이동....................................302 변수, 변경하기.............................................. 231
광역 좌표계.....................................................47 복구...............................................................157
광역 좌표계에서 6D 마우스를 이용하여 조작 부록...............................................................363
및 수동 이동................................................... 55 분기...............................................................346
광역 좌표계에서 이동 버튼을 이용하여 조작 비교 연산...................................................... 333
및 수동 이동................................................... 54 비상 정지 버튼................................................29
그리퍼 신호...................................................274
그리퍼 툴 측정..............................................118
기본 산술연산............................................... 333 ᄉ
기본 함수...................................................... 334 상위 컨트롤러에서 작업............................... 362
상태 메시지.....................................................31
생성...............................................................165
ᄂ 선언...............................................................329
논리, 일반사항.............................................. 230 손목점........................................................... 178
논리적 연산...................................................334 수동 이동, 고정된 툴....................................302
눈금 표시선, 마스터링용................................ 87 수동 이동, 광역...............................................48
수동 이동, 베이스......................................... 134
수동 이동, 툴................................................ 119
ᄃ 스위칭 함수, 간단함..................................... 240
대기 메시지.....................................................32 스플라인 동작............................................... 206
대기 함수, 시간에 따름................................ 352 스플라인 블록............................................... 206
대기 함수, 시그널에 따름.............................353 스플라인, 동작 유형..................................... 206
대화상자 메시지............................................. 32
더미 프로그램............................................... 176
동작 명령...................................................... 165 ᄋ
들여넣기........................................................320 안전 가동정지................................................. 36
디스트리뷰터 (SWITCH- CASE).................. 348 안전 도어........................................................ 29
안전정지 0...................................................... 37
안전정지 1...................................................... 37
ᄅ 안전정지 2...................................................... 37
레코드 선택...................................................226 안전정지 STOP 0........................................... 37
로그북........................................................... 161 안전정지 STOP 1........................................... 37
로봇 위치........................................................ 60 안전정지 STOP 2........................................... 37
로봇 제어 시스템 (V)KR C4........................... 11 안전정지, 외부................................................ 30
로봇 제어 시스템의 메시지 판독 및 해석......31 암호.................................................................67
로봇 컨트롤러의 작동 모드............................ 34 압축저장........................................................157
로봇에 대한 기본 사항..................................... 8 약어...............................................................374
로봇에서의 하중............................................. 93 연습...46, 54, 55, 85, 109, 118, 124, 133, 138,
로봇의 안전성................................................. 28 176, 196, 245, 289, 290, 301, 338, 356
로봇의 추가 하중............................................ 94 연습, SPLINE................................................270
로봇이 안내한 공작물 ................................. 296 연습, 고정 이동 영역 및 조건적 중지.......... 271
로직...............................................................245 연습, 고정된 툴을 포함한 수동 이동........... 308
루프...............................................................339 연습, 로봇 프로그램 실행하기..................... 150
루프, 거부하는 .............................................343 연습, 스플라인 블록..................................... 229
루프,거부하지 않음.......................................345 연습, 외부 TCP를 사용한 동작 프로그래밍.310
루핑 기술...................................................... 356 연습: 외부 오토매틱 인터페이스 구성(수동)373
오퍼레이터 보호장치...................................... 29
외부 오토매틱.......................................357, 363
ᄆ 외부 오토매틱 인터페이스 구성................... 369
외부 오토매틱 인터페이스 설명................... 363
마스터링..........................................................69
외부 툴 및 로봇에 의해 유도된 공작물 측정....
마스터링, 오프셋이 포함된 하중 마스터링.... 85
301
매니퓰레이션........................................ 333, 334
우선순위........................................................336
무한 루프...................................................... 339

P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018 www.kuka.com | 377/378


로봇 프로그래밍 1

우회: SCIRC................................................. 194 핀 툴 측정.....................................................109


우회: SLIN.................................................... 194
우회: SPTP................................................... 169
원리.................................................................69 ᄒ
인라인 양식...................................................166 하위 프로그램 호출 프로그래밍 ................. 324
합의...............................................................325
확인 메시지.....................................................31

자유 회전 장치................................................44
전문가 레벨...................................................311
전진...............................................................327
점프...............................................................351
점프 명령...................................................... 351
정지 카테고리 0..............................................37
정지 카테고리 1..............................................37
정지 카테고리 2..............................................37
조건적 정지...................................................257
조회...............................................................346
좌표계............................................................. 47
증분.................................................................43
증분적 조그 모드............................................ 42
질문...............................................................362


참조 메시지.....................................................31
초기화...................................................145, 331
축 중심의 수동 이동.......................................39
축을 개별적으로 작동시키기.......................... 39
측정.............................................. 125, 292, 296


카운트 루프...................................................341
카탈로그........................................................374
키워드........................................................... 327


테이블 베이스 측정...................................... 133
툴 부하 데이터................................................93
툴 수동이동...................................................124
툴 측정............................................................97


패닉 위치........................................................ 40
편집...............................................................154
폴드...............................................................321
표시.................................................................60
표지판 그리퍼 프로그래밍............................289
프로그래밍, 외부 TCP..................................309
프로그램 모듈............................................... 154
프로그램 진행 컨트롤...................................339
프로그램 취급............................................... 176
프로그램: 복제.............................................. 155
프로그램: 삭제.............................................. 156
프로그램: 이름 바꾸기..................................157
핀 그리퍼 프로그래밍...................................290

378/378 | www.kuka.com P1KSS8 - Robot Programming 1 (R3) V1 | 현재: 16.08.2018

You might also like