You are on page 1of 353

Training KUKA Roboter GmbH

로봇 프로그래밍 1
KUKA 시스템 소프트웨어 8.3
교육 자료

로봇 프로그래

밍1

현재 : 05.04.2017

버전 : P1KSS8 robot programming 1 (R2) V5


로봇 프로그래밍 1

© Copyright 2017
KUKA Roboter GmbH
Zugspitzstraße 140
D-86165 Augsburg
Germany

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


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

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


COL) ko
책의 구조 : P1KSS8 Roboterprogrammierung 1 (R2) V5.1
버전 : P1KSS8 robot programming 1 (R2) V5

2 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


목차

목차
1 KUKA 로봇 시스템의 구조 및 기능 ........................................................... 7
1.1 개요 ..................................................................................................................... 7
1.2 로봇에 대한 기본 사항 .......................................................................................... 7
1.3 KUKA 로봇 기계 장치 .......................................................................................... 8
1.4 로봇 제어 시스템 (V)KR C4 ................................................................................. 10
1.5 KUKA smartPAD ................................................................................................ 13
1.5.1 smartPAD 개요 ............................................................................................... 14
1.5.2 smartPAD 분리 ............................................................................................... 15
1.5.3 작동 모드 선택 및 설정 .................................................................................... 18
1.5.4 smartPAD 기본 설정 ....................................................................................... 22
1.6 로봇 프로그래밍 ................................................................................................... 24
1.7 로봇의 안전성 ....................................................................................................... 27

2 로봇 동작 .................................................................................................. 31
2.1 개요 ..................................................................................................................... 31
2.2 로봇 제어 시스템의 메시지 판독 및 해석 ............................................................... 31
2.3 로봇 축을 개별적으로 작동시키기 ........................................................................ 33
2.3.1 연습 : 조작법 및 축 고유의 수동 이동 ............................................................... 39
2.4 로봇과 연관된 좌표계 ........................................................................................... 41
2.5 광역 좌표계에서 로봇 동작 ................................................................................... 42
2.5.1 연습 : 광역 좌표계에서 이동 버튼을 이용하여 조작 및 수동 이동 ..................... 48
2.5.2 연습 : 광역 좌표계에서 6D 마우스를 이용하여 조작 및 수동 이동 .................... 51

3 로봇의 시운전 ........................................................................................... 55


3.1 개요 ..................................................................................................................... 55
3.2 시운전 모드 .......................................................................................................... 55
3.3 마스터링 원리 ....................................................................................................... 56
3.4 로봇 마스터링 ....................................................................................................... 59
3.4.1 연습 : 로봇 마스터링 ........................................................................................ 67
3.5 로봇에서의 하중 ................................................................................................... 69
3.6 툴 하중 데이터 ..................................................................................................... 69
3.7 툴 하중 데이터를 모니터링시키기 ......................................................................... 72
3.8 로봇의 추가 하중 .................................................................................................. 73
3.9 툴의 측정 ............................................................................................................. 76
3.9.1 TCP 측정 , 4 포인트 방법 ................................................................................ 79
3.9.2 TCP- 측정 XYZ 기준점 방법 ........................................................................... 81
3.9.3 방향 설정 측정 , ABC World 방법 ................................................................... 82
3.9.4 방향 설정 측정 , ABC 2 점식 방법 ................................................................... 84
3.9.5 College 교육 그리퍼 ........................................................................................ 88
3.9.6 연습 : 툴 측정 핀 ............................................................................................. 91
3.9.7 연습 : 그리퍼 툴 측정 , 2 점 방법 .................................................................... 95
3.10 툴 좌표계에서 로봇 움직이기 ................................................................................ 99
3.10.1 연습 : 툴 좌표계에서 수동 이동 ........................................................................ 103
3.11 베이스 측정 .......................................................................................................... 105
3.11.1 연습 : 베이스 측정 테이블 , 3 점식 방법 ........................................................... 111
3.12 베이스 좌표계에서 로봇이 움직입니다 .................................................................. 113
3.12.1 연습 : 베이스 좌표계에서 수동 이동 ................................................................. 117

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 3 / 353


로봇 프로그래밍 1

3.13 현재 로봇 위치 조회 ............................................................................................. 119

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


4.1 개요 ..................................................................................................................... 123
4.2 초기화 이동 실행하기 ........................................................................................... 123
4.3 로봇 프로그램 선택 및 시작 ................................................................................. 124
4.4 연습 : 로봇 프로그램 실행하기 ............................................................................. 130

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


5.1 개요 ..................................................................................................................... 131
5.2 프로그램 모듈 만들기 ........................................................................................... 131
5.3 프로그램 모듈 편집 .............................................................................................. 133
5.4 로봇 프로그램 보관하기 및 복구하기 .................................................................... 136
5.5 로그북을 사용하여 프로그램 및 상태 변경 파악하기 ............................................. 139

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


6.1 개요 ..................................................................................................................... 143
6.2 기존 동작 포인트 보정 ......................................................................................... 143
6.3 SPTP - 사이클 시간 최적화 동작 ( 축 동작 ) ........................................................ 144
6.3.1 상태 & Turn ................................................................................................... 145
6.3.2 SPTP 우회 ...................................................................................................... 146
6.3.3 SPTP 동작 프로그래밍 ................................................................................... 147
6.3.4 연습 : 에어 프로그램 - 프로그램 취급 및 SPTP 동작 ...................................... 151
6.4 트랙 모션 생성하기 .............................................................................................. 153
6.4.1 특이성 ............................................................................................................. 153
6.4.2 경로 동작 시 방향 설정 가이드 ........................................................................ 155
6.4.3 SLIN 프로그래밍 ............................................................................................ 157
6.4.4 SCIRC 프로그래밍 .......................................................................................... 160
6.4.4.1 SCIRC: 방향 컨트롤 - 예 : 보조점 .............................................................. 165
6.4.4.2 SCIRC: 방향 컨트롤 - 예 : 보조점 .............................................................. 167
6.4.4.3 $CIRC_MODE 의 제한 ............................................................................... 168
6.4.5 경로 동작 시 우회 ........................................................................................... 168
6.5 모션 명령 변경하기 .............................................................................................. 169
6.6 연습 : 트랙 이동 및 혼합 ...................................................................................... 174

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


7.1 개요 ..................................................................................................................... 177
7.2 인라인 양식을 이용한 스플라인 블록의 프로그래밍 .............................................. 177
7.3 스플라인 동작 시 속도 프로필 .............................................................................. 177
7.4 스플라인 블록에서 변경 ....................................................................................... 180
7.5 스플라인 동작 시 레코드 선택 .............................................................................. 183
7.6 스플라인 동작의 근사접근 .................................................................................... 184
7.7 우회 CP 동작을 스플라인 블록으로 대체 .............................................................. 185
7.7.1 SLIN-SPL-SLIN 천이부 ................................................................................ 188
7.8 인라인 양식을 이용한 CP-SPLINE 스플라인 블록의 프로그래밍 ........................ 188
7.9 ILF 를 이용한 PTP 스플라인 블록 프로그래밍 ..................................................... 191
7.10 연습 : 스플라인 블록이 포함된 경로 컨투어 .......................................................... 194

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


8.1 개요 ..................................................................................................................... 197

4 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


목차

8.2 논리 프로그래밍 입문 .......................................................................................... 197


8.3 대기 함수의 프로그래밍 ........................................................................................ 198
8.4 간단한 스위칭 함수 프로그래밍 ............................................................................ 202
8.5 SPLINE 이 포함된 로직의 프로그래밍 .................................................................. 205
8.5.1 스플라인 트리거 프로그래밍 ............................................................................ 206
8.5.1.1 우회 시 기준점 - 개요 ................................................................................ 210
8.5.1.2 균일한 근사접근 시 기준점 ......................................................................... 210
8.5.1.3 혼합된 근사접근 시 기준점 ( 스플라인 ) ...................................................... 211
8.5.1.4 혼합된 근사접근 시 기준점 (LIN/CIRC/PTP) .............................................. 212
8.5.1.5 트리거에서 기능의 제한 .............................................................................. 213
8.5.2 조건적 정지 프로그래밍 ................................................................................... 213
8.5.3 정속 이동 영역 프로그래밍 .............................................................................. 216
8.5.3.1 정속 이동 영역으로의 레코드 선택 .............................................................. 217
8.5.3.2 최대 한계 .................................................................................................... 218
8.6 연습 : 스플라인 움직임에 로직이 있음 .................................................................. 220

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


9.1 개요 ..................................................................................................................... 223
9.2 GripperTech 상세 정보 ....................................................................................... 223
9.3 KUKA.GripperTech 를 사용한 그리퍼 조작 ......................................................... 224
9.4 그리퍼 구성 .......................................................................................................... 225
9.5 그리퍼 매개변수 입력 ........................................................................................... 231
9.6 smartPAD 에 그리퍼 신호 표시 ............................................................................ 233
9.7 인라인 양식을 이용한 그리퍼 프로그래밍 ............................................................. 234
9.8 인라인 양식을 이용한 그리퍼 테스트 .................................................................... 238
9.9 연습 : 그리퍼 프로그래밍 표시판 .......................................................................... 241

10 외부 툴의 구성 및 프로그래밍 ................................................................... 243


10.1 개요 ..................................................................................................................... 243
10.2 로봇 시동시키기 ................................................................................................... 243
10.2.1 고정된 툴 측정 ................................................................................................. 243
10.2.2 로봇이 안내한 공작물 측정 .............................................................................. 247
10.2.3 연습 : 외부 툴 및 로봇에 의해 유도된 공작물 측정 ........................................... 252
10.3 로봇 동작 ............................................................................................................. 257
10.3.1 고정된 툴을 사용한 수동 이동 .......................................................................... 257
10.3.2 연습 : 고정된 툴을 포함한 수동 이동 ................................................................ 259
10.4 프로그래밍된 동작 만들기 및 변경 ........................................................................ 260
10.4.1 외부 TCP 를 사용한 모션 프로그래밍 .............................................................. 260
10.4.2 연습 : 외부 TCP 를 사용한 동작 프로그래밍 .................................................... 261

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


11.1 개요 ..................................................................................................................... 263
11.2 전문가 레벨 사용하기 ........................................................................................... 263
11.3 로봇 프로그램의 구조 만들기 ................................................................................ 265
11.4 로봇 프로그램 연결 ............................................................................................... 268
11.5 연습 : 하위 프로그램 호출 프로그래밍 ................................................................. 271

12 변수 및 합의 ............................................................................................ 273
12.1 개요 ..................................................................................................................... 273
12.2 KRL 로 데이터 관리 ............................................................................................. 273

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 5 / 353


로봇 프로그래밍 1

12.3 단순한 데이터 타입으로 작업 ............................................................................... 276


12.3.1 변수 선언 ....................................................................................................... 276
12.3.2 단순한 데이터 타입을 사용한 변수 초기화 ....................................................... 278
12.3.3 간단한 데이터 타입의 변수 값을 KRL 로 매니퓰레이션하기 ............................. 280
12.4 변수 표시하기 ...................................................................................................... 283
12.5 연습 : 단순한 데이터 타입 .................................................................................... 285

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


13.1 개요 ..................................................................................................................... 287
13.2 루프 프로그래밍하기 ............................................................................................ 287
13.2.1 무한 루프 프로그래밍하기 ............................................................................... 287
13.2.2 카운트 루프 프로그래밍하기 ........................................................................... 289
13.2.3 거부하는 루프 프로그래밍하기 ........................................................................ 291
13.2.4 거부하지 않는 루프 프로그래밍하기 ................................................................ 292
13.3 조회 혹은 분기 프로그래밍하기 ............................................................................ 294
13.4 디스트리뷰터 프로그래밍 (SWITCH- CASE) ...................................................... 296
13.5 점프 명령 프로그래밍하기 .................................................................................... 298
13.6 KRL 에서 대기 함수 프로그래밍 ........................................................................... 299
13.6.1 시간에 따른 대기 함수 ..................................................................................... 299
13.6.2 시그널에 따른 대기 함수 ................................................................................. 300

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


14.1 개요 ..................................................................................................................... 303
14.2 PLC 프로그램 시작을 위한 준비 ........................................................................... 303
14.3 PLC 연결 어댑테이션 (Cell.src) ........................................................................... 305
14.4 질문 : 상위 제어 시스템에서의 작업 ..................................................................... 308

15 부록 .......................................................................................................... 309
15.1 베이스 간접 측정 ................................................................................................. 309
15.1.1 연습 : 베이스 간접 측정 ................................................................................... 312
15.2 충돌 인식을 포함한 모션 프로그래밍하기 ............................................................. 314
15.3 트랙 전환 기능의 프로그래밍 ............................................................................... 319
15.4 외부 오토매틱 인터페이스 설명 ............................................................................ 326
15.4.1 외부 오토매틱 인터페이스 구성 ....................................................................... 333
15.4.2 연습 : 외부 오토매틱 인터페이스 구성 ( 수동 ) ................................................. 336
15.5 추가 연습 ............................................................................................................. 340
15.5.1 연습 : 그리퍼 프로그래밍 핀 ............................................................................ 341
15.5.2 연습 : 루프 테크닉 ........................................................................................... 343
15.5.3 연습 : 정속 이동 영역 및 조건적 중지 .............................................................. 344
15.6 툴 / 베이스 시스템 개요 ........................................................................................ 346
15.7 약어 ..................................................................................................................... 346

인덱스 ...................................................................................................... 349

6 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

1.1 개요

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


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

1.2 로봇에 대한 기본 사항

로봇이란 무엇인가  로봇이라는 개념은 중노동을 나타내는 슬라브어 robota 에서 유래한 개념입
? 니다 .
 산업용 로봇에 대한 공식적인 정의는 다음과 같습니다 : " 로봇이란 임의로
프로그래밍할 수 있으며 프로그램으로 제어되는 취급 장치이다 ."
 로봇 시스템에는 컨트롤러와 조작장치 및 그 연결 케이블과 소프트도 포
함됩니다 .

그림  1-1: 산업용 로봇

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


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

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


 공구 ( 이펙터 / 툴 )

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 7 / 353


로봇 프로그래밍 1

 보호 장치
 컨베이어 벨트
 센서
 기계
 등등 .

1.3 KUKA 로봇 기계 장치

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


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

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

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

로봇 메카니즘 구성  로봇 기계장치의 컴포넌트는 대부분 알루미늄 주물 및 주강으로 되어 있


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

8 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

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

로봇 축

그림  1-4: KUKA 로봇의 축

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


 축 수량 :
 KR40 PA 의 경우 4 개의 축
 기본 수직 다관절 로봇의 경우 6 개의 축

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 9 / 353


로봇 프로그래밍 1

 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 컨트롤러가 제어하는 서보 모터에 의해 움직


까? 입니다 .

10 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

(V)KR C4 컨트롤  (V)KR C4 컨트롤러


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

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

 (V)KR C4 확장형 컨트롤러


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

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 11 / 353


로봇 프로그래밍 1

 소프트웨어 기반 컨트롤러
로봇 프로그래밍에서 캐비닛에 따라 하드웨어 인터페이스로 접근하려면
애플리케이션 또는 추가 옵션을 컨트롤러에 설치해야 합니다 .

그림  1-8: 필러 모델 개요

시스템 관련 애플리케이션에 해당 :
 RC(Robot Control)
로봇 컨트롤러용 KUKA 코어 시스템
 Safety
안전 컨트롤러에 통합된 KUKA 특성
고객별 옵션에 해당 :
 PLC
IEC61131 에 따른 통합형 Soft-SPS KUKA.PLC, 일반적인 절차 컨
트롤러용
 XM(eXtendedMotion)
통합형 작동 시간 시스템 , KUKA MotionControl-Bibliothek 용
 Process Control
일반 플랫폼 , 절차 컨트롤러에 통합
예 : 통합형 버전

통신 방법

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

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


 메모리 프로그래밍이 가능한 제어 시스템 (PLC)
 그 외 다른 제어시스템

12 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 센서와 작동기
 네트워크를 통한 통신 가능
 호스트 컴퓨터
 그 외 다른 제어시스템
 서비스 노트

1.5 KUKA smartPAD

KUKA 로봇을 어떻 KUKA 로봇은 휴대용 컨트롤 패널인 KUKA smartPAD 로 조작합니다 .
게 조작합니까 ?

그림  1-10: KUKA smartPAD

KUKA smartPAD 특징
 손이나 통합된 펜으로 조작하는 터치스크린(터치에 반응하는 사용자 인터
페이스 )
 커다란 세로형 포맷의 디스플레이
 KUKA 메뉴 버튼
 다용도 +/- 버튼
기본 : 이동 버튼 또는 이동 속도 설정 시 사용
 테크놀로지 패키지 조작 버튼 ( 예 : 그리퍼 기능 , 서보 건 , 도킹 )
 프로그램 진행 버튼 ( 정지 / 뒤로 / 앞으로 )
 키보드를 나타내는 버튼
 키 스위치
 작동 모드 전환용 .
 기타 기능 승인용 .
사용자 인터페이스에 입력창 호출
 비상 정지 버튼

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 13 / 353


로봇 프로그래밍 1

 6D 마우스
 분리가능
 USB 포트

1.5.1 smartPAD 개요

설명

그림  1-11: KUKA smartPAD 앞면

번호 설명
1 "smartPAD 분리 " 요청 버튼
2 작동 모드 선택용 승인 스위치 이 스위치는 다음의 버전에서 실행
할 수 있습니다 .
 키가 포함된 버전
 키가 포함되지 않은 버전
이 스위치를 이용해 연결 관리자를 호출합니다 . 연결 관리자를 통
해 작동 모드를 전환할 수 있습니다 .
3 비상정지 장치 . 위험 상황에서 로봇을 정지시키기 위해 사용 . 비
장 정지 장치를 누르면 잠깁니다 .
4 6D 마우스 : 로봇의 수동 이동용
5 이동 버튼 : 로봇의 수동 이동용
6 POV 프로그램 오버라이드 설정 버튼
7 HOV 핸드 오버라이드 설정 버튼

14 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

1.5.2 smartPAD 분리

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


기 설명 니다 .
 시간과 작동 모드에 상관없이 smartPAD 를 분리할 수 있습니다 .
 smartPAD 를 연결하면 현재 로봇 제어 시스템의 작동 모드를 적용합니다 .
 연결할 때 smartPAD 버전(펌웨어 버전)은 중요하지 않습니다. 자동으로
업그레이드 또는 다운그레이드할 수 있습니다 .

업그레이드 또는 다운그레이드 절차를 중단하면 안 됩니다 .

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


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

사전 요청 없이 smartPAD 를 분리하면 로봇의 비상 정지 기능


이 실행됩니다 .

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

 
 
 smartPAD 가 분리된 경우 시스템은 더 이상 KCP 의 비상정지 버튼으로
smartPAD 를 차단할 수 없습니다 .
 이러한 이유로 인해 비분리식 외부 비상 정지 장치가 추가로 필요합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 15 / 353


로봇 프로그래밍 1

 
 
 운영자는 분리된 smartPAD 를 시스템에서 즉시 제거하고 산업용 로봇에
서 작업하는 인원의 시야 범위 또는 작업 반경 밖에 보관되도록 조치해
야 합니다 .
 이렇게 함으로써 현재 유효한 비상정지 장치와 유효하지 않은 비상정지
장치가 서로 혼동되는 것을 방지할 수 있습니다 .

이 사항을 준수하지 않을 경우 , 작업자의 사망 , 치명적 신체 상


해 또는 심각한 대물 피해가 발생할 수 있습니다 .

 
 
 로봇 제어 시스템에 smartPAD 를 연결할 경우 , 연결 후 최소 30 초가 경
과할 때까지 smartPAD 옆에 있어야 합니다 .
30 초가 지나야 smartPAD 에 연결됩니다 .
 비상 정지 기능과 승인 버튼 기능을 실행할 수 있습니다 . 비상 상황에서
다른 사용자가 현재 작동하지 않는 비상 정지 버튼에 접근하는 것이 방
지할 수 있습니다 .

smartPAD 를 삽입 분리 :
하기 위한 진행 방 1. smartPAD 의 분리 요청 버튼을 누릅니다 .
법 smartHMI 에 메시지와 카운터가 표시됩니다 .
카운터는 25 초 동안 작동합니다 . 이 시간 동안 smartPAD 는 로봇 컨트
롤러에서 분리되어 있어야 합니다 .

그림  1-12: smartPAD 버튼 연동 해제

 
 
 카운터가 사라지기 전에 smartPAD를 분리하면 비상정지가 발생합니다.
 smartPAD 를 다시 꽂아야 비상정지를 해제할 수 있습니다 .

2. 제어반 도어 (V)KR C4 를 엽니다 .


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

16 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  1-13: smartPAD 분리하기

1 삽입된 상태의 플러그


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

4. 제어반 도어 (V)KR C4 를 닫습니다 .

 
 
카운터가 사라질 때까지 smartPAD 가 분리하지 않아도 아무런 문
제가 발생하지 않습니다 .
 카운터를 다시 표시하기 위해 분리 버튼을 임의의 횟수만큼 누를 수 있
습니다 .

연결 :
1. 동일한 버전이거나 동일한 펌웨어의 smartPAD 를 삽입하였는지 확인하
십시오 .
2. (V)KR C4 의 제어반 도어를 엽니다 .
3. smartPAD 플러그를 X19 에 끼웁니다 .

소켓과 smartPAD 플러그에 부착된 표시에 유의하십시오 !

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 17 / 353


로봇 프로그래밍 1

그림  1-14: smartPAD 삽입

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


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

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

4. (V)KR C4 의 제어반 도어를 닫습니다 .

1.5.3 작동 모드 선택 및 설정

KUKA 로봇의 작동  T1( 수동 감속 속도 )


모드  테스트 모드 , 프로그래밍 및 티칭용
 프로그램 모드에서 최고 속도는 250 mm/s.
 수동 모드에서 최고 속도는 250 mm/s.
 T2 ( 수동 고속 속도 )
 테스트 모드용
 프로그램 모드에서의 속도는 프로그래밍된 속도에 상응합니다 !
 수동 작동 : 불가능
 AUT( 오토매틱 )
 상위 컨트롤러가 포함되지 않은 산업용 로봇을 위해
 프로그램 모드에서의 속도는 프로그래밍된 속도에 상응합니다 !
 이동 버튼 혹은 스페이스 마우스를 통한 수동 이동은 불가능합니다
 AUT EXT( 외부 오토매틱 )
 상위 제어시스템 (SPS) 를 사용하는 산업용 로봇용

18 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 프로그램 모드에서의 속도는 프로그래밍된 속도에 상응합니다 !


 이동 버튼 혹은 스페이스 마우스를 통한 수동 이동은 불가능합니다

수동 모드 T1 및 T2
작동 모드 안전지침 수동 모드는 셋업 작업을 위한 모드입니다 . 셋업 작업은 자동 모드를 실행하
기 위해 로봇 시스템에서 실시해야 하는 모든 작업에 해당합니다 . 이에 해당
하는 작업 :
 티칭 / 프로그래밍
 조그 모드에서 프로그램 실행하기 ( 테스트하기 / 검증하기 )
새로운 프로그램 또는 변경된 프로그램은 항상 수동 감속 속도 (T1) 작동모드
에서 먼저 테스트해야 합니다 .
수동 감속 속도 (T1) 작동 모드에서는 :
 오퍼레이터 안전장치 ( 안전문 ) 는 모니터링하지 않습니다 .
 안전장치로 보호되는 공간에 머무를 수 있는 인원 수는 최소한으로 제한
되어 있습니다 .
불가피하게 여러 명의 인원이 안전장치에 의해 보호되는 공간에 체류하는
경우에는 , 다음 사항을 준수해야 합니다 :
 모든 인원은 로봇 시스템에 대한 원활한 시야를 확보해야 합니다 .
 각각의 인원들 사이에서 항상 시선 접촉이 이루어질 수 있어야 합니다.
 오퍼레이터는 위험 구역을 관찰할 수 있고 위험을 피할 수 있는 위치에 있
어야 합니다 .
수동 고속 속도 (T2) 작동 모드에서는 :
 오퍼레이터 안전장치 ( 안전문 ) 는 모니터링하지 않습니다 .

그렇지만 KUKA College 교육 셀에서는 규정과 달리 안전문을 모니


터링하며 이 문은 잠겨 있어야 합니다 .

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


우에만 이 작동 모드의 사용이 허용됩니다 .
 티칭은 이 작동 모드에서는 불가능합니다 .
 오퍼레이터는 테스트를 시작하기 전에 승인 장치가 올바르게 작동하는지
를 확인해야 합니다 .
 T2 작동모드에서 프로그램을 시작하여 프로그래밍된 속도에 도달합니다.
 오퍼레이터 및 다른 인원은 위험 구역 밖에 위치해야 합니다 .
작동 모드 오토매틱 및 외부 오토매틱
 안전 및 보호장치가 갖춰져 있어야 하며 제 기능을 완벽히 수행할 수 있어
야 합니다 .
 모든 인원은 보호장치로 제한된 공간 밖에 머무릅니다 .

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


정지 반응 메시지에 대한 반응으로서 발생됩니다 .
 아래의 표에는 설정된 작동 모드에 따른 정지 반응의 유형이 설명됩니다 .
원인 T1, T2 AUT, AUT EXT
시작 버튼에서 손 떼기 STOP 2 -
STOP 버튼 누름 STOP 2
드라이브 OFF STOP 1
" 이동 인가 " 인풋 분리 STOP 2
로봇 컨트롤러 차단 ( 정전 STOP 0
)

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 19 / 353


로봇 프로그래밍 1

원인 T1, T2 AUT, AUT EXT


로봇 컨트롤러의 논 페일 STOP 0 또는 STOP 1
세이프 컴포넌트에서 내
( 오류 원인에 따라서 )
부 오류
가동 중에 작동 모드 변경 안전정지 2
안전 도어 열기 ( 오퍼레이 - 안전정지 1
터 보호장치 )
인가 릴리즈 안전정지 2 -
인가 완전히 누름 또는 오 안전정지 1 -

비상정지 작동 안전정지 1
안전 컨트롤러의 주변장 안전정지 0
치 또는 안전 컨트롤러에
서 오류

용어 설명
안전 가동정지 안전 가동정지는 정지상태 모니터링에 해당합니다 . 이 기능은 로봇 동
작을 정지시키는 것이 아니라 로봇 축의 정지 여부를 모니터링합니다 .
안전 가동정지가 작동하는 동안에 로봇 축이 동작하는 경우에는 안전정
지 STOP 0 이 발생합니다 .
안전 가동정지는 외부에서도 작동시킬 수 있습니다 .
안전 가동 정지 기능이 작동되면 로봇 제어 시스템이 안전 출력부 (X13,
SIB 확장형 ) 를 통지하거나 상위 제어 시스템에 대한 안전 필드버스 프
로토콜에 대해 알립니다 . 아웃풋은 작동 시점에 모든 축이 정지되지 않
고 이로 인해 안전정지 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 으로 표시됩니다 .

20 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

용어 설명
정지 카테고리 1 1 초 후에 드라이브가 차단되고 브레이크가 작동합니다 .
매니퓰레이터 및 부가축 ( 옵션 ) 이 경로 상에서 제동됩니다 .
참고 : 이 정지 카테고리는 문서에서 STOP 1 으로 표시됩니다 .
정지 카테고리 2 드라이브가 차단되지 않고 브레이크가 작동되지 않습니다 . 머니퓰레이
터 및 부가축 ( 옵션 ) 이 경로유지 제동 램프로 제동됩니다 .
참고 : 이 정지 카테고리는 문서에서 STOP 2 으로 표시됩니다 .

진행 방법
구동 중 작동 모드를 변경하면 , 드라이브가 즉시 차단됩니다 . 산업
용 로봇이 안전정지 2 레벨로 정지합니다 .

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


관리자가 표시됩니다 .

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

3. 연결 관리자를 위한 스위치를 다시 본래 위치로 이동시킵니다 .


선택된 작동 모드는 smartPAD 의 상태 표시줄에 표시됩니다 .

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


습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 21 / 353


로봇 프로그래밍 1

1.5.4 smartPAD 기본 설정

smartPAD 연결 표  제어 시스템이 구동하거나 연결 관리자가 열려 있는 경우 세 개의 초록색


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

그림  1-15: smartPAD 연결 표시

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

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


설정 / 구성 펼치기

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

2. KUKA 버튼을 누릅니다 . »


3. smartPAD 세션 관리자 메뉴가 열립니다 .

22 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

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

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


2. 이 창에서 화면을 조정 및 보정할 수 있습니다 .
3. 저장 (4) 버튼을 눌러 변경된 설정을 적용합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 23 / 353


로봇 프로그래밍 1

그림  1-18: 표시 설정

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

1.6 로봇 프로그래밍

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


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

컨트롤러에 사용되  간단한 프로그램은 미리 규정되어 있는 양식 ( 인라인 양식 ) 을 사용하여 만


는 언어는 무엇입니 듭니다 .
까? 예 : 인라인 양식

24 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  1-19: 인라인 양식 SPTP ( 개별 동작 )

 루프 , 로직 , 필요 프로그래밍에 대한 프로그래밍 언어는 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=2m/s CPDAT4 Tool[2] Base[4]
...
ENDLOOP

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


게 프로그래밍합니 습니다 :
까?  티치 - 인 - 방식을 사용한 온라인 프로그래밍 .

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

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 25 / 353


로봇 프로그래밍 1

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

 텍스트를 사용한 프로그래밍 : smartPAD 인터페이스를 사용하여 상


위 조작 PC 에서 프로그래밍하기 ( 이미 운영 중인 프로그램의 진단 및
온라인 적용에도 사용됨 )

그림  1-22: KUKA OfficeLite 를 사용한 로봇 프로그래밍

26 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

1.7 로봇의 안전성

예시 : College 교
육셀

그림  1-23: 교육 셀

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

안전 컨트롤러의 기
 
능  
 정상적으로 작동하는 안전 및 보호장치 없이 로봇 시스템을 가동할 경우
인명 또는 대물 피해가 발생할 수 있습니다 .
 안전장치 또는 보호장치를 탈거하거나 또는 해제한 경우 , 로봇 시스템을
가동하지 말아야 합니다 .

로컬 비상정지
비상 정지 장치  이 산업용 로봇의 비상 정지 장치는 smartPAD 의 비상 정지 버튼을 통해
작동됩니다 .
 이 버튼은 위험 또는 비상 상황에서 눌러야 합니다 .
외부 비상정지
 적어도 하나의 비상정지 장치를 설치해야 합니다 . (>>>  " 외부 비상정지
" 페이지  28)
 이를 통해 KCP 가 분리된 경우에도 하나의 비상정지 장치의 사용이 보장
됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 27 / 353


로봇 프로그래밍 1

비상정지 버튼을 누를 경우 산업용 로봇의 반응 :


 머니퓰레이터 및 보조축 ( 옵션 ) 이 안전정지 1 로 정지합니다 .
계속 구동하기
 가동을 계속하기 위해서는 , 비상정지 버튼을 회전시켜 해제하고 그 뒤에
나타나는 메시지를 확인해야 합니다 .

 
 
 위험이 발생될 수 있는 경우 머니퓰레이터에 연결된 툴 또는 기타 장치
를 시스템측 비상 정지 회로에 연결해야 합니다 .
 이 사항을 준수하지 않을 경우 , 사망 , 치명적 상해 또는 심각한 대물 피해
가 발생할 수 있습니다 .

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


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

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


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

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

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


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

28 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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


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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 29 / 353


로봇 프로그래밍 1

30 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

2 로봇 동작

2.1 개요

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


 메시지 읽기 및 해석하기
 작동 모드 선택 및 세팅
 로봇 축을 개별적으로 움직이기
 광역 좌표계에서 로봇 움직이기
 smartPad 를 분리합니다
 툴 좌표계에서 로봇 움직이기
 베이스 좌표계에서 로봇 움직이기

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

메시지 개요

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

1 메시지 창 : 현재 메시지 표시
2 메시지 카운터 메시지 타입 별 메시지 개수

메시지 창을 통해 제어시스템은 오퍼레이터와 통신합니다 . 이때 5 가지의 메


시지 타입을 사용할 수 있습니다 :
메시지 타입 개요 :

아이콘 타입
확인 메시지
 로봇 프로그램을 계속 처리하기 위해 오퍼레이터의 확인이 필
요한 상태를 표시함 ( 예 : " 비상 정지 확인 ").
 확인 메시지가 나타나면 항상 로봇이 정지하거나 스타트하지
않습니다 .
상태 메시지
 상태 메시지는 제어 시스템의 현재 상태를 알립니다 ( 예 : " 비
상 정지 ").
 상태 메시지는 그 상태가 유지되는 한 확인할 수 없습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 31 / 353


로봇 프로그래밍 1

아이콘 타입
참조 메시지
 참조 메시지는 로봇을 올바르게 사용하기 위한 정보를 알립니
다 ( 예 : " 시작 버튼 필요 ").
 참조 메시지는 확인할 수 있습니다 . 그러나 선택한 로봇 프로
그램이 중지되지 않고 , 계속해서 로봇을 수동으로 이동시킬
수 있기 때문에 참조 메시지를 확인할 필요는 없습니다 .
대기 메시지
 대기 메시지는 제어시스템이 어떤 이벤트 ( 상태나 시그널 , 혹
은 시간 ) 를 기다리고 있는지 표시합니다 .
 대기 메시지는 " 시뮬레이션 " 버튼을 눌러 수동으로 취소시킬
수 있습니다 .

" 시뮬레이션 " 버튼은 충돌이나 기타 다른 위험을 배제할 수 있


을 경우에만 사용해야 합니다 !

대화상자 메시지
 대화 상자 메시지는 프로그램 제어 구조 내에서 또는 시스템
상호 작용 시 질의 응답의 역할을 합니다 .
 다양하게 대답할 수 있도록 하는 버튼이 포함된 메시지 창이
나타납니다 .

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


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

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


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

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

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


께 출력됩니다 .

32 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

그림  2-2: 메시지 처리 확인하기

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

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

설명 : 축 고유의 동

그림  2-3: KUKA 로봇의 축

로봇 축의 동작
 각 축은 개별적으로 양의 방향 및 음의 방향으로 이동합니다 .
 이를 위해 이동 버튼이나 KUKA smartPAD 의 6D 마우스를 사용합니다 .
 속도는 변경될 수 있습니다 ( 핸드 오버라이드 : HOV).
 수동 이동은 모드 종류 T1 에서만 가능합니다 .
 확인 버튼을 누른 상태여야 합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 33 / 353


로봇 프로그래밍 1

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


우 이동 버튼의 라벨이 녹색이 됩니다 . 이동 버튼 또는 6D 마우스를 실행
하는 즉시 로봇 축 컨트롤이 시작되고 원하는 동작이 실행됩니다 .
 이때 연속 모션과 증분 모션이 가능합니다 . 이때 상태 표시줄에서 증분 ( 인
크리먼트 크기 ) 을 선택할 수 있습니다 . (>>>  " 진행 방법 " 페이지  36)
다음과 같은 메시지는 수동 작동에 영향을 미칩니다 :

메시지 원인 조치
" 활성화된 명 ( 정지 -) 메시지가 나타났거나 활성화 비상정지를 해제하고 / 해제하거나 메
령 잠김 " 된 명령을 잠그는 상태가 나타났습니 시지 창의 메시지를 확인하십시오 . 승
다 ( 예 : 비상 정지 버튼을 눌렀거나 구 인 버튼을 누르면 그 즉시 구동장치를
동 장치가 아직 작동할 준비가 되어 있 사용할 수 있습니다 .
지 않음 ).
" 소프트웨어 표시된 축 ( 예 : A5) 의 소프트웨어 리 표시된 축은 반대방향으로 이동합니다
리밋 스위치 밋 스위치가 표시된 방향 (+ 또는 -) .
- A5" 으로 이동하였습니다 .

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

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


다.

작동 모드
축 고유의 수동 이  로봇의 수동 작동은 작동 모드 T1( 수동 감속 속도 ) 에서만 가능합니다 .
동에 대한 안전지침
 T1 모드의 수동 이동 속도는 최대 250 mm/s 입니다 .
 작동 모드는 연결 관리자를 통해 설정할 수 있습니다 .
인가 버튼
 로봇을 이동시키려면 , 승인 버튼을 눌러 확인하고 그 상태를 유지해야 합
니다 .
 smartPAD 에는 3 개의 승인 스위치가 부착되어 있습니다 .
 승인 스위치는 3 개의 위치를 갖습니다 :
 눌리지 않음
 중앙 위치
 완전히 누름 ( 패닉 위치 )
소프트웨어 리밋 스위치
 로봇의 동작은 축 고유의 수동 이동 시에도 소프트웨어 리밋 스위치의 포
지티브 및 네거티브 최대값에 의해 제한됩니다 .

 
 
 메시지 창에 " 마스터링 실행 " 메시지가 나타나면 이 최대값 이상으로 이
동할 수 있습니다 .
 이 경우 로봇 시스템이 손상될 수 있습니다 !

34 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

진행 방법 : 축 고유 1. 이동 버튼의 옵션으로 축을 선택합니다


의 모션을 실행합니

2. 핸드 오버라이드를 설정합니다

3. 승인 스위치를 중앙 위치로 누르고 누른 상태를 유지합니다

4. 이동 버튼 옆에 A1-A6 번 축이 표시됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 35 / 353


로봇 프로그래밍 1

하나의 축을 포지티브 또는 네거티브 방향으로 움직이기 위해 플러스 혹


은 마이너스 이동 버튼을 누르십시오 .

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


만큼 로봇을 동작시킬 수 있습니다 .
해당 이동 버튼을 누르면 로봇이 자동으로 정지합니다 .
 증분적 조그 모드는 이동 중에 " 조그 키 " 를 눌러 실행시킬 수 있습니다 .
Space Mouse 를 통해 이동하는 경우에는 증분적 조그 모드가 불가능합
니다 .
 로봇이 자동으로 정지할 때까지 해당 이동 버튼을 누르고 있어야 합니다 .
로봇이 사전 설정된 거리 또는 각도값에 도달했습니다 .
적용 범위 :
 동일한 거리로 포인트를 배치할 때
 거리가 mm 또는 ° 단위로 정해져 있을 경우 ( 예 : 측정 장치의 데이터 이용
), 포인트를 정확하게 보정할 때
 예를 들어 오류 발생 시 어느 한 위치에서 특정한 거리만큼 뒤로 이동할 때

전제조건  " 조그 키 " 이동 유형이 활성화된 상태 .


 작동 모드 T1

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

그림  2-4: 증분적 조그 모드

36 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

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 회전에서 직교좌표적 이동 시 적용 .
 해당 축의 이동 시 적용 .

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

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

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


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

진행 방법
 
 
 
 모터가 구동하는 동안에는 피부 화상을 일으킬 수 있는 온도까지 가열됩
니다 .
 따라서 접촉을 피해야 합니다 .
 예를 들어 보호장갑의 착용과 같은 적합한 보호 조치를 취해야 합니다 .

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


용 ) 잠그십시오 .
2. 모터에서 보호캡을 제거하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 37 / 353


로봇 프로그래밍 1

3. 자유 회전장치를 해당 모터에 부착하고 원하는 방향으로 축을 동작시키십


시오 .

 
 
 
 모터에 화살표가 그려진 방향 표시를 옵션으로 주문할 수 있습니다 .
 기계식 모터 브레이크의 저항 및 필요 시 부가축의 저항이 극복되어야 합
니다 .

축 2 모터에서의 예

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

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

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

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

38 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

2.3.1 연습 : 조작법 및 축 고유의 수동 이동

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 로봇 제어 시스템 켜기 및 끄기
 smartPad 를 사용한 기본적인 로봇 조작법
 축 고유의 수동 이동 , 이동 버튼 및 스페이스 마우스 사용
 최초의 간단한 시스템 메시지 해석 및 제거

전제조건 이 연습을 성공적으로 마치려면 다음과 같은 전제조건이 필요합니다 :


 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 KUKA 산업용 로봇 시스템의 일반적인 조작법에 대한 이론 지식


 축 고유의 수동 이동에 대한 이론 지식

작업 설정 1

그림  2-7: 축 고유의 수동 이동

1. 제어반을 켜고 런업 과정을 기다립니다 .


2. 잠금을 해제하고 비상 정지를 확인합니다 .
3. 작동 모드 T1 이 설정되어 있는지 확인하십시오 .
4. 축 고유의 수동 이동을 작동시키십시오 .
5. 축에 맞게 여러 핸드 오버라이드 (HOV) 설정을 사용하여 수동 이동 버튼
과 스페이스 마우스로 로봇을 이동시키십시오 .
6. 각 축의 이동 영역을 확인하십시오 . 이때 툴이 고정되어 있는 책상이나 큐
브 매거진 등과 같은 장애물이 있는지 유의하십시오 ( 접근성 점검 ).
7. 소프트웨어 리밋 스위치에 도달할 때 메시지 창에 유의하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 39 / 353


로봇 프로그래밍 1

작업 설정 2

그림  2-8: 큐브 그리퍼

1. 큐브 매거진에서 큐브를 꺼내 연습 테이블 위에 놓습니다 .


2. 큐브를 축을 따라 이동합니다 .

40 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

2.4 로봇과 연관된 좌표계

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


컨트롤러에는 다음과 같은 좌표계가 정의되어 있습니다 :
 ROBROOT
로봇 베이스 좌표계
 WORLD
광역 좌표계
 BASE
베이스 좌표계
 FLANGE
플랜지 좌표계
 TOOL
툴 좌표계

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

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 41 / 353


로봇 프로그래밍 1

 툴 및 장치를 측정하기 위해 사용됩니다 .


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

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

광역 좌표계에서의
모션

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

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


이때 모든 로봇의 축이 움직입니다 .
 이를 위해 이동 버튼이나 KUKA smartPAD 의 스페이스 마우스를 사용합
니다 .
 표준 설정에서 광역 좌표계는 로봇 베이스 (Robroot) 에 있습니다 .
 속도는 변경될 수 있습니다 ( 핸드 오버라이드 : HOV)
 수동 이동은 모드 종류 T1 에서만 가능합니다 .
 승인 버튼은 누른 상태여야 합니다 .
스페이스 마우스
 스페이스 마우스로 로봇을 직관적으로 움직일 수 있어 광역 좌표계에서
수동 이동할 경우 이상적인 선택이 됩니다 .
 마우스 위치와 자유도는 변경할 수 있습니다 .

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


수동 이동의 원리  좌표계의 방향을 따라 병진식 ( 직선식 ): X, Y, Z.

42 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

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

그림  2-11: 직교좌표계

일부 이동 명령 ( 예를 들어 이동 버튼 누름 ) 에서 컨트롤러는 먼저 구간을 계
산합니다 . 그 구간의 시작점이 툴의 기준점 (TCP) 입니다 . 광역 좌표계가 구
간의 방향을 지정합니다 . 그 다음 컨트롤러가 모든 축을 조절하여 툴이 이 구
간으로 유도 ( 병진 ) 되거나 이 구간을 중심으로 돌도록 ( 회전 ) 합니다 .
광역 좌표계 사용의 장점
 로봇의 모션을 항상 예견할 수 있습니다 .
 원점과 좌표 방향이 항상 인지하고 있기 때문에 TCP 동작이 항상 명확합
니다 .
 광역 좌표계는 마스터링된 로봇에서 항상 사용할 수 있습니다 .
 6D 마우스를 사용하여 직관적으로 조작할 수 있습니다 .
6D 마우스 사용
 6D 마우스로 모든 종류의 동작을 취할 수 있습니다 .
 병진식 : 6D 마우스를 누른 후 당김

그림  2-12: 보기 : 좌측으로 이동

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 43 / 353


로봇 프로그래밍 1

그림  2-13: 보기 : Z 를 중심으로 한 회전 동작 : 각도 A

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

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

병진 동작 실행하기 1. 슬라이더 (1) 를 밀면서 KCP 위치를 설정합니다 .


( 광역 )

KCP KUKA Controll Panel ≙ smartPAD

2. 기타 마우스 설정은 옵션 버튼을 이용해 호출할 수 있습니다 .

44 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

그림  2-15: 조그 모드 옵션

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

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 45 / 353


로봇 프로그래밍 1

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

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

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

46 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 47 / 353


로봇 프로그래밍 1

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

연습의 목표 이 연습을 성공적으로 마치면 다음의 작업을 실행할 수 있게 됩니다 :


 로봇 제어 시스템 켜기 및 끄기
 smartPad 를 사용한 기본적인 로봇 조작법
 광역 좌표계에서 이동 버튼을 이용하여 로봇 조작 및 수동 이동
 최초의 간단한 시스템 메시지 해석 및 제거

전제조건 이 연습을 성공적으로 마치려면 다음과 같은 전제조건이 필요합니다 :


 안전 교육에 참가

주의 사항 !
연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가가 문
서로 작성되어 있어야 합니다 !

 KUKA 산업용 로봇 시스템의 일반적인 조작법에 대한 이론 지식


 광역 좌표계에서 이동 버튼을 이용한 로봇 수동 이동에 대한 이론적 지식

그림  2-16: 광역 좌표계에서의 이동

1 단추 » " 버튼 " 메뉴 호출

작업 설정 다음의 작업을 실행하십시오 :


1. 제어반을 켜고 런업 과정을 기다립니다 .
2. 잠금을 해제하고 비상 정지를 확인합니다 .
3. 작동 모드 T1 이 설정되어 있는지 확인하십시오 .
4. 광역 좌표계에서 이동 버튼을 이용하여 로봇을 활성화하고 수동으로 이동
합니다 .
5. 여러 핸드 오버라이드 (HOV) 설정을 이용하여 로봇을 이동시키십시오 .

 
 
 로봇 이동 시 케이블 드래그 , 브래킷 , 도킹 시스템 , 기타 유사한 물체와
충돌하지 않도록 유의하십시오 .
 잠재적 충돌 위험을 제때에 감지할 수 있도록 로봇 위치를 설정하십시오.

48 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

큐브 그리퍼

그림  2-17: 큐브 그리퍼

다음의 작업을 실행하십시오 :


1. 큐브 매거진에서 큐브를 꺼내 연습 테이블 위에 놓습니다 .
2. 툴 좌표계에서 로봇 그리퍼로 큐브를 이동합니다 .

질문 지금 알아야 할 사항 :
작동 모드로 어떤 것이 있습니까 ?
......................................................
......................................................
......................................................
어떤 작동 모드에서 손으로 로봇을 이동시킬 수 있습니까 ?
......................................................
......................................................
픽토그램을 그리십시오 .

a) b) c) d)

       
___________ ___________ ___________ ___________

회전축 A°, B°, C° 를 중심으로 로봇을 움직일 때 툴 팁을 어떻게 해야 합니까


?
......................................................
......................................................
......................................................
수동 이동을 위한 속도 설정을 뭐라고 칭합니까 ?
......................................................

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 49 / 353


로봇 프로그래밍 1

......................................................

50 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

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

연습의 목표 이 연습을 성공적으로 마치면 다음의 작업을 실행할 수 있게 됩니다 :


 로봇 제어 시스템 켜기 및 끄기
 smartPad 를 사용한 기본적인 로봇 조작법
 광역 좌표계에서 6D 마우스를 이용하여 로봇 조작 및 수동 이동
 최초의 간단한 시스템 메시지 해석 및 제거

전제조건 이 연습을 성공적으로 마치려면 다음과 같은 전제조건이 필요합니다 :


 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 KUKA 산업용 로봇 시스템의 일반적인 조작법에 대한 이론 지식


 광역 좌표계에서 6D 마우스를 이용한 로봇 수동 이동에 대한 이론적 지식

그림  2-18: 광역 좌표계 수동 이동

1 단추 » " 버튼 " 메뉴 호출

작업 설정 A 다음의 작업을 실행하십시오 :


1. 제어반을 켜고 런업 과정을 기다립니다 .
2. 잠금을 해제하고 비상 정지를 확인합니다 .
3. 작동 모드 T1 이 설정되어 있는지 확인하십시오 .
4. 광역 좌표계에서 6D 마우스를 이용하여 로봇을 활성화하고 수동으로 이
동합니다 .
5. 여러 핸드 오버라이드 (HOV) 설정을 이용하여 로봇을 이동시키십시오 .
6. 6D 마우스의 구성을 적정 설정으로 변경합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 51 / 353


로봇 프로그래밍 1

그림  2-19: 스페이스 마우스 위치 설정하기

 
 
 로봇 이동 시 케이블 드래그 , 브래킷 , 도킹 시스템 , 기타 유사한 물체와
충돌하지 않도록 유의하십시오 .
 잠재적 충돌 위험을 제때에 감지할 수 있도록 로봇 위치를 설정하십시오.

작업 설정 B

그림  2-20: 큐브 그리퍼

다음의 작업을 실행하십시오 :


1. 큐브 매거진에서 큐브를 꺼내 연습 테이블 위에 놓습니다 .
2. 툴 좌표계의 마우스를 이용하여 로봇 그리퍼로 큐브를 이동합니다 .

52 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


2 로봇 동작

 
 
 로봇 이동 시 케이블 드래그 , 브래킷 , 도킹 시스템 , 기타 유사한 물체와
충돌하지 않도록 유의하십시오 .
 잠재적 충돌 위험을 제때에 감지할 수 있도록 로봇 위치를 설정하십시오.

질문 지금 알아야 할 사항 :
6D 마우스의 수동 이동 속도를 변경할 두 가지 방법은 무엇입니까 ?
......................................................
......................................................
특히 6D 마우스를 이용하여 이동할 때 초보자에게 적합한 좌표계는 무엇입니
까?
......................................................
......................................................
수동 이동 시 활성화된 픽토그램 ( 포인트 2) 의 작동 원리를 짧게 설명하십시
오.

그림  2-21: 조그 모드 옵션

(1) 마우스 활성화 On/Off  


 
 
(2) 마우스 설정 기준  
 
 
6D  
 
 
XYZ  
 
 
ABC  
 
 

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 53 / 353


로봇 프로그래밍 1

(3) 좌표계 Sync  


 
 
축  
 
 
월드  
 
 
베이스  
 
 
툴  
 
 

6D 마우스를 최적으로 움직일 수 있는 설정 ( 구성 ) 은 무엇입니까 ?


......................................................
......................................................
......................................................

54 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3 로봇의 시운전

3.1 개요

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


 시운전 모드
 로봇 마스터링
 툴 측정
 베이스 측정

3.2 시운전 모드

설명  예컨대 다시 시운전할 때 안전 관련 주변기기 ( 예 : 외부 비상정지 장치 ) 가


없으면 로봇은 이동할 수 없습니다 .
 이때 초기 설정 모드로 전환하면 해결할 수 있으며 , 이 모드에서는 로봇이
감속된 속도인 T1 로 움직일 수 있습니다 .
 따라서 로봇 마스터링 등과 같은 시운전 작동이 가능합니다 .
 본 산업용 로봇은 사용자 인터페이스 smartHMI 의 메뉴 항목을 통해 시운
전 모드로 전환될 수 있습니다 .
 안전 시스템과의 연결이 활성화되어 있으면 시운전 모드가 종료되든지 또
는 차단됩니다 .

로봇 원점 잡기의 사용 시 모든 외부 안전장치가 작동하지 않습니다 .


시동 모드 사용 시 발생할 수 있는 위험 :
 인원이 매니퓰레이터의 위험 구역에 접근합니다 .
 인증되지 않은 인원이 매니퓰레이터를 작동시킵니다 .
 위험이 발생하는 경우 활성화되지 않은 외부 비상정지 장치가 작동되고
매니퓰레이터가 차단되지 않습니다 .
시동 모드에서 위험 방지를 위한 추가적 조치 :
 작동하지 않는 비상정지 장치를 커버링하거나 또는 작동하지 않는 비상정
지 장치에 상응하는 경고 표지판 부착 .
 보호 펜스가 존재하지 않는 경우에는 , 다른 조치를 통해 인원이 머니퓰레
이터의 위험 구역에 접근하지 않도록 조치해야 합니다 ( 예를 들어 접근 차
단 밴드 ).
 시동 모드의 사용은 유기적 조치를 통해 가능한 한 제한된 범위 내에서 이
루어지거나 또는 방지되어야 합니다 .
 서비스 인원은 안전장치가 작동하지 않는 동안에 어떤 인원도 매니퓰레이
터의 위험 구역에 체류하지 않도록 조치해야 합니다 .
시동 모드의 규정에 따른 사용 :
 안전 교육을 이수한 서비스 인원만이 시동 모드를 사용해야 합니다 .
 결함 원인 추적 ( 주변장치 결함 ).
 시동에 대해 .

부적합한 사용  규정에 따른 사용에 해당하지 않는 모든 사용은 허용되지 않는 부적합한


사용으로 간주됩니다 . 예를 들어 인증되지 않은 인원의 투입도 여기에 포
함됩니다 .
 KUKA Roboter GmbH 는 이로 인해 발생하는 손해에 대해 어떤 책임도
지지 않습니다 . 이런 위험에 대한 모든 책임은 운영자가 부담해야 합니다
.

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 55 / 353


로봇 프로그래밍 1

전제조건 PROFIsafe 컨피규레이션 전제조건 :


 PROFIsafe 는 안전 컨피규레이션을 통해 활성화되었습니다 .
 사용자 그룹 전문가가 필요합니다 .
메뉴 경로 : KUKA 버튼 > 컨피규레이션 > 사용자 그룹
 상위 안전 PLC 에 연결되거나 또는 연결된 경우 로봇 컨트롤러는 시운전
모드를 억제하거나 종료합니다 .
KSS 컨피규레이션의 전제조건 : X11 / SIB, 또는 VSS: XS2 + XS5 / SIB
 사용자 그룹 전문가가 필요합니다 .
메뉴 경로 :KUKA 버튼 > 컨피규레이션 > 사용자 그룹
 KR C4: X311 는 점퍼 컨넥터로 CCU 에 꽂아야 합니다
KR C4 compact: 별도의 작업이 요구되지 않음 , 점퍼 컨넥터 존재하지 않
음.
 시스템 소프트웨어 8.2 및 하위 버전 :
시운전 모드는 안전 인터페이스에서 모든 인풋 신호
KSS: X11, 또는 VSS: XS2 + XS5
가 " 로직 제로 " 상태인 경우에만 가능합니다 . 그렇지 않을 경우 , 로봇 컨
트롤러는 시운전 모드를 억제하거나 종료합니다 .
 시스템 소프트웨어 8.3:
시운전 모드가 항상 가능합니다 . 이것은 X11 인터페이스에서 인풋의 상
태에 영향을 받지 않는다는 것을 의미합니다 .

진행 방법  시동 모드 활성화시키기 :
메뉴 경로 : KUKA 버튼 > 초기 설정 > 서비스 > 초기 설정 모드

메뉴 설명
초기 설정 모드가 활성화되어 있습
니다 . 메뉴 항목을 터치하면 이 모
드가 해제됩니다 .
초기 설정 모드가 활성화되어 있지
않습니다. 메뉴 항목을 터치하면 이
모드가 활성화됩니다 .

 활성화된 시동 모드는 HMI에서 표시 IBN이 황색으로 깜박여 표시됩니다.


메시지 시동 모드 작동 중 , 비상정지는 로컬로만 작용함이 나타납니다 .

그림  3-1: 시동 모드

3.3 마스터링 원리

왜 마스터링해야 합  산업용 로봇은 완전하고 올바르게 마스터링된 상태여야만 이 로봇을 최적


니까 ? 의 상태로 이용할 수 있습니다 .
 마스터링된 상태일 때에만 로봇이 포인트와 경로를 정확하게 나타내기 때
문입니다 . 프로그램을 처리할 수 있습니다 .
 마스터링되지 않은 로봇은 축만 따라서 이동할 수 있습니다 .

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


컨트롤러는 이 축이 어디에 있는지 압니다 .

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

56 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

 기술적 보조 수단 (EMD - Electronic Mastering Device) 을 사용하여 각 축


의 기계적 영점에 기준값을 지정합니다 ( 예 : 0°).
 이로써 축의 기계적 및 전기적 위치가 일치하게 되므로 각 축은 명확하게
각도값을 갖게 됩니다 .
 마스터링 위치는 모든 로봇에서 유사하지만 , 동일하지는 않습니다 . 정확
한 위치는 동일한 로봇 유형 중에서도 각 로봇마다 다를 수 있습니다 .

그림  3-2: 마스터링 카트리지 KUKA Quantec 및 KUKA 2000 시리즈 위치

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

다른 로봇 유형
축 로봇 세대 "Quantec" ( 예 : 시리즈 2000, KR 16
등)
A1 -20° 0°
A2 -120° -90°
A3 +110° +90°
A4 0° 0°
A5 0° 0°
A6 0° 0°

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


까? 터링을 해야 합니다 :
 로봇 초기 설정
 위치값 측정에 관여한 구성품 ( 예 : 리볼버가 장착된 모터나 RDC) 를 수리
한후
 컨트롤러 없이 로봇축이 동작한 경우 ( 예 : 자유 회전 장치 사용 )
 규정에 따라 수동으로 수리하거나 문제를 해결한 경우 , 마스터링 또는 하
중 마스터링을 실행하고 측정된 편차를 적용해야 합니다 .
 기어 교체 후
 250mm/ 초 이상의 속도로 리밋 스토퍼에 충돌한 후

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 57 / 353


로봇 프로그래밍 1

 충돌 후

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


좋습니다 .

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


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

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


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

마스터링 실시하기

그림  3-3: EMD 사용

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

1 EMD (Electronic Mastering 4 측정 홈


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

58 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

 축의 기계적 영점을 산출하면서 마스터링됩니다 .


 이때 측정핀이 마스터링 마크를 한 번 표시할 때까지 축이 이동합니다 .
 이어서 표시의 시작과 끝 사이의 중간점이 산출됩니다 .
 가장 깊은 측정 마크의 가장 깊은 위치가 산출되고 마스터링 값으로 적용
됩니다 .
 따라서 각 축에는 마스터링 카트리지와 마스터링 마크가 있습니다 .

3.4 로봇 마스터링

로봇 마스터링 방법

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

 표준 마스터링
사진란 : 낮은 정밀도 및 약간의 하중 사례
이 마스터링은 다음의 경우에 사용됩니다 :
 로봇이 자신의 어플리케이션 환경에서 고정적으로 설치된 , 일정한 무
게를 지닌 툴을 가이드할 경우 , 예를 들어 접착용 노즐
 또는 어플리케이션을 통해 낮은 정밀도가 요구될 경우 , 예를 들어 패
키지를 팔레팅할 때
 하중 교정을 사용한 마스터링
사진란 : 매우 높은 정밀도를 요구하거나 하중이 여러 개인 사례
이 마스터링은 다음의 경우에 사용됩니다 :
 동시에 높은 정밀도가 요구될 경우 , 예를 들어 레이저 용접
 로봇이 자신의 어플리케이션 환경에서 하중을 교체하면서 작업할 경
우 , 예를 들어 하중이 있는 및 없는 그리퍼

옵셋을 왜 배웁니까  플랜지에 고정된 툴의 중량에 의해 로봇에는 정적 하중이 가해진 상태입


? 니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 59 / 353


로봇 프로그래밍 1

 구성품과 기어 장치에 사용된 재료에 따라 탄성이 다르기 때문에 하중이


가해진 로봇과 하중이 가해지지 않은 로봇의 위치가 다를 수 있습니다 .
 이러한 몇몇 증분의 차이로 인해 로봇의 정밀도가 영향을 받습니다 .

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


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

그림  3-6: 오프셋 티칭

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


한 편차가 저장됩니다 .
 로봇이 다양한 부하로 가동되는 경우에는 , 각 부하에 대해 " 옵셋 학습 " 기
능을 실행해야 합니다 .
 무거운 제품을 수용하는 그리퍼의 경우에는 , 부품이 없는 상태의 그리퍼
와 부품이 있는 상태의 그리퍼에 대해 개별적으로 각각 " 오프셋 학습 " 을
실행해야 합니다 .
 하중 수정으로 조절한 로봇만이 자신에게 요구된 높은 정밀도를 나타냅니
다.
 그러므로 각 부하 상태에 대한 옵셋을 학습해야 합니다 !
 툴의 기하학적 측정은 툴 번호에 맞게 할당해야 합니다 .
툴 번호에 따라 하중 데이터 ( 예를 들어 추를 이용한 측정 ) 도 할당됩니다
.

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


니다 .
 측정된 오프셋은 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

60 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

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)
...

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

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

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

2. 메인 메뉴에서 시운전 > 마스터링 > EMD > 부하 보정 포함 > 최초 마스


터링을 선택합니다 .
창이 열립니다 . 마스터링할 모든 축이 표시됩니다 . 가장 작은 번호의 축
이 선택됩니다 .
3. 창에서 표시한 축에서 측정 카트리지의 보호캡을 제거하십시오 . 회전된
EMD 는 스크루 드라이버로 사용할 수 있습니다 . EMD 를 측정 카트리지
에 나사로 죄십시오 .

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

4. 그 다음 측정 라인을 EMD 에 부착하고 로봇의 단자 박스에 있는 포트 X32


에 연결하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 61 / 353


로봇 프로그래밍 1

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

EMD 는 항상 측정 라인 없이 측정 카트리지에 부착해야 합니다


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

5. 마스터링을 누릅니다 .
6. 승인 버튼을 중간 위치로 누르고 시작 버튼을 누른 후 그 상태를 유지하십
시오 .

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

EMD 가 측정 홈의 최하단 포인트를 통과하면 , 마스터링 포지션에 도달한


상태입니다 . 로봇이 자동으로 정지됩니다 . 값이 저장됩니다 . 창에서 축
이 사라집니다 .
7. EMD 에서 측정 라인을 제거하십시오 . 그 다음 측정 카트리지에서 EMD
를 제거하고 다시 보호캡을 부착하십시오 .
8. 조절할 모든 축에 대해 2-5 번 단계를 반복하십시오 .
9. 창을 닫습니다 .
10. 포트 X32 에서 측정 라인을 제거하십시오 .

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


방법 저장됩니다 .
1. 로봇을 예비 마스터링 위치로 보냅니다 .
2. 기본 메뉴에서 시운전 마스터링 > EMD > 부하 보정 포함 > 옵셋 학습을
선택합니다 .
3. 툴 번호를 입력합니다 . 툴 OK 를 눌러 확인합니다 .

62 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

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

4. 창에서 선택한 축에서 측정 카트리지의 보호캡을 제거합니다 . EMD 를 측


정 카트리지에 나사로 죄십시오 . 그 다음 측정 라인을 EMD 에 부착하고
베이스 프레임의 단자 박스에 있는 포트 X32 에 연결하십시오 .
5. 학습을 누릅니다 .
6. 확인 버튼과 시작 버튼을 누르십시오 .

그림  3-12: 마스터링 점검

 EMD 가 측정 홈의 최하단 점을 인식하면 , 이는 마스터링 위치에 도달


한 상태입니다 .
 로봇이 자동으로 정지됩니다 .
 창이 열립니다 . 이 축에서 최초 마스터링 데이터 대비 편차가 증분과
온도 단위로 표시됩니다 .
7. OK 를 눌러 확인합니다 . 창에서 축이 사라집니다 .
8. EMD 에서 측정 라인을 제거합니다 . 그 다음 측정 카트리지에서 EMD 를
제거하고 다시 보호캡을 부착합니다 .
9. 마스터링할 모든 축에 대해 3~7 단계를 반복합니다 .
10. 포트 X32 에서 측정 라인을 제거합니다 .
11. 닫기를 눌러 창을 닫으십시오 .

오프셋을 통한 하중 오프셋을 통한 하중 마스터링은 하중을 사용하여 실시합니다 . 최초 마스터링


마스터링 점검 / 설 을 계산합니다 .
정 방법 1. 로봇을 예비 마스터링 위치로 보냅니다 .
2. 메인 메뉴에서 시동 > 마스터링 > EMD > 하중 수정 사용 > 하중 마스터
링 > 오프셋 사용을 선택합니다 .
3. 툴 번호를 입력하십시오 . 사용 툴 OK 를 눌러 확인합니다 .
4. X32 포트에서 커버를 떼어내고 측정 라인을 연결합니다 .
5. 창에서 표시한 축에서 측정 카트리지의 보호캡을 제거하십시오 . ( 회전된
EMD 는 스크루 드라이버로 사용할 수 있습니다 .)
6. EMD 를 측정 카트리지에 조이십시오 .
7. EMD 에 측정 라인을 부착합니다 . 이때 커넥터의 적색 포인트를 EMD 의
홈에 맞게 정렬합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 63 / 353


로봇 프로그래밍 1

8. 점검을 누르십시오 .
9. 승인 버튼을 누른 상태에서 시작 버튼을 누르십시오 .
10. 필요 시 저장을 눌러 값을 저장하십시오 . 이를 통해 이전 마스터링 값이
삭제됩니다 . 소실된 최초 마스터링을 복구할 수 있도록 , 항상 값을 저장
하십시오 .
11. EMD 에서 측정 라인을 제거하십시오 . 그 다음 측정 카트리지에서 EMD
를 제거하고 다시 보호캡을 부착하십시오 .
12. 마스터링할 모든 축에 대해 4~10 번 단계를 반복하십시오 .
13. 창을 닫습니다 .
14. 포트 X32 에서 측정 라인을 제거하십시오 .

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

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)
범용 마스터링 카트리지용

그림  3-13: SEMD/MEMD 마스터링

64 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

번호 설명
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 KTL 로 SEMD 사용에 필요한 어댑
터 케이블 (KR C2 시스템의 마스터
링 장치 )

소형 로봇 AGILUS
마스터링

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

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 65 / 353


로봇 프로그래밍 1

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

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


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

마스터링 포지션의 접근 시 앞에서 일직선으로 고정 눈금을 보는 것


이 중요합니다 . 측면에서 눈금을 보는 경우에는 움직이는 눈금이 충
분히 정확하게 정렬되지 않을 수 있습니다 . 그 결과 부정확한 마스터
링이 발생할 수 있습니다 .

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

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


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

66 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.4.1 연습 : 로봇 마스터링

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 예비 마스터링 위치로 이동
 올바른 마스터링 유형 선택
 "Electronic Mastering Device"(EMD) 취급법
 EMD 로 모든 축을 마스터링하기

전제조건 이 연습을 성공적으로 마치려면 다음과 같은 전제조건이 필요합니다 :


 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 일반적인 마스터링 진행과정에 대한 이론적 지식


 예비 마스터링 위치에 대한 이론적인 지식

1 예비 마스터링 위치에 있지 않는 축
2 예비 마스터링 위치에 있는 축

 EMD 를 로봇에 정확히 연결하기


 시동 메뉴를 통한 마스터링

그림  3-16: SEMD/MEMD 마스터링

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 67 / 353


로봇 프로그래밍 1

번호 설명
1 범용 마스터링 박스
2 스크루 드라이버
3 MEMD- 간단 마스터링 카트리지 센서
4 SEMD- 범용 마스터링 마트리지 센서
5 라인

작업 설정 1. 모든 로봇 축의 마스터링을 해제하십시오 .
2. 모든 로봇 축을 축 고유의 예비 마스터링 위치로 이동하십시오 .
3. 모든 축에서 오프셋을 이용한 하중 마스터링을 실행하십시오 .
메뉴 경로 : 로봇 버튼 > 초기 설정 > 마스터링 > EMD > 하중 보정 > 오프셋 학습
4. 이때 번호 _____ 이름 :_______________ 툴을 사용하십시오 .
5. 축에 따른 실제 위치를 나타내십시오 .

질문 지금 알아야 할 사항 :
무엇때문에 마스터링합니까 ?
......................................................
......................................................
기계적 영점 위치에 있는 6 개 축 각각의 각도를 입력하십시오 .

A1: .............................. A2: ..............................

A3: .............................. A4: ..............................

A5: .............................. A6: ..............................

마스터링이 해제된 로봇의 경우 어떤 사항에 유의해야 합니까 ?


......................................................
......................................................
......................................................
마스터링 수단 중 어떤 것을 선호해야 합니까 ?
......................................................
......................................................
왜 조립된 (S)EMD 의 ± 버튼으로 로봇을 이동하면 안 됩니까 ?
......................................................
......................................................

68 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.5 로봇에서의 하중

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

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

3.6 툴 하중 데이터

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


무엇입니까 ?  이 하중에는 로봇에 의해 함께 움직여야 하는 , 로봇에 추가로 가해지는 중
량이 포함됩니다 .
 중량 , 무게 중심 ( 중량이 작용하는 점 ) 의 위치 및 질량 - 관성 모멘트와 그
에 속하는 관성 주축이 입력해야 할 값입니다 .
 가반 하중 데이터를 반드시 로봇 제어 시스템에 입력해야 하며 이 데이터
는 올바른 툴에 지정해야 합니다 .
 예외 : 가반 하중 데이터가 KUKA.LoadDataDetermination 을 통해 이미
로봇 제어 시스템에 전송된 경우 , 더는 수동으로 입력하지 않아도 됩니다
.
하중 데이터는 다음의 소스에 수록되어 있을 수 있습니다 :
 KUKA.LoadDetermination 소프트웨어 옵션 ( 가반 하중에만 적용 )
 제조사 정보
 수동 계산
 CAD 프로그램

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 69 / 353


로봇 프로그래밍 1

하중 데이터의 영향

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

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


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

진행 방법 1. 메뉴 경로 : 로봇 버튼 > 초기 설정 > 측정 > 툴 > 툴 하중 데이터


2. 툴 번호 필드에 툴 번호를 입력합니다 . 계속을 눌러 확인합니다 .

70 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

그림  3-19: 툴 번호 지정

3. 가반하중 데이터 (1) 를 입력합니다 .

그림  3-20: 툴 하중 데이터 입력

툴 하중 데이터 (1)
 필드 M: 질량
 필드 X, Y, Z: 플랜지에 대해 상대적인 무게중심의 위치
 필드 A, B, C: 플랜지에 대해 상대적인 주 관성축의 방향

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 71 / 353


로봇 프로그래밍 1

 필드 JX, JY, JZ: 질량 관성 모멘트


(JX 는 플랜지에 대해 상대적으로 A, B 및 C 를 통해 회전된 좌표계의
X 축을 중심으로 한 관성입니다 . JY 및 JZ 는 Y 및 Z 축을 중심으로 한
관성입니다 .)
온라인 하중 데이터 점검 (2)
 로드 데이터 점검
툴이 활성화되어 로봇 플랜지의 부하 감시가 지속적으로 활성화됩니
다.
관련 값이 기본적으로 활성화되었습니다 .
 과부하 시 반응
감시 기능이 활성화되고 과부하가 확인된 경우 다음과 같이 반응할 수
있습니다 .
 없음
 경고
 로봇 중지
 저부하 시 반응
감시 기능이 활성화되고 빈부하가 확인된 경우 다음과 같이 반응할 수
있습니다 .
 없음
 경고
 로봇 중지
4. 계속 (3) 을 눌러 확인합니다 .
5. 저장을 누릅니다 .

3.7 툴 하중 데이터를 모니터링시키기

설명 수많은 로봇 타입에서 로봇 제어시스템은 작동하는 동안 하중미달 혹은 하중


초과가 있는지 모니터링합니다 . 이러한 모니터링은 " 온라인 - 하중 데이터
점검 "(= "OLDC" / "Online Load Data Check") 이라고 합니다 .
예를 들어 OLDC 가 하중미달을 확인하면 로봇 제어시스템은 이에 반응하여
예를 들어 메시지를 나타냅니다 . 이러한 반응은 컨피규레이션할 수 있습니
다.
점검 결과는 시스템 변수 $LDC_RESULT 를 통해 조회할 수 있습니다 .
OLDC 는 KUKA.LoadDataDetermination 도 사용할 수 있는 로봇 타입에 제
공됩니다 . 현재의 로봇 타입이 OLDC 을 사용할 수 있는지 여부는
$LDC_LOADED 를 통해 조회할 수 있습니다 (TRUE = 예 ).

하중초과 실제의 하중이 컨피규레이션된 하중보다 무거울 경우


하중초과가 발생합니다 .
하중미달 실제의 하중이 컨피규레이션된 하중보다 가벼울 경우
하중미달이 발생합니다 .

활성화시키기 및 컨 OLDC 는 다음 위치에서 컨피규레이션이 가능합니다 :


피규레이션  툴 데이터의 수동 입력 시

 가반하중 데이터의 별도 입력 시

가반하중 데이터도 입력되는 동일한 창에서 다음과 같은 필드가 표시됩니다 :

72 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

그림  3-21: 온라인 로드 데이터 점검

위치 설명
1 TRUE: 동일한 창에 표시된 툴을 위한 OLDC 가 활성화된 상태 .
과부하 또는 저부하 시 정의된 반응이 수행됩니다 .
FALSE: 동일한 창에 표시된 툴을 위한 OLDC 가 비활성화된 상태
. 과부하 또는 저부하 시 반응이 수행되지 않습니다 .
2 여기에서는 과부하 시 어떤 반응이 수행되는지를 정의할 수 있습
니다 .
 없음 : 반응 없음 .
 경고 : 로봇 컨트롤러가 다음과 같은 상태 메시지를 출력합니다
: 로봇 하중 (Tool { 번호 }) 체크 시 과부하가 측정됨 .
 로봇 중지: 로봇 컨트롤러가 경고에서와 동일한 내용의 확인 메
시지를 출력합니다 . 로봇이 STOP 2 로 정지합니다 .
3 여기에서는 저부하 시 어떤 반응이 수행되는지를 정의할 수 있습
니다 . 가능한 반응은 과부하 시 반응과 유사합니다 .

NULLFRAME 툴로 NULLFRAME 이 할당되어 있는 모션의 경우 OLDC 는 컨피규레이션할


수 없습니다 . 이러한 경우에 대한 반응은 정해져 있으며 사용자가 이에 영향
을 미칠 수 없습니다 .
 과부하 시 반응 : 로봇 중지
다음과 같은 확인 메시지가 나타납니다 : 설정된 로드 데이터에서 로봇 하
중의 체크 시 ( 툴 정의 안됨 ) 과부하가 측정됩니다 . 로봇이 STOP 2 로
정지합니다 .
 저부하 시 반응 : 경고
다음과 같은 상태 메시지가 나타납니다 : 설정된 로드 데이터에서 로봇 하
중의 체크 시 ( 툴 정의 안됨 ) 저부하가 측정됩니다 .

3.8 로봇의 추가 하중

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


중 들면 :
 에너지 공급장치
 밸브
 재료 공급장치
 예비 재료

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 73 / 353


로봇 프로그래밍 1

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

부가 하중 데이터를 로봇 제어 시스템에 입력해야 합니다 .


필요한 표기사항에 속함 :
 질량 (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.LoadDetect 소프트웨어 옵션 ( 가반하중에만 적용 )
 제조사 정보
 수동 계산
 CAD 프로그램

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


모션에 미치는 영향  경로 계획
 가속도
 사이클 시간
 마모

74 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

로봇을 잘못된 하중 데이터 또는 부적합한 하중으로 가동할 경


우 그로 인해 신체 상해 , 인명피해 및 / 또는 대물피해가 발생할
수 있습니다 .

진행 방법 1. 메뉴 경로 : 로봇 버튼 > 초기 설정 > 측정 > 추가 하중 데이터


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

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

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

그림  3-24: 추가 하중 데이터

4. 저장을 누릅니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 75 / 353


로봇 프로그래밍 1

3.9 툴의 측정

설명

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

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


 이러한 기준점을 TCP(Tool Center Point) 라고 하며 , 좌표계는 툴 좌표계
라고 합니다 .
툴 측정 시 다음 사항을 측정해야 합니다 .
 TCP ( 좌표계의 원점 )
 좌표계 방향 설정 / 정렬

기본 구성에 16 개의 툴 좌표계를 저장할 수 있습니다 . ( 변수 :


TOOL_DATA[1…16]).

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


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

76 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

그림  3-26

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

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


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

그림  3-27: TCP 를 중심으로 한 방향전환

 툴 작업방향으로 이동

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 77 / 353


로봇 프로그래밍 1

그림  3-28: TCP 작업방향

 트랙 모션 프로그래밍 시 사용 ( 일직선상 혹은 원형 모션 )
 프로그래밍된 이동 속도가 TCP 에서 경로를 따라 유지됩니다 .

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

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

툴 측정 방법 툴의 측정은 2 단계로 이루어집니다 :

78 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

단계 설명
TOOL 좌표계의 원점 결정
다음과 같은 방법을 선택할 수 있습니다 :
1
 XYZ 4 포인트
 XYZ 기준
TOOL 좌표계의 방향 결정
다음과 같은 방법을 선택할 수 있습니다 :
2
 ABC World
 ABC 2 포인트
플랜지 중심점 (X, Y, Z) 및 회전 (A, B, C) 과의 간격 값을 직
대안적 방 접 입력 .

 숫자 입력

3.9.1 TCP 측정 , 4 포인트 방법

XYZ 4 점 방법을  측정할 툴의 TCP 를 통해 4 개의 서로 다른 방향에서 기준점에 접근할 수


통한 TCP 측정 있습니다 .
 기준점은 임의로 선택할 수 있습니다 .
 서로 다른 플랜지 위치를 근거로 로봇 제어 시스템이 TCP 를 계산합니다 .

기준점 이동에 사용된 4 개의 플랜지 위치는 서로 충분히 떨어져 있


어야 하며 , 동일한 면에 있으면 안 됩니다 .

진행 방법 1. 메뉴 순서 : 로봇 버튼 > 초기 설정 > 측정 > 툴 > XYZ 4 점


2. 측정할 툴의 번호 (1) 와 이름 (2) 을 지정합니다 . 계속 (4) 을 눌러 확인합
니다 .

그림  3-30: 툴 번호 및 이름

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 79 / 353


로봇 프로그래밍 1

 
 
번호 1 ... 16( 기본값 ) 중에서 선택할 수 있습니다 .
 이미 측정한 툴의 번호를 입력한 경우 ( 예 : 0 이 아닌 측정값 (3)을 통해 확
인 가능 ),
 다시 측정할 때 추가 확인 없이 덮어쓰기됩니다 .

3. TCP 를 이용해 다른 방향으로부터 기준점을 이동시킵니다 .

그림  3-31: XYZ 4 점 방법

4. 측정 (1) 을 눌러 이동된 포인트를 확인합니다 .

그림  3-32: TCP 측정

5. 다른 방향에서 TCP 를 이용해 기준점을 이동시킵니다 .


단계를 두 번 반복합니다 . 1 ~ 3 항목 (>>>  그림  3-31 ) 을 참조하십시
오.
6. 점검 시 X, Y, Z 의 측정값 또는 측정 오류가 표시됩니다 .
7. 저장 단추를 눌러 값을 적용합니다 .

80 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

광학적 측정의 정확  기본 KUKA 로봇에는 대개 최소 6 개의 회전축이 있습니다 .


성을 높이기 위한  또한 , 축에는 기술적으로 규정된 기어 백래시가 있습니다 .
활용 팁  이러한 기어 백래시는 툴 팁까지 연쇄 체인을 통해 누적됩니다 .
 이로 인해 발생한 측정 오류는 전문적 측정을 통해 줄일 수 있습니다 .
 4 개의 다른 위치 / 방향 설정에서 동일한 방향 설정으로 측정핀을 이동
하십시오 .
 외부 회전축 ( 예 : DKP) 을 측정할 경우 외부 회전축이 항상 한 방향으
로 동작하는지 확인하십시오 . 예를 들어 E1/E2 는 항상 + 방향으로
만 움직입니다 .

이를 통해 오류가 0.1mm 미만이거나 정확성에 도달하게 되어 로봇


을 이용하여 밀링할 때 부품 정확성에 큰 영향을 주고 , 밀링 결과도
현저하게 개선할 수 있습니다 .

3.9.2 TCP- 측정 XYZ 기준점 방법

TCP- 측정 XYZ 기  XYZ 기준점 방법에서는 이미 측정된 툴을 사용하여 새 툴을 측정합니다 .


준점 방법  로봇 컨트롤러가 플랜지 위치를 비교하고 새로운 툴의 TCP 를 계산합니다
.
 XYZ 기준점 방법은 유형이 동일한 여러 개의 툴을 제어 시스템에서 유사한
형상으로 조절하기 위해 사용됩니다 .
 필요한 측정 런는 XYZ 4 지점 방법과 비교해 볼 때 2회로 줄일 수 있습니다.

그림  3-33: XYZ 기준점 방법

진행 방법
1. 이를 위해서는 전제조건으로 이미 측정된 툴이 마운팅 플랜지에 설치되어
있고 TCP 의 데이터가 알려져 있어야 합니다 .
2. 메인 메뉴에서 시운전 > 측정 > 툴 > XYZ 기준을 선택합니다 .
3. 새 툴의 이름과 번호를 부여합니다 . 계속을 눌러 확인합니다 .
4. 이미 측정된 툴의 TCP 데이터를 입력하십시오 . 계속을 눌러 확인합니다 .
5. TCP 를 기준점으로 이동시키십시오 측정을 누릅니다 . 계속을 눌러 확인
합니다 .
6. 툴을 풀어 제거하십시오 . 새로운 툴을 부착하십시오 .
7. 새로운 툴의 TCP 로 기준점을 이동시키십시오 측정을 누릅니다 . 계속을
눌러 확인합니다 .
8. 저장을 누릅니다 . 데이터가 저장되고 창이 닫힙니다 .
또는 로드 데이터를 누르십시오 . 데이터가 저장되고 가반하중 데이터를 입력
할 수 있는 창이 열립니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 81 / 353


로봇 프로그래밍 1

3.9.3 방향 설정 측정 , ABC World 방법

ABC-World 방법  TOOL 좌표계의 축이 WORLD 좌표계의 축과 평행하게 정렬됩니다 .


정향 측정  이로써 TOOL 좌표계의 방향 설정 정보가 로봇 제어 시스템에 전달됩니
다.
두 가지 방법이 있습니다 .
 5D
 툴의 충돌 방향에 대한 정보만 로봇 제어 시스템에 제공됩니다 .
 작업 방향은 기본적으로 X 축입니다 .
 다른 축의 방향은 시스템에 의해 확정되며 사용자가 이를 쉽게 인식할
수 없습니다 .
 사용 범위 : 예를 들어 MIG/MAG 용접 , 레이저 절단 또는 수압 절단
 6D:
 모든 3 개의 축에 대한 방향 정보가 로봇 제어 시스템에 제공됩니다 .
 사용 범위 : 예를 들어 용접봉 홀더 , 그리퍼 또는 접착 노즐

ABC World 5D/6D


방식 진행 방법

그림  3-34: ABC World 방법

1. 메뉴 순서 : 로봇 버튼 > 초기 설정 > 측정 > 툴 > ABC World


2. 측정된 툴 (1) 의 번호를 입력합니다 . 계속 (4) 단추를 눌러 선택을 확인합
니다 .

82 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

그림  3-35: 측정 - 툴 - ABC World

3. 5D/6D 필드 (1) 에서 하나의 유형을 선택합니다 . 계속 (2) 을 눌러 확인합


니다 .

그림  3-36: 측정 - 툴 - ABC World

4. 5D 를 선택한 경우 :
+XTOOL 을 -ZWORLD 에 평행하게 정렬하십시오 . (+XTOOL = 작업 방향 )
6D 를 선택한 경우 :
TOOL 좌표계의 축을 다음과 같이 정렬하십시오 .
 +XTOOL 을 -ZWORLD 에 평행하게 . (+XTOOL= 작업 방향 )
 +YTOOL 을 +YWORLD 에 평행하게
 +ZTOOL 을 +XWORLD 에 평행하게
5. 측정 (1) 단추를 눌러 정렬을 적용합니다 .
계속 (2) 을 눌러 확인합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 83 / 353


로봇 프로그래밍 1

그림  3-37: 측정 - 툴 - ABC World

6. 하중 데이터 창이 다시 열립니다 . 값을 점검하고 계속을 눌러 확인합니다


.
7. 산출한 각도 A, B, C 창이 열리고 저장 단추를 누르면 값이 적용됩니다 .

3.9.4 방향 설정 측정 , ABC 2 점식 방법

방향 설정 측정 ,  X 축에 있는 하나의 점 및 XY 면에 있는 하나의 점으로 이동함으로써 툴 좌


ABC 2 점식 방법 표계의 축에 대한 정보가 로봇 제어 시스템으로 전달됩니다 .
 회전 방법을 매우 정확하게 설정해야 하는 경우에 이 방법이 사용됩니다 .

84 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

그림  3-38: ABC 2 포인트 방법

1. 메뉴 순서 : 로봇 버튼 > 초기 설정 > 측정 > 툴 > ABC 2 점


2. 장착된 툴의 번호 (1) 를 입력합니다 . 계속 (3) 을 눌러 확인합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 85 / 353


로봇 프로그래밍 1

그림  3-39: 기준 툴 지정

3. TCP 를 이용해 임의의 기준점으로 접근합니다 측정 (1) 을 누르면 위치 적


용 대화 상자가 다시 열립니다 . 예를 눌러 대화 상자를 확인합니다 .

그림  3-40: 기준점 이동

4. X 축에 있는 기준점이 네거티브 X 값 ( 즉 , 작업 방향의 반대 방향 ) 을 갖


는 포인트에 오도록 , 툴을 이동시킵니다 . 측정 (1) 소프트키를 누르고 예
를 눌러 위치를 확인합니다 .

그림  3-41: 네거티브 X 축의 포인트

5. XY 면에 있는 기준점이 포지티브 Y 값을 갖는 점에 오도록 , 툴을 이동시


키십시오 . 측정 (1) 소프트키를 누르고 예를 눌러 위치를 확인합니다 .

86 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

그림  3-42: XY 영역의 포인트

6. 하중 데이터 창이 다시 열립니다 . 값 (1) 을 점검하고 계속 (2) 을 눌러 확


인합니다 .

그림  3-43: 로드 데이터

7. 산출한 각도 A, B, C 창이 열리고 저장을 누르면 값이 저장됩니다 .

(>>>  " 교육 모드의 그리퍼 안전지침 " 페이지  88) 안전 표시


판에 유의하십시오 !

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 87 / 353


로봇 프로그래밍 1

3.9.5 College 교육 그리퍼

교육 모드의 그리퍼
안전지침

그림  3-44: 교육 그리퍼에 끼일 위험이 있음

 
 
 그리퍼 시스템을 취급할 때 끼이거나 절개될 위험이 있습니다 .
 그리퍼를 조작하는 인원은 신체의 어떤 부위도 그리퍼에 끼일 위험이 없
다는 것을 확인하십시오 .

부품 ( 큐브 , 핀 ) 을 끼워 고정시킬 때 지극히 조심해야 합니다 .

그림  3-45: 교육 그리퍼에 개체 끼우기

88 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

번호 비고
1 큐브를 끼워 고정시키기
2 삽입한 큐브
3 핀을 끼워 고정시키기
4 삽입한 핀

그리퍼 충돌 시 차단 퓨즈가 작동합니다 .


 충돌 시 차단 퓨즈가 작동한 후에 로봇을 철수시킵니다 .
 참가자 한 명은 스위치 (1) 를 누르고 로봇의 모든 부분을 차단 퓨즈와 그리
퍼에서 제거하십시오 .
 다른 참가자 한 명은 로봇을 철수시키기 전에 로봇의 이동으로 인한 대인
피해가 없도록 확인하십시오 .

그림  3-46: 차단 퓨즈의 해제를 위한 버튼 , A 버전

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 89 / 353


로봇 프로그래밍 1

그림  3-47: 차단 퓨즈의 해제를 위한 버튼 , B 버전

90 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.9.6 연습 : 툴 측정 핀

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 툴을 XYZ 4 점 방법 및 ABC-World 방법으로 측정하기
 측정된 툴 활성화시키기
 툴 좌표계에서의 이동
 툴 작업방향으로 이동
 툴 센터 포인트 (TCP) 를 중심으로 한 툴 방향전환

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 툴 작업 지점의 다양한 측정 방법 , 특히 XZY 4 점식 방법에 대한 이론적 지



 툴 방향 설정의 다양한 측정 방법 , 특히 ABC 2 점식 방법에 대한 이론적
지식
 로봇 하중 데이터 및 그 입력에 대한 이론적 지식

작업 설정

그림  3-48: 기준점을 이용한 TCP 측정

번호 설명
1 툴
2 TCP
3 기준 팁

 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 91 / 353


로봇 프로그래밍 1

1. XYX 4 점식 방법을 사용하여 핀의 TCP 를 측정합니다 .


 기준 팁으로 자성이 있는 금속 팁을 사용하십시오 .
 핀 매거진에서 가장 위에 있는 핀을 꺼내어 이를 그리퍼에 끼워 고정
하십시오 .
 툴 ( 번호 _____ 이름 :_______________) 을 사용하십시오 .
 공차는 0.95 mm 보다 커서는 안 됩니다 .
2. 툴 데이터를 저장하십시오 .
3. 트레이너가 지정한 방법으로 툴 방향 설정을 측정합니다 .

방법
ABC 2 점
ABC World 5D
ABC World 6D

4. 하중 데이터를 등록하십시오 .
핀 ( 번호 :_____ 이름 :_______________) 이 있는 그리퍼의 하중 데이터 :
질량 :
M = 4.5 kg
무게중심 :
X = 42.5 mm Y = 12.5 mm Z = 125 mm
방향 설정 :
A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.018 kgm2 JY = 0.025 kgm2 JZ = 0.016 kgm2

5. 툴 데이터를 저장하고 툴 좌표계에서 핀을 사용하여 이동을 테스트합니다


.

핀이 있는 그리퍼  교육 그리퍼 KR 16
툴 하중 데이터

그림  3-49: 교육 그리퍼 KR 16

질량 :
M = 4.9 kg
무게중심 :
X = 53 mm Y = 49 mm Z = 65 mm
방향 :

92 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.02 kgm2 JY = 0.03 kgm2 JZ = 0.15 kgm2

 교육 그리퍼 모듈식 셀

그림  3-50: 교육 그리퍼 모듈식 셀

질량 :
M = 5 kg
무게중심 :
X = 23 mm Y = -38 mm Z = 84mm
방향 :
A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.02 kgm2 JY = 0.07 kgm2 JZ = 0.14 kgm2

 교육 그리퍼 모바일 셀

그림  3-51: 교육 그리퍼 모바일 셀

질량 :
M = 2.14 kg
무게중심 :
X = 30 mm Y = 0 mm Z = 64 mm

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 93 / 353


로봇 프로그래밍 1

방향 :
A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.002 kgm2 JY = 0.004 kgm2 JZ = 0.003 kgm2

질문 지금 알아야 할 사항 :
왜 로봇이 가이드한 툴을 측정해야 합니까 ?
......................................................
......................................................
......................................................
툴 측정방법으로 어떤 것이 있습니까 ?
......................................................
......................................................
......................................................
XYZ 4 점 방법에서 무엇을 검사합니까 ?
......................................................
......................................................

94 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.9.7 연습 : 그리퍼 툴 측정 , 2 점 방법

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 XYZ 4 점 및 ABC 2 점 방법을 사용한 툴 측정
 측정된 툴 활성화시키기
 툴 좌표계에서의 이동
 툴 작업방향으로 이동
 툴 센터 포인트 (TCP) 를 중심으로 한 툴 방향전환

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 툴 작업지점의 다양한 측정방법 , 특히 2 점 방법에 대한 이론적 지식


 로봇 하중 데이터 및 그 입력에 대한 이론적 지식

작업 설정
 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

1. 툴 측정 시 그리퍼 ( 번호 :_____ 이름 :_______________) 를 사용하십시오 .


2. 그림에서처럼 XYZ 4 점 방법을 사용하여 그리퍼의 TCP 를 측정하십시오
:

그림  3-52: College 그리퍼 : TCP 위치

3. ABC 2 점 방법을 사용하여 그리퍼 좌표계의 방항을 측정하십시오 .


4. 그리퍼 ( 번호 :_____ 이름 :_______________ ) 의 하중 데이터를 입력하십시
오.
이때 올바른 그리퍼를 사용하십시오 ( 아래 참조 ).
5. 툴 데이터를 저장하고 툴 좌표계에서 그리퍼를 사용하여 수동 이동을 테
스트하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 95 / 353


로봇 프로그래밍 1

그리퍼 툴 하중 데  교육 그리퍼 모듈식 셀 - 버전 1


이터

그림  3-53: 교육 그리퍼 KR 16

질량 :
M = 4.3 kg
무게중심 :
X = 41 mm Y = 35 mm Z = 62 mm
방향 설정 :
A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.03 kgm2 JY = 0.04 kgm2 JZ = 0.12 kgm2

 교육 그리퍼 모듈식 셀 - 버전 2

그림  3-54: 교육 그리퍼 모듈식 셀

질량 :
M = 4.4 kg
무게중심 :
X = 7 mm Y = -24 mm Z = 80 mm
방향 설정 :
A = 0° B = 0° C = 0°

96 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

관성 모멘트 :
JX = 0.02 kgm2 JY = 0.05 kgm2 JZ = 0.11 kgm2

 교육 그리퍼 모바일 셀 - 버전 1

그림  3-55: 그리퍼 표시판

질량 :
M = 2 kg
무게중심 :
X = 23 mm Y = 0 mm Z = 61 mm
방향 설정 :
A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.002 kgm2 JY = 0.004 kgm2 JZ = 0.003 kgm2

 교육 그리퍼 모바일 셀 - 버전 2

그림  3-56: 그리퍼 모바일 교육 셀

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 97 / 353


로봇 프로그래밍 1

질량 :
M = 1.87 kg
무게중심 :
X = 1.82 mm Y = 16 mm Z = 60.5 mm
방향 설정 :
A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.0054 kgm2 JY = 0.004 kgm2 JZ = 0.003 kgm2

대안적 작업설정 대안으로 그리퍼를 숫자를 입력하여 측정할 수도 있습니다 :


다음의 작업을 실행하십시오
1. 그리퍼 툴 측정을 위해 이름으로 "Gripper_new" 를 사용하고 툴 번호 "3"
을 사용하십시오 .
2. 숫자를 입력하여 그리퍼의 TCP 를 측정하십시오 :
교육 그리퍼 KR 16
X Y Z A B C
122.64 177.73 172.49 45° 0° 180°
mm mm mm

교육 그리퍼 모듈식 셀
X Y Z A B C
175.38 -123.97 172.71 -45° 0° -180°
mm mm mm

교육 그리퍼 모바일 셀
X Y Z A B C
12.0 mm 0 mm 77.0 mm 0° 0° 0°

질문 지금 알아야 할 사항 :
어떤 픽토그램이 툴 좌표계를 나타냅니까 ?

a) b) c) d)

제어시스템이 최대 몇 개의 툴을 관리할 수 있습니까 ?


......................................................
툴 하중 데이터에서 값 -1 은 무엇을 뜻합니까 ?
......................................................
......................................................

98 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.10 툴 좌표계에서 로봇 움직이기

툴 좌표계에서의 수
동 이동

그림  3-57: 로봇 툴 좌표계

 툴 좌표계에서 수동 이동할 경우 로봇을 그 이전에 측정한 툴의 좌표계 방


향에 따라 움직이는 일이 발생할 수 있습니다 .
따라서 좌표계는 장소에 따라 고정된 것이 아니라 (World/ 베이스 좌표계
비고 ) 로봇이 가이드하는 것입니다 .
이때 필요한 모든 로봇의 축이 움직입니다 . 어떤 축이 이에 해당하는지는
시스템에 의해 결정되며 모션에 따라 다릅니다 .
툴 좌표계의 원점은 TCP - Tool Center Point 라고 하며 툴의 작업 포인트
, 예를 들어 접착용 노즐의 뾰족한 끝에 상응합니다 .
 이를 위해 이동 버튼이나 KUKA smartPAD 의 스페이스 마우스를 사용합
니다 .
 16 개의 툴 좌표계를 선택할 수 있습니다 .
 속도는 변경될 수 있습니다 ( 핸드 오버라이드 : HOV).
 수동 이동은 모드 종류 T1 에서만 가능합니다 .
 승인 버튼은 누른 상태여야 합니다 .

측정하지 않은 툴 좌표계는 수동 이동 시에는 항상 플랜지 좌표계에


상응합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 99 / 353


로봇 프로그래밍 1

툴 수동 이동 원리

그림  3-58: 직교좌표계

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


 좌표계의 방향을 따라 병진식 ( 직선식 ): X, Y, Z
 좌표계의 방향을 중심으로 회전식 ( 회전 / 선회 ): 각도 A, B 및 C
툴 좌표계 사용의 장점 :
 툴 좌표계가 인지하는 즉시 로봇의 동작을 항상 예측할 수 있습니다 .
 툴 작업방향으로 이동하고 TCP 를 중심으로 정향할 수 있습니다 .

 
 
 
 툴 작업방향은 툴의 작업 및 프로세스 방향을 뜻합니다 .
 툴 좌표계에서 툴이 X+로 이동하면, (일반적으로) 공작물 방향으로 이동
합니다 .
 예를 들어 접착용 노즐에서 접착제가 배출되는 방향이 부품을 잡을 때의
그리퍼 방향입니다 .

진행 방법 1. 사용하고자 하는 좌표계로 툴 (1) 을 선택합니다 .

100 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

2. 툴 번호를 선택합니다 (1).

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

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 101 / 353


로봇 프로그래밍 1

5. 이동 버튼을 이용하여 로봇을 이동합니다 .

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

102 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.10.1 연습 : 툴 좌표계에서 수동 이동

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 툴 좌표계에서 이동 버튼 및 스페이스 마우스를 사용하여 로봇 수동 이동
 툴 작업 방향으로 로봇 수동 이동

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 툴 좌표계에서의 이동에 대한 이론적 지식

작업 설정

그림  3-59: 툴 좌표계 선택

1 단추 » " 버튼 " 메뉴 호출

 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

1. 잠금을 해제하고 비상 정지를 확인합니다 .


2. 작동 모드 T1 이 설정되어 있는지 확인하십시오 .
3. 툴 ( 번호 _____ 이름 :_______________) 을 활성화하십시오 . _______________
4. 여러 핸드 오버라이드 (HOV) 설정이 있는 툴 좌표계 (1) 에서 수동 이동
버튼과 6D 마우스를 사용하여 로봇을 이동합니다 . 이때 작업 방향으로의
이동과 TCP Tool Center Point 를 중심으로 한 방향 전환을 테스트합니다 .
5. 툴 ( 번호 _____ 이름 : _______________) 로 매거진에서 핀을 빼냅니다 .

질문 지금 알아야 할 사항 :
툴 (2) 과 플랜지 좌표계 (1) 를 그림에 기입합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 103 / 353


로봇 프로그래밍 1

그림  3-60: 좌표계 연습

활성화 툴의 개수가 0($NULLFRAME) 으로 변경되면 로봇이 이동할 때 툴 좌


표계에서 무엇이 변경됩니까 ?
......................................................
......................................................
툴이 올바르게 측정하는지 , 로봇이 작동 대기 상태에 있는지 쉽게 확인하는
방법은 무엇입니까 ?
......................................................
......................................................
......................................................
......................................................

104 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.11 베이스 측정

설명 베이스 측정하기는 로봇 환경에서 광역 좌표계를 바탕으로 하여 특정 위치에


좌표계를 생성한다는 것을 뜻합니다 . 그 목표는 로봇의 수동 이동 모션 및 프
로그래밍된 위치를 이 좌표계와 연관시키기는데 있습니다 . 따라서 예를 들어
공작물 마운트나 보관함 , 팔레트 , 기계 등을 베이스 좌표계를 위한 기준점으
로 사용합니다 .
베이스 측정은 2 단계로 진행됩니다 :
1. 좌표 원점 측정
2. 좌표 방향 정의

그림  3-61: 베이스 측정

장점 베이스를 측정한 후에는 다음과 같은 장점이 있습니다 :


 공작물 모서리를 따라가는 이동 :
TCP 는 공작물 작업면의 모서리를 따라 수동으로 이동시킬 수 있습니다 .

그림  3-62: 베이스 측정의 이점 : 이동 방향

 기준 좌표계 :
티칭된 포인트는 선택된 좌표계와 관련이 있습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 105 / 353


로봇 프로그래밍 1

그림  3-63: 베이스 측정의 이점 : 원하는 좌표계 기준

 좌표계의 수정 / 이동
베이스를 기준으로 포인트를 티칭할 수 있습니다 . 예를 들어 작업면이 이
동됨으로 인해 , 베이스를 이동시켜야 하는 경우에는 포인트가 함께 이동
하며 새로 티칭할 필요는 없습니다 .

그림  3-64: 베이스 측정의 이점 : 베이스 좌표계의 이동

 여러 개의 베이스 좌표계 사용
최대 32 개의 다양한 좌표계를 저장하여 프로그램 단계에 따라 사용할 수
있습니다 .

그림  3-65: 베이스 측정의 이점 : 여러 개의 베이스 좌표계 사용

106 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

베이스 측정 방법 사용할 수 있는 베이스 측정 방법은 다음과 같습니다 :

방법 설명
1. 원점 정의
3 점 방법 2. 포지티브 X 방향 정의
3. 포지티브 Y 방향 정의 (XY 면 )
예를 들어 원점이 툴의 내부 또는 로봇 작업공간 밖에 있어서
, 베이스의 원점으로 접근할 수 없는 경우에 , 이 간접법을 사
용합니다 .
간접법 측정하고자 하고 그 좌표가 알려진 (CAD 데이터 ) 베이스에
대한 , 주지된 기준점을 사용하여 4 개의 포인트로 이동합니
다 . 로봇 제어 시스템은 이 포인트를 기반으로 베이스를 계산
합니다 .
광역 좌표계 (X, Y, Z) 및 회전 (A, B, C) 과의 간격 값을 직접
숫자 입력
입력함

3 점 방법 처리법
베이스 측정은 앞서 이미 측정된 툴만을 사용해 실행할 수 있습니다
(TCP 를 알고 있어야 함 ).

1. 메뉴 경로 : 로봇 버튼 > 초기 설정 > 측정 > 베이스 > 3 점식


2. 베이스의 이름 (2) 및 번호 (1) 를 부여합니다 . 계속 (4) 을 눌러 확인합니
다.

그림  3-66: 베이스 번호 및 이름 지정

3. 베이스 측정에 사용되는 TCP 의 툴 (1) 번호를 입력합니다 . 계속 (3) 을


눌러 확인합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 107 / 353


로봇 프로그래밍 1

그림  3-67: 기준 툴

4. TCP 를 새로운 베이스의 원점으로 이동시키십시오

그림  3-68: 첫 번째 포인트 : 원점

5. 측정 (1) 소프트키를 누르고 예를 눌러 위치를 확인합니다 .

그림  3-69: 베이스 좌표계의 원점

6. TCP 를 새로운 베이스의 포지티브 X 축에 있는 점으로 이동시키십시오 .

108 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

그림  3-70: 두 번째 지점 : X 방향

7. 측정 (1) 을 누르고 예를 눌러 위치를 확인합니다 .

그림  3-71: 포지티브 X 축의 포인트

8. XY 면에서 TCP 를 포지티브 Y 값을 갖는 점으로 이동시키십시오 .

그림  3-72: 세 번째 포인트 : XY 면

9. 측정 (1) 을 누르고 예를 눌러 위치를 확인합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 109 / 353


로봇 프로그래밍 1

그림  3-73: X-Y 영역의 포지티브 Y 값이 있는 포인트

10. 저장을 누릅니다 .


11. 메뉴를 닫습니다 .

3 개의 측정 포인트는 일직선상에 있으면 안 됩니다 . 포인트 사이에


최소한의 각도가 있어야 합니다 ( 기본설정 2.5°).

110 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.11.1 연습 : 베이스 측정 테이블 , 3 점식 방법

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 임의의 베이스를 정함
 베이스 측정
 수동 이동을 위해 측정한 베이스 활성화
 베이스 좌표계에서의 이동

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 베이스 측정 방법 , 특히 3 점 방법에 대한 이론적 지식

작업 설정
 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

그림  3-74: 테이블 위의 베이스 측정

1. 3 점식 방법으로 테이블 위의 베이스 ( 번호 _____ 이름 :_______________ ) 를


측정하십시오 .
 이미 측정한 툴 ( 번호 _____ 이름 :_______________) 을 측정 툴로 사용하십
시오 .
2. 측정한 베이스의 데이터를 저장하십시오 .
3. 3 점식 방법으로 테이블 위의 베이스 ( 번호 _____ 이름 :_______________ ) 를
측정하십시오 .
 툴 ( 번호 _____ 이름 :_______________) 을 측정 툴로 사용하십시오 .
4. 측정한 베이스의 데이터를 저장하십시오 .
5. 툴 ( 번호 _____ 이름 :_______________ 과 베이스 ( 번호 _____ 이름
:_______________) 를 활성화하십시오 .
 툴을 베이스 원점으로 이동시키십시오 . 이때 직교좌표적 실제 위치를
나타내십시오 .
X Y Z A B C

............... ............... ............... ............... ............... ...............

질문 지금 알아야 할 사항 :

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 111 / 353


로봇 프로그래밍 1

왜 베이스를 측정해야 합니까 ?


......................................................
......................................................
......................................................
어떤 픽토그램이 베이스 좌표계를 나타냅니까 ?
......................................................

a) b) c) d)

베이스 측정방법으로 어떤 것이 있습니까 ?


......................................................
......................................................
......................................................
컨트롤러의 기본 설정에서 사용할 수 있는 베이스 시스템은 몇 개입니까 ?
......................................................
......................................................
......................................................
3 점 방법에 따른 측정에 대해 설명하십시오 .
......................................................
......................................................
......................................................
......................................................
......................................................

112 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.12 베이스 좌표계에서 로봇이 움직입니다

베이스 좌표계에서
의 모션

그림  3-75: 베이스 좌표계에서의 수동 이동

베이스 설명
 로봇의 툴은 베이스 좌표계의 좌표 방향에 따라 움직일 수 있습니다 . 베
이스 좌표계는 개별적으로 측정할 수 있으며 공작물 모서리나 공작물 마
운트 , 팔레트 등을 따라 그 뱡향이 설정되는 경우가 많습니다 . 그 결과
간편하게 수동으로 이동할 수 있습니다 !
이때 필요한 모든 로봇의 축이 움직입니다 . 어떤 축이 이에 해당하는지는
시스템에 의해 결정되며 모션에 따라 다릅니다 .
 이를 위해 이동 버튼이나 KUKA smartPAD 의 스페이스 마우스를 사용합
니다 .
 32 개의 베이스 좌표계를 선택할 수 있습니다 .
 속도는 변경될 수 있습니다 ( 핸드 오버라이드 : HOV).
 수동 이동은 모드 종류 T1 에서만 가능합니다 .
 승인 버튼은 누른 상태여야 합니다 .

베이스 수동 이동의
원리

그림  3-76: 직교좌표계

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


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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 113 / 353


로봇 프로그래밍 1

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


 일부 이동 명령 ( 예를 들어 이동 버튼 누름 ) 에서 컨트롤러는 먼저 구간을
계산합니다 .
 그 구간의 시작점이 툴의 기준점 (TCP) 입니다 .
 측정된 베이스가 구간의 방향을 결정합니다 .
 그 다음 컨트롤러가 모든 축을 조절하여 툴이 이 구간으로 유도(병진)되거
나 이 구간을 중심으로 돌도록 ( 회전 ) 합니다 .
베이스 좌표계의 사용 :
 베이스 좌표계가 알려져 있으면 로봇의 동작을 항상 예상할 수 있습니다 .
 여기서도 6D 마우스를 사용하여 직관적으로 조작할 수 있습니다 . 이에 대
한 전제 조건은 조작자가 베이스 좌표계에 대해 올바르게 서 있어야 한다
는 점입니다 . 이를 위해 X- 축을 기준축으로서 선택할 수 있습니다 .
 예를 들어 공작물이나 팔레트 모서리로 평행 이동을 할 수 있습니다 .

또한 올바른 툴 좌표계가 설정되어 있으면 베이스 좌표계에서 TCP


를 중심으로 방향을 전환할 수 있습니다 .

진행 방법 1. 이동 버튼의 옵션을 베이스 (1) 로 선택합니다 .

114 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

2. 툴 및 베이스 (1) 를 선택합니다 .

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

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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 115 / 353


로봇 프로그래밍 1

5. 이동 버튼을 사용하여 원하는 방향으로 이동합니다 .

6. 또는 스페이스 마우스로도 이동시킬 수도 있습니다 .

116 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.12.1 연습 : 베이스 좌표계에서 수동 이동

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 공작물 좌표계에서 이동 버튼 및 스페이스 마우스를 사용하여 로봇 수동
이동
 사전에 정의된 공작물 모서리에 따라 수동 이동

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 베이스 좌표계의 이동에 대한 이론적 지식

작업 설정

그림  3-77: 베이스 좌표계 선택

 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

1. 잠금을 해제하고 비상정지를 확인하십시오


2. 작동 모드 T1 이 설정되어 있는지 확인하십시오 .
3. 베이스 좌표계 ( 번호 _____ 이름 :_______________) 를 활성화합니다 .
4. 그리퍼 내에 있는 핀을 고정한 다음 툴 좌표계 ( 번호 _____ 이름
:_______________ ) 를 선택합니다 .
5. 여러 핸드 오버라이드 (HOV) 설정이 있는 베이스 좌표계에서 수동 이동
버튼과 스페이스 마우스를 사용하여 로봇을 이동시키십시오 .
6. 작업 테이블에서 외측 모서리에 따라 핀을 움직이십시오

질문 지금 알아야 할 사항 :
베이스를 측정할 때 어떤 장점이 있습니까 ?
......................................................

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 117 / 353


로봇 프로그래밍 1

......................................................
......................................................
......................................................
다음과 같은 베이스가 선택되었습니다 . 알 수 없음 [?] 또는 $NULLFRAME
[0]. 수동 이동을 위해 베이스가 활성화된 경우 로봇이 어떤 좌표계에서 이동
합니까 ?
......................................................

118 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

3.13 현재 로봇 위치 조회

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


법  축에 따라 :

그림  3-78: 축 고유의 로봇 위치

각 축에 따라 현재의 축 각도가 표시됩니다 : 이는 축의 영점 위치를 기준


으로 한 절대 각도 값입니다 .
 직교좌표 :

그림  3-79: 직교좌표적 위치

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


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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 119 / 353


로봇 프로그래밍 1

다양한 베이스 좌표 아래에 있는 그림을 보면 로봇이 3 회에 걸쳐 동일한 위치에 온다는 것을 쉽게


계가 포함된 직교좌 알 수 있습니다 . 그렇지만 위치 표시를 보면 이 3 회의 값이 매번 다릅니다 :
표적 위치

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

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


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

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


시창이 적합한 값을 표시합니다 !
KSS KUKA 시스템 소프트웨어

그림  3-81: 툴과 베이스 선택하기


 VSS 폭스바겐 시스템 소프트웨어

그림  3-82: 툴과 베이스 선택하기

로봇 위치 조회 진행 방법
1. 메뉴 경로 : 로봇 버튼 > 표시창 > 실제 위치
2. 축 고유의 실제 위치를 표시하려면 동일한 버튼을 누릅니다 .

그림  3-83: 로봇 위치 ( 축 기준 )

3. 다시 직교 좌표적 실제 위치를 표시하려면 동일한 버튼을 누릅니다 .

120 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


3 로봇의 시운전

그림  3-84: 로봇 위치 ( 직교좌표적 )

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 121 / 353


로봇 프로그래밍 1

122 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


4 로봇 프로그램 실행하기

4 로봇 프로그램 실행하기

4.1 개요

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


 초기화 이동 실행
 로봇 프로그램 선택 및 시작

4.2 초기화 이동 실행하기

SAK 이동 KUKA 로봇의 초기화 이동을 SAK 이동이라고 합니다 .

SAK 는 Satzkoinzidenz 의 약자입니다 . Koinzidenz 는 " 일치 " 및 "


시간적 / 공간적 이벤트의 동시발생 " 을 뜻합니다 .

SAK 이동은 다음과 같은 경우에 실행합니다 :


 프로그램 선택
 프로그램 리셋 ( 되돌리기 )
 프로그램 모드에서의 수동 이동
 프로그램 변경
 레코드 선택
SAK 이동 실행의 예 :

그림  4-1: SAK 이동의 이유의 예

1 프로그램 선택 또는 프로그램 리셋 후 Home 위치로의 SAK 이동


2 모션 명령 변경 후 SAK 이동 : 포인트 삭제 , 티칭 등등 .
3 블록 선택 후 SAK 이동

SAK 이동의 이유  SAK 이동은 현재의 로봇 위치를 로봇 프로그램에 있는 현재 포인트의 좌


표와 일치키시기 위해 필요합니다 .
 현재의 로봇 위치가 프로그래밍된 위치와 일치할 경우에야 비로소 트랙을
계획할 수 있습니다 . 즉 언제나 TCO 를 먼저 트랙 위로 보내야 합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 123 / 353


로봇 프로그래밍 1

그림  4-2: 프로그램 선택 시 SAK 이동의 예

1 프로그램 선택 또는 프로그램 리셋 후 기본 위치 / 홈 위치로 SAK 이


VSS 기본위치
KSS HOME

로봇이 현재 위치에서 기본 위치 / 홈 위치로 바로 이동합니다 .


충돌 위험 !

4.3 로봇 프로그램 선택 및 시작

로봇 프로그램 선택 로봇 프로그램을 가동시키려면 우선 이 프로그램을 선택해야 합니다 . 로봇


및 시작 프로그램은 탐색기에서 사용자 인터페이스에 나와 있습니다 . 일반적으로 이
동 프로그램은 폴더에 들어 있습니다 . 셀 프로그램 ( 로봇을 트리거링하기 위
한 PLC 의 관리 프로그램 ) 은 항상 "R1" 폴더 안에 있습니다 .

124 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


4 로봇 프로그램 실행하기

그림  4-3: 탐색기

1 탐색기 : 디렉토리 / 드라이브 구조


2 탐색기 : 디렉토리 / 데이터 목록
3 선택된 프로그램
4 프로그램 선택을 위한 버튼영역

프로그램을 시작하기 위해 스타트 앞으로 및 스타트 뒤로 - 버튼이 있


습니다 .

- 버튼으로 프로그램을 뒤로 시작하는 것은 프로그램의 INI 행이


완료되었고 로봇이 바로 직전에 되돌아가야 할 경로를 앞으로 시작했
을 경우에만 가능합니다 . 그렇지만 로봇을 예를 들어 프로그램 정지 후 수동
으로 이동시킬 경우 후진 이동은 더 이상 불가능합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 125 / 353


로봇 프로그래밍 1

그림  4-4: 프로그램 진행방향 : 앞으로 / 뒤로

위치 설명
1 스타트 버튼 앞으로
2 스타트 버튼 뒤로

프로그램이 가동되면 로봇의 프로그램으로 제어되는 모션을 위해 여러 개의


프로그램 진행 유형이 제공됩니다 :

GO
 프로그램이 프로그램 종료까지 연속적으로 진행됩니다 .
 테스트 모드에서 시작 버튼을 누른 상태로 유지해야 합니다.
모션
 모션 - 스텝 - 진행 유형에서 각 모션 명령을 개별적으로 사용
할 수 있습니다 .
 모션을 마친 후 매번 " 시작 " 을 다시 눌러야 합니다 .
개별 스텝 | 사용자 그룹 " 전문가 " 만 사용할 수 있습니다 !
 증분 스텝의 경우 행이 차례차례 처리됩니다(행의 내용과는
무관함 ).
 각 행이 끝난 후 시작 버튼을 다시 눌러야 합니다 .

로봇 프로그램은 어 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

126 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


4 로봇 프로그램 실행하기

행 설명
사용자그룹 전문가에서만 보임 :
 "DEF 프로그램 이름 ()" 은 항상 프로그램 시작 위치에
1 및 12
놓여 있습니다
 "END" 는 프로그램 끝을 나타냅니다
 "INI" 행에는 프로그램을 정확하게 처리하기 위해 필
3 요한 표준 파라미터 바로가기가 있습니다 .
 항상 "INI" 행을 먼저 처리해야 합니다 !
 동작 명령 및 대기 명령 / 논리 명령 등이 포함된 본래
의 프로그램 텍스트
4 내지 10
 이동 명령 "PTP Home" 은 중복되지 않는 알려진 위
치이므로 주로 프로그램 시작 및 끝에 사용됩니다 .

프로그램 상태 아이콘 색상 설명
회색 프로그램 선택 안됨

황색 레코드 포인터가 선택한 프로그램의 첫 행


에 있습니다 .

녹색 프로그램 선택되고 구동 중입니다 .

적색 선택된 프로그램 및 시작된 프로그램이 중


지되었습니다 .

검정색 레코드 포인터가 선택한 프로그램의 끝에


있습니다 .

프로그램 스타트 실 로봇 프로그램 스타트 방법


행하기 1. 프로그램 선택

그림  4-5: 프로그램 선택

2. 프로그램 속도 설정하기 ( 프로그램 오버라이드 , POV)

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 127 / 353


로봇 프로그래밍 1

그림  4-6: POV 설정

3. 승인 버튼을 누르십시오 .

그림  4-7: 인가 스위치

4. 시작 버튼 (+) 을 누르고 그 상태를 유지하십시오 :


 "INI"- 행이 처리됩니다 .
 로봇이 SAK 이동을 실행합니다 .

그림  4-8: 프로그램 진행방향 : 앞으로 / 뒤로

번호 설명
1 스타트 버튼 앞으로
2 스타트 버튼 뒤로

128 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


4 로봇 프로그램 실행하기

SAK 이동은 선택한 모션 블록에 PTP 이동명령이 있으면 실제


위치에서 목표 위치로 이동하는 PTP 모션으로 진행됩니다 . 선
택한 모션 블록에 LIN 혹은 CIRC 가 포함되어 있으면 SAK 이동은 LIN 모션
으로 실행됩니다 . 충돌을 방지하기 위해 모션을 관찰해야 합니다 . SAK 이
동에서는 속도가 자동으로 감소됩니다 .

5. 목표 위치에 도달한 후에는 동작이 정지됩니다

참조 메시지 "SAK 에 도달했음 " 이 나타납니다 .


6. 그 이후의 진행과정 ( 설정된 작동 모드에 따라 ):
 T1 및 T2: 시작 버튼을 눌러 프로그램을 계속 진행시킵니다 .
 AUT: 구동장치를 활성화시키십시오 .

그 후 펄스를 Start 하여 프로그램을 실행하십시오 .


 셀 프로그램에서 작동 모드를 EXT 로 전환하여 PLC 의 이동명령을 전
송합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 129 / 353


로봇 프로그래밍 1

4.4 연습 : 로봇 프로그램 실행하기

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 프로그램 선택 및 선택 취소
 요구한 작동 모드에서 프로그램 시작 , 중지 및 리셋 ( 프로그램 진행 과정
테스트 )
 세트 선택 실행 및 이해
 SAK 이동 실행

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 탐색기의 취급에 대한 이론적 지식


 프로그램 선택 및 선택 취소에 대한 지식

작업 설정

그림  4-9: 프로그램 선택

1. 에어 프로그램 모듈을 선택합니다 .


2. 프로그램을 다양한 작동 모드에서 다음과 같이 테스트하십시오 :
 T1 를 100 % 로
 T2 를 10 %, 30 %, 50 %, 75 %, 100 % 로
 오토매틱을 100% 로
3. 프로그램 진행 유형 Go 및 모션에서 프로그램을 테스트하십시오 .

질문 지금 알아야 할 사항 :
T1 및 T2 처리 시 로봇이 얼마나 빨리 이동합니까 ?
......................................................
......................................................
......................................................
SAK 이동 시 로봇이 어디로 이동합니까 ?
......................................................
......................................................
......................................................

130 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


5 프로그램 파일의 취급

5 프로그램 파일의 취급

5.1 개요

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


 프로그램 모듈 만들기 및 편집
 데이터 보관 및 복구
 로그북 취급

5.2 프로그램 모듈 만들기

탐색기에 있는 프로
그램 모듈

그림  5-1: 탐색기에 있는 모듈

1 프로그램 메인 폴더 : " 프로그램 "


2 다른 프로그램용 하위 폴더
3 프로그램 모듈 / 모듈
4 프로그램 모듈의 메모

 
 프로그램 모듈은 항상 " 프로그램 " 폴더에 저장해야 합니다 .
 새 폴더를 만들어 여기에 프로그램 모듈을 저장할 수도 있습니다 .
 모듈은 "M" 으로 표시합니다 .
 각 모듈에 메모를 첨가할 수 있습니다 .
 이러한 메모에는 예를 들어 프로그램 기능 설명이 들어 있을 수 있습니다 .

프로그램 모듈의 특 모듈은 항상 두 부분으로 이뤄져 있습니다 :


그림  5-2: 사용자 및 전문가 관점의 모듈 / 순서

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 131 / 353


로봇 프로그래밍 1

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) 를 선택합니다 ( 예 : 프로그


기 램 폴더 ).

그림  5-3: 모듈 만들기

폴더에서 모듈을 생성하려면 폴더 (2) 에 포인터를 정렬해야 합니다 .


2. 신규 소프트키 (3) 를 누르면 새 모듈이 생성됩니다 .
3. 프로그램 (1) 의 이름과 필요에 따라 메모를 입력하고 (2) OK(3) 를 눌러
확인합니다 .

132 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


5 프로그램 파일의 취급

그림  5-4: 프로그램 이름

5.3 프로그램 모듈 편집

편집 가능성 일반적인 파일 시스템에서와 같이 프로그램 모듈을 KUKA smartPad 의 탐색


기에서 편집할 수 있습니다 .
여기서 편집은 다음의 의미합니다 :
 복제 / 복사
 삭제
 이름 바꾸기

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 133 / 353


로봇 프로그래밍 1

진행 방법

프로그램 복제

그림  5-5: 모듈 복제

1. 디렉토리 구조에서 파일이 있는 폴더 (1) 를 선택합니다 .


2. 파일 목록에서 파일 (2) 을 선택합니다 .
3. 복제 소프트키 (3) 를 선택합니다 .
4. 새 모듈에 새 파일 이름을 지정합니다 .
5. OK 버튼을 눌러 모듈을 복제합니다 .

 
 
 
 사용자 그룹 " 전문가 " 와 필터 설정 " 세부 정보 " 에는 모듈당 2 개의 파일
이 탐색기에 복사되어 있습니다 (SRC 및 DAT 파일 ).
 이 경우 이 두 파일을 복제해야 합니다 !

134 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


5 프로그램 파일의 취급

프로그램 삭제

그림  5-6: 모듈 삭제

1. 디렉토리 구조에서 파일이 존재하는 폴더를 선택합니다 .


2. 파일 목록에서 파일을 선택합니다 .
3. 소프트키 삭제 > 선택 .
4. 확인창을 예로 확인하십시오 . 모듈이 삭제됩니다 .

 
 
 
 사용자 그룹 " 전문가 " 와 필터 설정 " 세부 정보 " 에는 모듈당 2 개의 파일
이 탐색기에 복사되어 있습니다 (SRC 및 DAT 파일 ).
 이 경우 양 파일의 이름을 삭제해야 합니다 ! 삭제된 파일은 복구가 불가
능합니다 !

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 135 / 353


로봇 프로그래밍 1

프로그램 이름 변경

그림  5-7: 모듈 이름 바꾸기

1. 디렉토리 구조에서 파일 (1) 이 존재하는 폴더를 선택합니다 .


2. 파일 목록에서 파일 (2) 을 선택합니다 .
3. 편집 (3) > 이름 바꾸기 (4) 소프트키를 선택합니다 .
4. 파일 이름을 새로운 이름으로 덮어쓰기하고 OK 를 눌러 학인합니다 .

 
 
 
 사용자 그룹 " 전문가 " 와 필터 설정 " 세부 정보 " 에는 모듈당 2 개의 파일
이 탐색기에 복사되어 있습니다 (SRC 및 DAT 파일 ).
 이 경우 양 파일의 이름을 다르게 지정해야 합니다 !

5.4 로봇 프로그램 보관하기 및 복구하기

설명 기록 보관 방법
 각 기록 보관 과정은 로봇에서와 동일한 이름을 갖는 목표 저장매체에 ZIP
파일을 생성합니다 .
 로봇 데이터에서 파일 이름을 개별적으로 변경할 수 있습니다 .

136 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


5 프로그램 파일의 취급

저장소

그림  5-8: KUKA.Recovery USB 스틱 2.1 8GB (Art. No. 00-220-397)

3 개의 서로 다른 USB 저장소를 사용할 수 있습니다 .


 USB (KCP)
 KCP(smardPAD) 의 USB 스틱
 USB ( 캐비넷 )
 로봇 제어반의 USB 스틱
 네트워크
 네트워크 경로로 백업
 원하는 네트워크 경로는 로봇 데이터에서 컨피규레이션해야 합니다 .

모든 백업 과정에서 원하는 저장 매체와 드라이브 D:\ (1) 에 생성된


ZIP 파일과 함께 기타 백업 파일 (BackupAll.ZIP)(2) 이 저장됩니다 .

그림  5-9: 백업 파일

백업용 데이터 선택  모두 :
은 다음과 같습니다 기존 시스템 복원에 필요한 데이터가 백업됩니다 .
.  애플리케이션 :
모든 사용자 정의에 따른 KRL 모듈 ( 프로그램 ) 및 그에 속하는 시스템 파
일이 기록 보관됩니다 .
 시스템 데이터 :
기계 데이터가 백업됩니다 .
 로그 데이터 :
로그 파일이 백업됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 137 / 353


로봇 프로그래밍 1

 KrcDiag:
오류 분석을 위해 KUKA Roboter GmbH 에 전달될 데이터 기록 보관 . 이
때 폴더가 생성되며 ( 이름 KRCDiag) 이 폴더 안에 최대 10 개의 ZIP 파
일을 기록할 수 있습니다 . 이와 동시에 제어시스템에서도
C:\KUKA\KRCDiag 에 기록 보관됩니다 .

데이터 복구하기

그림  5-10: 백업 파일 복구

일반적으로 기록 보관 파일만 적합한 버전의 소프트웨어를 사


용하여 로딩할 수 있습니다 . 다른 백업 파일을 로드하는 경우
다음과 같은 상황이 발생할 수 있습니다 .
 오류 메시지
 로봇 제어시스템이 작동할 수 없습니다 .
 신체 상해 및 대물 피해

복구할 경우에는 다음과 같은 메뉴 항목을 선택할 수 있습니다 .


 모두
 애플리케이션
 시스템 데이터

다음의 경우 시스템은 오류 메시지를 내보냅니다 :


 보관된 데이터가 시스템에 있는 것과 다른 버전을 갖고 있을 경우 .
 테크놀로지 패키지의 버전이 설치된 버전과 일치하지 않을 경우 .

기록 보관 방법
 
 
 KUKA.USBData 스틱을 사용해야 합니다 .
 다른 USB 스틱을 사용하는 경우 데이터가 소실되거나 변경될 수 있습니
다.

138 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


5 프로그램 파일의 취급

1. 메뉴순서 파일 > 기록 보관 > USB (KCP) 또는 USB ( 제어반 ) 등을 선택


하고 원하는 하위 항목을 선택합니다 .
2. 확인창을 예로 확인하십시오 .
기록 보관이 완료되면 메시지 창에 나타납니다 .
3. 스틱의 LED 가 소등되면 스틱을 뽑을 수 있습니다 .

복구 진행 방식 1. 메뉴 순서 파일 > 복구 > 를 선택한 다음 원하는 하위 항목을 선택하십시


오.
2. 확인창을 예로 확인하십시오 .
압축된 파일이 로봇 제어 시스템에 복원됩니다 .
3. 복원이 완료되면 메시지가 표시됩니다 .
4. USB 스틱으로 복구한 경우 : USB 매체를 빼내십시오 .

 
 
USB 매체 복구 시 :
 USB 매체의 LED 에 불이 더 이상 들어오지 않는 경우에만 그 매체를 제
거할 수 있습니다 .
 그렇지 않을 경우 매체가 손상될 수 있습니다 .

5.5 로그북을 사용하여 프로그램 및 상태 변경 파악하기

프로토콜 작성 방법 사용자의 smartPAD 에서의 조작작업은 자동으로 프로토콜로 기록됩니다 .


명령 로그북은 프로토콜을 보여줍니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 139 / 353


로봇 프로그래밍 1

그림  5-11: 로그북 , 탭 Log

위치 설명
1 로그 이벤트 유형
각 필터 타입과 필터 등급은 탭 필터에 목록으로 나와 있습니다 .
2 로그 이벤트 번호
3 로그 이벤트의 날짜와 시간
4 로그 이벤트에 대한 간략한 설명
5 선택한 로그 이벤트에 대한 상세 설명
6 활성화된 필터 표시

140 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


5 프로그램 파일의 취급

로그 이벤트 필터링

그림  5-12: 로그북 , 탭 필터

로그북 기능 사용 보기 및 컨피규레이션은 모든 사용자 그룹에서 가능합니다 .


로그북 표시하기 :
 메인 메뉴에서 진단 > 로그북 > 표시하기를 선택합니다 .
로그북 컨피규레이션하기 :
1. 메인 메뉴에서 진단 > 로그북 > 컨피규레이션하기를 선택합니다 .
2. 컨피규레이션을 저장하고 창을 닫으려면 Ok 를 클릭합니다 .

그림  5-13: 창 로그북 구성

1 출력을 위한 필터 설정을 적용시킵니다 . 체크표시가 전혀 되어있지


않다면 출력 시 필터가 사용되지 않습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 141 / 353


로봇 프로그래밍 1

2 텍스트 파일 경로
3 버퍼 오버플로우로 인해 삭제된 로그 파일은 텍스트 파일에서 회색 바
탕에 표시됩니다 .

142 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

6.1 개요

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


 새 모션 명령 생성하기
 사이클 시간에 최적화된 동작 만들기
 경로 동작 만들기
 동작의 근사접근
 모션 명령 변경하기

6.2 기존 동작 포인트 보정

로봇 동작 프로그래

그림  6-1: 로봇 모션

로봇 동작을 프로그래밍하는 경우 , 다음와 같은 많은 질문 사항이 발생합니


다:

질문 답 키워드
로봇은 자신의 위치를 어떻게 공간 내의 각각의 툴 위치가 저장됩니다 . ( 로 번호
인식합니까 ? 봇 위치에 따라 세팅된 툴 및 베이스 )
E6POS
로봇은 요구되는 동작 유형을 동작 유형의 정보를 통해 : 점대점 , 선형 또는 SPTP
어떻게 인식합니까 ? 원형 .
SLIN
SCIRC
로봇의 동작 속도는 어떻게 지 2개의 점 사이의 속도 및 가속도는 프로그래밍 Vel.
정됩니까 ? 시 지정됩니다 .
Acc.
로봇은 각각의 점에서 정지해 사이클 시간을 절약하기 위해 점은 근사접근도 CONT
야 합니까 ? 가능하며 , 이런 경우 정확 정지가 이루어지지
않습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 143 / 353


로봇 프로그래밍 1

질문 답 키워드
특정한 점에 도달하는 경우 툴 각각의 동작에 대해 방향 컨트롤을 개별적으로 ORI_TYPE
은 어떤 방향을 갖습니까 ? 세팅할 수 있습니다 .
이 세팅은 경로 동작에만 적용됩니다 .
(>>>  " 모션 유형 " 페이지  144)
로봇은 장애물을 인식합니까 ? 인식하지 않습니다 . 로봇은 프로그래밍된 경로 충돌 모니터
를 " 그대로 " 유지합니다 . 충돌에 대한 책임은 링
프로그래머에 있습니다 .
하지만 기계를 보호하기 위해 " 충돌 모니터링
" 을 적용할 수 있습니다 .

티치 - 인 방식으로 로봇 동작을 프로그래밍하는 경우 이 정보를 전송해야 합


니다 . 이를 위해 이 정보를 간편하게 입력할 수 있는 인라인 양식을 사용할 수
있습니다 .

그림  6-2: 모션 프로그래밍을 위한 인라인 양식

모션 유형 모션 명령 프로그래밍을 위해 다양한 모션 유형을 사용할 수 있습니다 . 로봇


작업과정에 대한 요구사항에 맞춰 모션을 프로그래밍할 수 있습니다 .
 축 고유의 동작 (SPTP: Point to Point)
 경로 동작 : SLIN( 선형 ) 및 SCIRC( 원형 )

PTP, LIN, CIRC 동작은 이 교육 자료에서 다루지 않습니다 . 상세한


정보는 KUKA 시스템 소프트웨어 8.x 조작 및 프로그래밍 설명서에서 확
인할 수 있습니다 .

6.3 SPTP - 사이클 시간 최적화 동작 ( 축 동작 )

설명

그림  6-3

 SPTP - Spline Point To Point 는 축에 따른 동작입니다 .


 로봇이 가장 빠른 모션을 따라 TCP 를 목표점으로 보냅니다 .
 일반적으로 가장 빠른 트랙이 가장 짧은 트랙은 아니며 따라서 직선이 아
닙니다 .
 로봇 축이 회전 동작을 수행하므로 , 스윙 경로가 직선 경로보다 빠르게 실
행됩니다 .

경로 양상  동작의 정확한 진행은 예측할 수 없습니다 .


 목표점에 도달하기까지 가장 오래 걸린 축을 유도 축이라 칭합니다 .
 SYNCHRO-PTP: 모든 축이 함께 시작하고 동시에 정지합니다 .
(>>>  "Synchro-PTP" 페이지  145)
 프로그램에서의 첫 번째 동작은 PTP 동작이어야 합니다 . 그렇지 않을 경
우 상태 및 Turn 을 평가할 수 없습니다 .

144 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

Synchro-PTP  목표점에 도달하기까지 가장 오래 걸린 축을 유도하는 축이라 칭합니다 .


 이때 인라인 양식에 표시된 속도를 함께 고려합니다 .

그림  6-4: Synchro-PTP

사용  로봇이 목표점으로 이동합니다 .


 충돌 없이 빠르게 포인트로 이동해야 합니다 .
 경로 자체는 후순위입니다 .
 보기
 스팟 용접 및 리벳팅
 운반하기
 측정 , 점검
 경로 동작 사이 또는 경로 동작으로 이동 중인 로봇도 공간 내 위치한 중
간점을 이용해 최적화할 수 있습니다 .

6.3.1 상태 & Turn

설명 상태 및 Turn 은 동일한 TCP 위치를 갖는 여러 개의 축 위치 중에서 명확한


1 개의 축 위치를 지정하는데 사용됩니다 .
서로 다른 상태값 및 Turn 값으로 인한 상이한 축 위치

로봇 위치 상태 Turn
1 46

2 43

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 145 / 353


로봇 프로그래밍 1

로봇 위치 상태 Turn
6 59

4 63

 로봇 제어 시스템은 SPTP 동작을 취할 경우에만 프로그래밍된 상태와


Turn 값을 고려합니다 .
 트랙 모션 (CP) 의 경우 이 값은 무시됩니다 .
 따라서 명확한 아웃풋 위치를 결정하려면 KRL 프로그램의 첫 번째 동작
지령은 POS/E6POS 유형의 완전한 SPTP 지령이어야 합니다 .
( 또는 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 표시가 있는 모션 명


령을 우회시킬 수 있습니다 .
 우회란 포인트 좌표에 정확히 도착하지 않는 다는 것을 뜻합니다 .
 정확정지 컨투어의 트랙을 그 전에 벗어납니다 .
 TCP 는 우회 컨투어를 따라 유도되어 그 다음 모션 명령의 정확정지 컨투
어로 이어집니다 .

146 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

우회의 장점

그림  6-6: 정확정지 - 우회 비교

 기계장치가 덜 마모됩니다 . 포인트 사이에서 제동을 걸거나 가속화할 필


요가 없기 때문입니다 ( 포인트 1 참조 ).
 이로 인해 사이클 시간이 최적화되며 프로그램이 좀더 빠르게 처리됩니다
( 포인트 2 참조 ).

우회 시 SPTP 경로
양상

그림  6-7

 우회 모션을 실행할 수 있으려면 제어시스템은 다음과 같은 모션 블록을


읽을 수 있어야 합니다 . 이는 컴퓨터 포워드를 통해 이뤄집니다 .
 우회 거리의 단위는 % 또는 mm 입니다 .

우회 컨투어는 예견할 수 없습니다 !

6.3.3 SPTP 동작 프로그래밍

전제조건  작동 모드 T1 가 설정되어 있습니다


 로봇 프로그램이 선택되었습니다 .

진행 방법 1. 목표점으로서 티칭하고자 하는 위치로 TCP 를 이동시킵니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 147 / 353


로봇 프로그래밍 1

그림  6-8: 모션 명령

2. 동작 지령을 삽입할 행으로 커서를 이동시키십시오 .


3. 메뉴 순서 명령 > 동작 > SPTP
대안으로 해당 행에서 소프트키 모션을 누를 수도 있습니다 .
인라인 양식이 나타납니다 :
 SPTP 인라인 양식

그림  6-9: 인라인 양식 SPTP ( 개별 동작 )

4. 인라인 양식에 파라미터를 입력하십시오 .

번호 설명
1 동작 유형 SPTP
2 목표점을 위한 포인트 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
포인트 데이터의 편집을 위해 화살표를 터치합니다 . 해당 옵션창
이 열립니다 .
3  CONT: 목표점이 근사접근됩니다 .
 [ 비어 있음 ]: 목표점이 정확하게 접근됩니다 .
4 속도
 SPTP 의 경우 1 … 100%
 SLIN 의 경우 0.001 … 2m/s
5 동작 데이터 레코드의 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
포인트 데이터의 편집을 위해 화살표를 터치합니다 . 해당 옵션창
이 열립니다 .
6 이 필드는 파라미터 전환을 통해 보이게 하거나 또는 숨길 수 있습
니다 .
로직 파라미터가 포함된 데이터 레코드의 이름 . 시스템이 자동으
로 이름을 부여합니다 . 이름은 덮어쓰기할 수 있습니다 . 데이터
의 처리를 위해 화살표를 터치하십시오 . 해당 옵션창이 열립니다
.

148 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

5. 옵션 창 프레임에서 올바른 툴 및 베이스 좌표계용 데이터 입력하기 , 보


간 모드 ( 외부 TCP: 켜짐 / 꺼짐 ) 정보 , 충돌 감시 .

그림  6-10: 옵션창 프레임

번호 설명
1 툴을 선택하십시오 .
외부 TCP 란에 True 가 표시된 경우 : 공작물을 선택하십시오 .
값 범위 : [1] … [16]
2 베이스를 선택합니다 .
외부 TCP 란에 True 가 표시된 경우 : 고정 툴을 선택하십시오 .
값 범위 : [1] … [32]
3 보간 모드
외부 TCP:
 False: 툴은 마운팅 플랜지에 장착되어 있습니다 .
 True: 툴은 고정 툴입니다 .
4 충돌 인식
 True: 로봇 컨트롤러는 이 동작을 위해 축 토크를 측정합니다
. 이것은 충돌 인식에 필요합니다 .
 False: 로봇 컨트롤러는 이 동작을 위해 축 토크를 측정하지 않
습니다 . 따라서 이 동작에 대해서는 충돌 인식이 불가능합니
다.

6. 옵션창 모션 파라미터에서 최대 값의 가속도를 낮출 수 있습니다 . 우회가


활성화되었을 경우 우회 거리 역시 변경할 수 있습니다 . 컨피규레이션에
따라 거리는 mm, 또는 % 로 설정됩니다 .

그림  6-11: 옵션창 동작 파라미터 (SPTP)

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 149 / 353


로봇 프로그래밍 1

번호 설명
1 축 가속도 . 이 값은 머신 데이터에 명시된 최대값을 기준으로 함 .
 1 … 100 %
2 이 필드는 SPTP 세그먼트에 대해 사용할 수 없습니다 . SPTP 개
별 동작의 경우 이 필드는 인라인 양식에서 CONT 가 선택된 경우
에만 표시됩니다 .
근사접근이 가장 빨리 시작되는 목표점 이전의 거리 .
이 거리는 시작점과 목표점 사이의 최대 절반에 해당할 수 있습니
다 . 여기에 더 큰 값을 입력하는 경우 , 이 값은 무시되고 최대값
이 사용됩니다 .
3 기어 저크 . 저크는 가속도 변화에 해당합니다 .
이 값은 머신 데이터에 명시된 최대값을 기준으로 함 .
 1 … 100 %

7. 명령 OK 를 눌러 지령을 저장합니다 . TCP 의 현재 위치가 목표점으로 티


칭됩니다 .

그림  6-12: " 명령 OK" 및 "Touchup" 시의 포인트 좌표 저장

150 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

6.3.4 연습 : 에어 프로그램 - 프로그램 취급 및 SPTP 동작

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 프로그램 선택 및 선택 취소
 요구한 작동 모드에서 프로그램 시작 , 중지 및 리셋 ( 프로그램 진행 과정
테스트 )
 기존의 프로그램 항목 수정
 동작 세트 삭제 및 새 SPTP 동작 삽입
 프로그램 진행 방식 변경 및 프로그래밍된 항목을 단계적으로 시작
 세트 선택 실행 및 이해
 SAK 이동 실행

전제조건  탐색기의 취급에 대한 이론적 지식


 SPTP 동작 유형에 대한 이론적 지식

작업 설정 1 프로그램 만들기 및 테스트


1. 에어 프로그램이란 이름의 새 모듈을 만듭니다 .

위험 !
교육 자료에 수록된 안전 규정을 반드시 준수해야 합니다 !

2. 약 다섯 개의 SPTP 세트로 이루어진 동작 절차를 만듭니다 .


3. 충돌이 없는 이동이 없으면 해당 항목을 삭제한 다음 ( 각각의 ) 새 항목을
만드십시오 .
4. 작동 모드 T1 에서 상이한 프로그램 속도 (POV) 로 프로그램을 테스트하
십시오 .
5. 작동 모드 T2 에서 상이한 프로그램 속도 (POV) 로 프로그램을 테스트하
십시오 .
6. 작동 모드 자동에서 프로그램을 테스트하십시오 .

작업 설정 2 다음의 작업을 실행하십시오 : 프로그램 수정


1. 공간 지점에 상이한 속도를 정하십시오 .
2. 프로그램 내에서 동일한 항목을 여러 번 불러내십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 151 / 353


로봇 프로그래밍 1

3. 동작 세트를 삭제한 다음 프로그램 내의 다른 자리에 새 세트를 삽입하십


시오 .
4. 세트 선택을 실행하십시오 .
5. 테스트 진행 시 프로그램을 중지하고 프로그램 시작 취소 기능을 사용하
십시오 .
6. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

질문 지금 알아야 할 사항 :
프로그램 선택과 열기의 차이점은 무엇인가 ?
......................................................
......................................................
......................................................
어떤 프로그램 진행 종류가 있으면 종류는 언제 사용되는가 ?
......................................................
......................................................
......................................................
SAK 이동이란 무엇인가 ?
......................................................
......................................................
......................................................
프로그램 속도에 영향을 주는 방법은 무엇입니까 ?
......................................................
......................................................
......................................................
SPTP 동작의 특징은 무엇입니까 ?
......................................................
......................................................
......................................................

152 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

6.4 트랙 모션 생성하기

SLIN 및 SCIRC 동
작 유형
동작 유형 의미 사용 예
선형 : 선형 경로 어플리케이션 , 예를 들어
:
 직선상의 경로 모션 :
 툴의 TCP 는 일정한 속도  경로 용접
및 정의된 방향으로 시작  붙이기
점에서 목표점까지 유도됩  레이저 용접 / 절단
니다 .
 속도와 정향이 TCP 와 연
관되어 있습니다 .
원형 : 원형 SLIN 에서와 같은 경로 애플
리케이션 :
 원형 경로모션은 시작점 ,
보조점 및 목표점을 통해  원 , 반경 , 올림 및 내림
정의됩니다 .
 툴의 TCP 는 일정한 속도
및 정의된 방향으로 시작
점에서 목표점까지 유도됩
니다 .
 속도와 정향이 툴의 TCP(
툴 좌표계 ) 와 연관되어 있
습니다

6.4.1 특이성

설명  6 자유도의 KUKA 로봇에는 3 개의 다양한 특이점이 있습니다 .


 특이 위치의 특징은 역변환(해당 축의 값으로 직교좌표적 환산)이 지정된
상태 및 Turn 에도 불구하고 정확하지 않을 수 있다는 것입니다 .
 이러한 경우 또는 최소 직교좌표적 변경이 매우 큰 축각도 변경을 유발하
는 경우 , 이를 특이점이라 칭합니다 .
 이는 기계적 특성이 아니라 수학적 특성이며 이러한 이유로 트랙 모션 영
역에서만 나타나며 축 모션에서는 나타나지 않습니다 .
6 자유도의 KUKA 로봇에는 3 개의 다양한 특이점이 있습니다 .
특이 위치의 특징은 역변환 ( 해당 축의 값으로 직교좌표적 환산 ) 이 지정된
상태 및 Turn 에도 불구하고 정확하지 않을 수 있다는 것입니다 . 이러한 경우
또는 최소 직교좌표적 변경이 매우 큰 축각도 변경을 유발하는 경우 , 이를 특
이점이라 칭합니다 . 이는 기계적 특성이 아니라 수학적 특성이며 이러한 이
유로 트랙 모션 영역에서만 나타나며 축 모션에서는 나타나지 않습니다 .

 오버 헤드 특이성 오류 시 손목점 (= A5 축의 중점 ) 은 로봇의 A1 축에 수


오버헤드 특이성 직으로 존재합니다 .
α1  A1 축의 위치는 역변환을 통해 정확하게 결정할 수 없으며 따라서 임의의
값을 가질 수 있습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 153 / 353


로봇 프로그래밍 1

그림  6-13: 오버헤드 특이성 (α1 위치 )

 확장 위치 특이성 오류 시 손목점 (= A5 축의 중점 ) 은 로봇의 A1 및 A3 축


확장 위치 특이성 의 연장선에 존재합니다 .
α2  로봇은 그 작업 구역의 가장자리에 존재합니다 .
 역변환은 정확한 축각도를 제공하지만 , 그 결과 작은 직교좌표적 속도가
A2 및 A3 축의 큰 축 속도를 갖습니다 .

그림  6-14: 확장 위치 (α2- 위치 )

 손목 축 특이성에서는 A4 및 A6 축이 서로 평행하며 A5 축이 ±0.01812°


손목 축 특이성 α5 의 범위 내에 있습니다 .
 양측 축의 위치는 역변환으로 인해 정확하게 결정할 수 없습니다 .
 하지만 A4 및 A6 축의 각도 합이 동일한 임의의 축 위치가 많이 있습니다 .

154 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  6-15: 손목 축 특이성 (α5 위치 )

6.4.2 경로 동작 시 방향 설정 가이드

설명  트랙 동작 시 정향 가이드를 정확하게 정의할 수 있습니다 .


 툴은 동작의 시작점 및 목표점에서 서로 다른 방향을 가질 수 있습니다 .

SLIN 동작 유형 SLIN 동작 유형의 방향 설정 가이드


 기본 또는 수동 PTP
툴의 방향이 동작 중에 지속적으로 변합니다 .
로봇이 표준 모드로 손목축 특이성으로 들어갈 때만 수동 PTP 를 사용하
십시오 . 왜냐하면 정향이 손목축 각도의 선형 전환 ( 축 고유의 이동 ) 에
의해 실행되기 때문입니다 .

그림  6-16: 표준

 상수
툴의 정향은 동작 중 그대로 유지됩니다 - 이 정향은 시작점에서 티칭된
정향과 동일합니다 . 최종점에서 티칭된 정향을 무시합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 155 / 353


로봇 프로그래밍 1

그림  6-17: 일정한 방향

SCIRC 동작 유형 SCIRC 동작 유형의 방향 설정 가이드


 기본 또는 수동 PTP
 툴의 방향이 동작 중에 지속적으로 변합니다 .
 로봇이 표준 모드로 손목축 특이성으로 들어갈 때만 수동 PTP 를 사용
하십시오 . 왜냐하면 정향이 손목축 각도의 선형 전환 ( 축 고유의 이동
) 에 의해 실행되기 때문입니다 .

그림  6-18: 기본 + 베이스 기준

 상수
 툴의 정향은 동작 중 그대로 유지됩니다 - 이 정향은 시작점에서 티칭
된 정향과 동일합니다 .
 최종점에서 티칭된 정향을 무시합니다 .

156 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  6-19: 일정한 방향 컨트롤 + 베이스 기준

 상수 , 경로 기준

그림  6-20: 일정한 방향 , 경로 기준

6.4.3 SLIN 프로그래밍

SLIN 동작 세팅 방 전제조건
식  작동 모드 T1 이 세팅된 상태입니다
 로봇 프로그램이 선택된 상태입니다 .
1. 목표점으로서 티칭할 위치로 TCP 를 이동시키십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 157 / 353


로봇 프로그래밍 1

그림  6-21: SLIN 및 SCIRC 이 포함된 동작 명령

2. 동작 지령을 삽입할 행으로 커서를 이동시키십시오 .


3. 메뉴 순서 명령 > 동작 > SLIN 을 선택하십시오 .
대안적 방법으로서 해당 행에서 소프트키 모션을 누를 수도 있습니다 .
인라인 양식이 나타납니다 :
 SLIN 인라인 양식

그림  6-22: 인라인 양식 SLIN ( 개별 동작 )

번호 설명
1 동작 유형 SLIN
2 목표점을 위한 포인트 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
포인트 데이터의 편집을 위해 화살표를 터치합니다 . 상응하는 옵
션창이 열립니다 .
3  CONT: 목표점이 근사접근됩니다 .
 [ 비어 있음 ]: 목표점이 정확하게 접근됩니다 .
4 속도
 SLIN 의 경우 0.001 … 2 m/s
5 동작 데이터 레코드의 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
포인트 데이터의 편집을 위해 화살표를 터치합니다 . 상응하는 옵
션창이 열립니다 .
6 이 필드는 파라미터 전환 ( 을 ) 를 통해 보이게 하거나 또는 숨길
수 있습니다 .
로직 파라미터가 포함된 데이터 레코드의 이름 . 시스템이 자동으
로 이름을 부여합니다 . 이름은 덮어쓰기할 수 있습니다 . 데이터
를 편집하는 경우 화살표를 터치합니다 . 상응하는 옵션창이 열립
니다 .

4. 인라인 양식에 파라미터를 입력하십시오 .


5. 옵션창 프레임에서 올바른 툴 및 베이스 좌표계용 데이터 입력하기 및 보
간 모드 ( 외부 TCP: ON/OFF) 에 대한 정보 , 충돌 모니터링 .

158 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  6-23: 옵션창 프레임

번호 설명
1 툴을 선택합니다 .
익스터널 TCP 필드에 True 가 표시된 경우 : 공작물을 선택합니다
:
값 범위 : [1] … [16]
2 베이스를 선택합니다 .
익스터널 TCP 필드에 True 가 표시된 경우 : 고정 툴을 선택합니
다.
값 범위 : [1] … [32]
3 보간 모드
 False: 툴이 마운팅 플랜지에 장착되어 있습니다 .
 True: 툴이 고정 툴입니다 .
4 충돌 인식
 True: 로봇 컨트롤러는 이 동작을 위해 축 토크를 측정합니다
. 이것은 충돌 인식에 필요합니다 .
 False: 로봇 컨트롤러는 이 동작을 위해 축 토크를 측정하지 않
습니다 . 따라서 이 동작에 대해서는 충돌 인식이 불가능합니
다.

6. 옵션창 동작 파라미터에서 최대 값의 가속도 및 기어 저크를 줄일 수 있습


니다 . 근사접근이 활성화된 경우 근사접근 거리도 변경이 가능합니다 . 또
한 방향 컨트롤도 변경이 가능합니다 .

그림  6-24: 옵션창 동작 파라미터 (SLIN)

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 159 / 353


로봇 프로그래밍 1

번호 설명
1 축 속도 . 이 값은 머신 데이터에 명시된 최대값을 기준으로 합니
다.
 1 … 100 %
2 축 가속도 . 이 값은 머신 데이터에 명시된 최대값을 기준으로 합
니다 .
 1 … 100 %
3 기어 저크 . 저크는 가속도 변화에 해당합니다 .
이 값은 머신 데이터에 명시된 최대값을 기준으로 합니다 .
 1 … 100 %
4 방향 컨트롤을 선택합니다 .
 표준
 수동 PTP
 일정한 방향 컨트롤
5 이 필드는 인라인 양식에서 CONT 가 선택된 경우에만 표시됩니
다.
근사접근이 가장 빨리 시작되는 목표점 이전의 거리 .
이 거리는 가장 클 경우 시작점과 목표점 사이의 절반에 해당할 수
있습니다 . 여기에 더 큰 값을 입력하는 경우 , 이 값은 무시되고
최대값이 사용됩니다 .

7. 명령 OK 를 눌러 지령을 저장합니다 . TCP 의 현재 위치가 목표점으로 티


칭됩니다 .

그림  6-25: " 명령 OK" 및 "Touchup" 시의 포인트 좌표 저장

6.4.4 SCIRC 프로그래밍

SCIRC 에서 동작
절차

그림  6-26: SCIRC 가 포함된 2 개의 원 세그먼트

160 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 여기에서 툴 및 공작물의 기준점이 호를 그리며 목표점으로 이동합니다 .


 트랙은 시작점과 보조점 , 최종점을 통해 설명됩니다 .
 이때 지난 모션 명령의 목표점이 시작점으로 작용합니다 .
 보조점에서 툴의 정향은 전혀 무시하거나 허용할 수 있습니다 .

SCIRC 동작 세팅 전제조건
방식  작동 모드 T1 이 세팅된 상태입니다
 로봇 프로그램이 선택된 상태입니다 .
1. 동작 지령을 삽입할 행으로 커서를 이동시키십시오 .
2. 메뉴 순서 명령 > 동작 > SCIRC 를 선택하십시오 .
대안적 방법으로서 해당 행에서 소프트키 모션을 누를 수도 있습니다 .
인라인 양식이 나타납니다 :
 SCIRC 인라인 양식

그림  6-27: 인라인 양식 SCIRC ( 개별 동작 )

번호 설명
1 동작 유형 SCIRC
2 보조점을 위한 포인트 이름
시스템이 자동으로 이름을 부여합니다 . 이름은 덮어쓰기할 수 있
습니다 .
3 목표점을 위한 포인트 이름
시스템이 자동으로 이름을 부여합니다 . 이름은 덮어쓰기할 수 있
습니다 .
포인트 데이터의 편집을 위해 화살표를 터치합니다 . 상응하는 옵
션창이 열립니다 .
4  CONT: 목표점이 근사접근됩니다 .
 [ 비어 있음 ]: 목표점이 정확하게 접근됩니다 .
5 속도
 0.001 … 2 m/s
6 동작 데이터 레코드의 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
포인트 데이터의 편집을 위해 화살표를 터치합니다 . 상응하는 옵
션창이 열립니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 161 / 353


로봇 프로그래밍 1

번호 설명
7 원 각도
 - 9 999° … + 9 999°
- 400° 미만 또는 + 400° 이상의 원 각도를 입력하는 경우 , 인
라인 양식의 저장 시 입력의 확인 또는 삭제를 묻는 확인창이 나타
납니다 .
8 이 필드는 파라미터 전환 ( 을 ) 를 통해 보이게 하거나 또는 숨길
수 있습니다 .
로직 파라미터가 포함된 데이터 레코드의 이름 . 시스템이 자동으
로 이름을 부여합니다 . 이름은 덮어쓰기할 수 있습니다 . 데이터
를 편집하는 경우 화살표를 터치합니다 . 상응하는 옵션창이 열립
니다 .

3. 인라인 양식에 파라미터를 입력하십시오 .


4. 옵션창 프레임에서 올바른 툴 및 베이스 좌표계용 데이터 입력하기 및 보
간 모드 ( 외부 TCP: ON/OFF) 에 대한 정보 , 충돌 모니터링 .

그림  6-28: 옵션창 프레임

번호 설명
1 툴을 선택합니다 .
익스터널 TCP 필드에 True 가 표시된 경우 : 공작물을 선택합니다
:
값 범위 : [1] … [16]
2 베이스를 선택합니다 .
익스터널 TCP 필드에 True 가 표시된 경우 : 고정 툴을 선택합니
다.
값 범위 : [1] … [32]
3 보간 모드
 False: 툴이 마운팅 플랜지에 장착되어 있습니다 .
 True: 툴이 고정 툴입니다 .
4 충돌 인식
 True: 로봇 컨트롤러는 이 동작을 위해 축 토크를 측정합니다
. 이것은 충돌 인식에 필요합니다 .
 False: 로봇 컨트롤러는 이 동작을 위해 축 토크를 측정하지 않
습니다 . 따라서 이 동작에 대해서는 충돌 인식이 불가능합니
다.

162 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

5. 옵션창 동작 파라미터에서 최대 값의 가속도 및 기어 저크를 줄일 수 있습


니다 . 근사접근이 활성화된 경우 근사접근 거리도 변경이 가능합니다 . 그
외에도 방향 컨트롤도 변경이 가능합니다 .

그림  6-29: 동작 파라미터 (SCIRC)

번호 설명
1 축 속도 . 이 값은 머신 데이터에 명시된 최대값을 기준으로 합니
다.
 1 … 100 %
2 축 가속도 . 이 값은 머신 데이터에 명시된 최대값을 기준으로 합
니다 .
 1 … 100 %
3 기어 저크 . 저크는 가속도 변화에 해당합니다 .
이 값은 머신 데이터에 명시된 최대값을 기준으로 합니다 .
 1 … 100 %
4 방향 컨트롤을 선택합니다
 표준
 수동 PTP
 일정한 방향 컨트롤
5 방향 컨트롤의 기준 시스템을 선택합니다 .
 베이스 기준
 경로 기준
6 이 필드는 인라인 양식에서 CONT 가 선택된 경우에만 표시됩니
다.
근사접근이 가장 빨리 시작되는 목표점 이전의 거리 .
이 거리는 가장 클 경우 시작점과 목표점 사이의 절반에 해당할 수
있습니다 . 여기에 더 큰 값을 입력하는 경우 , 이 값은 무시되고
최대값이 사용됩니다 .

6. 보조점에서의 거동을 세팅하십시오 ( 이 작업은 사용자그룹 전문가 이상


에서 가능합니다 ).

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 163 / 353


로봇 프로그래밍 1

그림  6-30: 서클 컨피규레이션 (SCIRC)

번호 설명
7 보조점에서 방향 컨트롤
 Consider
 Interpolate
 Ignore
8 이 필드는 인라인 양식에서 ANGLE 이 선택된 경우에만 표시됩니
다.
목표점에서 방향 컨트롤 선택
 Extrapolate
 Interpolate

7. 보조점으로서 티칭할 위치로 TCP 를 이동시키십시오 . 보조점 Touchup 을


통해 포인트 데이터를 저장합니다 .
8. 목표점으로서 티칭할 위치로 TCP 를 이동시키십시오 . 목표점 Touchup 을
통해 포인트 데이터를 저장합니다 .
9. 명령 OK 를 눌러 지령을 저장합니다 .

SCIRC 회로 구성  SCIRC 동작에서 로봇 제어 시스템은 프로그래밍된 보조점 방향 설정을


고려할 수 있습니다 .
 실제로 고려할 수 있는지 여부와 어디까지 고려할 수 있는지는 사용자가
동작 파라미터 옵션 창의 서클 컨피규레이션 탭에서 지정할 수 있습니다 .

그림  6-31: 서클 컨피규레이션 (SCIRC)

 또한 동일한 방법으로 SCIRC 지령 시 원 각도를 이용하여 목표점에 방향


이 프로그래밍되어 있는지 또는 원각도에 맞게 방향이 설정되어 있는지
확인할 수 있습니다 .

164 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

구성요소 설명
보조점에서 풀다운 메뉴
의 회전 .
 INTERPOLATE: TCP 는 보조점에서 프로그래밍된 방
향 설정을 실행합니다 .
 IGNORE: 로봇 제어 시스템은 보조점의 프로그래밍된
방향 설정을 무시합니다 . TCP 의 초기 방향 설정이 목
표 방향 설정으로 진행되는 가장 짧은 진로로 전환됩니
다.
 CONSIDER( 기본값 ): 로봇 제어 시스템이 보조점의 프
로그래밍된 방향 설정에 근접한 진로를 선택합니다 .
목표점에서 풀다운 메뉴
방향 컨트롤
 INTERPOLATE: 실제 목표점에서 목표점의 프로그래
밍된 방향 설정을 수행합니다 .
(SCIRC 의 원 각도 정보가 없는 경우 유일한 방법 .
EXTRAPOLATE 가 설정되어 있어도 INTERPOLATE
가 실행됩니다 )
 EXTRAPOLATE(원 각도 정보가 있는 SCIRC의 기본값
): 원 각도의 방향 설정이 조정됩니다 .
원 각도가 동작을 연장할 경우 프로그래밍된 목표점이
프로그래밍된 방향 설정을 수행합니다 . 실제 목표점까
지 적절하게 방향 설정이 계속 실행됩니다 .
원 각도가 동작을 단축할 경우 , 프로그래밍된 방향 설
정에 도달하지 못합니다 .

6.4.4.1 SCIRC: 방향 컨트롤 - 예 : 보조점

아웃풋 상황  TCP 에 다음과 같은 방향 설정이 프로그래밍되어 있습니다 .


 시작점 : 0°
 보조점 : 98°
 목표점 : 197°
 방향 전환은 197° 입니다 .
보조점을 무시하면 , 더 짧은 전환 경로 (360° - 197° = 163°) 로 목표 방
향 설정에 도달할 수 있습니다 .
 표시된 주황색 화살표는 프로그래밍된 방향 설정을 나타냅니다 .
 회색 화살표가 프로그래밍된 방향 설정과 다를 경우 회색 화살표는 현
재의 방향 설정을 도식으로 나타내는 것입니다 .

#INTERPOLATE

그림  6-32: #INTERPOLATE

SP 시작점

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 165 / 353


로봇 프로그래밍 1

AuxP 보조점
TP 목표점

 TCP 는 보조점에서 98° 로 프로그래밍된 방향 설정을 수행합니다 .


 방향 전환은 197° 입니다 .

#IGNORE

그림  6-33: #IGNORE

 짧은 163° 경로로 방향이 전환됩니다 .


 보조점의 프로그래밍된 방향은 무시됩니다 .

#CONSIDER

그림  6-34: #CONSIDER

 프로그래밍된 보조점의 방향 설정은 98° 이고 , 이에 따라 진로가 연장되었


습니다 .
 따라서 로봇 제어 시스템이 연장된 진로로 방향을 전환합니다 .

#CONSIDER 는 사용자가 보조점을 경유하지 않고 어떤 방향으로


TCP 를 전환하고자 하는지 지정할 때 적합합니다 . 사용자가 보조점
을 경유하는 방향을 지정할 수도 있습니다 .

#CONSIDER 에 대
한 다른 예시

그림  6-35: #CONSIDER, 다른 예시

166 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 보조점을 262° 으로 프로그래밍하면 거리가 더 단축될 수 있습니다 .


 따라서 로봇 제어 시스템이 단축된 거리로 방향을 전환할 수 있습니다 .
 이때 회색 화살표가 보조점의 프로그래밍된 방향 설정을 반드시 따르지는
않습니다 .

6.4.4.2 SCIRC: 방향 컨트롤 - 예 : 보조점

설명  표시된 주황색 화살표는 프로그래밍된 방향 설정을 나타냅니다 .


 회색 화살표가 프로그래밍된 방향 설정과 다를 경우 회색 화살표는 현재
의 방향 설정을 나타내는 것입니다 .

#INTERPOLATE

그림  6-36: #INTERPOLATE

SP 시작점
AuxP 보조점
TP 프로그래밍된 목표점
TP_CA 실제 목표점 . 원 각도를 이용해 산출됨 .

 프로그래밍된 방향 설정이 TP_CA 전방에 있는 TP 에 아직 도달하지 못했


습니다 .
 TP_CA 에서 프로그래밍된 방향 설정이 실행됩니다 .

#EXTRAPOLATE

그림  6-37: #EXTRAPOLATE

 TP 에서 프로그래밍된 방향 설정이 실행됩니다 .


 이러한 방향 설정이 TP_CA 에서도 원 각도에 따라 실행됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 167 / 353


로봇 프로그래밍 1

6.4.4.3 $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.5 경로 동작 시 우회

경로 동작 우회
우회는 써클 모션 생성에는 적합하지 않습니다 . 이 기능은 포인트에
서 정확하게 정지하는 것을 방지하기 위해서만 사용됩니다 .

동작 유형 SLIN 과 SCIRC 에서 우회

168 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

동작 유형 특징 우회 거리
 경로진행은 2 개의 mm 표기
포물선형 나뭇가지
와 같습니다 .

 경로진행은 2 개의 mm 표기
포물선형 나뭇가지
와 같습니다 .
 목표점이 우회됩니

6.5 모션 명령 변경하기

모션 명령 변경 현재의 모션 명령을 변경해야 하는 이유는 매우 다양합니다 :

예가 되는 이유 실행해야 할 변경사항
 잡고자 하는 부품의 위치가 변경  위치 데이터 변경
됩니다 .
 처리 시 5 개의 구멍 중 1 개의 위
치가 변경됩니다 .
 용접 심을 줄여야 합니다 .
 팔레트 위치가 변경됩니다 .  프레임 데이터 변경 : 베이스
 실수로 한 위치가 잘못된 베이스  프레임 데이터 변경 : 위치 업데
혹은 잘못된 툴로 교시되었습니 이트를 통한 베이스 및 / 또는 툴
다.
 처리 시간이 너무 길 경우 : 사이  모션 데이터 변경 : 속도 , 가속도
클 시간을 개선해야 합니다 .  모션 유형 변경

모션 명령 변경 시 위치 데이터 변경하기
의 효과  포인트의 데이터 세트만 변경됩니다 . 포인트는 새 좌표를 갖습니다 .
"Touchup" 으로 값이 업데이트되었기 때문입니다 .
이전의 점 좌표는 덮어쓰기되었고 이제 더 이상 사용할 수 없습니다 !

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 169 / 353


로봇 프로그래밍 1

그림  6-38: " 터치업 "(Touchup) 을 사용한 로봇 위치 변경

프레임 데이터 변경하기


 프레임 데이터(예를 들어 툴, 베이스)를 변경할 때 위치가 이동됩니다("벡
터이동 " 비고 )
 로봇 위치가 변경됩니다 ! ( 로봇의 축 각도 위치에 상응하여 )
포인트의 이전 좌표는 여전히 저장되어 있고 유효합니다 . 단지 기준만 (
예를 들어 베이스 ) 변경됩니다 .
 작업영역을 넘어서는 경우가 발생할 수 있습니다 ! 이로써 특정 로봇 위치
에는 이를 수 없습니다 .
 로봇 위치가 여전히 동일할 경우 , 그렇지만 그럼에도 불구하고 프레임 파
라미터가 변경될 경우 파라미터 ( 예를 들어 베이스 ) 를 변경한 후 원하는
위치에서 좌표를 "Touchup" 을 사용하여 업데이트해야 합니다 .

사용자 대화상자가 별도로 경고합니다 : " 주의 - 포인트와 관련된 프


레임 데이타 변경 시 충돌 위험 !"

그림  6-39: 프레임 데이터 변경 ( 예를 들어 베이스 )

모션 데이터 변경하기
 속도 및 가속도를 변경할 때 이동 프로파일이 변경됩니다 . 이는 특히 트
랙 어플리케이션에서 처리 프로세스에 영향을 미칠 수 있습니다 :

170 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 접착제 도포의 두께
 용접 심의 품질
모션 유형 변경하기
 모션 유형을 변경하면 항상 트랙 진행계획도 변경됩니다 . 이로 인해 부적
절한 상황에서 충돌을 일으킬 수 있습니다 . 트랙이 예견하기 어렵게 변경
되기 때문입니다 .

그림  6-40: 동작 유형 변경

모션 명령 변경을
 
위한 안전지침  
 
 매번 모션 명령을 변경한 후 로봇 프로그램을 감속된 상태(모드 유형 T1)
에서 테스트해야 합니다 .
 로봇 프로그램을 높은 속도로 즉각 시작하면 예측할 수 없는 모션이 발
생할 수 있기 때문에 로봇 시스템과 설비를 손상시킬 수 있습니다 .
 위험구역에 인원이 있을 경우 치명적인 부상을 입을 수 있습니다 .

모션 파라미터 변경 1. 변경할 지령이 있는 행으로 커서를 이동시키십시오 .


- 프레임 2. 변경을 누릅니다 . 지령을 위한 인라인 양식이 열립니다 .
3. 옵션 창 프레임을 엽니다 .
4. 새 툴 혹은 베이스 , 외부 TCP 를 설정합니다 .
5. 사용자 대화창 " 유의 . 포인트에 대한 프레임 파라미터 변경 시 충돌의 위
험이 있습니다 !" 를 OK 를 눌러 확인하십시오 .
6. 현재의 로봇 위치를 변경된 툴 및 / 또는 베이스 설정에서도 유지하려면
Touch Up 버튼을 눌러 현재의 위치를 다시 계산하여 저장해야 합니다 .
이에 앞서 원하는 위치로 이동해 있어야 합니다 .
7. 명령 OK 를 눌러 변경 내용을 저장하십시오 .

프레임 파라미터를 변경할 경우 충돌의 위험이 없는지 프로그램을 다


시 테스트해야 합니다 .

위치 변경 로봇 위치를 변경하기 위한 진행 방식 :

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 171 / 353


로봇 프로그래밍 1

1. 작동모드 T1 을 세팅하고 변경할 지령이 있는 행으로 커서를 이동시키십


시오 .
2. 로봇을 원하는 위치로 이동시킵니다 .
3. 변경을 누릅니다 . 지령을 위한 인라인 양식이 열립니다 .
4. SPTP 및 SLIN 동작의 경우 :
 TCP 의 현재 위치를 새로운 목표점으로 적용하기 위해 Touchup 을 누
릅니다 .
SCIRC 동작의 경우 :
 TCP 의 현재 위치를 새로운 보조점으로 적용하기 위해 , 보조점
Touchup 을 누릅니다 .
 또는 TCP 의 현재 위치를 새로운 목표점으로 적용하기 위해 , 목표점
Touchup 을 누릅니다 .
5. 확인창을 예로 확인하십시오 .
6. 명령 OK 를 눌러 변경 내용을 저장합니다 .

모션 파라미터 변경 이 방법은 다음과 같은 변경에 사용될 수 있습니다 :


 동작 유형
 속도
 가속도
 우회
 우회 거리
진행 방법
1. 변경할 지령이 있는 행으로 커서를 이동합니다 .
2. 변경을 누릅니다 . 지령을 위한 인라인 양식이 열립니다 .
3. 파라미터를 변경하십시오 .
4. 명령 OK 를 눌러 변경 내용을 저장하십시오 .

모션 파라미터를 변경할 때 프로그램을 충돌 가능성 및 공정 안전성


관점에서 다시 점검해야 합니다 .

인라인 양식으로 프  포인트 이름 바꾸기


로그래밍할 때의 특 a. 이름을 바꿀 포인트를 커서로 선택하십시오 .
징 b. 버튼영역 " 변경 " 을 눌러 인라인 양식을 여십시오 .
c. 포인트 이름을 인라인 양식에서 변경하십시오 ( 포인트 이름 필드 ).
d. 변경사항을 버튼영역 "OK" 를 눌러 채택하십시오 .
e. 다음과 같은 대화상자가 나타납니다 : 포인트 " 포인트 이름 " 의 이전 좌
표를 그대로 유지하시겠습니까 ? (TOOL_DATA[n], BASE_DATA[n],
#BASE)
f. 버튼영역 " 예 " 로 원래 포인트의 이전 좌표를 채택합니다 .
 포인트 다중 사용
a. 새 인라인 양식을 원하는 프로그램 위치에 삽입하십시오 .
b. 다시 사용하고자 하는 포인트의 이름을 인라인 양식에 입력하십시오
( 포인트 이름 필드 ).
이때 포인트 이름을 있는 그대로 정확히 기입하도록 유의하십시오 .
c. 그 외 다른 설정 작업을 실행한 후 버튼영역 " 명령 OK" 를 눌러 채택
하십시오 .
d. 다음과 같은 대화상자가 나타납니다 : 포인트 " 포인트 이름 " 이 이미 존
재합니다 - 덮어쓰시겠습니까 ? (TOOL_DATA[n], BASE_DATA[n],
#BASE)
e. 버튼영역 " 아니오 " 를 눌러 원래의 포인트의 기존의 포인트 파라미터
를 덮어쓰지 않습니다 .

172 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 프로그램 행 삽입
a. 기존의 프로그램 행을 커서로 선택하십시오 .
b. 버튼영역 모션으로 새 인라인 양식을 여십시오 .

새 인라인 양식은 항상 선택한 프로그램 행 뒤에 삽입됩니다 . 그 다


음에 오는 프로그램 행은 한 행씩 뒤로 밀립니다 .

 프로그램 행 삭제
a. 삭제하고자 하는 프로그램 행을 커서로 선택하십시오 .
b. 메뉴 경로 : 버튼영역 편집 > 삭제

이에 속하는 .dat 파일에 포인트와 관련된 값이 남아 있습니다 . 포인


트 다중 사용도 참조 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 173 / 353


로봇 프로그래밍 1

6.6 연습 : 트랙 이동 및 혼합

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 동작 유형 SPTP, SLIN, SCIRC 이 있는 단순 동작 프로그램 생성
 정밀 정지점 및 혼합 동작이 있는 동작 프로그램 작성
 탐색기 내에서의 프로그램 취급 ( 복사 , 복제 , 이름 바꾸기 및 삭제 )

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 동작 유형 SPTP, SLIN, SCIRC 이 있는 동작 프로그램 생성의 기반


 동작의 혼합에 대한 이론적 지식

 HOME 위치에 대한 이론적 지식

작업 설정 1

그림  6-41: 부품 컨투어 , 정지점이 있는 경로 이동

1 시작점 2 부품 컨투어

1. 경로 _ 정확 정지란 이름의 새 프로그램을 만듭니다 .


2. 툴을 사용하여 작업대에서 부품 컨투어 (2) 를 티칭합니다 .
 툴
번호 _____ 이름 :_______________
 베이스
번호 _____ 이름 :_______________
 작업대에서의 이동 속도는 0.3m/ 초입니다
 툴의 세로축은 트랙의 윤곽에 대해 항상 수직이라는 점에 유의하십시
오 ( 정향 가이드 : 기본 )
3. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

174 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

작업 설정 2

그림  6-42: 부품 컨투어 , 경로 이동 , 우회

1 시작점 2 부품 컨투어

프로그램 복사 및 혼합
1. 경로 _ 정확 정지 프로그램의 복제본을 생성하고 이름을 경로 _ 우회라고
지정합니다 .
2. 혼합 지령을 새 프로그램의 동작 명령에 삽입하여 윤곽이 끊임없이 진행
되도록 하십시오 .
3. 윤곽 모서리는 상이한 혼합 매개변수로 진행될 것입니다 .
4. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

질문 지금 알아야 할 사항 :
SLIN 과 SCIRC 동작의 특징은 무엇입니까 ?
......................................................
......................................................
......................................................
SPTP, SLIN, SCIRC 동작에서 이동 속도를 어떻게 입력하며 이 속도는 무엇
을 기준으로 합니까 ?
......................................................
......................................................
......................................................
SPTP, SLIN, SCIRC 동작에서 우회 거리를 어떻게 입력하며 이 간격은 무엇
을 기준으로 합니까 ?
......................................................
......................................................
CONT 지령을 기존의 동작 명령에 삽입하면 무엇에 유의해야 합니까 ?
......................................................
......................................................
HOME 위치를 변경할 때 무엇에 유의해야 합니까 ?
......................................................
......................................................
프로그래밍된 점을 수정 , 변경 또는 삭제할 때 무엇에 유의행 합니까 ?
......................................................
......................................................

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 175 / 353


로봇 프로그래밍 1

176 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

7.1 개요

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


 인라인 양식을 이용한 스플라인 블록 만들기
 스플라인 블록에서 속도 프로필
 스플라인 블록에서의 변경
 스플라인 동작의 근사접근

7.2 인라인 양식을 이용한 스플라인 블록의 프로그래밍

일반 사항  상대적 동작, SPTP, SLIN 및 SCRIC가 포함된 단일 레코드에 추가적으로


"SPLINE 블록 " 을 사용할 수 있습니다 .
 SPLINE 블록은 " 복잡한 경로 " 를 갖는 개별 동작으로서 이해하고 계획해
야 합니다 .
 다음과 같은 2 가지 유형의 SPLINE 블록이 존재합니다 :
 CP-SPLINE 블록 : CP 동작이 포함된 스플라인 (SPL, SLIN, SCIRC)
 PTP-SPLINE 블록: 작업 공간에서만 동작하는 스플라인 (SPTP에만
적용 )
 SPLINE 블록은 TOOL, BASE 및 IPO_MODE 를 포함하는 동작 레코드이
지만 , 개별 세그먼트에서 서로 다른 속도 및 가속도를 갖습니다 .
 경로는 모든 포인트를 통해 계획되므로 모든 점을 통과합니다 .
 경로 전체가 사전에 계산됩니다 . 이를 통해 전체 경로를 알 수 있으며 축
의 작업 영역에서 계획을 통한 경로의 최적화가 가능합니다 .
 매우 좁은 컨투어를 갖는 경로에서는 항상 속도의 감소가 필연적인데 , 그
이유는 로봇 축이 제한적 요소로 작용하기 때문입니다 .
 연속적인 경로가 모든 점을 통해 할당되므로 , 스플라인 블록 내에서는 근
사접근이 필요하지 않습니다 .
 "일정 속도" 또는 "확정된 시간"과 같은 추가적 기능을 컨피규레이션할 수
있습니다 .
 블록 내 세그먼트의 수는 메모리 용량을 통해서만 제한됩니다 .
 스플라인 블록은 동작 세그먼트 외에 다음 요소를 포함할 수 있습니다 :
 스플라인 기능을 갖는 테크놀로지 패키지의 인라인 명령
 메모 및 공백 행
 스플라인 블록은 예를 들어 변수 할당 또는 로직 지령과 같은 기타 지령을
포함할 수 없습니다 .

스플라인 블록의 시작점은 스플라인 블록 전 마지막 포인트입니다 .


스플라인 블록의 목표점은 스플라인 블록 내 마지막 포인트입니다 .
스플라인 블록은 전진 중지를 발생시키지 않습니다 .

7.3 스플라인 동작 시 속도 프로필

SPLINE 속도  경로는 오버라이드 , 속도 또는 가속도에 상관없이 항상 동일하게 진행됩


니다 .
 로봇 제어 시스템은 이미 플래닝 단계에서 로봇의 물리적 한계를 고려합
니다 .
 로봇은 프로그래밍된 속도의 범위 내에서 최대한 신속하게 , 즉 로봇의 물
리적 한계 범위 내에서 최대 속도로 동작합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 177 / 353


로봇 프로그래밍 1

 이것은 플래닝 단계에서 물리적 한계가 고려되지 않는 기존 방식의 LIN


및 CIRC 동작과 비교하여 이점으로 작용합니다 .
 여기에서는 동작이 실행되고 나서야 물리적 한계가 고려되고 상황에 따
라 정지가 발생합니다 .

속도 감속 프로그래밍된 속도에 미달해야 하는 대표적인 경우는 다음과 같습니다 .


 뚜렷한 코너
 큰 방향 전환
 부가축의 큰 동작
 특이성 오류의 인접 위치

스플라인 세그먼트의 경우 큰 방향 전환으로 인한 속도 감속은 방향


컨트롤 회전 없이의 선택을 통해 방지할 수 있습니다 .

0 으로 속도 감속 다음과 같은 경우에 해당 :
 동일한 좌표를 갖는 연속되는 포인트
 연속되는 SLIN 및 / 또는 SCIRC 세그먼트 .
원인 : 속도 벡터의 불연속적 진행 .

그림  7-1: P2 에서 정확 정지

SLIN-SCIRC 전환 시 직선이 접선을 거쳐 원으로 바뀔 때에도 속도는 0


이 됩니다 . 직선과 달리 원은 휘어져 있기 때문입니다 .

그림  7-2: P2 에서 정확 정지

예외  직선이 나타나고 방향이 일정하게 변하는 SLIN 세그먼트가 연속되는 경


우 속도는 감소되지 않습니다 .

그림  7-3: P2 가 정확 정지 (exact stop) 없이 이동합니다 .

 양측 원이 동일한 중심점 및 동일한 반경을 가지며 방향이 일정하게 변하


는 경우에는 SCIRC-SCIRC 전환부에서 속도가 감소되지 않습니다 . ( 티
칭이 어려우므로 포인트 계산 및 프로그래밍 )

178 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

동일한 중점 및 동일한 반경을 갖는 원은 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}
; 1° mm 당 방향 전환 ( 직교 좌표 거리
SPL {x 0, y 110, z 0, A 20, B 0, C 0}
; 0,055° mm 당 방향 전환 ( 직교 좌표 거리
SPL {x 0, y 310, z 0, A 31, B 0, C 0}
ENDSPLINE

 
 
 
 직교 좌표적 위치 , 방향 설정 , 보조 축은 지오메트리 계획에 밀접하게 연
관되어 있습니다 .
 스플라인의 직교 좌표적 경로 탄젠트를 따라 TCP에 "그리면", 방향 설정
과 보조 축이 자동으로 유사하게 회전한 후 ( 연결로 인해 ) 역방향으로도
회전합니다 ( 특히 일반적으로 모든 세그먼트 경계 전체가 보간됩니다 ).
 다음과 같이 프로그래밍된 값을 준수하기 위해서는 직교 좌표적 속도는
여러 번 의도치 않게 감소해야 합니다 ( 연결로 인해 ).
 방향 전환 ($JERK.ORI),
 방향 가속 ($ACC.ORI1) 또는
 방향 속도 ($VEL.ORI1)

 방향 진로에서 직교 좌표적 진로 ( 아치 길이 ) 까지 불규칙적으로 분포된 경


우에는 방향을 매우 빈번하게 가속하거나 감속해서 의도적으로 방향 전환
의 폭을 크게 해야 합니다 .
 이를 통해 진로 분배가 불규칙적인 경우 방향 진로 분배가 규칙적일 경우
보다 ( 비율적으로 ) 속도 감소가 매우 빈번하게 나타납니다 .
 또한 충격이 크면 로봇과 로봇 손이 진동할 수 있습니다 .
인라인 양식 또는 KRL 에 따라 방향 설정 가이드 차단
$ORI_TYPE = #IGNORE

조치
방향 설정과 보조 축을 가능한 한 동일하게 분포시키십시오 .

규칙적 분포 예 :
; 스플라인의 시작점
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}

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 179 / 353


로봇 프로그래밍 1

; 0,1° mm 당 방향 전환 ( 직교 좌표 거리
SPL {x 0, y 310, z 0, A 31, B 0, C 0}
ENDSPLINE

프로그래밍된 방향
설정 있음

그림  7-4: 프로그래밍된 방향 포함

프로그래밍된 방향
설정 없음

그림  7-5: 프로그래밍된 방향 비포함

번호 비고
1 적절한 방향 설정이 티칭된 위치
2 보간 위치
3 적절한 방향 설정이 티칭된 위치, 해당 위치의 방향 설정을
적용할 수 없음

 
 
 
 가끔씩 다수의 포인트가 비교적 짧은 간격으로 프로그래밍됩니다 .
 주로 직교 좌표적 경로 (x, y, z) 를 선호합니다 .
 스플라인은 프로그래밍된 방향 설정도 보간하여 속도 감소를 유발할 수
있습니다 .
 따라서 이러한 경우 IGNORE 인라인 양식을 선택하는 것이 좋습니다 .

7.4 스플라인 블록에서 변경

설명  포인트 위치의 변경 :
스플라인 블록 내에서 포인트가 이동되는 경우 , 경로는 이 포인트 앞의 최
대 2 개의 세그먼트에서 그리고 이 포인트 뒤의 2 개의 세그먼트에서 변합
니다 .
경미한 포인트 이동 시 일반적으로 경미한 경로 변경이 나타납니다 . 하지
만 매우 긴 세그먼트 및 매우 짧은 세그먼트가 이어지는 경우에는 경미한
변경이 매우 큰 효과를 나타낼 수 있습니다 .

180 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 세그먼트 타입의 변경 :
SPL 세그먼트가 SLIN 세그먼트로 변경되거나 또는 그 반대로 변경되는
경우 선행된 세그먼트 및 후속 세그먼트에서 경로가 변합니다 .

예시 1 오리지날 패스 :

그림  7-6: 오리지날 패스

PTP P0
SPLINE
SPL P1
SPL P2
SPL P3
SPL P4
SCIRC P5, P6
SPL P7
SLIN P8
ENDSPLINE

오리지날 패스에서 하나의 포인트가 이동되는 경우 :

그림  7-7: 포인트가 이동됨

 P3 이 이동됩니다 .
 이로 인해 세그먼트 P1 - P2, P2 - P3 및 P3 - P4 에서 경로가 변합니
다.
 이 경우 P4 - P5 세그먼트는 변하지 않는데 , 그 이유는 이 세그먼트가
SCIRC 에 속하며 이로써 원형 경로가 결정된 상태이기 때문입니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 181 / 353


로봇 프로그래밍 1

오리지날 패스에서 하나의 세그먼트 타입이 변경되는 경우 :

그림  7-8: 세그먼트 타입 변경됨

PTP P0
SPLINE
SPL P1
SPL P2
SLIN P3
SPL P4
SCIRC P5, P6
SPL P7
SLIN P8
ENDSPLINE

 오리지날 패스의 경우 P2 - P3 의 세그먼트 타입이 SPL 에서 SLIN 으로


변합니다 .
 이 경로는 P1 - P2, P2 - P3 및 P3 - P4 세그먼트로 변경됩니다 .

예시 2 오리지날 패스 :

그림  7-9: 오리지날 패스

...
SPLINE SPL {X 100, Y 0, ...}
SPL {X 102, Y 0}
SPL {X 104, Y 0}
SPL {X 204, Y 0}ENDSPLINE

오리지날 패스에서 하나의 포인트가 이동되는 경우 :

그림  7-10: 포인트가 이동됨

182 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

...SPLINE
SPL {X 100, Y 0, ...}
SPL {X 102, Y 1}
SPL {X 104, Y 0}
SPL {X 204, Y 0}
ENDSPLINE

 P3 이 이동됩니다 .
 이로써 표시된 모든 세그먼트에서 경로가 변합니다 .
 P2 - P3 및 P3 - P4 는 매우 짧은 세그먼트이고 P1 - P2 및 P4 - P5 는
매우 긴 세그먼트이므로 , 경미한 이동이 강한 경로 변경 효과를 나타냅니
다.
조치 :
 포인트 간격을 더욱 균일하게 분포시킴
 SLIN 세그먼트로서 직선 ( 매우 짧은 직선 제외 ) 을 프로그래밍함

7.5 스플라인 동작 시 레코드 선택

스플라인 블록  스플라인 블록의 세그먼트로 레코드 선택을 실시할 수 있습니다 .


 CP 스플라인 블록 :
SAK 이동이 기존의 LIN 동작으로서 수행됩니다 . 이 내용은 확인이
요구되는 메시지를 통해 표시됩니다 .
 PTP 스플라인 블록 :
SAK 이동이 기존의 PTP 동작으로서 수행됩니다 . 이 내용은 메시지
를 통해 표시되지 않습니다 .
 일반적으로 레코드 선택 후에 프로그램 진행에서 스플라인이 처리되는 것
처럼 경로가 진행됩니다 .
 레코드 선택 전에 아직 한번도 스플라인이 처리되지 않았고 이런 조건에
서 스플라인 블록의 시작 위치로 레코드 선택이 실시되는 경우에는 예외
가 가능합니다 :
 스플라인 동작의 시작점은 스플라인 블록 전 마지막 포인트입니다. 즉
시작점이 블록 밖에 존재합니다 .
로봇 컨트롤러는 스플라인의 정상적인 처리 시 시작점을 저장합니다 .
이를 통해 나중에 레코드 선택을 실시할 때 시작점을 알 수 있습니다 .
스플라인 블록이 아직 처리된 적이 없는 경우에는 시작점을 알 수 없
습니다 .
 SAK 이동 후 시작 버튼을 누르면 , 변경된 경로가 확인해야 하는 메시
지를 통해 표시됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 183 / 353


로봇 프로그래밍 1

예시 : P1 로 레코
드 선택 시 변경된
경로

그림  7-11: 예시 : 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 스플라인 블록인지 또는 어떤 종류의 개별 동작인지
는 중요하지 않습니다 .
 우회 아치는 항상 동작 유형의 두 번째 동작과 일치합니다 .
 예를 들어 SPTP-SLIN 우회 시 우회 아치는 CP 유형입니다 .
 스플라인 동작은 기존 동작 (LIN, CIRC, PTP) 으로 우회할 수 없습니다 .

184 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

시간 또는 전진 중  시간적 이유 또는 전진 중지로 인해 우회할 수 없는 경우 , 로봇이 우회 아


지로 인해 우회할 치의 시작 위치에서 대기합니다 .
수 없는 경우 :  시간적 이유인 경우 : 다음 레코드의 계획이 가능하게 되는 즉시 로봇
이 계속 이동합니다 .
 전진 중지의 경우 : 우회 아치의 시작점이 현재 레코드의 끝에 도달한
상태입니다 . 즉 , 전진 중지가 해제되고 로봇 제어 시스템이 다음 레코
드를 계획할 수 있습니다 . 로봇이 계속 이동합니다 .
 이 두 가지 경우에 로봇이 우회 아치로 이동합니다 . 정확하게 표현하면 우
회할 수 있지만 , 단지 지연될 뿐입니다 .
 이러한 양상은 LIN, CIRC 또는 PTP 동작과 다릅니다 . 언급한 이유로 인
해 우회할 수 없는 경우에는 목표점으로 정확하게 이동합니다 .
MSTEP 및 ISTEP 에 근사접근 없음 :
프로그램 처리 유형 MSTEP 및 ISTEP 에서는 근사접근 동작 시에도 목표점
이 정확하게 접근됩니다 .
스플라인 블록에서 스플라인 블록으로의 근사접근 시 이 정확 정지의 결과로
서 제 1 블록의 마지막 세그먼트 및 제 2 블록의 제 1 세그먼트의 경로는 프로
그램 처리 유형 GO 에서와는 다릅니다 .
이 두 가지 스플라인 블록의 다른 모든 세그먼트에서는 MSTEP, ISTEP 및
GO 의 경로가 동일합니다 .

7.7 우회 CP 동작을 스플라인 블록으로 대체

설명  기존의 우회 CP 동작을 스플라인 블록으로 바꾸기 위해서는 , 다음과 같이


프로그램을 변경해야 합니다 .
 LIN - LIN 을 SLIN - SPL - SLIN 으로 대체하십시오 .
 LIN - CIRC 를 SLIN - SPL - SCIRC 로 대체하십시오 .
권장사항 : SPL 을 기존의 원 안으로 약간 돌출시키십시오 . 이를 통해
SCIRC 가 나중에 기존 CIRC 대로 실행합니다 .
 우회 동작 시 코너 포인트가 프로그래밍됩니다 .
그 대신 스플라인 블록에서는 우회 시작 위치 및 우회 끝위치에서 포인트
가 프로그래밍됩니다 .

예시

그림  7-12: 근사접근 동작 - 스플라인 동작

P1A 우회 시작 위치 P1B 우회 끝 위치

다음의 우회 동작을 시뮬레이션해야 합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 185 / 353


로봇 프로그래밍 1

LIN P1 C_DIS
LIN P2

스플라인 동작 :
SPLINE
SLIN P1A
SPL P1B
SLIN P2
ENDSPLINE

P1A 및 P1B 를 측정하는 방법 :


 우회 경로에서 이탈하고 원하는 위치에서 트리거를 통해 위치를 저장하십
시오 .
 KRL 로 프로그램의 포인트를 계산하십시오 .
 우회 시작 위치는 우회 기준을 기반으로 계산할 수 있습니다 .
예시 : 우회 기준이 C_DIS 인 경우 , 우회 시작 위치에서 코너 포인트까지
의 간격은 $APO.CDIS 값과 일치합니다 .
우회 끝 위치는 프로그래밍된 속도에 따라 결정됩니다 .
결과
 P1A 및 P1B 가 정확하게 우회 시작 위치 및 우회 끝 위치에 존재하는 경
우에도 SPL 경로는 정확하게 우회 아치와 일치하지 않습니다 .
 정확하게 우회 아치를 산출하기 위해서는 스플라인에 추가 포인트를 삽입
해야 합니다 .
 일반적으로 하나의 포인트로 충분합니다 .

예시 다음의 우회 동작을 시뮬레이션해야 합니다 .


$APO.CDIS=20
$VEL.CP=0.5
LIN {Z 10} C_DIS
LIN {Y 60}

스플라인 동작으로 대체 :
SPLINE WITH $VEL.CP=0.5
SLIN {Z 30}
SPL {Y 30, Z 10}
SLIN {Y 60}
ENDSPLINE

우회 아치 시작 위치가 우회 기준을 기반으로 산출되었습니다 .

186 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  7-13: 예시 : 근사접근 동작 - 스플라인 동작 , 1

아직 SPL 경로가 우회 아치와 정확하게 일치하지 않습니다 .


따라서 다른 SPL 세그먼트가 스플라인에 삽입됩니다 .
SPLINE WITH $VEL.CP=0.5
SLIN {Z 30}
SPL {Y 15, Z 15}
SPL {Y 30, Z 10}
SLIN {Y 60}
ENDSPLINE

그림  7-14: 예시 : 근사접근 동작 - 스플라인 동작 , 2

이제 보조 포인트를 통해 경로가 우회 아치와 일치하게 됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 187 / 353


로봇 프로그래밍 1

7.7.1 SLIN-SPL-SLIN 천이부

세그먼트 순서가 SLIN-SPL-SLIN 인 경우 일반적으로 SPL 세그먼트가 양측


직선 사이에서 더 작은 각도로 진행하는 것이 바람직합니다 . 하지만 SPL 세
그먼트의 시작점 및 목표점에 따라서 경로가 외부로 진행할 수도 있습니다 .

그림  7-15: SLIN-SPL-SLIN

경로는 다음과 같은 조건이 충족될 경우 내부로 진행합니다 :


 양측 SLIN 세그먼트가 그 연장선 상에서 교차함 .
 2/3 ≤ a/b ≤ 3/2
a = SLIN 세그먼트의 교차점에 대한 SPL 세그먼트 시작점의 간격
a = SPL 세그먼트의 목표점에 대한 SLIN 세그먼트 교차점의 간격

7.8 인라인 양식을 이용한 CP-SPLINE 스플라인 블록의 프로그래밍

CP 스플라인 블록

그림  7-16: 인라인 양식 CP 스플라인 블록

번호 설명
1 스플라인 블록의 이름 . 시스템이 자동으로 이름을 부여합니다 .
이름은 덮어쓰기할 수 있습니다 .
동작 데이터의 처리를 위해 화살표를 터치하십시오 . 해당 옵션창
이 열립니다 .

2  CONT: 목표점이 근사접근됩니다 .


 [ 비어 있음 ]: 목표점이 정확하게 접근됩니다 .

188 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

번호 설명
3 직교좌표 속도
 0.001 … 2 m/s
4 동작 데이터 레코드의 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
동작 데이터의 처리를 위해 화살표를 터치하십시오 . 해당 옵션창
이 열립니다 .

그림  7-17: 옵션창 프레임 (CP 및 PTP 스플라인 블록 )

번호 설명
1 툴을 선택하십시오 .
또는 : 익스터널 TCP 필드에 True 가 지정된 경우 : 공작물을 선택
하십시오 .
 [1] … [16]
2 베이스를 선택합니다 .
또는 : 익스터널 TCP 필드에 True 가 지정된 경우 : 고정 툴을 선
택하십시오 .
 [1] … [32]
3 보간 모드
 False: 툴은 마운팅 플랜지에 장착되어 있습니다 .
 True: 툴은 고정 툴입니다 .

그림  7-18: 옵션창 동작 파라미터 (CP 스플라인 블록 )

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 189 / 353


로봇 프로그래밍 1

번호 설명
1 축 속도 . 이 값은 머신 데이터에 명시된 최대값을 기준으로 함 .
 1 … 100 %
2 축 가속도 . 이 값은 머신 데이터에 명시된 최대값을 기준으로 함 .
 1 … 100 %
3 기어 저크 . 저크는 가속도 변화에 해당합니다 .
이 값은 머신 데이터에 명시된 최대값을 기준으로 함 .
 1 … 100 %
4 방향 컨트롤을 선택합니다 .
5 방향 컨트롤의 기준 시스템을 선택합니다 .
이 파라미터는 SCIRC 세그먼트 ( 존재하는 경우 ) 에만 작용합니
다.
6 이 필드는 인라인 양식에서 CONT 가 선택된 경우에만 표시됩니
다.
근사접근이 가장 빨리 시작되는 목표점 이전의 거리 .
이 거리는 스플라인에서 마지막 세그먼트와 같거나 작을 수 있습
니다. 단 하나의 세그먼트가 존재하는 경우 최대 거리는 세그먼트
길이의 절반입니다 . 여기에 더 큰 값을 입력하는 경우 , 이 값은
무시되고 최대값이 사용됩니다 .

CP 스플라인 블록
의 프로그래밍

그림  7-19: 인라인 양식 CP 스플라인 세그먼트

기본적으로 인라인 양식의 모든 필드가 표시되지는 않습니다 . 이 필드는 파


라미터 전환 단추를 이용해 보이게 하거나 또는 숨길 수 있습니다 .

번호 설명
1 동작 유형
 SPL, SLIN 또는 SCIRC
2 SCIRC 에만 적용 : 보조점을 위한 포인트 이름
시스템이 자동으로 이름을 부여합니다 . 이름은 덮어쓰기할 수 있
습니다 .

3 목표점을 위한 포인트 이름 . 시스템이 자동으로 이름을 부여합니


다 . 이름은 덮어쓰기할 수 있습니다 .
포인트 데이터의 편집을 위해 화살표를 터치합니다 . 해당 옵션창
이 열립니다 .

190 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

번호 설명
4 직교좌표 속도
기본적으로 세그먼트에는 스플라인 블록에 유효한 값이 적용됩니
다 . 필요 시 여기에서 세그먼트에 별도의 값을 할당할 수 있습니
다 . 값은 이 세그먼트에만 적용됩니다 .
 0.001 … 2 m/s
5 동작 데이터 레코드의 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
기본적으로 세그먼트에는 스플라인 블록에 유효한 값이 적용됩니
다 . 필요 시 여기에서 세그먼트에 별도의 값을 할당할 수 있습니
다 . 값은 이 세그먼트에만 적용됩니다 .
데이터의 처리를 위해 화살표를 터치하십시오 . 해당 옵션창이 열
립니다 .

6 원 각도
이 정보는 동작 유형 SCIRC 가 선택된 경우에만 제공됩니다 .
 - 9 999° … + 9 999°
- 400° 미만 또는 + 400° 이상의 값을 입력하는 경우 , 인라인
양식의 저장 시 입력의 확인 또는 삭제를 묻는 확인창이 나타납니
다.
7 로직 파라미터가 포함된 데이터 레코드의 이름 . 시스템이 자동으
로 이름을 부여합니다 . 이름은 덮어쓰기할 수 있습니다 .
데이터의 처리를 위해 화살표를 터치하십시오 . 해당 옵션창이 열
립니다 .

7.9 ILF 를 이용한 PTP 스플라인 블록 프로그래밍

PTP 스플라인 블

그림  7-20: 인라인 양식 PTP SPLINE Block

번호 설명
1 스플라인 블록의 이름 . 시스템이 자동으로 이름을 부여합니다 .
이름은 덮어쓰기할 수 있습니다 .

동작 데이터의 처리를 위해 화살표를 터치하십시오 . 해당 옵션창


이 열립니다 .

2  CONT: 목표점이 근사접근됩니다 .


 [ 비어 있음 ]: 목표점이 정확하게 접근됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 191 / 353


로봇 프로그래밍 1

번호 설명
3 축 속도
 1 … 100 %
4 동작 데이터 레코드의 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
동작 데이터의 처리를 위해 화살표를 터치하십시오 . 해당 옵션창
이 열립니다 .

그림  7-21: 옵션창 프레임 (CP 및 PTP 스플라인 블록 )

번호 설명
1 툴을 선택하십시오 .
또는 : 익스터널 TCP 필드에 True 가 지정된 경우 : 공작물을 선택
하십시오 .
 [1] … [16]
2 베이스를 선택합니다 .
또는 : 익스터널 TCP 필드에 True 가 지정된 경우 : 고정 툴을 선
택하십시오 .
 [1] … [32]
3 보간 모드
 False: 툴은 마운팅 플랜지에 장착되어 있습니다 .
 True: 툴은 고정 툴입니다 .

그림  7-22: 옵션창 동작 파라미터 (PTP 스플라인 블록 )

192 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

번호 설명
1 축 가속도 . 이 값은 머신 데이터에 명시된 최대값을 기준으로 함 .
 1 … 100 %
2 이 필드는 인라인 양식에서 CONT 가 선택된 경우에만 표시됩니
다.
근사접근이 가장 빨리 시작되는 목표점 이전의 거리 .
이 거리는 스플라인에서 마지막 세그먼트와 같거나 작을 수 있습
니다. 단 하나의 세그먼트가 존재하는 경우 최대 거리는 세그먼트
길이의 절반입니다 . 여기에 더 큰 값을 입력하는 경우 , 이 값은
무시되고 최대값이 사용됩니다 .
3 기어 저크 . 저크는 가속도 변화에 해당합니다 .
이 값은 머신 데이터에 명시된 최대값을 기준으로 함 .
 1 … 100 %

PTP 스플라인 블
록의 프로그래밍

그림  7-23: 인라인 양식 SPTP 세그먼트

기본적으로 인라인 양식의 모든 필드가 표시되지는 않습니다 . 이 필드는 파


라미터 전환 단추를 이용해 보이게 하거나 또는 숨길 수 있습니다 .

번호 설명
1 동작 유형 SPTP
2 목표점을 위한 포인트 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .

포인트 데이터의 편집을 위해 화살표를 터치합니다 . 해당 옵션창


이 열립니다 .

3 축 속도
기본적으로 세그먼트에는 스플라인 블록에 유효한 값이 적용됩니
다 . 필요 시 여기에서 세그먼트에 별도의 값을 할당할 수 있습니
다 . 값은 이 세그먼트에만 적용됩니다 .
 1 … 100 %
4 동작 데이터 레코드의 이름 . 시스템이 자동으로 이름을 부여합니
다 . 이름은 덮어쓰기할 수 있습니다 .
기본적으로 세그먼트에는 스플라인 블록에 유효한 값이 적용됩니
다 . 필요 시 여기에서 세그먼트에 별도의 값을 할당할 수 있습니
다 . 값은 이 세그먼트에만 적용됩니다 .
포인트 데이터의 편집을 위해 화살표를 터치합니다 . 해당 옵션창
이 열립니다 .

5 로직 파라미터가 포함된 데이터 레코드의 이름 . 시스템이 자동으


로 이름을 부여합니다 . 이름은 덮어쓰기할 수 있습니다 .
데이터의 처리를 위해 화살표를 터치하십시오 . 해당 옵션창이 열
립니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 193 / 353


로봇 프로그래밍 1

7.10 연습 : 스플라인 블록이 포함된 경로 컨투어

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 동작 유형 SPTP, SLIN, SCIRC 이 있는 복합 동작 프로그램 생성
 스플라인 블록이 포함된 동작 프로그램 생성

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 동작 유형 SPTP, SLIN, SCIRC, SPL 이 있는 동작 프로그램 생성의 기반


 스플라인 블록 사용에 대한 지식

작업 설정 1
 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

그림  7-24: 스플라인 블록으로 이루어진 경로 컨투어

1. 스플라인 _ 방향이란 이름으로 새 프로그램을 만듭니다 .


2. 툴 ( 번호 _____ 이름 :_______________) 과 베이스 ( 번호 _____ 이름
:_______________) 를 사용합니다 .
3. 경로상 속도는 0.25m/s 입니다 .
4. 슬라이드에 스플라인 컨투어를 티칭합니다 . 이때 스플라인 블록 SPL,
SLIN, SCIRC 를 사용하십시오 .
5. 첫 번째 단계에서 지정된 포인트 B1 ~ B8 만 티칭합니다 .
 툴에 지정된 방향 설정에 유의하십시오 .
 원 각도는 520° 입니다 .
6. 작동 모드 T1 에서 프로그램을 티칭합니다 .

경로가 원하는 컨투어와 일치하지 않습니다 !

194 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 
 
 로봇을 스플라인 컨투어의 시작점까지 이동시키고 , 로봇 위치를 확인하
십시오 .
 이동 버튼으로 로봇을 베이스 좌표계의 X 및 Y 방향으로 이동시키십시
오 . 회전축 A 만 중심으로 하여 로봇의 방향을 설정하십시오 .
 방향 전환이 심하면 스플라인 경로에서 속도가 큰 폭으로 감소합니다 .

작업 설정 2 1. 스플라인 컨투어에 기타 포인트를 추가합니다 .


중간점을 B6a, B6b 등과 같이 이름을 지정합니다 .
2. 작동 모드 T1 에서 프로그램을 티칭합니다 .
3. 경로가 원하는 컨투어와 일치할 때까지 , 스플라인 컨투어에 기타 포인트
를 추가합니다 .
1. 스플라인 _ 방향 프로그램을 복제하고 스플라인 _ 정속으로 이름을 지정합
니다 .
2. 티칭된 포인트의 방향 설정 가이드를 고정 전환으로 변경합니다 .

작업 설정 3 추가 작업 옵션

그림  7-25: 용접 부품

1. 트레이너 과정 후 용접 부품을 편평한 테이블에 놓습니다 .

테이블의 마그네틱 호일을 미리 제거합니다 .

2. 트레이너 과정 후 모서리 보어 (B) 를 이용하여 용접 부품의 베이스 ( 번호


_____ 이름 :_______________ ) 를 측정합니다 .
3. 이때 툴 ( 번호 _____ 이름 :_______________) 을 사용하십시오 .
4. 용접 부품 _1( 용접 부품 _2, 용접 부품 _3) 이란 이름의 새 모듈을 만듭니
다.
5. 개별 스플라인 블록으로 지정된 경로를 (1), (2), (3) 방향으로 티칭합니다
.
6. 경로상 속도는 0.25m/s 입니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 195 / 353


로봇 프로그래밍 1

작업 설정 4 추가 작업 옵션

그림  7-26: 스플라인 블록의 경로 컨투어

1. 스플라인 호일을 편평한 테이블에 놓습니다 .


2. 스플라인 호일의 지정 베이스 ( 번호 _____ 이름 :_______________ ) 를 측정
합니다 .
3. 스플라인 길이란 이름의 새 모듈을 만듭니다 .
4. 적합한 툴을 사용합니다 .
5. 스플라인 블록으로 표시된 경로를 티칭합니다 .
6. 경로상 속도는 0.25m/s 입니다 .

질문 지금 알아야 할 사항 :
PTP 스플라인 블록에 어떤 이동 지령을 사용할 수 있습니까 ?
......................................................
......................................................
......................................................
스플라인 블록의 시작점은 어디입니까 ?
......................................................
......................................................
......................................................
어떤 조건에서 스플라인 동작 중 프로그래밍된 속도에 미달합니까 ?
......................................................
......................................................
스플라인 동작을 변경할 때 유의 사항은 무엇입니까 ?
......................................................
......................................................

196 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

8.1 개요

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


 대기 함수 프로그래밍하기
 간단한 스위칭 함수 프로그래밍하기
 트랙 전환 함수 프로그래밍하기

8.2 논리 프로그래밍 입문

논리 프로그래밍 시
인풋 및 아웃풋 사

그림  8-1: 디지털 인풋 및 아웃풋

로봇 제어 시스템의 주변기기와 통신하기 위해 디지털 및 아날로그 인풋 / 아


웃풋을 사용할 수 있습니다 .
용어 설명

용어 선언 예시
커뮤니케이션 인터페이스를 통한 시 상태 조회 ( 그리퍼 열
그널 교환 림 / 닫힘 )
주변기기 " 환경 " 툴 ( 예를 들어 그리퍼 ,
용접 플라이어 등등 ),
센서 , 재료운송시스템
등등 .
디지털 디지털 기술 : 이산값 센서 시그널 : 파트가
및 이산시간 신호 있음 : 값
1(TRUE/WAHR), 파
트가 없음 : 값 0
(FALSE/FALSCH)
아날로그 물리적 크기 모사 온도 측정
인풋 필드 버스 인터페이스 센서 시그널 : 그리퍼
를 통해 제어 시스템으 가 열려 있음 / 그리퍼
로 오는 시그널 가 닫혀 있음
아웃풋 제어시스템의 필드버 조오 그리퍼를 닫게 하
스 인터페이스를 통해 는 밸브 스위칭 명령
주변기기로 송신되는
시그널

KUKA 로봇을 프로그래밍할 때 인풋 및 아웃풋 시그널은 논리 지령을 위해 사


용됩니다 .
 OUT | 프로그램에서 특정 위치에 있는 아웃풋을 켬

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 197 / 353


로봇 프로그래밍 1

 WAIT FOR | 시그널에 따른 대기 함수 : 여기에서 제어시스템이 시그널을


기다림 :
 인풋 IN
 아웃풋 OUT
 시간 시그널 TIMER
 제어시스템 내부의 메모리 주소 ( 플래그 /1-Bit- 메모리 ) FLAG 또는
CYCFLAG ( 주기적으로 지속적으로 평가될 경우 )
 WAIT | 시간에 따른 대기 함수 : 제어시스템은 프로그램에서 이 위치에서
입력된 시간에 맞게 대기합니다 .

8.3 대기 함수의 프로그래밍

컴퓨터 포워드 컴퓨터 포워드는 근사접근 명령에서 컨트롤러가 경로 계획을 할 수 있도록 (


오퍼레이터에는 보이지 않음 ) 전진 시 동작 레코드를 읽습니다 . 하지만 전진
이 포함된 동작 데이터만 처리하는 것이 아니라 산술적 지령 및 주변장치를 제
어하는 지령도 처리합니다 .
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
13 END


6 메인 진행 포인터의 위치
9 가능한 전진 포인터 위치 ( 보이지 않음 )
10 전진 중지를 발생시키는 명령 레코드

특정한 지령은 전진 중지를 발생시킵니다 . 이러한 지령에는 예를 들어 OUT


지령과 같은 , 주변장치에 영향을 미치는 지령이 포함됩니다 ( 그리퍼 닫기 , 용
접건 열기 ). 전진 포인터가 정지하는 경우 근사접근은 불가능합니다 .

대기 함수 어떤 동작 프로그램에서의 대기 함수는 인라인 양식을 통해 아주 간단히 프로


그래밍됩니다 . 이때 시간에 따른 대기 함수와 신호에 따른 대기 함수는 구별
됩니다 .
WAIT 는 프로그래밍된 시간 동안 로봇 동작을 정지시키는 기능을 합니다 .
WAIT 는 항상 전진 중지를 발생시킵니다 .

그림  8-2: 인라인 양식 WAIT

번호 설명
1 대기 시간
 ≥  0 초

198 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

예시 프로그램 :
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-3: 논리 사례 모션

번호 비고
1 동작이 지점 P2 에서 2 초 동안 중단됩니다 .

WAIT FOR 는 신호에 따른 대기 함수를 작동시킵니다 .


필요 시 복수의 신호 ( 최대 12 개 ) 를 논리적으로 링크할 수 있습니다 . 하나
의 링크를 추가하면 , 인라인 양식에서 추가적 신호 및 다른 링크를 위한 상자
가 나타납니다 .

그림  8-4: 인라인 양식 WAITFOR

번호 설명
1 외부 링크를 추가합니다 . 연산자가 괄호로 표시된 표현식 사이에
위치합니다 .
 AND
 OR
 EXOR
NOT 을 추가합니다 .
 NOT
 [ 비어 있음 ]
상응하는 단추를 이용해 원하는 연산자를 삽입합니다 .
2 내부 링크를 추가합니다 . 연산자가 괄호로 표시된 표현식 내에 존
재합니다 .
 AND
 OR
 EXOR
NOT 을 추가합니다 .
 NOT
 [ 비어 있음 ]
상응하는 단추를 이용해 원하는 연산자를 삽입합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 199 / 353


로봇 프로그래밍 1

번호 설명
3 대기하고 있는 신호
 IN
 OUT
 CYCFLAG
 TIMER
 FLAG
4 신호의 번호
 1 … 4096
5 이 신호의 이름이 존재하는 경우 , 이름이 표시됩니다 .
사용자그룹 전문가에만 적용됨 :
긴 텍스트를 눌러 이름을 입력할 수 있습니다 . 이름은 자유롭게
선택할 수 있습니다 .
6  CONT: 전진으로 처리
 [ 비어 있음 ]: 전진 중지로 처리

CONT 항목의 사용 시 전진할 때 신호를 조회한다는 점에 유의해야


합니다 . 전진 시간 후의 신호 변경은 인식되지 않습니다 !

논리 링크 신호에 따른 대기 함수를 사용하는 경우 논리 링크도 함께 사용됩니다 . 논리


링크는 다양한 신호 또는 상태에 대한 조회와 콤비네이션할 수 있습니다 : 예
를 들어 의존성을 지정하거나 특정한 상태를 배제시킬 수 있습니다 .
논리 연산자를 사용하는 기능은 그 결과로 항상 진리값을 , 즉 " 참 ( 값 1)" 혹
은 " 거짓 ( 값 0)" 을 도출해 냅니다 .

그림  8-5: 논리 링크의 원리와 예

논리 링크용 연산자는 다음과 같습니다 :


 NOT | 이 피연산자는 부정을 위해 사용됩니다 . 즉 값이 역전됩니다 (" 참 "
이 " 거짓 " 이 됩니다 ).
 AND | 이 표현식의 결과는 링크된 양 표현식이 참일 경우 참이 됩니다 .
 OR | 이 표현식의 결과는 링크된 표현식 중 최소한 하나가 참일 경우 참
이 됩니다 .
 EXOR | 이 표현식의 결과는 연산자를 통해 링크된 양 표현식이 서로 다
른 진리값을 가질 경우에 참이 됩니다 .

전진이 포함된 및  시그널에 따른 대기 함수는 전진 시의 처리를 포함하여 , 또한 배제시켜 프


배제된 처리 로그래밍할 수 있습니다 .
(CONT)  전진을 배제함은 어떠한 경우에도 포인트에서 모션이 정지되고 그곳에서
시그널을 점검한다는 것을 뜻합니다 : (1) (>>>  그림  8-6 )
 포인트는 우회할 수 없습니다 .

200 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  8-6: 논리 사례 모션

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 없이 처리할 경우 참고 메시지가 나타납니다


: " 우회 불가능 ".

 전진을 포함하여 프로그래밍된 , 시그널에 따른 대기 함수를 사용할 경우


명령행 앞에 설정된 포인트를 우회할 수 있습니다 .
 그러나 진행 표시기의 현재 위치가 명확하지 않아서 ( 기본값 : 3 개의 동작
세트 ), 신호 점검을 위한 정확한 시점이 정해지지 않았습니다 (1).
 그 밖에도 시그널을 점검한 후의 시그널 변경사항은 인식되지 않습니다 !

그림  8-7: 우회 동작 시 WAIT FOR

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' CONT
SPTP P3 Vel=100% PDAT3 Tool[1] Base[1]

1. 위치 (1)
 위치 (2) 에 도달하기 전 WAIT FOR = TRUE
 » 로봇이 정지하지않고 우회 경로를 이탈할 수 있습니다 .
2. 위치 (2)
 위치 (2) 에 도달하기까지 WAIT FOR = FALSE
 » 로봇이 정지 상태로 우회 컨투어 시작점에 서 있습니다 .
 위치 (2) 에 도달한 후 WAIT FOR = TRUE 로 변경
 » 로봇이 우회 경로상의 컨투어를 따라 이동합니다 .

진행 방법 1. 논리 지령을 삽입할 행으로 커서를 이동시키십시오 .


2. 메뉴 순서 명령 > 논리 > WAIT FOR 또는 WAIT 를 선택하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 201 / 353


로봇 프로그래밍 1

3. 인라인 양식에서 매개변수를 설정합니다 .


4. 명령 OK 를 눌러 지령을 저장합니다 .

8.4 간단한 스위칭 함수 프로그래밍

단순한 스위칭 함수 스위칭 함수에 의해 디지털 신호를 주변기기에 송신할 수 있습니다 . 이를 위


해 인터페이스가 미리 적절하게 지정한 아웃풋 번호가 사용됩니다 .

그림  8-8: 정적 스위칭

이 신호는 정적으로 설정됩니다 . 즉 아웃풋에 다른 값이 할당될 때까지 이 신


호는 그대로 유지됩니다 . 스위칭 함수는 프로그램 내에서 인라인 양식에 의
해 실현됩니다 :

그림  8-9: 인라인 양식 OUT

위치 설명
1 아웃풋 번호
 1 … 4096
2 이 아웃풋의 이름이 존재하는 경우 , 이름이 표시됩니다 .
사용자그룹 전문가에만 적용됨 :
긴 텍스트를 눌러 이름을 입력할 수 있습니다 . 이름은 자유롭게
선택할 수 있습니다 .
3 아웃풋의 스위칭 상태
 TRUE
 FALSE
4  CONT: 전진으로 처리
 [ 비어 있음 ]: 전진 중지로 처리

항목 CONT 를 사용할 때 전진할 때 신호가 지정될 것이라는 점에 유


의해야 합니다 .

펄스된 스위칭 함수 단순한 스위칭 함수에서와 마찬가지로 여기서도 아웃풋에 대한 값이 변경됩


니다 . 물론 펄싱 시 정의된 시간이 지난 후 그 신호가 다시 회복됩니다 .

202 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  8-10: 펄스 레벨

프로그래밍은 펄스가 정의된 길이로 설정되는 인라인 양식으로도 이루어집니


다.

그림  8-11: 인라인 양식 PULSE

위치 설명
1 아웃풋 번호
 1 … 4096
2 이 아웃풋의 이름이 존재하는 경우 , 이름이 표시됩니다 .
사용자그룹 전문가에만 적용됨 :
긴 텍스트를 눌러 이름을 입력할 수 있습니다 . 이름은 자유롭게
선택할 수 있습니다 .
3 아웃풋의 스위칭 상태
 TRUE: 레벨 "High"
 FALSE: 레벨 "Low"
4  CONT: 전진으로 처리
 [ 비어 있음 ]: 전진 중지로 처리
5 펄스의 길이
 0.10 … 3.00 초

스위칭 함수에서 CONT 가 없을 때 :


CONT 의 영향 OUT 인라인 양식에서 CONT 항목을 생략하면 스위칭 과정에서 전진 중지가
발생하며 그 뒤를 이어 정확 정지가 스위칭 명령 앞의 포인트에서 발생합니다
. 아웃풋의 설정 후 동작이 계속 진행합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 203 / 353


로봇 프로그래밍 1

그림  8-12: 전진 정지가 있는 스위칭을 사용한 예시 동작

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-13: 스위칭을 사용한 전진 예시 동작

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 개의 모션 블록에 해당합니다 . 하지만 전


진에 차이가 있을 수 있습니다 . 즉 스위칭 시점이 항상 같지는 않다
는 점을 고려해야 합니다 !

204 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

진행 방법 1. 논리 지령을 삽입할 행으로 커서를 이동시키십시오 .


2. 메뉴 순서 명령 > 논리 > OUT > OUT 또는 PULSE 를 선택합니다 .
3. 인라인 양식에서 매개변수를 설정합니다 .
4. 명령 OK 를 눌러 지령을 저장합니다 .

8.5 SPLINE 이 포함된 로직의 프로그래밍

SPLINE 단일 레코드의 프로그래밍 시 또는 SPLINE 블록 내에서 새로운 동


작에 대해 추가적으로 로직을 인라인 양식에 삽입할 수 있습니다 . 이 로직은
별도의 인라인 양식에서 사용할 수도 있습니다 . 물론 KRL 을 통해 이 로직을
함께 프로그래밍하거나 또는 이 로직만 프로그래밍하는 것도 가능합니다 .
 항상 사용 가능한 항목 :
 트리거 ( 경로 상의 스위칭 명령 )
 조건적 정지
 CP-SPLINE 블록에서만 사용 가능한 항목
 정속 이동 영역
 CP-SPLINE 블록에서만 단지 KRL 명령으로서 사용 가능한 항목
 타임 블록

동작 인라인 양식에  단일 레코드에서 프로그래밍 :


서 프로그래밍하기

그림  8-14: 인라인 양식 SLIN ( 개별 동작 )

데이터 레코드 ADATx 를 사용할 수 있습니다


 SPLINE 블록에서 프로그래밍 :

그림  8-15: 인라인 양식 SPL 세그먼트

기본적으로 동작 유형 및 포인트 이름만 표시됩니다 . 파라미터 전환 버튼


을 이용해 속도 (3), 동작 파라미터 (4) 및 / 또는 로직 (5) 을 추가하고 변
경할 수 있습니다 . 여기에서도 ADATx 에서 로직 파라미터를 변경 및 저
장할 수 있습니다 .
 옵션창 로직 파라미터 전체

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 205 / 353


로봇 프로그래밍 1

그림  8-16: 트리거

CP-SPLINE 블록에 존재하지 않는 경우 , 정속 이동 영역이 보이지 않습


니다 .

SPLINE 동작을 위 메뉴 순서 명령 > 로직 > 스플라인 트리거 또는 Spline Stop Condition 을 선


한 로직 인라인 양 택하십시오 .
식  스플라인 트리거 ( 트리거 )

그림  8-17: 스플라인 트리거 인라인 양식

 Spline Stop Condition ( 조건적 정지 )

그림  8-18: 인라인 양식 Spline Stop Condition

8.5.1 스플라인 트리거 프로그래밍

설명  트리거는 사용자의 특정 지령을 실행합니다 . 로봇 제어 시스템은 로봇 동


작과 동시에 지령을 실행합니다 .
 트리거는 동작의 시작점 또는 목표점을 기준으로 할 수 있습니다 . 지령을
기준점에서 직접 실행하거나 장소 및 / 또는 시간에 따라 변경할 수도 있
습니다 .

 
 
 
 트리거를 PTP 동작에는 사용할 수 없습니다 .
 스플라인 블록에서 트리거를 사용할 경우 , 마지막 세그먼트와
ENDSPLINE 사이에 트리거를 위치시키면 안 됩니다 .

프로그래밍 방법
 트리거 로직 옵션 창 인라인 양식
 스플라인 트리거 인라인 양식

206 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 KRL 지령을 이용한 프로그래밍 TRIGGER WHEN PATH

 
 
 
 인라인 양식의 매개변수를 이용한 다음과 같은 ( 스플라인 ) 트리거의 프
로그래밍은 이 과정에 포함되어 있지 않습니다 .
 별도의 인라인 양식을 이용한 단순 프로그래밍 (>>> 8.5.1.1 "스플라인
트리거 인라인 양식 " 페이지  208) 을 우선합니다 .

로직 트리거 옵션

그림  8-19: 트리거

 액션 선택 > 트리거 추가 단추를 이용하여 ( 기타 ) 트리거 동작을 할당할


수 있습니다 . 이것이 이 동작을 위한 첫 번째 트리거인 경우에는 이 명령
으로 Trigger 필드도 표시됩니다 .
 ( 트리거는 액션 선택 > 트리거 제거를 통해 다시 제거할 수 있습니다 .)
 액션 선택 > 트리거 경로 수용 단추를 이용해 경로의 장소 이동을 티칭하
십시오 .
번호 설명
1 액션 선택 > 트리거 추가 단추를 이용하여 ( 기타 ) 트리거 동작을
할당할 수 있습니다 . 이것이 이 동작을 위한 첫 번째 트리거인 경
우에는 이 명령으로 Trigger 필드도 표시됩니다 .
동작당 최대 8 개의 트리거를 할당할 수 있습니다 .
( 트리거는 액션 선택 > 트리거 제거를 통해 다시 제거할 수 있습
니다 .)
2 트리거의 기준점
 TRUE: 시작점
 FALSE: 목표점
3 목표점 또는 시작점을 기준으로 한 장소 이동
 음수 값 : 동작 시작 방향으로 이동
 양수 값 : 동작 끝 방향으로 이동
장소 이동도 티칭이 가능합니다 . 이러한 경우 시작점이 기준점입
니다 필드에 자동으로 FALSE 가 설정됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 207 / 353


로봇 프로그래밍 1

번호 설명
4 이동을 기준으로 한 시간 이동
 음수 값 : 동작 시작 방향으로 이동 .
 양수 값 : 트리거가 시간의 경과 후에 스위칭됩니다 .
5 트리거 실행 지령 . 방법 :
 변수에 값 할당
참고 : 할당의 좌측면에는 런타임 변수가 존재하지 않아야 합
니다 . 즉 , 변수를 *.dat 파일로 지정하십시오 .
value = 12

 OUT 지령 ; PULSE 지령 ; CYCFLAG 지령


$OUT[2]=TRUE ; 아웃풋이 활성화됨
$OUT[99]=False ; 아웃풋이 비활성화됨

 서브 프로그램 호출 . 이런 경우에는 우선순위를 지정해야 합니


다.
UP()PRIO=-1 ; 주의 : 빈칸 없이 입력해야 합니다 .

1, 2, 4 - 39 또는 81 - 128 의 우선순위를 할당할 수 있습니


다 . 우선순위 40 - 80 은 우선순위가 시스템에 의해 자동으로
지정되는 경우에 사용됩니다 . 우선순위가 시스템에 의해 자동
으로 지정되는 경우 프로그래밍 방법 : PRIO = -1.
복수의 트리거가 동시에 서브 프로그램을 호출하는 경우 , 먼
저 가장 높은 우선순위의 트리거가 처리되고 그 후에 다음 우
선순위의 트리거가 처리됩니다 . 1 = 가장 높은 우선순위 .

스플라인 트리거 인
라인 양식

그림  8-20: 스플라인 트리거 인라인 양식

SYN OUT PATH 인라인 양식과 같은 프로그래밍 및 기능

최대 오프셋 스위칭 포인트는 특정한 한계까지만 이동시킬 수 있습니다 . 더 큰 오프셋 또


는 유효하지 않은 오프셋이 프로그래밍된 경우 , 로봇 컨트롤러는 늦어도 허
용된 한계에서 트리거를 스위칭합니다 . T1/T2 에서 컨트롤러는 이와 관련하
여 메시지를 출력합니다 .
Missing inline element 'emphasis'. 거리 + 마이너스 방향의 시간 값을 위한
최대 오프셋 :
이 한계는 해당 위치의 오프셋 및 마이너스 방향의 시간 오프셋으로 구성되는
전체 오프셋에 대해 유효합니다 .

208 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

최대 다음까지의 마이너스 방향 오 최대 다음까지의 플러스 방향 오프


프셋 .... 셋 ....
시작점까지 ( 이것이 근사접근되지 목표점까지 ( 이것이 근사접근되지
않은 경우 ) 않은 경우 )
시작점이 근사접근된 경우 : 목표점이 근사접근된 경우 :
 시작점이 근사접근된 PTP 포인  균일한 근사접근의 경우 :
트인 경우 : TRIGGER 지령 이후의 다음 번
근사접근 아치의 끝 위치까지 정확 정지까지
 시작점이 다른 근사접근된 포인  혼합된 근사접근의 경우 ( 스플라
트인 경우 : 인 ): 트리거가 근사접근 동작 중
에 멈추는 경우 , PATH = 0 인
근사접근 아치의 시작 위치까지
ONSTART 트리거의 스위칭 포
인트까지 .
(>>> 8.5.1.3 " 혼합된 근사접
근 시 기준점 ( 스플라인 )" 페이
지  211)
 혼합된 근사접근의 경우
(LIN/CIRC/PTP): 근사접근 아
치의 시작 위치까지

플러스 방향의 시간값을 위한 최대 오프셋 :


플러스 방향의 시간 오프셋은 최대 1 000 ms 에 달할 수 있습니다 . 프로그램
이 그 사이에 이미 취소된 경우에도 0 과 1 000 ms 사이의 시간 오프셋은 스
위칭됩니다 !

예 :KRL 을 이용한
트리거

그림  8-21: 예시 TRIGGER WHEN PATH ( 스플라인에만 적용 )

1 SPTP P0
2 SPLINE
3 SPL P1
4 SPL P2
5 SPL P3
6 SPL P4
7 TRIGGER WHEN PATH=0 ONSTART DELAY=10 DO $OUT[5]=TRUE
8 SCIRC P5, P6
9 SPL P7
10 TRIGGER WHEN PATH=-20.0 DELAY=0 DO SUBPR_2() PRIO=-1
11 SLIN P8
12 ENDSPLINE

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 209 / 353


로봇 프로그래밍 1

 트리거가 스플라인 블록 바로 앞 ( 또는 열 1 과 열 2 사이 ) 에 있다면 , 열 10


의 트리거 결과는 동일할 수 있습니다 .
 두 경우 모두 스플라인 동작의 마지막 포인트인 P8 을 의미합니다 .
 트리거를 스플라인 블록 바로 앞에 배치하지 말고 예시와 같이 배치할 것
을 권장합니다 .

8.5.1.1 우회 시 기준점 - 개요

PATH 트리거의 기준점이 어디입니까 ? 시작점 또는 목표점을 우회하였습니


까?
이는 주로 단일 또는 혼합의 우회 경로인지에 따라 결정됩니다 .

단일 단일 우회
 CP 스플라인 동작에서 CP 스플라인 동작으로 변경
 PTP 스플라인 동작에서 PTP 스플라인 동작으로 변경
 LIN 또는 CIRC 동작에서 LIN 또는 CIRC 동작으로 변경
모든 스플라인 동작이 스플라인 블록 또는 단일 레코드일 수 있습니다 .
(>>> 8.5.1.2 " 균일한 근사접근 시 기준점 " 페이지  210)

혼합 혼합 우회
이러한 경우에는 기준점 위치가 추가로 스플라인 동작 또는 기존 동작에 따라
결정됩니다 .
 CP 스플라인 동작에서 PTP 스플라인 동작으로 변경되거나 역방향으로
변경
모든 스플라인 동작이 스플라인 블록 또는 단일 레코드일 수 있습니다 .
(>>> 8.5.1.3 " 혼합된 근사접근 시 기준점 ( 스플라인 )" 페이지  211)
 PTP 동작에서 LIN 또는 CIRC 동작으로 변경되거나 역방향으로 변경
(>>> 8.5.1.4 " 혼합된 근사접근 시 기준점 (LIN/CIRC/PTP)" 페이지
 212)

8.5.1.2 균일한 근사접근 시 기준점

원리는 여기에서 CP 스플라인 블록이 포함된 예시를 통해 설명됩니다 . 이 내


용은 다른 균일한 근사접근 유형에도 적용됩니다 .

예시 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') 에
적용합니다 .

목표점 근사접근됨 트리거 1 의 기준점 :


로봇 컨트롤러가 근사접근 아치의 시작 위치에서 정확정지 목표점까지의 거
리를 계산합니다 . 이 거리는 근사접근 아치에 적용됩니다 .

210 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

PStartApprox → P3 거리의 길이는 PStartApprox → P3'Trigger 1 거리와 동일합


니다 .

그림  8-22: 트리거 1: 균일한 근사접근 시 기준점

PStartApprox 근사접근 아치의 시작


P3 정확 정지 시 기준점
P3'Trigger 1 근사접근 시 기준점

시작점 근사접근됨 트리거 2 의 기준점 :


로봇 컨트롤러가 근사접근 아치의 끝 위치에서 정확정지 시작점까지의 거리
를 계산합니다 . 이 거리는 근사접근 아치에 적용됩니다 .
PEndApprox → P3 거리의 길이는 PEndApprox → P3'Trigger 2 거리와 동일합니
다.

그림  8-23: 트리거 2: 균일한 근사접근 시 기준점

PEndApprox 근사접근 아치의 끝


P3 정확 정지 시 기준점
P3'Trigger 2 근사접근 시 기준점

8.5.1.3 혼합된 근사접근 시 기준점 ( 스플라인 )

예시 PTP_SPLINE
...
SPTP P2
TRIGGER WHEN PATH=0 DELAY=0 DO ... ;Trigger 1
SPTP P3
ENDSPLINE C_SPL

SPLINE

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 211 / 353


로봇 프로그래밍 1

TRIGGER WHEN PATH=0 ONSTART DELAY=0 DO ... ;Trigger 2


SLIN P4
...
ENDSPLINE

트리거 1 및 2 는 모두 P3 을 기준으로 합니다 . P3 이 근사접근된 상태입니다


.

시작점 근사접근됨 트리거 2 의 기준점 :

이 기준점은 우선적으로 고려해야 하는데 , 그 이유는 트리거 1 의 기


준점이 이것을 기준으로 하기 때문입니다 !

기준점은 균일한 근사접근에서와 동일한 원리에 따라 형성됩니다 .


(>>>  " 시작점 근사접근됨 " 페이지  211)

목표점 근사접근됨 트리거 1 의 기준점 :


트리거 1 을 위한 기준점은 트리거 2 에서와 동일한 위치에 있습니다 .
PStartApprox → P3'Trigger 1 거리의 길이는 일반적으로 PStartApprox → P3 보
다 짧습니다 .

그림  8-24: 트리거 1: 혼합 근사접근 시 기준점

PStartApprox 근사접근 아치의 시작


PEndApprox 근사접근 아치의 끝
P3 정확 정지 시 기준점
P3' 근사접근 시 기준점

트리거 1 이 이동하고 이동으로 인해 PStartApprox 와 P3' 사이에 놓인다면 , 정


확한 위치는 다음과 같습니다 :
로봇 컨트롤러는 , 목표점이 정확 정지일 경우 PStartApprox → P3 거리의 몇
퍼센트에 스위칭 포인트가 놓일 것인지를 계산합니다 . 이 비율이 근사접근 아
치에 적용됩니다 . 이런 경우 스위칭 포인트는 PStartApprox → P3'Trigger 1 거
리의 x % 위치에 있습니다

8.5.1.4 혼합된 근사접근 시 기준점 (LIN/CIRC/PTP)

시작점 근사접근됨 PTP-CP 근사접근 :


기준점이 근사접근 아치의 끝 위치에 있습니다 .

목표점 근사접근됨 CP-PTP 근사접근 :


기준점이 근사접근 아치의 시작 위치에 있습니다 .

212 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

8.5.1.5 트리거에서 기능의 제한

DELAY 및 PATH 의 값은 기능을 통해 지정할 수 있습니다 . 이 기능과 관련하여


다음과 같은 제한 사항이 적용됩니다 :
 이 기능을 포함하는 KRL 프로그램은 숨겨짐 속성을 가져야 합니다 .
 이 기능은 글로벌로 유효해야 합니다 .
 이 기능은 다음의 지령 또는 엘리먼트만 포함할 수 있습니다 :
 값 할당
 IF 지령
 메모
 공백 행
 뒤로
 시스템 변수 읽기
 사전에 정의된 KRL 기능 호출

8.5.2 조건적 정지 프로그래밍

설명  " 조건적 정지 " 에서 사용자는 특정한 조건이 충족되는 경우 경로에서 로봇


이 정지하는 위치를 정의할 수 있습니다 .
 이 위치를 " 정지 포인트 " 라 부릅니다 . 조건이 더 이상 충족되지 않게되는
즉시 로봇은 동작을 계속 수행합니다 .
 작동 시간 중에 로봇 컨트롤러는 정지 포인트에서 정지할 수 있도록 늦어
도 제동을 시작해야 하는 포인트를 계산합니다 .
 이 포인트 (=" 제동 포인트 ") 이후부터 컨트롤러는 조건의 충족 여부를 평
가합니다 .
 제동 포인트에서 조건이 충족되는 경우 로봇은 정지 포인트에서 정지하기
위해 제동합니다 .
하지만 조건이 정지 포인트 도달 전에 다시 " 충족 안됨 " 으로 바뀌는 경
우에는 , 로봇이 다시 가속하고 정지가 이루어지지 않습니다 .
 제동 포인트에서 조건이 충족되지 않는 경우 , 로봇은 제동 없이 계속 동작
합니다 .

그림  8-25: 조건적 정지가 포함된 스플라인

번호 선언
1 진로와 속도에 따라 산출된 제동점
2 지정된 정지점 ( 인라인 양식 또는 KRL 을 통해 )
3 불 연산식 취소 -> 프로그래밍된 속도로 가속

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 213 / 353


로봇 프로그래밍 1

원칙적으로 임의의 수의 조건적 정지를 프로그래밍할 수 있습니다 . 하지만 최


대 10 개의 경로가 중첩될 수 있습니다 (" 제동 포인트 → 정지 포인트 ").
제동 과정 시 로봇 컨트롤러는 T1/T2 에서 다음과 같은 메시지를 출력합니다
: 조건적 정지 활성화 ( 행 { 행 번호 }).
프로그래밍 방법
 스플라인 블록 (CP 및 PTP) 또는 스플라인 단일 레코드를 통해 : 조건적 정
지 로직 옵션 창 인라인 양식
 스플라인 블록 (CP 및 PTP) 전에 : 조건적 정지 스플라인 인라인 양식
 KRL 지령을 이용한 프로그래밍 STOP WHEN PATH

조건적 정지 로직
옵션 창

그림  8-26: 조건적 정지

번호 설명
1 정지 조건 . 허용되는 항목 :
 전역 불리언 변수
 신호 이름
 비교
 간단한 논리 링크 : NOT, OR, AND 또는 EXOR
2 조건적 정지는 동작의 시작점 또는 목표점을 기준으로 할 수 있습
니다 .
 TRUE: 시작점
 FALSE: 목표점
기준점을 우회하는 경우에는 PATH 트리거에서와 동일한 규칙이
적용됩니다 .
3 정지 포인트는 장소 이동이 가능합니다. 이를 위해 원하는 시작점
또는 목표점과의 거리를 지정해야 합니다 . 장소 이동을 원하지 않
는 경우에는 "0" 을 입력합니다 .
 양수 값 : 동작 끝 방향으로 이동
 음수 값 : 동작 시작 방향으로 이동
정지 포인트는 임의의 거리로 이동시킬 수 없습니다 . PATH 트리
거에서와 동일한 한계가 적용됩니다 .
장소 이동도 티칭이 가능합니다 . 이러한 경우 시작점이 기준점입
니다 필드에 자동으로 FALSE 가 설정됩니다 .

 액션 선택 > 조건적 정지 경로 수용 단추를 이용해 정지점의 장소 이동을


티칭하십시오 .

214 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

스플라인 정지 조건  이 인라인 양식은 스플라인 블록 전에만 사용할 수 있습니다 .


인라인 양식  인라인 양식과 스플라인 블록 사이에는 다른 지령이 존재할 수 있지만 동
작 지령은 허용되지 않습니다 .

그림  8-27: 인라인 양식 Spline Stop Condition

번호 설명
1 조건적 정지의 기준이 되는 포인트
 ONSTART 가 있는 경우 : 스플라인 블록 전 마지막 포인트
 ONSTART 가 없는 경우 : 스플라인 블록 내 마지막 포인트
스플라인이 근사접근되는 경우에는 PATH 트리거에서와 동일한
규칙이 적용됩니다 .
참고 : PATH 트리거에서의 근사접근에 대한 정보는 시스템 통합
자를 위한 사용설명서 / 프로그래밍 설명서를 참조하시기 바랍니
다.
ONSTART 는 오퍼레이터 OnStart 단추를 이용해 설정하거나 제
거할 수 있습니다 .
2 정지 포인트는 장소 이동이 가능합니다. 이를 위해 여기에 원하는
기준점 거리를 지정해야 합니다 . 장소 이동을 원하지 않는 경우에
는 "0" 을 입력합니다 .
 양수 값 : 동작 끝 방향으로 이동
 음수 값 : 동작 시작 방향으로 이동
정지 포인트는 임의의 거리로 이동시킬 수 없습니다 . PATH 트리
거에서와 동일한 한계가 적용됩니다 .
장소 이동도 티칭이 가능합니다 .
3 정지 조건 . 허용되는 항목 :
 전역 불리언 변수
 신호 이름
 비교
 간단한 논리 링크 : NOT, OR, AND 또는 EXOR

패스 수용

단추 설명
패스 수용 이동을 원하는 경우 인라인 양식에 반드시 수치
를 입력하지 않고도 이동을 티칭할 수 있습니다 .
이것은 패스 수용 ( 을 ) 를 통해 이루어집니다 .
이동을 티칭하는 경우에는 티칭된 거리가 항상
동작의 목표점을 기준으로 하므로 인라인 양식에
설정된 ONSTART 가 자동으로 제거됩니다 .
티칭 과정은 로직 파라미터 옵션창에 대한 과정
과 유사하게 진행됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 215 / 353


로봇 프로그래밍 1

8.5.3 정속 이동 영역 프로그래밍

설명 CP 스플라인 블록에서 로봇이 프로그래밍된 속도를 일정하게 유지하는 영역


을 지정할 수 있습니다 ( 속도를 일정하게 유지할 수 있는 경우 ). 이 영역을 "
정속 이동 영역 " 이라 합니다 .
 CP 스플라인 블록당 1 개의 정속 이동 영역을 지정할 수 있습니다 .
 정속 이동 영역은 시작 지령 및 끝 지령을 통해 지정됩니다 .
 이 영역은 스플라인 블록을 초과하여 진행할 수 없습니다 .
 이 영역은 임의의 작은 크기를 가질 수 있습니다 .

그림  8-28: 스플라인 정속 이동 영역

 프로그래밍된 속도를 일정하게 유지하는 것이 불가능한 경우 로봇 제어


시스템이 프로그램 진행 시 이 내용을 메시지로 출력합니다 .
 여러 개의 세그먼트에 존재하는 정속 이동 영역 :
 정속 이동 영역은 다양하게 프로그래밍된 속도를 갖는 여러 세그먼트
를 초과하여 진행할 수 있습니다 .
이런 경우에는 가장 낮은 속도가 전체 영역에 적용됩니다 .
 또한 더 높게 프로그래밍된 속도를 갖는 세그먼트에서도 가장 낮은 속
도로 이동합니다 .
여기에서는 속도 미달과 관련된 메시지가 출력되지 않습니다 .
이 내용은 가장 낮은 속도를 유지하기 어려울 때에만 적용됩니다 .
프로그래밍 방법
 정속 이동 영역 로직 옵션 창 인라인 양식 각 CP 세그먼트에서 영역의 시
작 및 끝 위치를 저장합니다 .
 KRL 지령 CONST_VEL START 및 CONST_VEL END 를 이용한 프로그래밍

진행 방법

정속 이동 영역 로
정속 이동 영역은 CP 스플라인 세그먼트에 대해서만 사용할 수 있습
직 옵션 창 니다 .

216 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  8-29: 정속 이동 영역

번호 설명
1  Start: 정속 이동 영역의 시작 위치를 결정합니다 .
 End: 정속 이동 영역의 끝 위치를 결정합니다 .
2 Start 또는 End 는 동작의 시작점 또는 목표점을 기준으로 할 수 있
습니다 .
 TRUE: Start 또는 End 는 시작점을 기준으로 합니다 .
시작점이 근사접근되는 경우 기준점은 PATH 트리거에서의
균일한 근사접근처럼 결정됩니다 .
 FALSE: Start 또는 End 는 목���점을 기준으로 합니다 .
목표점이 근사접근되는 경우에는 Start 또는 End 가 근사접근
아치의 시작 위치를 기준으로 합니다 .
3 정속 이동 영역의 시작 또는 끝 위치는 이동이 가능합니다 . 이를
위해 여기에 원하는 거리를 지정해야 합니다. 장소 이동을 원하지
않는 경우에는 "0" 을 입력합니다 .
 양수 값 : 동작 끝 방향으로 이동
 음수 값 : 동작 시작 방향으로 이동
장소 이동도 티칭이 가능합니다 . 이것을 티칭하는 경우 , 시작점
이 기준점 필드가 자동으로 FALSE 로 설정됩니다 .

 액션 선택 > 정속 이동 영역 경로 수용 단추를 이용해 정속 이동 영역의 장


소 이동을 티칭하십시오 .

8.5.3.1 정속 이동 영역으로의 레코드 선택

설명 정속 이동 영역에서 레코드 선택이 이루어지는 경우에는 , 로봇 컨트롤러가 이


지령을 무시하고 이와 관련하여 메시지를 출력합니다 . 동작은 정속 이동 영
역이 프로그래밍되지 않은 것처럼 수행됩니다 .
이동 값을 통해 정의된 경로 섹션에서의 레코드 선택이 정속 이동 영역에서 레
코드 선택으로서 유효합니다 . 이와 달리 영역의 시작 및 끝이 어느 동작 레코
드에 프로그래밍되어 있는지는 중요하지 않습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 217 / 353


로봇 프로그래밍 1

예시

그림  8-30: 정속 이동 영역 예시 ( 인라인 프로그래밍 )

프로그램에서 폴더가 펼쳐져 있습니다 . 들여쓰기는 기본적으로 존재하지 않


으며 여기에서는 이해를 돕기위해 삽입되었습니다 .
정속 이동 영역의 시작 위치는 프로그램에서 P1 에 저장되어 있습니다 . 끝 위
치는 P4 에 저장되어 있습니다 . 무엇이 정속 이동 영역에서 레코드 선택으로
유효한지를 평가하기 위해 중요한 것은 경로에서 영역이 어디에 있느냐는 것
입니다 :

그림  8-31: 정속 이동 영역 예시 ( 경로 )

정속 이동 영역에서 레코드 선택으로서 무엇이 유효합니까 ?

다음 포인트로의 레코드 선택 ... P1 P2 P3 P4


= 정속 이동 영역 내에 존재 ? 아니오 아니오 예 아니오

8.5.3.2 최대 한계

스플라인 블록의 시작점 또는 목표점이 정확 정지인 경우 :


 정속 이동 영역은 빨라야 시작점에서 시작합니다 .
 정속 이동 영역은 늦어도 목표점에서 끝납니다 .
이 한계가 초과되도록 이동값이 지정된 경우 , 로봇 컨트롤러는 자동으로 오
프셋을 줄이고 다음과 같은 메시지를 출력합니다: CONST_VEL {Start/End}
= { 오프셋 } 구현 불가능 , { 새로운 오프셋 }( 이 ) 가 사용됩니다 .
로봇 컨트롤러는 프로그래밍된 속도를 일정하게 유지할 수 있는 영역이 형성
되도록 오프셋을 줄입니다 . 즉 컨트롤러는 반드시 스플라인 블록의 시작점 또

218 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

는 목표점으로 정확하게 한계를 이동시키는 것이 아니라 더 내측으로 이동시


킵니다 .
이 영역이 처음부터 스플라인 블록 내에 존재했지만 정의된 속도를 오프셋으
로 인해 유지할 수 없는 경우에 동일한 메시지가 출력됩니다 . 이런 경우에도
로봇 컨트롤러는 오프셋을 줄입니다 .
스플라인 블록의 시작점 또는 목표점이 근사접근되는 경우 :
 정속 이동 영역은 빨라야 시작점 근사접근 아치의 시작 위치에서 시작합
니다 .
 정속 이동 영역은 늦어도 목표점 근사접근 아치의 시작 위치에서 끝납니
다.

그림  8-32: 근사접근 SPLINE/ENDSPLINE 에서 최대 한계

이 한계가 초과되도록 오프셋이 지정된 경우 , 로봇 컨트롤러는 자동으로 한


계를 각 근사접근 아치의 시작 위치로 설정합니다 . 메시지는 출력하지 않습
니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 219 / 353


로봇 프로그래밍 1

8.6 연습 : 스플라인 움직임에 로직이 있음

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 스플라인 인라인 양식의 로직 명령 사용

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 스플라인 동작 프로그래밍에 대한 이론적 지식 .


 스플라인 인라인 양식의 경로 전환 기능 사용

작업 설정 1

그림  8-33: 스플라인 블록 , 스위칭

1. 스플라인 _ 방향 프로그램을 스플라인 _ 방향 _ 로직이란 이름을 지정하여


복제합니다 .
2. TRIGGER WHEN PATH 인라인 양식을 사용합니다 .
(>>> 8.5.1.1 " 스플라인 트리거 인라인 양식 " 페이지  208)
3. 파란색 영역에 있는 아웃풋 15 를 활성화합니다 .
4. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

작업 설정 2 추가 작업 옵션

그림  8-34: 스플라인이 포함된 로직

220 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

1. 스플라인 길이 프로그램을 스플라인 길이 _ 로직이란 이름을 지정하여 복


제합니다 .
2. TRIGGER WHEN PATH 인라인 양식을 사용합니다 .
(>>> 8.5.1.1 " 스플라인 트리거 인라인 양식 " 페이지  208)
3. 빨간색 영역에 있는 아웃풋 15 를 활성화합니다 .
4. 초록색 영역에 있는 아웃풋 16 을 활성화합니다 .
5. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

질문 지금 알아야 할 사항 :
WAIT 기능을 사용할 때 어떤 사항에 유의해야 합니까 ?
......................................................
......................................................
......................................................
WAITFOR 인라인 양식의 CONT 를 선택하면 무엇이 실행됩니까 ?
......................................................
......................................................
......................................................
OUT 과 PULSE 는 어떤 차이가 있습니까 ?
......................................................
......................................................
트리거를 어떻게 이해해야 합니까 ?
......................................................
......................................................

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 221 / 353


로봇 프로그래밍 1

222 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

9 기술 패키지 사용

9.1

개요

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


 KUKA.GripperTech 조작법
 KUKA.GripperTech 를 사용한 프로그래밍
 KUKA.GripperTech 의 컨피규레이션

9.2 GripperTech 상세 정보

설명

그림  9-1: 그리퍼 구동

번호 설명 번호 설명
1 KR C4 3 인풋 모듈과 아웃풋 모듈
이 있는 필드 버스 모듈
2 필드버스 4 디지털 인풋과 아웃풋이
있는 그리퍼

그리퍼 열기 $OUT[25] 그리퍼 열림 $IN[25]


파일 닫기 $OUT[26] 그리퍼 닫힘 $IN[26]

 프로그래밍 진행 시 예를 들어 교육 셀 (3) 그리퍼와 같은 툴을 열거나 닫


아야 합니다 .
 구성된 아웃풋 ($OUT) 을 이용해 상태를 변경할 수 있습니다 .
 인풋 ($IN) 은 현재 상태의 툴을 제어 시스템으로 재전송합니다 .
 일반적으로 구성된 필드버스 시스템이 디지털 인풋과 아웃풋(2)을 이용해
그리퍼로 전송합니다 .
 프로그래밍과 구성에 대한 도움말은 KUKA.GripperTech 를 참조하십시
오.

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 223 / 353


로봇 프로그래밍 1

제어시스템에서 최대 16개까지의 그리퍼를 컨피규레이션할 수


있습니다 .

계속해서 다음과 같  smartPAD 를 이용한 그리퍼 조작


은 내용을 다룹니다 (>>> 9.3 "KUKA.GripperTech 를 사용한 그리퍼 조작 " 페이지  224)
.  그리퍼 구성
(>>> 9.4 " 그리퍼 구성 " 페이지  225)
 그리퍼 매개변수 입력
(>>>  그림  9-9 )
 smartPAD 에 그리퍼 신호 표시
(>>> 9.6 "smartPAD 에 그리퍼 신호 표시 " 페이지  233)
 인라인 양식을 이용한 그리퍼 프로그래밍
(>>> 9.7 " 인라인 양식을 이용한 그리퍼 프로그래밍 " 페이지  234)

9.3 KUKA.GripperTech 를 사용한 그리퍼 조작

설명  그리퍼를 쉽게 조작하기 위해 smartPAD 에 별도의 상태 버튼이 4 개 있습


니다 .
 이는 KUKA.GripperTech 를 통해 소프트웨어에 저장되고 사용자는 그리
퍼 구성을 이용해 설정할 수 있습니다 .
 또한 smartHMI 측면 프레임 필드에 상태 표시줄뿐만 아니라 그래픽 요소
도 할당되어 있어 상태 버튼의 기능을 쉽게 파악할 수 있습니다 .

진행 방법

상태 버튼 보이기

그림  9-2: 상태 버튼 보이기

 새로 설치했거나 냉간 시동 후 상태 버튼을 사용할 수 없으면 , 수동으로 펼


치거나 숨길 수 있습니다 .
 메뉴 경로 : 로봇 버튼 > 구성 > 상태 버튼 > 그리퍼 /SpotTech

224 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

그리퍼 조작

그림  9-3: 그리퍼 버튼

 상태 버튼 (1) 을 이용하여 사전 구성된 그리퍼 중 하나를 여러 번 눌러 선


택할 수 있습니다 .
 그림 A: 기본 그리퍼
그리퍼의 열림 (2) 및 닫힘 (3) 기능용 상태 버튼 .
 그림 B: 흡입 그리퍼
그리퍼의 배출 (2), 꺼짐 (3), 흡입 (4) 기능용 상태 버튼 .

경고 !
그리퍼 시스템을 취급할 때 끼이거나 절개될 위험이 있습니다 .
그리퍼를 조작하는 인원은 신체의 어떤 부위도 그리퍼에 끼일 위험이 없다
는 것을 확인하십시오 .

9.4 그리퍼 구성

설명  제어시스템에서 최대 16 개까지의 그리퍼를 컨피규레이션할 수 있습니다 .


 KUKA 그리퍼 기술은 다음 기능을 지원합니다 .
 다양한 그리퍼 유형 구동
 현재 그리퍼 설정 조회 및 표시 .
 특정 그리퍼 위치 이동을 위한 조작 확인 . ( 관련 교육 자료 없음 )
 특정 사용자 로직의 프로그래밍 ( 관련 교육 자료 없음 )
경로 : R1\TP\GripperSpotTech\Grp_User.src

진행 방법 메뉴 경로 : 로봇 버튼 > 구성 > 그리퍼 /SpotTech > 그리퍼

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 225 / 353


로봇 프로그래밍 1

그림  9-4: 메뉴 경로

탭 : 그리퍼  그리퍼 (A) 탭에 그리퍼 설정이 구성됩니다 .


 후속 상태 및 IO 탭에 확정된 스위칭 상태 또는 인풋/아웃풋이 지정됩니다.

그림  9-5: 탭 : 그리퍼

226 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

파라미터 설명
그리퍼 선택 (1) 구성할 그리퍼를 지정합니다 .
16 개의 저장 공간이 있습니다 .
그리퍼 이름 (2) 그리퍼 이름 ( 최대 24 자 )
이름은 인라인 양식에 표시됩니다 . 사전 지정한 이름은 변경할
수 있습니다 .
상태 (2)  체크 마크가 표시된 경우: 상태 버튼으로 그리퍼를 조작하고
ILF 로 프로그래밍할 수 있습니다 .
 체크 마크가 표시되지 않은 경우 : 그리퍼가 활성화되지 않습
니다 .
스위칭 상태 (2) 개수 그리퍼 스위칭 상태 개수
 1…6
아웃풋 (2) 개수 그리퍼를 구동할 아웃풋 개수 .
 1…6
인풋 (2) 개수 그리퍼를 감시할 인풋 개수 .
 1…6
그리퍼 아이콘 (2) 상태 버튼과 표시창 플러그인 아이콘 선택
디폴트 : 숫자가 지정된 아이콘
스위칭 상태 (2) 타임아웃 상태를 테스트할 때 스위칭 상태가 나타날 때까지 최대 시간을
기다리십시오 ( 그리퍼 감시 설정 , 그리퍼 확인 ).
이 시간이 경과되었는데도 스위칭 상태가 아직 나타나지 않으면
, 오류 전략이 실행됩니다 .
스위칭 상태가 나타나면 , 시간을 기다리지 않고 프로그램이 계
속 진행됩니다 .
 0 … 10 s
디폴트 : 3 s
아웃풋 (2) 펄스 지속 시간 펄스로 지정된 아웃풋의 펄스 지속 시간 .
 0 … 3 s
디폴트 : 0.5 s

매개변수 옆 화살표 기호를 누르면 상세 설명이 펼쳐집니다 .


예를 들어 스위칭 상태의 타임아웃 [s] 과 아웃풋의 펄스 지속 시간 [s] 그
림을 참조하십시오 .

탭 : 상태 및 IO  상태 및 IO 탭에 스위칭 상태 (2) 또는 인풋 (3) 과 아웃풋 (4) 이 할당됩니다 .


 여기에는 인풋 / 아웃풋에 대해 규정된 스위칭 상태 또는 수동 조작 조건이
할당됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 227 / 353


로봇 프로그래밍 1

그림  9-6: 탭 : 상태 및 IO

 스위칭 상태 (2)

파라미터 설명
번호 스위칭 상태 번호
내부 인덱스 관리는 1 부터 시작됩니다 .
변경할 수 없습니다 .
그림 스위칭 상태 아이콘
상태 버튼과 표시 플러그인에 스위칭 상태를 표시해야 하는 아
이콘 선택 .
이름 스위칭 상태 이름
해당 그리퍼를 선택하면 인라인 양식에 표시됩니다 .
타입 해당 스위칭 상태의 상태 버튼 유형
 기본 버튼 : 액션이 즉시 실행됩니다 .
 위험 버튼 : 버튼을 4 초 이내에 연달아 2 번 눌러서 액션을 실
행해야 합니다 . 처음 3 번의 상태 버튼만 위험 버튼으로 지
정할 수 있습니다 . 남은 3 번은 표시창 플러그인에만 표시되
어 위험 상황으로 간주하지 않습니다 .
설명 스위칭 상태 설명

 인풋 (3) 및 아웃풋 (4)

228 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

파라미터 설명
번호 아웃풋 내부 인덱스 관리
인풋 내부 인덱스 관리
1 부터 시작합니다 .
변경할 수 없습니다 .
아웃풋 / 인풋 아웃풋 및 인풋
 1 … $Num_Out, $Num_In
디폴트 : 0
고스트 고스트 모드의 인풋 / 아웃풋 설정 또는 평가 여부 조정 .
인풋 :
 체크 마크가 표시된 심 : 인풋이 평가되지 않습니다 .
 체크 마크가 표시되지 않은 심: 고스트 모드에서도 인풋이 평
가됩니다 .
아웃풋 :
 체크 마크가 표시된 심 : 아웃풋이 설정되지 않습니다 .
 체크 마크가 표시되지 않은 심: 고스트 모드에서도 아웃풋이
설정됩니다 .
타입 아웃풋 유형
 기본 : 아웃풋이 기본 아웃풋으로 지정되었습니다 . 상태가 그
대로 유지됩니다 .
 펄스 : 아웃풋이 펄스 아웃풋으로 지정되었습니다 . 설정한 상
태가 일정 시간 동안만 유지됩니다 .
설명 아웃풋과 인풋 텍스트

탭 : 할당  할당 (3) 탭에 지정된 스위칭 상태 , 지정된 아웃풋 / 인풋 또는 수동 조작을


위한 전제 조건이 할당됩니다 .
 해당 탭에 스위칭 상태 또는 인풋/아웃풋을 할당하려면, 이를 미리 이전의
상태 및 IO 탭에 지정해야 합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 229 / 353


로봇 프로그래밍 1

그림  9-7: 탭 : 할당

할당 설명
아웃풋 (2) 할당 상태에 대한 아웃풋 설정
 TRUE: 아웃풋이 TRUE 로 설정됩니다 .
 FALSE: 아웃풋이 FALSE 로 설정됩니다 .
 [ 비어 있음 ]: 아웃풋이 설정되지 않고 현재 상태를 그대로 유
지합니다 .

230 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

할당 설명
인풋 (3) 할당 스위칭 상태에 대한 인풋 평가
 TRUE: 인풋을 설정해야 합니다 .
 FALSE: 인풋을 설정할 필요가 없습니다 .
 [ 비어 있음 ]: 인풋은 무관하며 평가되지 않습니다 .
수동 조작 (4) 의 전제 조건 스위칭 상태를 수동으로 설정할 때 최대 3 개의 전제 조건을 지
정할 수 있습니다 . 지정한 전제 조건이 충족되어야 스위칭 상태
가 설정됩니다 .
인풋 :
 인풋의 번호가 지정됩니다 .
 지정한 인풋이 TRUE 여야 합니다 .
 디폴트 : 0
상태 :
 지정한 스위칭 상태 선택
 지정한 스위칭 상태가 있어야 새 스위칭 상태가 설정됩니다 .
 디폴트 : [ 비어 있음 ]
기능 :
 최대 10 개의 다양한 사용자 루틴 선택 이 기능은
Grp_User.src (R1\TP\GripperSpotTech) 에서 프로그
래밍할 수 있습니다 . 각 조건은 반환값을 반환합니다 .
 반환값 :
 TRUE: 스위칭 상태가 설정됩니다 .
 FALSE: 스위칭 상태가 설정되지 않습니다 .
 디폴트 : [ 비어 있음 ]

9.5 그리퍼 매개변수 입력

설명

고스트 모드  시스템이 작동 중에 있거나 생산 단계가 종료된 후 " 무효 실행 " 이라고 나


타나면 , 이는 보통 부품이 없는 상태입니다 .
 이러한 무효 실행 현상을 구성에서 고스트 모드라고 합니다 .
 예상치 못한 그리퍼 액션을 예방하기 위해 ( 예 : 그리퍼가 부품을 집어 올림
) 구성에서 이를 확실하게 비활성화할 수 있습니다 .
 보통 흡입 그리퍼의 경우에는 약간 다른 경로로 진행됩니다 . 그리퍼가 흡
입 대신 배기 상태로 구동됩니다 . 상태가 변경됩니다 .
금속 마운트는 그리퍼가 미끄러지거나 밀리지 않도록 방지합니다 .
 구성 메뉴에서 고스트 모드를 수동으로 활성화 / 비활성화할 수 있습니다 .
또한 PLC 인풋 / 아웃풋에서도 고스트 모드를 켜거나 끌 수 있습니다 .

진행 방법

그리퍼 매개변수  메뉴 경로 : 로봇 버튼 > 구성 > 그리퍼 /SpotTech > 매개변수

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 231 / 353


로봇 프로그래밍 1

그림  9-8: 메뉴 경로

 그리퍼 매개변수

그림  9-9: 그리퍼 매개변수

파라미터 설명
고스트 모드 켜짐을 위한 인풋 인풋 숫자에 따라 고스트 모드가 활성화됩니다 .
(1)
 0: 고스트 모드의 활성화 여부는 인풋과 무관합니다 .
 1 … $NUM_IN: 인풋이 TRUE 이면 , 고스트 모드가 활성화
됩니다 .
디폴트 : 0
고스트 모드 켜짐 (2) 고스트 모드가 켜짐으로 전환됨 ( 인풋과 무관 )
 체크 마크가 표시된 경우 : 고스트 모드가 켜졌습니다 .
 체크 마크가 표시되지 않은 경우: 고스트 모드가 꺼졌습니다.
디폴트 : 고스트 모드가 꺼졌습니다 .

232 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

파라미터 설명
오류 시 아웃풋 숫자 (3) 오류 시 아웃풋 숫자가 설정됩니다 ( 상위 컨트롤러의 오류 정보
).
 0: 아웃풋 설정이 없습니다 .
 1 … $NUM_OUT: 이 번호로 아웃풋이 설정됩니다 .
디폴트 : 0
오류 전략 1…3 (4-6) 추후에 인라인 양식에서 그리퍼 감시를 선택할 수 있는 3 개의
오류 전략을 구성할 수 있습니다 .
스위칭 상태가 없으면 선택한 오류 전략이 실행됩니다 .

9.6 smartPAD 에 그리퍼 신호 표시

설명  그리퍼 표시창을 통해 현재 그리퍼 상태가 smartPAD 에 시각화됩니다 .


 따라서 특히 그리퍼가 복잡한 경우 ( 예 : 흡입 그리퍼 ) 안전하게 조작할 수
있습니다 .

진행 방법 1. 메뉴 경로 : 로봇 버튼 > 표시창 > 그리퍼 /SpotTech

그림  9-10: 그리퍼 신호 표시창

2. 단순 그리퍼의 예

그림  9-11: 그리퍼 신호 표시

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 233 / 353


로봇 프로그래밍 1

번호 설명
1 표시할 그리퍼 선택
2 스위칭 상태 1 … n
표시창과 상태 버튼을 이용해 스위칭 상태 1 … n 을 설정할 수 있
습니다 .
위험 버튼으로 구성할 때 안전상의 이유로 플러그인이 아닌 상태
버튼으로 스위칭 상태 1 … n 을 설정할 수 있습니다 .
상태 버튼의 LED 아이콘을 통해 마지막으로 설정된 스위칭 상태
가 표시됩니다 .
 초록색 : 스위칭 상태가 정상입니다 .
 빨간색 : 스위칭 상태가 비정상입니다 . 오류가 있는 인풋 상태
가 빨간색 LED 아이콘으로도 표시됩니다 .
3, 4 인풋 / 아웃풋 상태
LED 아이콘을 통해 인풋 / 아웃풋의 상태가 활성화되어 있는지 표
시됩니다 .
 초록색 : 아웃풋 설정 상태 , 인풋 TRUE
 회색 : 아웃풋 설정 상태 아님 , 인풋 FALSE

3. 흡입 그리퍼의 예

그림  9-12: 흡입 그리퍼의 그리퍼 신호

9.7 인라인 양식을 이용한 그리퍼 프로그래밍

설명 테크놀로지 패키지인 KUKA.GripperTech 를 사용하여 직접 선택한 프로그


램에서 미리 작성된 인라인 양식을 통해 그리퍼 명령어를 프로그래밍할 수 있
습니다 . 이때 2 개의 명령어를 사용할 수 있습니다 .
 그리퍼 키트
프로그램에서 그리퍼 열기 / 닫기 명령
 그리퍼 SYN 키트
프로그램에서 그리퍼 열기 / 닫기 명령
또한 스위칭 포인트를 시간 및 경로에 따라 변경할 수 있습니다 .

그리퍼 프로그래밍 원칙적으로 시작점 혹은 목표점과 관련된 명령이 실행되도록 그리퍼 명령을
기능 프로그래밍할 수 있습니다 .

234 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

그림  9-13: 예 : 그리퍼 기능

번호 설명 번호 설명
A 카메라 1 그리퍼 열기
B 그리퍼 2 파일 닫기
3 티칭된 P3 포인트

 컨베이어 벨트에서 큐브를 들어 올려야 합니다 .


 P2, P3, P4 리프팅 포인트가 티칭되어 있습니다 .
 그러나 이러한 리프팅 포인트가 변경되기 때문에 그리퍼가 시간과 장소에
따라 다른 곳에서 열리거나 닫힐 수 있습니다 .
( 카메라로 실제 위치를 측정할 수 있었습니다 . > 전문가 프로그래밍 )
 리프팅 포인트가 티칭된 위치보다 20mm 앞에서 실행됩니다 . > 그리퍼를
닫아야 합니다 .
 또한 그리퍼를 들어 올리기 200ms 전에 그리퍼를 열어야 합니다 .

모션 중 처리해야 할 그리퍼 명령은 신중하게 선택해야 합니다


. 그렇지 않을 경우 경유하는 부품으로 인한 대인 및 대물 피해
나 충돌이 발생할 수 있습니다 !

진행 방법 1. 선택한 프로그램에서 그리퍼 명령에 삽입할 프로그램 열을 선택합니다 .


1 INI
2
3 PTP 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 Wait 0.2[s]
8 Check with Strategy 1
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 > 그리퍼 ....


원하는 그리퍼 명령을 입력합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 235 / 353


로봇 프로그래밍 1

그림  9-14: 그리퍼 명령

그리퍼 키트  인라인 양식으로 그리퍼의 스위칭 상태가 설정됩니다 .


 스위칭 상태는 메인 경로와 전진 경로에서 전환할 수 있습니다 .
 메인 경로를 적용할 경우 다음 동작 세트가 실행될 때까지 , 그리퍼 액션에
따라 다소 기다려야 할 수 있습니다 .

그림  9-15: 그리퍼 키트 인라인 양식

번호 설명
1 활성화된 그리퍼
그리퍼가 활성화된 경우에만 표시됩니다 .
2 설정된 그리퍼의 스위칭 상태
선택한 스위칭 상태의 개수와 명칭은 구성에 따라 결정됩니다 .
3  CONT: 스위칭 상태가 전진 방향으로 설정됩니다 .
 [ 비어 있음 ]: 스위칭 상태가 메인 경로로 설정됩니다 .

236 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

번호 설명
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 가 선택된 경우에만 표시됩니다 .
목표점을 기준으로 한 스위칭 포인트의 거리
 -2 000 … +2 000 mm
5 스위칭 작업의 시간적 이동
 -1000 … 1000 ms
시간 표기는 절대값입니다 . 스위칭 포인트는 로봇의 속도에 따라
변합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 237 / 353


로봇 프로그래밍 1

예시

그림  9-17: 예 : 그리퍼 기능

1 INI
2
3 PTP 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]OPEN Path=20mm Delay=0ms
10 SLIN P3 Vel=0.2m/s CPDAT3 Tool[1] Base[1]
11 ; *** 그리퍼 열기 ***
12 Gripper Syn SET [1]Gripper State=[1]OPEN Path=20mm Delay=200ms
13 ; *** 그리퍼 닫기 ***
14 Gripper Syn SET [1]Gripper State=[1]OPEN Path=20mm Delay=0ms
15 SLIN P4 Vel=2m/s CPDAT3 Tool[1] Base[1]
16 ...

9.8 인라인 양식을 이용한 그리퍼 테스트

설명 테크놀로지 패키지인 KUKA.GripperTech 를 사용하여 직접 선택한 프로그


램에서 미리 작성된 인라인 양식을 통해 그리퍼 상태를 확인할 수 있습니다 .
이때 2 개의 명령어를 사용할 수 있습니다 .
 그리퍼 체크
메인 경로 또는 전진 방향으로 스위칭 시점 포인트 테스트 .
 그리퍼 SYN 체크
스위칭 시점 포인트의 테스트를 시간 또는 경로에 따라 변경할 수 있습니
다.

진행 방법

그리퍼 체크 인라인 양식을 이용해 그리퍼의 스위칭 상태를 점검하십시오 .

그림  9-18: 그리퍼 체크 인라인 양식

238 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

번호 설명
1 활성화된 그리퍼
그리퍼가 활성화된 경우에만 표시됩니다 .
2 점검할 그리퍼의 스위칭 상태
선택한 스위칭 상태의 개수와 명칭은 구성에 따라 결정됩니다 .
3  CONT: 스위칭 상태를 전진 방향으로 점검합니다 .
 [ 비어 있음 ]: 스위칭 상태를 메인 경로로 점검합니다 .
4 오류 전략
상태를 파악할 수 없으면 , 이에 대한 오류 전략이 설정됩니다 .
 No Check: 스위칭 상태가 있는지 확인하지 않고 프로그램이
실행됩니다 .
 전략 1…3: 구성된 오류 전략

그리퍼 SYN 체크  인라인 양식을 이용해 동작의 시작점 또는 목표점과 관련한 그리퍼 스위
칭 상태를 테스트할 수 있습니다 .
 스위칭 상태 테스트는 시간 및 / 또는 장소에 따라 변경될 수 있습니다 .

그림  9-19: 그리퍼 SYN 체크 인라인 양식

번호 설명
1 활성화된 그리퍼
그리퍼가 활성화된 경우에만 표시됩니다 .
2 점검할 그리퍼의 스위칭 상태
선택한 스위칭 상태의 개수와 명칭은 구성에 따라 결정됩니다 .
3 그리퍼 SYN 체크의 기준이 되는 포인트
 START: 동작의 시작점
 END: 동작의 목표점
 PATH: 테스트는 동작의 목표점을 기준으로 한 것입니다 . 추가
적으로 장소 이동이 가능합니다 .
4 이 필드는 PATH 가 선택된 경우에만 표시됩니다 .
목표점을 기준으로 한 스위칭 포인트의 거리
 -2 000 … +2 000 mm

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 239 / 353


로봇 프로그래밍 1

번호 설명
5 테스트의 시간적 이동
 -1000 … 1000 ms
시간 표기는 절대값입니다 . 테스트 시점이 로봇 속도에 따라 변경
됩니다 .
6 오류 전략
상태를 파악할 수 없으면 , 이에 대한 오류 전략이 설정됩니다 .
 No Check: 스위칭 상태가 있는지 확인하지 않고 프로그램이
실행됩니다 .
 전략 1…3: 구성된 오류 전략

240 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


9 기술 패키지 사용

9.9 연습 : 그리퍼 프로그래밍 표시판

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 그리퍼와 플라이어를 트리거링하고 점검하기 위한 지령을 프로그래밍하
기 (KUKA.Gripper & SpotTech)
 테크놀로지 고유의 상태 키를 사용하여 활성화시키고 작업하기

전제조건 이 연습을 성공적으로 마치기 위해서는 다음의 전제 조건을 충족시켜야 합니


다:
 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 테크놀로지 패키지 KUKA.Gripper & SpotTech 에 대한 이론적 지식

작업 설정 표시판 가져오기 및 내려놓기


1. 표시판 _ 가져오기란 이름으로 새 프로그램을 만들고 이 프로그램을 사용
합니다 .
툴
번호 _____ 이름 :_______________
 베이스
번호 _____ 이름 :_______________
2. 그림 (>>>  그림  9-20 ) 에 있는 하적 위치 및 마운팅 위치가 되도록 표
시판 _ 가져오기 과정을 티칭합니다 . 이때 표시판을 가져오거나 다시 놓
을 때 속도를 낮춰 0.3m/s 가 되도록 하십시오 .
3. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 . 이와 관련
하여 교육을 받은 안전 규정을 준수해야 합니다 .
4. 표시판 _ 내려놓기라는 이름으로 두 번째 프로그램을 만듭니다 . 이때 적
합한 베이스와 알맞은 툴을 사용하십시오 .
5. 표시판 내려놓기 과정을 티칭합니다 .
6. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 241 / 353


로봇 프로그래밍 1

그림  9-20: 하적 위치가 포함된 표지판

1 표시판 2 하적 위치

질문 지금 알아야 할 사항 :
어떤 인라인 양식이 테크놀로지 패키지 KUKA.GripperTech 와 함께 제공됩
니까 ? 그 기능을 설명하십시오 .
......................................................
......................................................
......................................................
......................................................
대기시간이 그리퍼 설정에 어떤 작용을 합니까 ?
......................................................
......................................................
......................................................

242 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

10 외부 툴의 구성 및 프로그래밍

10.1 개요

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


 고정된 툴을 사용한 수동 이동
 로봇 시동시키기
 고정된 툴의 측정
 로봇에 의해 유도된 공작물의 측정
 외부 TCP 를 사용한 모션 프로그래밍

10.2 로봇 시동시키기

10.2.1 고정된 툴 측정

개요 고정된 ( 외부 ) 툴의 측정은 2 단계로 이루어집니다 .


1. 광역 좌표계의 원점에 대한 외부 TCP 위치 측정
2. 외부 TCP 에서의 좌표계 방향 설정

그림  10-1: 고정된 툴의 측정

(1) (>>>  그림  10-1 ) 에 설명된 것처럼 $WORLD( 및 $ROBROOT) 과 연


관하여 외부 TCP 를 베이스 좌표계처럼 관리합니다 .

측정에 대한 설명 1. 외부 TCP 의 측정
외부 TCP 를 측정하기 위해서는 이미 측정한 , 로봇에 의해 유도된 툴이
필요합니다 . 외부 TCP 는 자신의 툴 팁을 사용하여 접근합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 243 / 353


로봇 프로그래밍 1

그림  10-2: 외부 TCP 접근

2. 정향 측정

그림  10-3: 좌표계 평행하게 정렬하기

정향을 측정하기 위해 플랜지 좌표계가 새 좌표계에 대해 평행하게 정렬


됩니다 .
이때 두 방법이 있습니다 :
 5D: 고정 툴의 작업 방향에 대한 정보만 로봇 제어 시스템에 제공됩니
다 . 작업 방향은 기본적으로 X 축입니다 . 다른 축의 정향은 시스템에
의해 확정되며 사용자에게는 직접 인식될 수 없습니다 .
 6D: 모든 3 개의 축에 대한 방향 정보가 로봇 제어 시스템에 제공됩니
다.

전제조건  측정하기 전에 플랜지 좌표계 방향이 입력되어 있어야 합니다 .


 특히 6D 방법을 사용할 때 적용하십시오 . +X 플랜지를 기반으로 +Z 베
이스 ( 외부 TCP) 가 산출되기 때문입니다 .

244 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

측정하기 전에 툴 0( 플랜지 ) 과 툴 좌표계를 설정하십시오 . +X 방


향으로 이동시키고 플랜지에 방향을 표시하십시오 .

진행 방법 1. 메뉴 경로 : 로봇 버튼 > 초기 설정 > 측정 > 고정 툴 > 툴


2. 고정 툴의 이름 (2) 및 번호 (1) 를 입력합니다 . 계속 (4) 을 눌러 확인합니
다.

그림  10-4: 툴 번호 및 이름 입력

외부 툴은 로봇 베이스 (3) 에 아직 " 있습니다 ".


3. 사용된 기준 툴 (1) 의 번호를 입력합니다 . 계속 (3) 을 눌러 확인합니다 .

그림  10-5: 기준 툴 지정

4. 5D/6D 필드 (2) 에서 하나의 유형을 선택합니다 . 계속 (3) 을 눌러 확인합


니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 245 / 353


로봇 프로그래밍 1

그림  10-6: 5D/6D

5. 이미 측정된 툴의 TCP 를 고정 툴의 TCP 로 이동시키십시오 . 측정 (1) 을


누릅니다 . 위치를 예를 눌러 확인하십시오 .

그림  10-7: 측정

6. 5D 를 선택한 경우 :
+XBASE 를 -ZFLANGE 에 평행하게 정렬하십시오 .
( 즉 마운팅 플랜지를 고정된 툴의 작업 방향에 대해 수직으로 정렬하십시
오 .)

그림  10-8: 작업 방향 측정

7. 6D 를 선택한 경우 :
마운팅 플랜지의 축이 고정 툴의 축과 평행하도록 마운팅 플랜지를 정렬
합니다 .
 +XBASE 를 -ZFLANGE 에 평행하게

246 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

( 즉 마운팅 플랜지를 툴의 작업 방향에 대해 수직으로 정렬하십시오 .)


 +YBASE 를 +YFLANGE 에 평행하게
 +ZBASE 를 +XFLANGE 에 평행하게
8. 측정 (1) 을 누릅니다 . 계속을 눌러 위치를 확인합니다 .
9. 저장을 누릅니다 .

10.2.2 로봇이 안내한 공작물 측정

개요 : 직접 측정
다음에서는 직접 측정방법에 대해서만 알아 보겠습니다 . 간접
측정은 매우 드물며 시스템 소프트웨어 8.2 사용 및 프로그래밍 매
뉴얼 문서에 상세히 설명되어 있습니다 .

그림  10-9: 직접 측정을 통해 공작물 측정하기

부품 측정
1 플랜지 중간점
2 1 과 3 사이의 간격
3 좌표계 - 측정한 공작물 원점

설명  원점 및 공작물의 2 개 점에 대한 정보가 로봇 제어 시스템에 제공됩니다 .


 이 3 개의 포인트가 최종적으로 공작물을 정의합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 247 / 353


로봇 프로그래밍 1

그림  10-10

그림  10-11: 공작물 측정 : 직접법

진행 방법 1. 메뉴 경로 : 로봇 버튼 : > 초기 설정 > 측정 > 고정 툴 > 공작물 > 직접 측정


2. 공작물의 이름 (1) 및 번호 (2) 를 부여합니다 . 계속 (3) 을 눌러 확인합니
다.

248 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

그림  10-12: 공작물 번호 및 이름

3. 고정 툴 (1) 의 번호를 입력합니다 . 계속 (4) 을 눌러 확인합니다 .

그림  10-13: 고정 툴 번호 지정

4. 공작물 좌표계의 원점을 고정 툴의 TCP 로 이동시키십시오 .


측정 (1) 을 누르고 예를 눌러 위치를 확인합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 249 / 353


로봇 프로그래밍 1

그림  10-14: 외부 공작물 측정

5. 공작물 좌표계의 포지티브 X 축에 있는 점을 고정 툴의 TCP 로 이동시키


십시오 .
측정 (1) 을 누르고 예를 눌러 위치를 확인합니다 .

그림  10-15: 포지티브 X 축에 있는 측정된 포인트

6. 공작물 좌표계의 XY 면에서 플러스 Y 값을 갖는 점을 고정 툴의 TCP 로


이동합니다 .

그림  10-16: X-Y 영역의 포인트

측정 (1) 을 누르고 예를 눌러 위치를 확인합니다 .


7. 공작물 (1) 의 하중 데이터를 입력하고 계속 (2) 을 눌러 확인합니다 .

250 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

그림  10-17: 로드 데이터

8. 저장을 누릅니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 251 / 353


로봇 프로그래밍 1

10.2.3 연습 : 외부 툴 및 로봇에 의해 유도된 공작물 측정

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 고정된 툴 측정
 움직이는 , 로봇에 의해 유도된 공작물 측정
 외부 툴을 사용한 수동 이동

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 고정된 툴의 측정 방법에 대한 이론적 지식

252 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

 툴이 고정되어 있을 때의 공작물 측정에 대한 , 특히 직접적 방법에 대한 이


론적 지식

작업 설정 노즐 및 표지판 측정
1. 고정된 툴을 측정하기 위해 이미 측정한 툴 ( 번호 :_____ 이름
:_______________) 을 기준 툴로 사용해야 합니다 .
 고정된 툴에 대해 번호 :_____ 이름 :_______________ 을 입력하십시오 .
 측정할 때마다 그 데이터를 백업하십시오 !
2. 로봇에 의해 유도된 공작물을 측정하십시오 .
 이때 번호 :_____ 이름 :_______________ 을 입력하십시오 .
 하중 데이터를 등록하십시오 .
 이때 표지판이 있는 올바른 그리퍼를 사용하십시오 ( 아래 참조 ).
3. 측정한 후 수동 이동을 위해 외부 툴과 공작물을 활성화하십시오 .
 베이스 및 툴 좌표계를 유의미하게 사용하여 로봇을 이동시키십시오 .
4. TCP 를 사용하여 측정된 공작물의 베이스 좌표계 소스로 이동한 다음 실
제 위치가 직교식으로 표시되도록 하십시오 .
실제 위치 :
X Y Z A B C

............... ............... ............... ............... ............... ...............

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 253 / 353


로봇 프로그래밍 1

표지판이 있는 그리  교육 그리퍼 모듈식 셀 - 버전 1


퍼의 툴 하중 데이

그림  10-18: 교육 그리퍼 KR 16

질량 :
M = 6kg
무게중심 :
X = 69mm Y = 67mm Z = 84mm
방향 설정 :
A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.02 kgm2 JY = 0.06 kgm2 JZ = 0.18 kgm2

 교육 그리퍼 모듈식 셀 - 버전 2

그림  10-19: 교육 그리퍼 모듈식 셀

질량 :
M = 6.5 kg
무게중심 :
X = 42 mm Y = -54 mm Z = 93 mm
방향 설정 :
A = 0° B = 0° C = 0°

254 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

관성 모멘트 :
JX = 0.02 kgm2 JY = 0.11 kgm2 JZ = 0.18 kgm2

 교육 그리퍼 모바일 셀 - 버전 1

그림  10-20: 교육 그리퍼 모바일 셀

질량 :
M = 2.18 kg
무게중심 :
X = 34 mm Y = 0 mm Z = 68 mm
방향 설정 :
A = 0° B = 0° C = 0°
관성 모멘트 :
JX = 0.002 kgm2 JY = 0.005 kgm2 JZ = 0.004 kgm2

 교육 그리퍼 모바일 셀 - 버전 1

그림  10-21: 그리퍼 모바일 교육 셀

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 255 / 353


로봇 프로그래밍 1

질량 :
M = __________
무게중심 :
X = __________ Y = __________ Z = __________
방향 설정 :
A = __________ B = __________ C = __________
관성 모멘트 :
JX = __________ JY = __________ JZ __________

질문 지금 알아야 할 사항 :
좌표계는 로봇의 플랜지에 장착된 공작물에서 어떻게 측정됩니까 ?
......................................................
......................................................
......................................................
외부 툴의 TCP 는 어떻게 측정됩니까 ?
......................................................
......................................................
......................................................
외부 TCP 를 사용하면 어떤 장점이 있습니까 ?
......................................................
......................................................
......................................................
외부 TCP 를 툴의 작업 방향으로 이동하기 위해서는 어떤 설정이 필요합니까
?
......................................................
......................................................
......................................................

256 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

10.3 로봇 동작

10.3.1 고정된 툴을 사용한 수동 이동

장점 및 사용분야  일부 생산 및 가공 프로세스에서는 로봇이 작업 툴 (2 또는 3) 이 아니라 공


작물 ( 부품 )(1) 을 다뤄야 합니다 .
 이때 부품 처리를 위해 부품을 별도로 내려 놓을 필요가 없습니다 - 그 결
과 조임장치를 절약할 수 있습니다 .
 무엇보다 다음과 같은 경우가 이에 해당합니다 :
 접착 어플리케이션
 용접 어플리케이션

그림  10-22: 고정된 툴의 예

이러한 어플리케이션을 성공적으로 프로그래밍하려면 고정된


툴의 외부 TCP 및 공작물을 측정해야 합니다 .

툴이 고정되어 있는  툴이 고정되어 있는 ( 움직이지 않는 ) 물체라고 해도 좌표계가 포함된 툴 기


경우 변경된 모션 준점이 있습니다 .
진행과정  이제 이 기준점을 외부 TCP 라고 칭합니다 .
 그렇지만 좌표계가 움직이지 않는 좌표계이기 때문에 데이터는 베이스 좌
표계처럼 관리되고 이에 따라 베이스로 저장됩니다 !
 ( 움직이는 ) 공작물은 반면 툴로 저장됩니다 .
 이로써 TCP 와 연관시켜 공작물 모서리를 따라 이동할 수 있습니다 .

고정된 툴과 함께 수동으로 이동할 경우 동작이 외부 TCP 와 연


관되어 실행된다는 점에 유의해야 합니다 .

고정된 툴을 사용한
수동 이동 진행방법

그림  10-23: 옵션 메뉴에서 외부 TCP 선택

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 257 / 353


로봇 프로그래밍 1

1. 툴 선택 창에서 로봇이 가이드한 공작물을 선택하고 ,


2. 베이스 선택 창에서 고정된 툴을 선택하십시오 .
3. IpoMode 선택을 외부 툴로 설정하고
4. 이동 버튼 / 스페이스 마우스용 옵션으로 툴을 설정하십시오 :
 공작물의 좌표계에서 이동하기 위해 툴을 설정하고
 외부 좌표계에서 툴을 이동하기 위해 베이스를 설정하십시오 .
5. 핸드 오버라이드를 설정하고
6. 승인 스위치를 중앙 위치로 누르고 누른 상태를 유지합니다 .
7. 이동 버튼 / 스페이스 마우스를 사용하여 원하는 방향으로 이동하십시오 .
외부 툴을 옵션창 수동 이동 옵션에서 선택하면 제어시스템이 전환합니다 :
이제 모든 모션은 로봇이 가이드한 툴이 아니라 외부 TCP 와 관련하여 진행
됩니다 .

258 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

10.3.2 연습 : 고정된 툴을 포함한 수동 이동

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 로봇이 가이드한 부품을 고정된 툴과 함께 수동으로 이동시키기

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 KUKA 산업용 로봇 시스템의 일반적인 조작법에 대한 이론 지식


 외부 툴을 사용한 이동에 대한 이론적 지식

작업 설정

그림  10-24: 외부 TCP 의 표시판

번호 설명
1 외부 TCP
2 표시판의 좌표계
3 표시판

1. 다음의 툴과 베이스를 활성화합니다 .


 외부 툴
번호 _____ 이름 :_______________
베이스 ( 플랜지 )

번호 _____ 이름 :_______________
2. 옵션 메뉴에서 수동 이동 옵션을 외부 툴로 설정합니다 . (>>>  그림  10-
23 )
3. 표시판을 외부 핀 방향으로 이동시킵니다 .
4. 표시판 (3) 을 외부 핀 (1) 방향으로 움직여 방향을 설정합니다 . 이때 툴 좌
표계에서의 이동과 베이스 좌표계에서의 이동에 대한 차이점을 테스트합
니다 .
5. 옵션 메뉴에서 수동 이동 옵션 플랜지를 설정하십시오 .
6. 표시판 (3) 을 외부 핀 (2) 방향으로 움직여 방향을 설정합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 259 / 353


로봇 프로그래밍 1

10.4 프로그래밍된 동작 만들기 및 변경

10.4.1 외부 TCP 를 사용한 모션 프로그래밍

외부 TCP 를 사용 고정된 툴을 사용한 모션 프로그래밍의 경우 표준 모션과 비교해 볼 때 모션


한 모션 프로그래밍 진행 면에서 다음과 같은 차이를 갖습니다 :
 인라인 양식에서의 표시 : 옵션 창 프레임에서 외부 TCP 항목이 TRUE 로
되어 있어야 합니다 .

그림  10-25: 옵션창 " 프레임 " 외부 TCP

 그러면 모션 속도는 외부 TCP 와 연관됩니다 .


 이 경우 트랙을 따라가는 정향 역시 외부 툴과 연관됩니다 .
 적합한 베이스 좌표계 ( 고정된 툴 / 외부 TCP) 뿐만 아니라 적합한 툴 좌표
계 ( 움직여진 공작물 ) 도 입력해야 합니다 .

그림  10-26: 고정된 툴에서의 좌표계

260 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


10 외부 툴의 구성 및 프로그래밍

10.4.2 연습 : 외부 TCP 를 사용한 동작 프로그래밍

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 고정된 툴을 기준으로 하여 로봇에 의해 움직이는 어셈블리의 동작에 대
한 프로그래밍

전제조건 이 연습을 성공적으로 마치기 위해서는 다음의 전제 조건을 충족시켜야 합니


다:
 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 동작 프로그래밍 시 외부 툴의 활성화에 대한 지식 .

작업 설정
 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

접착제 도포를 위한 윤곽 프로그래밍 :


1. 그리퍼를 사용하여 수동으로 표지판을 고정하십시오 .
2. 표지판에 기재된 윤곽을 프로그램 이름 표지판 _ 접착으로 티칭하십시오 .
 이를 위해 측정한 외부 툴과 표지판을 사용하십시오 .
 외부 툴
번호 _____ 이름 :_______________
 베이스 ( 플랜지 )
번호 _____ 이름 :_______________
 고정된 툴의 세로축은 접착 컨투어와 항상 수직을 이뤄야 한다는 점에
한다는 점에 유의하십시오 .
 표지판에서의 이동 속도는 0.2m/s. 입니다 .
 이를 위해 개별 레코드 SPTP, SLIN, SCIRC 를 사용하십시오 .
3. 규정에 따라 프로그램을 테스트하십시오 .

질문 지금 알아야 할 사항 :
프로그래밍된 접착 속도는 무엇을 기준으로 하고 있습니까 ?
......................................................
......................................................
프로그램에서 외부 툴을 어떻게 활성화합니까 ?
......................................................
......................................................

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 261 / 353


로봇 프로그래밍 1

262 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


11 전문가 레벨로의 입문

11 전문가 레벨로의 입문

11.1 개요

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


 전문가 레벨 사용하기
 로봇 프로그램의 구조 만들기
 로봇 프로그램 연결하기

11.2 전문가 레벨 사용하기

설명 로봇 컨트롤러에는 서로 다른 기능을 사용할 수 있는 다양한 사용자 그룹이 존


재합니다 . 다음과 같은 사용자 그룹을 선택할 수 있습니다 :
 오퍼레이터
오퍼레이터를 위한 사용자 그룹 . 이는 디폴트 사용자그룹입니다 .
 유저
오퍼레이터를 위한 사용자 그룹 . ( 오퍼레이터 및 유저 사용자그룹은 기
본적으로 동일한 대상 그룹을 위해 생성되었습니다 .)
 전문가
프로그래머를 위한 사용자 그룹 . 이 사용자 그룹은 암호로 보호되어 있습
니다 .
 관리자
전문가 사용자그룹에서와 동일한 기능 . 그에 추가적으로 로봇 컨트롤러
로의 플러그 인의 통합이 가능합니다 . 이 사용자그룹은 암호로 보호되어
있습니다 . 인도 시의 암호 kuka 는 변경해야 합니다 .
 안전유지 관리자
사용자는 활성화 코드를 통해 현재의 안전 컨피규레이션을 활성화시킬 수
있습니다 . 예를 들어 KUKA.SafeOperation 이나
KUKA.SafeRangeMonitoring 과 같은 Safe 옵션을 사용하지 않을 경우
안전유지 관리자에게 전반적인 권한이 있습니다 . 예를 들어 안전 유지 관
리자에게는 표준 안전 기능을 구성할 권한이 있습니다 . 이 사용자 그룹은
암호로 보호되어 있습니다 . 인도 시의 암호 kuka 는 변경해야 합니다 .
 안전 시운전 인원
이 사용자 그룹은 , KUKA.SafeOperation 또는
KUKA.SafeRangeMonitoring 이 사용되는 경우에만 필요합니다 . 이 사
용자 그룹은 암호로 보호되어 있습니다 . 인도 시의 암호 kuka 는 변경해야
합니다 .
사용자 그룹 전문가의 확장된 기능 :
 암호로 보호되어 있음 ( 디폴트 : kuka)
 KRL 을 사용하여 편집기에서 프로그래밍할 수 있음
 사용자 그룹 전문가는 다음의 경우 자동으로 로그아웃이 됩니다 , 즉
 작동모드 AUT 또는 AUT EXT 로 이동할 경우 ,
 특정 시간 동안 사용자 인터페이스에서 어떠한 작업도 실시하지 않을
경우 (300 초 ),

전문가는 메뉴 편집에서 모든 기능을 사용할 수 있습니다 .

기능 프로그램을 템플릿을 사용하여 만들기


 셀 : 기존의 셀 프로그램은 교환만 가능하며 셀을 삭제했을 경우 새로 만들
어야 합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 263 / 353


로봇 프로그래밍 1

 전문가 : 프로그램 헤더와 프로그램 엔드만 있는 SRC 및 DAT 파일로 구


성된 모듈
 전문가 서브밋 : 프로그램 헤더와 프로그램 엔드로 구성된 추가 서브밋 파
일 (SUB)
 함수 : BOOL 변수를 사용하는 함수 헤더만 설정되어 있는 SRC 함수 만들
기 함수 엔드는 있지만 우선 반송값을 프로그래밍해야 합니다 .
 모듈 : 프로그램 헤더 및 엔드 , 프레임워크 (INI 및 2x PTP HOME) 이 있는
SRC 및 DAT 파일로 구성된 모듈
 서브밋 : 프로그램 헤더 및 엔드 , 프레임워크 (DECLARATION, INI,
LOOP/ENDLOOP) 로 구성된 추가 서브밋 파일 (SUB)

필터는 프로그램을 파일 목록에서 어떻게 표시할 지를 정합니다 . 다음과 같


은 필터가 제공됩니다 :
 프로그램 선택을 취소하거나 닫으십시오 .
 버튼 편집 > 필터를 선택한 후 세부 정보 또는 모듈을 선택하십시오 .
 세부 정보
프로그램이 SRC 및 DAT 파일로서 표시됩니다 . ( 기본 설정 )
 모듈
프로그램이 모듈로서 표시됩니다 .

그림  11-1: 편집 메뉴

폴드 열기 / 닫기
 폴드는 유저에게는 언제나 닫혀 있지만 전문가는 열 수 있습니다 .
 전문가는 자신의 폴드를 프로그래밍할 수 있습니다 .

264 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


11 전문가 레벨로의 입문

 폴드의 구문은 다음과 같습니다 :


; 폴드 이름
지침
;ENDFOLD < 이름 >
ENDFOLD 행은 여기에 폴드의 이름이 입력되어 있다면 보다 수월하게 지
정될 수 있습니다 . 폴드는 연계될 수 있습니다 .
DEF 행 보이기 / 숨기기
 DEF 행은 기본적으로 숨겨져 있습니다 . 프로그램에서 DEF 행이 보일 경
우에는 선언만 수행할 수 있습니다 .
 프로그램이 열려 있고 선택되었을 경우 DEF 행은 별도로 보이기 / 숨기기
를 할 수 있습니다 . 상세 보기가 켜진 상태에서는 DEF 행이 나타나기 때
문에 보이기를 실행할 필요가 없습니다 .

전문가 레벨 활성화 전문가 레벨 활성화시키기


및 오류 제거 방법 1. 메인 메뉴에서 컨피규레이션 > 사용자 그룹을 선택합니다 .
2. 전문가로 로그온하기 : 로그온을 누르십시오 . 사용자 그룹 전문가를 선택
하고 로그온을 누르십시오 .
3. 요청 암호를 입력하고 ( 기본값 : kuka) 로그인으로 확인합니다 .
프로그램에서 오류 제거하기
1. 탐색기에서 오류가 있는 모듈 선택하기

그림  11-2: 오류가 있는 프로그램

2. 메뉴 오류 목록을 선택하십시오
3. 오류 표시창 ( 프로그램 이름 .ERR) 이 열립니다
4. 오류를 선택합니다 , 상세 설명은 오류 표시창 하단에 나타납니다
5. 오류 표시창에서 버튼 표시를 누르고 오류가 있는 프로그램으로 이동합니

6. 오류 제거하기
7. 편집기를 마치고 저장합니다

11.3 로봇 프로그램의 구조 만들기

로봇 프로그램 구조 로봇 프로그램의 구조는 프로그램의 사용가치를 위해 중요한 요소입니다 . 프


형성 방법 로그램의 구조형성 정도가 높을 수록 이해하기 쉽고 가독성도 뛰어나며 경제
성도 높습니다 . 프로그램을 구조적으로 만들기 위해서 다음과 같은 테크닉
을 사용할 수 있습니다 :
 메모하기 | 메모 및 스탬프
 삽입하기 | 빈칸
 숨기기 | 폴드 (" 접기 ")
 모듈 테크닉 | 하위 프로그램

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 265 / 353


로봇 프로그래밍 1

메모 및 스탬프 메모를 추가하면 프로그램의 독자만 읽도록 한 텍스트를 로봇 프로그램에 남


길 수 있습니다 . 즉 로봇 해석기가 이 텍스트를 읽지는 않습니다 . 이 텍스트
의 목적은 프로그램의 가독성을 높이는 것 뿐입니다 .
로봇 프로그램에서 이 메모를 여러 관점에서 사용할 수 있습니다 :
 프로그램 텍스트에 대한 정보 : 저자 , 버전 , 작성일

그림  11-3: 메모의 예 : 정보

 프로그램 텍스트의 구분 : 특히 그래픽적 수단 ( 특수 문자 #, *, ~,) 을 사용


하여

그림  11-4: 메모의 예 : 분할

 메모 처리 ( 전문가 레벨 ): 프로그램 행의 처음에 세미콜론를 붙여 이 행이


" 메모로 처리 " 되는 바 , 즉 이 텍스트가 메모로서 인식되어 프로그램 실
행에 포함되지 않습니다 .

그림  11-5: 메모의 예 : 코멘트 아웃

인라인 양식은 ; 으로 메모로 처리되지 않습니다 .

 각 행에 대한 설명
및 처리할 작업에 대한 지침 : 불충분한 프로그램 부분의 표시

그림  11-6: 메모의 예 : 언급 :

최신 버전을 유지하는 경우에만 메모가 유의미합니다 . 설명서


의 변경 사항에 맞추어 메모를 반드시 추가로 업데이트해야 합
니다 !

다음 세 가지의 유형의 다른 메모를 사용할 수 있습니다 :


 세미콜론 삽입 ( 전문가 레벨 ): 세미콜론 (";") 을 삽입하면 행에 후속하는 부
분은 메모가 됩니다 .

266 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


11 전문가 레벨로의 입문

 인라인 양식 " 메모 " 삽입

그림  11-7: 인라인 양식 메모

위치 설명
1 임의의 텍스트

 인라인 양식 " 스탬프 " 삽입 여기에 시간 스탬프를 추가로 삽입합니다 . 또


한 편집자의 이름을 삽입할 수 있습니다 .

그림  11-8: 인라인 양식 스탬프

위치 설명
1 시스템 날짜 ( 편집 불가능 )
2 시스템 시간 ( 편집 불가능 )
3 사용자 이름 또는 ID
4 임의의 텍스트

메모 및 스탬프 삽 1. 메모 또는 스탬프를 삽입할 행을 선택합니다 .


입 방법 2. 메뉴 순서 명령 > 메모 > 일반 또는 스탬프를 선택하십시오 .
3. 원하는 데이터를 입력합니다 . 이전에 이미 메모 또는 스탬프가 삽입된 경
우에는 , 인라인 양식에 동일한 정보가 기록되어 있습니다 .
 메모에서는 새로운 텍스트를 입력하기 위해 새 텍스트를 이용해 입력
란을 비울 수 있습니다 .
 이외에도 스탬프에서는 뉴타임을 이용해 시스템 시간을 새로 고치고
새 이름으로 이름 입력란을 비울 수 있습니다 .
4. 명령 OK 를 눌러 저장합니다 .

프로그램의 행 누름 로봇 프로그램의 가독성을 높이는 효과적인 방법은 프로그램의 행을 누르는


것입니다 . 이렇게 함으로써 프로그램 요소의 관련성을 명확하게 할 수 있습
니다 .

그림  11-9: 프로그램의 행 누르기

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 267 / 353


로봇 프로그래밍 1

누르기의 효과는 오로지 시각적일 뿐입니다 . 누른 프로그램 부


분은 프로그램 진행 시 누르지 않았을 때와 똑같이 처리됩니다 .

폴드를 통해 프로그  KUKA 로봇 언어에는 프로그램 행을 폴드에서 요약하고 숨기는 방법이 있


램 행 숨기기 습니다 .
 이로 인해 프로그램 부분이 사용자에게 보이지 않습니다 - 따라서 프로그
램을 읽을 때 단순성이 향상됩니다 .
 사용자 그룹 전문가에서는 그 폴드가 열리므로 편집할 수도 있습니다 .

그림  11-10: 닫힌 폴드

그림  11-11: 열린 폴드

폴드에서의 색 표시 :

색상 설명
암적색 닫힌 폴드
적색 열린 폴드
암청색 닫힌 하위 폴드
청색 열린 하위 폴드
녹색 폴드의 내용

11.4 로봇 프로그램 연결

하위 프로그램 테크 하위 프로그램 테크닉은 로봇 프로그램을 모듈 방식으로 구성하여 구조면에


닉 서 효율적으로 디자인할 수 있도록 해 줍니다 . 그 목적은 하나의 프로그램에
모든 명령을 쓰는 것이 아니라 특정 진행과정 및 계산 , 혹은 프로세스를 별도
의 프로그램으로 옮기는 것입니다 .
하위 프로그램을 사용할 경우 장점이 많습니다 :
 메인 프로그램은 프로그램 길이가 줄어 그 구조가 명확해지고 보다 쉽게
읽을 수 있습니다 .
 하위 프로그램은 서로 분리되어 개발될 수 있습니다 : 프로그래밍으로 인
한 소모가 분배되고 오류 소스가 최소한으로 줄어듭니다 .
 하위 프로그램은 여러 차례에 걸쳐 다시 사용할 수 있습니다 .
원칙적으로 하위 프로그램의 유형은 2 가지입니다 :
 글로벌 하위 프로그램

268 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


11 전문가 레벨로의 입문

그림  11-12: 글로벌 하위 프로그램을 위한 스키마의 예

글로벌 하위 프로그램은 독립적인 로봇 프로그램으로 다른 로봇 프로그램


에서 불러올 수 있습니다 . 프로그램의 분기는 요청사항에 맞춰 진행될 수
있습니다 , 즉 경우에 따라 메인 프로그램일 수도 있으며 다른 경우에는 하
위 프로그램으로 기능할 수도 있습니다 .
 로컬 하위 프로그램

그림  11-13: 스키마 : 로컬 하위 프로그램

로컬 하위 프로그램은 메인 프로그램에 통합되어 있는 프로그램입니다 .


즉 명령이 동일한 SRC 파일에 들어 있습니다 . 이에 따라 하위 프로그램
의 포인트 좌표는 동일한 DAT 파일에 저장되어 있습니다 .

하위 프로그램 호줄 각 프로그램은 DEF 행으로 시작하여 END 행으로 끝납니다 . 메인 프로그램


진행과정 에서 하위 프로그램을 불러올 경우 기본적으로 하위 프로그램은 DEF 에서
END 까지 처리됩니다 . END 행에 도달하면 프로그램 진행 표시기는 다시 불
러내고자 하는 프로그램 ( 메인 프로그램 ) 으로 이동합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 269 / 353


로봇 프로그래밍 1

그림  11-14: 하위 프로그램 호줄 진행과정

하위 프로그램을 일찍이 ( 즉 END 행 전에 ) 마치려면 하위 프


로그램에 명령 RETURN 을 프로그래밍해야 합니다 . 이 프로그
램 행을 읽으면 하위 프로그램을 조기에 중단할 수 있습니다 .

하위 프로그램 불러 하위 프로그램 불러오기를 프로그래밍할 수 있으려면 사용자 그룹 전문가가


오기 진행방법 선택되어 있어야 합니다 . 하위 프로그램의 구문은 다음과 같습니다 :
이름 ( )
1. 메인 메뉴에서 컨피규레이션 > 사용자 그룹을 선택합니다 . 현재 사용자
그룹이 표시됩니다 .
2. 다른 사용자그룹으로 이동하는 경우 : 로그온 … 을 누릅니다 . 사용자 그
룹 전문가를 선택합니다 .
3. 암호 kuka 를 입력하고 로그온을 눌러 확인하십시오 .
4. 원하는 메인 프로그램을 열기를 눌러 편집기에 로딩하십시오 .
INI
PTP HOME Vel= 100% DEFAULT

PTP HOME Vel= 100% DEFAULT

5. 커서를 원하는 행에 놓으십시오 .


6. 하위 프로그램의 이름을 양 괄호를 사용하여 입력하기 - 예를 들어
myprog( ).
INI
PTP HOME Vel= 100% DEFAULT
myprog( )
PTP HOME Vel= 100% DEFAULT

7. 닫기 심벌을 사용하여 편집기를 닫고 변경한 내용을 저장하십시오 .

270 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


11 전문가 레벨로의 입문

11.5 연습 : 하위 프로그램 호출 프로그래밍

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 하위 프로그램 호출 프로그래밍하기

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 전문가 레벨에서의 탐색기 취급방법에 대한 지식


 전문가 레벨의 프로그래밍에 대한 기본 지식 (KRL)

작업 설정 1. 전문가 영역에서 메인 프로그램이란 이름의 새 모듈을 만듭니다 .


2. 이 중앙 프로그램에서 다른 모든 프로그램을 하위 프로그램으로 호출합니
다.
상세한 프로그램 진행과정에 대해서는 프로그램 로드맵에서 확인하십시
오.
3. 로봇이 모든 글로벌 하위 프로그램을 순서대로 처리한 후에는 메인 프로
그램 프로그램에서 다시 되돌아가 하위 프로그램 호출을 반복해야 합니다
.
이를 위해 무한 루프 LOOP - ENDLOOP 가 필요합니다 . 이에 대해서는 다
음 단원에서 상세하게 설명합니다 .
연습을 위해 프로그램을 다음과 같이 확장하십시오 .
(>>> 13.2.1 " 무한 루프 프로그래밍하기 " 페이지  287)
....
LOOP
표시판 _ 가져오기 ()
표시판 _ 부착하기 ()
표시판 _ 내려놓기 ()
핀 _ 가져오기 ()
스플라인 _ 방향 설정 ()
핀 _ 내려놓기 ()
ENDLOOP
...

4. 작동 모드 T1, T2 및 오토매틱에서 새 메인 프로그램을 테스트합니다 . 이


와 관련하여 교육을 받은 안전 규정을 준수해야 합니다 .

질문 지금 알아야 할 사항 :
KUKA 파일에서 끝에 있는 SRC und DAT 는 무엇을 뜻합니까 ?
......................................................
......................................................
하위 프로그램을 어떻게 호출합니까 ? 이때 중요한 것은 무엇입니까 ?
......................................................
......................................................
로컬 하위 프로그램과 글로벌 하위 프로그램의 차이는 무엇입니까 ?
......................................................
......................................................

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 271 / 353


로봇 프로그래밍 1

272 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


12 변수 및 합의

12 변수 및 합의

12.1 개요

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


 KRL 로 데이터 관리
 단순한 데이터 타입으로 작업
 변수 표시

12.2 KRL 로 데이터 관리

변수에 대한 일반
사항

그림  12-1: 버전 표시

 KRL 로 로봇을 프로그래밍할 때 일반적으로 변수는 로봇 프로세스가 진행


되는 동안 나타나는 피연산 함수 (" 값 ") 을 담는 그릇입니다 .
 각 변수는 컴퓨터 메모리에서 할당된 특정 주소를 갖습니다 .
 변수는 KUKA 키워드가 아닌 이름을 사용하여 표시됩니다 .
 각 변수는 특정 데이터 파입과 결합되어 있습니다 .
 사용하기 전에 데이터 타입 선언을 해야 합니다 .
 KRL 에서 로컬 변수와 글로벌 변수는 다릅니다 .

명명 규칙 변수의 이름을 선택할 때 다음과 같은 규칙을 고려해야 합니다 :


 KLR 로 된 이름의 길이는 최대 24 자입니다 .
 KRL 로 된 이름은 알파벳 (A - Z) 및 숫자 (0 - 9), 특수문자 "_" 및 "$" 등
을 포함해야 합니다 .
 KRL 로 된 이름은 숫자로 시작해서는 안 됩니다 .
 KRL 로 된 이름은 키워드여서는 안 됩니다 .
 대문자 및 소문자 표기는 중요하지 않습니다 .
유용한 팁
 의미가 있고 자명한 변수 이름을 사용하십시오 ,
 난해한 이름이나 약자는 사용하지 마십시오 ,
 적합한 길이의 이름을 사용하십시오 , 즉 매번 24 자 모두 사용하지 마십시
오.

변수의 이중 선언  이중 선언은 항상 동일한 변수 이름(기호의 순서)을 사용할 때 발생합니다.


 이중선언이 아닌 경우는 동일한 이름에 상이한 *.SRC 또는 *.DAT- 파일을
사용하는 경우입니다 .
 동일한 *.SRC und *.DAT- 파일을 사용한 이중 선언은 허용되지 않으며 오
류 메시지를 발생시킵니다 .
 *.SRC oder *.DAT- 파일 및 $CONFIG.DAT 형태의 이중 선언은 허용됩니
다:
 변수가 선언되어 있는 프로그램 루틴이 가동될 경우 $CONFIG.DAT
에 있는 값이 아니라 로컬 값만 변경됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 273 / 353


로봇 프로그래밍 1

 "낯선" 프로그램 루틴이 가동되고 있는 경우에는 $CONFIG.DAT에 있


는 값에 접근하여 이를 변경시킵니다 .

KRL 에서의 데이  사전에 정의된 표준 데이터 타입


터 타입  BOOL: 고전적인 " 예 "/" 아니요 " 결과
 REAL: 부동 소수점 수 , 산술 연산의 결과 , 올림 및 버림으로 인한 오
류를 방지하기 위함
 INT: 정수 , 카운팅 루프 또는 카운터를 위한 고전적인 카운팅 변수
 CHAR: 오직 1 자
스트링 혹은 텍스트는 CHAR- 필드로서만 실현될 수 있습니다

단순한 데이터
정수 부동 소수점 수 논리값 개별 기호
타입
키워드 INT REAL BOOL CHAR
값 범위 31
-2 ... -38
± 1.1 10 ... 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

 열거 데이터 타입의 모든 값은 저장할 때 이름 ( 일반 텍스트 ) 을 사용하


여 정의합니다 .
 이때 시스템은 순서도 결정합니다
 요소의 최대 개수는 메모리 공간에 따라 다릅니다
 혼합형 데이터 타입 / 구조
Date = {day 14, month 12, year 1996}

 다양한 데이터 타입의 구성요소를 혼합한 데이터 타입


 구성요소는 단순한 데이터 타입일 수도 있고 구조일 수도 있습니다 .
 각 구성요소로의 접근은 가능합니다 .

변수 만들기 변수 선언
 선언은 항상 사용하기 전에 이뤄져야 합니다 .
 각 변수에 데이터 타입이 할당되어야 합니다 .
 이름을 부여할 때 명명 규칙을 준수해야 합니다 .
 선언의 키워드는 DECL 입니다 .
 키워드 DECL 은 4 개의 간단한 데이터 타입에서는 생략될 수 있습니다 .
 값 할당은 전진 시에 이뤄집니다 .
 변수 선언은 다양한 장소에서 행해질 수 있습니다 . 이는 각 변수의 수명
과 유효성에 영향을 미칩니다 .

274 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


12 변수 및 합의

변수의 수명 및 유 KRL 에서 변수의 수명


효성  여기서 수명이란 변수를 위해 저장 공간이 예약되어 있는 기간을 의미합
니다 .
 런타임 변수는 프로그램이나 기능을 종료할 때 그 저장 공간의 할당을 다
시 취소합니다 .
 데이터 목록에 있는 변수는 저장 공간에 있는 자신의 현재 ( 최신 ) 값을 계
속 유지합니다 .
KRL 에서 변수의 유효성
 로컬이라고 선언한 변수는 그렇게 선언한 프로그램에서만 사용할 수 있고
보일 수 있습니다 .
 글로벌 변수는 중앙 ( 글로벌 ) 변수 목록에 만들어져 있습니다 .
 글로벌 변수를 로컬 데이터 목록에도 만들수 있으며 선언할 때 이 변수를
키워드 글로벌로 구분할 수 있습니다 .

저장 장소에 따른 *.SRC 파일에서의 변수


변수 선언  *.SRC- File 에서 생성되는 변수는 런타임 변수라고 합니다 .
 이 변수는 항상 표시되지는 않습니다 .
 이 변수는 선언된 프로그램 루틴에서만 사용할 수 있습니다 . 따라서 이 변
수는 프로그램 실행 시 사용할 수 있습니다 . ( 메인 프로그램 또는 로컬
하위 프로그램 ).
 이 변수는 프로그램의 마지막 행 (END- 행 ) 에 도달하면 사진의 저장공간
을 다시 비워줍니다 .
로컬 *.DAT- 파일에서의 변수
 해당 *.SRC- File 의 프로그램 진행 시 항상 표시됩니다 .
 변수의 값은 프로그램이 종료된 후 계속 유지됩니다 .
 또한 전체 *.SRC- File 에서도 , 즉 로컬 하위 프로그램에서도 사용할 수 있
으며
 글로벌 변수로도 생성될 수 있고
 *.DAT- File 에서 현재값을 가지며 다시 불러낼 경우 저장된 값을 사용하
기 시작합니다 .
 변수가 글로벌로 선언되면 이를 글로벌하게 사용할 수 있습니다 . DAT-
파일이 키워드 PUBLIC 과 함께 , 또한 선언 시 추가로 키워드 GLOBAL 과
함께 사용되면 모든 프로그램 루틴에서 읽기 및 쓰기 액세스가 가능합니
다.
시스템 파일 $CONFIG.DAT 에서의 변수
 모든 프로그램에서 사용할 수 있으며 ( 글로벌 )
 프로그램이 작동하고 있지 않는 상태에서도 항상 표시됩니다 .
 글로벌하게 사용할 수 있습니다 . 즉 모든 프로그램 루틴에서 읽기 및 쓰기
액세스가 가능합니다
 $CONFIG.DAT 에서 현재의 값을 저장합니다 .

KUKA 시스템 데이  KUKA 시스템 데이터는 모든 데이터 타입에서 사용됩니다 , 예를 들어


터  열거 데이터 타입으로 작동모드
 구조나 날짜 / 시간 등
 시스템 정보는 KUKA 시스템 변수에서 얻게 됩니다 . 이는
 현재의 시스템 정보를 읽고 ,
 현재의 시스템 컨피규레이션을 변경시키며
 사전에 정의되어 있으며 "$"- 기호로 시작됩니다
 $DATE ( 현재의 시간과 날짜 )

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 275 / 353


로봇 프로그래밍 1

 $POS_ACT ( 현재의 로봇 위치 )
 $MODE_OP( 현재의 작동 모드 )
 ...

12.3 단순한 데이터 타입으로 작업

아래에서는 만들기 , 초기화 및 변수 변경에 대해 설명합니다 . 이때 단순한 데


이터 타입만 사용합니다 .
KRL 이 있는 단순한 데이터 타입
 정수 (INT)
 부동 소수점 수 (REAL)
 논리값 (BOOL)
 개별 기호 (CHAR)

12.3.1 변수 선언

변수 선언의 원리 SRC 파일의 프로그램 구조의 예


 선언 파트에서 변수를 선언해야 합니다 .
 초기화 파트는 첫 번째 값 할당으로 , 그렇지만 대부분 "INI" 행으로 시작
합니다 .
 지령 파트에서는 값이 할당되거나 변경됩니다 .
DEF main( )
; 선언 파트
...
; 초기화 파트
INI
...
; 지령 파트
PTP HOME Vel=100% DEFAULT
...
END

기본 보기 변경하기
 DEF 행은 전문가만이 보이도록 할 수 있습니다 .
 모듈에서 "INI" 행에 앞서 선언 파트에 접근하려면 이 과정이 필요합니다 .
 DEF 및 NED 행을 볼 수 있으려면 하위 프로그램에 변수를 전달할 경우
에도 중요합니다
변수 선언 계획
 수명 지정
 유효성 / 사용 가능성 지정
 데이터 타입 지정
 이름 부여 및 선언

간단한 데이터 타입 SRC- 파일에서 변수를 작성합니다


으로 변수를 선언하 1. 사용자그룹 전문가
는 방법
2. DEF- 행을 표시합니다
3. 편집기에서 SRC 파일을 엽니다
4. 변수 선언을 실행합니다
DEF MY_PROG ( )
DECL INT counter
DECL REAL price

276 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


12 변수 및 합의

DECL BOOL error


DECL CHAR symbol
INI
...
END

5. 프로그램을 닫고 저장합니다
DAT- 파일에서 변수를 작성합니다
1. 사용자그룹 전문가
2. 편집기에서 DAT 파일을 엽니다
3. 변수 선언을 실행합니다
DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
...
ENDDAT

4. 데이터 목록을 닫고 저장합니다


$CONFIG.DAT 에서 변수를 작성합니다
1. 사용자그룹 전문가
2. SYSTEM 폴더에서 편집기에 있는 $CONFIG.DAT 를 엽니다
DEFDAT $CONFIG
BASISTECH GLOBALS
AUTOEXT GLOBALS
USER GLOBALS
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
...
ENDDAT

5. 데이터 목록을 닫고 저장합니다


DAT- 파일에서 글로벌 변수를 작성합니다
1. 사용자그룹 전문가
2. 편집기에서 DAT 파일을 엽니다

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 277 / 353


로봇 프로그래밍 1

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

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

 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

278 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


12 변수 및 합의

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
DECL CHAR symbol
...
ENDDAT

3. 데이터 목록을 닫고 저장합니다


4. 편집기에서 SRC 파일을 엽니다
5. 초기화를 실시합니다
DEF MY_PROG ( )
...
INI
counter = 10
price = 0.0
error = FALSE
symbol = "X"
...
END

6. 프로그램을 닫고 저장합니다

상수의 선언과 초기 설명
화  상수는 키워드 CONST 로 만들어집니다 .
 상수를 데이터 목록에만 저장해야 합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 279 / 353


로봇 프로그래밍 1

상수 만들기
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 연산을 사용한 매
목록 니퓰레이션과 기본 함수도 사용가능한 방법이지만 여기에서는 깊이 다루지 않
겠습니다 .
데이터 매니퓰레이션의 수단
 기본 산술연산
 (+) 더하기
 (-) 빼기
 (*) 곱하기
 (/) 나누기
 비교 연산
 (==) 동일함 / 등식
 (<>) 같지 않음
 (>) 보다 큼
 (<) 보다 작음
 (>=) 크거나 같음
 (<=) 작거나 같음
 논리적 연산
 (NOT) 역전
 (AND) 논리적 AND
 (OR) 논리적 OR
 (EXOR) 배타적 OR
 Bit 연산
 (B_NOT) 비트 역전
 (B_AND) 비트 AND 결합
 (B_OR) 비트 OR 결합
 (B_EXOR) 비트 배타적 OR 결합
기본 함수
 절대값 함수
 루트 함수
 사인 , 코사인 함수
 탄젠트 함수
 아크 코사인 함수
 아크 탄젠트 함수
 스트링 매니퓰레이션을 위한 다수의 함수

280 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


12 변수 및 합의

데이터 매니퓰레이 데이터 타입 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
; 초기화
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 을 갖습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 281 / 353


로봇 프로그래밍 1

연산자 /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 을 갖습니다 .

A EXOR
연산 NOT A A AND B A OR 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 각종 비교 (==; <>; ...)

282 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


12 변수 및 합의

; 선언
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 파일을 닫고 저장합니다

정지 명령 정지는 주로 프로그래밍 단계에서 테스트용으로 사용됩니다 . 예를 들어 런타


임 변수의 내용을 표시하기 위해 사용됩니다 .
 정지 명령은 프로그램을 정지시킵니다 . 하지만 최근에 처리된 동작 지령
은 완전히 실행되지 않습니다 .
 프로그램은 시작 버튼으로만 다시 계속 진행시킬 수 있습니다 . 그러면 그
다음 정지 지령이 실행됩니다 .

인터럽트 프로그램에서는 프로그램이 전진을 완전히 처리한 후에 정


지됩니다 .

예시 :
DEF program()
DECL BOOL a,b
INI
...
SPTP XP1
a=$IN[1]
b=$IN[2]
HALT
IF ((a == TRUE) AND (b == FALSE)) THEN
..
ENDIF
...

12.4 변수 표시하기

변수 값 표시하기 1. 메인 메뉴에서 표시창 > 변수 > 개별적 선택하기 .


및 변경하기 변수 표시 - 개별적 창이 열립니다 .
2. 이름 필드에 변수의 이름을 입력하십시오 .
3. 프로그램을 선택했을 경우 이 프로그램이 모듈 필드에 자동으로 입력되어
있습니다 .
다른 프로그램의 변수를 표시해야 한다면 프로그램을 다음과 같이 입력하
십시오 :
/R1/ 프로그램 이름
/R1/ 과 프로그램 이름 사이에 폴더를 입력하지 마십시오 . 프로그램 이름
에 파일 확장자를 입력하지 마십시오 .
4. 엔터 버튼을 누르십시오 .
현재 값 필드에는 변수의 현재값이 표시됩니다 . 아무것도 표시되지 않는
다면 변수에 아직 값이 할당되지 않았습니다 .
5. 새 값 필드에 원하는 값을 입력하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 283 / 353


로봇 프로그래밍 1

6. 엔터 버튼을 누르십시오 .
현재 값 필드에는 새 값이 표시됩니다 .

그림  12-2: 창 변수 표시 - 개별

위치 설명
1 변경해야 할 변수의 이름
2 변수에 할당할 새 값
3 변수를 검색할 프로그램
시스템 변수의 경우 모듈 필드는 중요하지 않습니다 .
4 이 필드는 2 가지 상태를 갖습니다 :

 : 표시된 값이 자동으로 업데이트되지 않습니다 .

 : 표시된 값이 자동으로 업데이트됩니다 .


이 두 상태 사이에서 이동하려면 :
 업데이트를 누릅니다 .
 대안적 방법 : 시프트 + 엔터

시스템 정보 표시 플래그 , 카운터 , 타이머 표시 방법 :


 메인 메뉴에서 표시창 > 변수를 선택합니다 .
이제 선택할 수 있는 여러 개의 시스템 변수가 나타납니다 :
 주기적 플래그
 플래그
 카운터
 타이머
인풋 및 아웃풋 방법
 메인 메뉴에서 표시창 > 인풋 / 아웃풋 > 디지털 인풋 및 디지털 아웃풋을
선택하십시오 .

284 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


12 변수 및 합의

12.5 연습 : 단순한 데이터 타입

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 단순한 데이터 타입 사용
 변수 선언 및 초기화 , 사용
 변수의 수명을 고려한 올바른 사용법

전제조건 이 연습을 성공적으로 마치려면 다음과 같은 전제조건이 필요합니다 :


 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 간단한 데이터 타입과 그 사용법에 대한 이론적 지식

작업 설정 새 프로그램인 Prozedur2 를 만드십시오 :


 메인 프로그램을 복사한 후, 표시판_가져오기() 및표시판_내려놓기()만 호
출할 수 있도록 서브 프로그램 호출을 삭제하십시오 ( 있는 경우 ).
....
LOOP
표시판 _ 가져오기 ()
표시판 _ 내려놓기 ()
ENDLOOP
...

 특정 변수는 마지막 프로그램을 선택한 후 몇 회에 걸쳐 표시판 부착 프로


그램을 처리하였는지 카운팅합니다 .
 특정 변수가 총 몇 회에 걸쳐 표시판 부착 프로그램이 처리되었는지 카운
팅합니다 .
 특정 변수는 부착된 표지판의 총 길이(단위는 m)를 합산합니다. 표시판 부
착 프로그램을 위한 경로 길이는 0.91m 입니다 . 경로 길이는 상수로 지정
해야 합니다 .
 표시판을 가져오는 과정은 TRUE 변수이며 , 그렇지 않을 경우에는 FALSE
변수입니다 .
 그리퍼가 열려 있는 상태에서 알파벳 "O" 를 갖고 그리퍼가 닫힌 상태에서
는 알파벳 "G" 를 갖는 변수 변수는 초기화될 경우에는 "X" 값이 할당됩니
다.
적절한 변수 이름과 데이터 타입을 사용하십시오 . 또한 변수를 올바른 위치
에 적절하게 선언하는 것 역시 중요합니다 .

변수 이름 데이터 타입 선언 위치

 변수를 어디에 선언할지 정하십시오 .


 이 새로운 변수에 맞게 기존의 프로그램 로드맵을 확장하십시오 .
 서로 다른 변수 초기화에 유의하십시오 .
 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

질문 지금 알아야 할 사항 :

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 285 / 353


로봇 프로그래밍 1

변수 이름의 사용가능한 최대 길이는 ?


......................................................
......................................................
단순한 데이터 파입으로 어떤 것이 있습니까 ?
......................................................
......................................................
SRC 파일 변수를 어디에 선언해야 합니까 ?
......................................................
......................................................
$CONFIG.DAT 에 선언된 변수의 수명은 ?
......................................................
......................................................
DAT 파일에서 "Value" 이름으로 부동 소수점 숫자의 값을 138.74 로 선언하
십시오 .
......................................................
......................................................

286 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

13.1 개요

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


 루프
 분기
 분배기
 점프 명령
 KRL 로 된 대기 함수

13.2 루프 프로그래밍하기

로봇 프로그램에서는 순전한 모션 명령 및 통신 명령 ( 스위칭 함수 및 대기 함


수 ) 이외에도 프로그램 진행을 컨트롤하는데 사용되는 수 많은 루틴이 있습
니다 .

루프에 대한 일반사  루프는 컨트롤 구조입니다 .


항  루프는 중단 조건이 발생할 때까지 프로그램 지령을 반복합니다 .
 외부에서 특정 루프 본체로 점프하는 것은 금지되어 있습니다 .
 루프는 서로 연계될 수 있습니다 .
 루프 파입은 다양합니다 .
 무한 루프
 카운터 루프
 조건부 루프
 거부하는 루프
 거부하지 않는 루프

13.2.1 무한 루프 프로그래밍하기

무한 루프 설명  무한 루프는 처리를 마친 후 매번 처리되는 루프입니다 .


 이 실행과정은 외부의 영향으로 중단될 수 있습니다 .
 구문
LOOP
; 지령
...
; 지령
ENDLOOP

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 287 / 353


로봇 프로그래밍 1

무한 루프의 원리

그림  13-1: 프로그램 로드맵 : 무한 루프

 무한 루프는 EXIT 을 사용하여 마칠 수 있습니다


 EXIT 로 무한 루프를 마칠 때 충돌 위험이 없는지 유의해야 합니다
 2 개의 무한루프가 서로 연계되어 있을 때 양 루프를 마치려면 EXIT 명령
도 2 개가 필요합니다

무한 루프를 프로그 중단없는 무한 루프


래밍할 경우의 예 DEF MY_PROG( )
INI
PTP 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

288 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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 를 사용하여 카운트 루프를 즉시 마칠 수 있습니다 .

카운트 루프를 사용 DECL INT counter


한 전진 계수

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 289 / 353


로봇 프로그래밍 1

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

 단계 폭이 표시된 단순한 카운트 루프


DECL INT counter1, counter2

FOR counter1 = 1 TO 21 STEP 2

290 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

FOR counter2 = 20 TO 2 STEP -2


...
ENDFOR
ENDFOR

언제나 내부 루프 , 여기에서는 카운터 2 가 먼저 가동되고 연이어 외


부 루프 (counter1) 가 가동됩니다 .

13.2.3 거부하는 루프 프로그래밍하기

거부하는 루프에 대
한 설명

그림  13-3: 프로그램 로드맵 : 거부하는 루프

 WHILE- 루프는 이성적인 루프라고도 합니다 .


 WHILE- 루프는 거부하는 또는 사전 검사 루프로서 루프의 지령 부분이 실
행되기 전에 취소 조건을 검사합니다 .
 이러한 루프는 특정 실행조건 (condition) 이 충족되어 있는 한 프로세스
를 반복합니다 .
 실행조건이 충족되지 않았다면 루프는 즉각 종료되며 지령은 ENDWHILE
에 따라 처리됩니다 .
 구문
WHILE condition
; 지령
ENDWHILE

 EXIT 를 사용하여 거부하는 루프를 즉시 마칠 수 있습니다 .

거부하는 루프를 사  간단한 실행조건을 사용한 거부하는 루프


용한 프로그래밍

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 291 / 353


로봇 프로그래밍 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
...

13.2.4 거부하지 않는 루프 프로그래밍하기

거부하지 않는 루프
에 대한 설명

그림  13-4: 프로그램 로드맵 : 거부하지 않는 루프

 거부하지 않는 루프를 풋제어 루프라고도 합니다 .

292 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

 REPEAT- 루프는 거부하지 않는 또는 사후 검사 루프로서 , 이 루프에서는


루프의 지령 부분을 한 번 완전히 실행한 후에야 취소 조건을 검사합니다 .
 지령 부분을 처리한 후 조건 (condition) 이 충족되어 있어 이 루프를 마
칠 수 있는지 검사합니다 .
 조건 검사의 결과가 양호하면 루프를 종료하고 지령을 UNTIL 에 따라
처리합니다 .
 조건 검사의 결과가 불량하면 루프는 다시 REPEAT 에서 시작됩니다 .
 EXIT 를 사용하여 거부하지 않는 루프를 즉시 마칠 수 있습니다 .
 구문
REPEAT
; 지령
UNTIL condition

거부하지 않는 루프  간단한 실행조건을 사용한 거부하지 않는 루프


를 프로그래밍하기 ...
REPEAT
PICK_PART( )
UNTIL $IN[42]==TRUE ; 인풋 42: 매거진이 비어 있음
...

표현식 UNTIL $IN[42]==TRUE 은 UNTIL $IN[42] 로도 축소될


수 있습니다 . 생략은 항상 TRUE 에 대한 비교를 뜻합니다

 복합적인 실행조건을 사용한 거부하지 않는 루프


...
REPEAT
PALLET( )
UNTIL (($IN[40]==TRUE) AND ($IN[41]==FALSE) OR (counter>20))
...

포지티브한 결과가 나올 경우 루프는 종료됩니다 !

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 293 / 353


로봇 프로그래밍 1

13.3 조회 혹은 분기 프로그래밍하기

분기에 대한 설명

그림  13-5: 프로그램 로드맵 : IF 분기

 분기를 사용하여 프로그램 구간이 어떤 특정한 조건에서만 실행되도록 할


수 있습니다 .
 프로그램을 여러 경로로 나눌 때 분기를 사용합니다 .
 조건적 분기 (IF 조회 ) 는 하나의 조건절과 두 개의 지령 부분으로 구성되어
있습니다 .
 IF-지령은 이 조건이 참(TRUE)인지 또는 거짓(FALSE)인지를 점검합니
다.
 이 조건이 충족되어 있으면 첫 번째 지령을 처리할 수 있습니다 .
 이 조건이 충족되어 있지 않으면 , 두 번째의 다른 지령이 처리됩니다 .
 IF 조회의 버전 :
 두 번째 지령 부분을 삭제할 수 있습니다 : ELSE 가 없는 IF 조회 . 그에
따라 조건이 충족되어 있지 않는 경우 분기 직후 프로그램이 속행됩니
다.
 여러 개의 IF 조회는 서로 연계될 수 있습니다 ( 다중 분기 ): 조회가 순서
에 따라 처리되며 조건이 충족되어 있는지를 검사합니다 .

분기 프로그래밍하 구문
기  대안 분기 사용
IF condition THEN
지령
ELSE
지령
ENDIF

 대안 분기 사용하지 않음 ( 조회 )
IF condition THEN
지령
ENDIF

294 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

분기의 예시 대체분기가 포함된 분기


DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; error_nr = 5 일 경우에만 P21 로 이동하며 , 그렇지 않을 경우에는 P22 로 이동
IF error_nr == 5 THEN
SPTP XP21
ELSE
SPTP XP22
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 로 이동합니다
IF ((error_nr == 1) OR (error_nr == 10) OR (error_nr > 99)) THEN
SPTP XP21
ENDIF
...
END

불리언 표현식을 사용한 분기


DEF MY_PROG( )
DECL BOOL no_error
...
INI
no_error = TRUE
...
; 에러가 없는 경우에만 (no_error) P21 로 이동합니다
IF no_error == TRUE THEN
SPTP XP21
ENDIF
...
END

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 295 / 353


로봇 프로그래밍 1

표현식 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- 지령으로 이동합니다 .
 SWITCH- 지령이 사전정의된 CASE 를 발견하지 못하면 DEFAULT- 구간이
앞서 사전정의되어 있을 경우 이 구간을 거치게 됩니다 .

구문 SWITCH 선택 기준
CASE 값
지령
CASE 값
지령
CASE 값
지령
...
DEFAULT
지령
ENDSWITCH

단순한 데이터 타입  SWITCH- CASE 는 다음과 같은 데이터 타입과 함께 사용할 수 있습니다 :


을 통한 값 전달  INT ( 정수 )
예시 :
DEF MY_PROG( )
DECL INT my_number
...

296 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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
...

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
...

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 297 / 353


로봇 프로그래밍 1

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
...
DEFAULT
...
ENDSWITCH

number 3, 4 또는 5 에서 이 지령을 실행하기 위해 두 번째 "CASE"


로 이동합니다 .

13.5 점프 명령 프로그래밍하기

설명  프로그램의 특화된 위치로의 무조건적인 점프 이 위치에서 프로그램이


계속 진행됩니다 .
 점프 목표는 GOTO 지령과 동일한 프로그램 부분 혹은 동일한 기능 안에
있어야 합니다 .
 다음과 같은 점프는 블가능합니다 :
 외부에서 IF 지령으로 점프하기 .
 외부에서 IF 지령으로 점프하기 .
 한 CASE 지령에서 다른 CASE 지령으로 점프하기 .

무조건적 점프의 경우 프로그램측에서는 특정 조건이 충족되었는지


아닌지를 점검하지 않습니다 .
점프는 항상 실행됩니다 . 사실상 발생할 수 있는 뜻밖의 점프는 프
로그래밍 차원에서 해결해야 합니다 . 두 번째 프로그램 예 참조 .
GOTO 를 사용해 프로그래밍하면 프로그램이 일목요연하지 않습니다 .
보다 적합함 : 그 대신 IF, SWITCH, 또는 루프로 작업하십시오 .

구문 ...
GOTO Marke
...

298 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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
...
GLUE_END:
END

13.6 KRL 에서 대기 함수 프로그래밍

그림  13-7

KRL 에서 다음의 프로그래밍 :


 시간에 따른 대기 함수
 신호에 따른 대기 함수

13.6.1 시간에 따른 대기 함수

시간에 따른 대기  시간에 따른 대기 함수는 프로세스가 계속 진행될 수 있을 때까지 표시된


함수를 KRL 을 사 시간 동안 (time) 기다립니다
용하여 설명하기  구문

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 299 / 353


로봇 프로그래밍 1

WAIT SEC time

시간에 따른 대기  시간에 따른 대기 함수는 초 (s) 를 기준으로 하는 시간 축을 갖습니다 .


함수의 원리  최대 시간은 2147484 초이며 이는 24 일 이상에 달합니다 .

시간에 따른 대기 함수용 인라인 양식은 최대 30 초까지 대기할 수 있


습니다 .

 시간값은 적합한 변수를 사용하여 전달할 수도 있습니다 .


 사용가능한 최소 시간 단위는 0.012 초입니다 (IPO- 클록 ).
 선택한 값이 음수인 경우에는 , 대기가 이루어지지 않습니다 .
 시간에 따른 대기 함수는 전진 중지를 발생시키며 이로써 우회는 불가능
합니다 .
 의도적으로 전진 중지만을 발생시키려면 명령 WAIT SEC 0 을 사용합니
다.

시간에 따른 대기  고정된 시간을 사용하는 시간에 따른 대기 함수


함수 프로그래밍 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

300 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

신호에 따른 대기
함수의 원리

그림  13-9: 우회 동작 시 WAIT FOR

 신호에 따른 대기 함수는 전진 진행을 중지시켜 우회가 불가능하게 됩니


다.
 조건이 충족된 상태에서도 전진 중지가 발생합니다
 대기 명령 직전의 행에 명령 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 사용 )

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 301 / 353


로봇 프로그래밍 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) 에서는 버튼영역인 시뮬레이션을 사용할 수 있
습니다 .

302 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

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

14.1 개요

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


 PLC 의 프로그램 시작 준비
 PLC 연결 어댑테이션

14.2 PLC 프로그램 시작을 위한 준비

공장 네트워크에 연 로봇 프로세스를 중앙에서 통제해야 할 경우 ( 마스터 컴퓨터나 PLC 에 의해


결된 로봇 ) 이는 외부 오토매틱 포트를 통해 이뤄집니다 .

그림  14-1: PLC 연결

설비 구조의 원리 인터페이스 외부 오토매틱을 사용하여 상위 컨트롤러 ( 예 : PLC) 가 로봇 고정


을 제어합니다 .

그림  14-2: 상위 PLC

PLC 와 로봇 사이의 통신에는 다음 사항이 필수적입니다 :


 로봇과 PLC 사이에 물리적으로 존재하고 구성되어 있는 필드 버스 ( 예 :
PROFINET) 가 있어야 합니다 .
 이 필드 버스를 통해 로봇 공정을 위한 신호를 전송해야 합니다 .
이는 인터페이스 협약 외부 오토매틱에서 구성할 수 있는 디지털 인풋 / 아
웃풋에 의해 이루어집니다 .
 로봇으로 송신되는 제어 신호 ( 인풋 ):

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 303 / 353


로봇 프로그래밍 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 디렉터리에 있습니다

그림  14-3: cell.src

304 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

2. 프로그램 오버라이드를 100% 로 설정합니다 . 이 설정은 권장 사항입니다


.
값은 상황에 맞게 다양하게 조정할 수 있습니다 .

그림  14-4: 프로그램 오버라이드

3. SAK 이동을 실행합니다 :


승인 버튼을 길게 누릅니다 . 그 다음 메시지 창에 "SAK 에 도달함 " 이 표
시될 때까지 , 시작 버튼을 길게 누릅니다 .
4. " 외부 오토매틱 " 작동 모드를 선택합니다 .
5. 상위 제어 시스템 (PLC) 에서 프로그램을 시작합니다 .

14.3 PLC 연결 어댑테이션 (Cell.src)

Cell.src 관리 프로  PLC 에서 전송된 프로그램 번호를 관리하기 위해 관리 프로그램인


그램 Cell,src 가 사용됩니다 .
 이 프로그램은 항상 폴더 "R1" 에 있습니다 .
 다른 일반적인 프로그램과 마찬가지로 셀 프로그램 역시 개별적으로 적응
시킬 수 있지만 프로그램의 기본 구조는 유지되어야 합니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 305 / 353


로봇 프로그래밍 1

셀 프로그램의 구조
와 기능

그림  14-5: Cell 프로그램

1 초기화 및 홈 위치
 베이스 파라미터 초기화
 " 홈 " 위치에 따른 로봇 위치 점검
 외부 오토매틱 인터페이스 초기화
2
무한 루프 :
 모듈 "P00) 으로 프로그램 번호 조회
 산출된 프로그램 번호로 선택 루프 시작
3 선택 루프 프로그램 번호
 프로그램 번호 ( 변수 "PGNO" 에 들어 있음 ) 에 따라 각각의 분기
("CASE") 로 이동합니다 .
 그 후 분기에 입력된 로봇 프로그램이 처리됩니다 .
 프로그램 번호가 유효하지 않을 경우 " 디폴트 " 분기로 이동하게
됩니다 .
 처리를 마친 후에는 루프가 반복됩니다 .

진행 방법 1. 사용자 그룹 " 전문가 " 로 이동하십시오 .


2. CELL.SRC 을 여십시오 .
3. "CASE" 파트에서 "EXAMPLE" 표시를 각 프로그램 번호로 불러내게 될
프로그램 이름으로 대체하십시오 . 이름 앞의 세미콜론을 삭제하십시오 .

306 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


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

그림  14-6: 적응된 셀 프로그램의 예

4. 프로그램을 닫고 변경사항을 저장하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 307 / 353


로봇 프로그래밍 1

14.4 질문 : 상위 제어 시스템에서의 작업

질문 지금 알아야 할 사항 :
PLC 와 통신하기 위한 전제조건은 무엇입니까 ?
......................................................
......................................................
어떤 글로벌 하위프로그램을 통해 PLC 가 프로그램 번호를 전달합니까 ?
......................................................
......................................................
CELL.SRC 프로그램 루프 SWITCH CASE 의 "CASEs" 에서 무엇을 프로그
래밍할 수 있습니까 ? 무엇을 프로그래밍할 수 없거나 해서는 안 됩니까 ?
......................................................
......................................................

308 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

15 부록

15.1 베이스 간접 측정

설명

그림  15-1: 베이스 측정 , 간접

 공작물 좌표계가 필요한 위치에 도달하지 못한 경우 , 이를 간접적으로 측


정할 수 있습니다 .
 이를 위해 공간 포인트 네 개의 좌표를 원하는 좌표 시스템에 입력해야 합
니다 .
 측정 시 기존 툴로 공간 포인트로 이동합니다 .
 이제 로봇이 베이스 좌표계를 산출 / 측정할 수 있습니다 .

측정 방법 차량 좌표계 측정 방법 :

그림  15-2: 베이스의 측정

 3 점식 방법 ( 로봇 프로그래밍 1 교육 자료 참조 )
 간접법
 숫자 입력

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 309 / 353


로봇 프로그래밍 1

전제조건

그림  15-3: 간접법

 측정된 툴은 마운팅 플랜지에 장착되어 있습니다 .


 예를 들어 CAD 에서 새로운 베이스의 4 개의 포인트의 좌표가 알려진 상태
. 4 개의 포인트가 TCP 에 도달할 수 있는 상태 .
 작동모드 T1

진행 방법 1. 메인 메뉴에서 시운전 > 측정 > 베이스 > 간접적을 선택합니다 .


2. 베이스의 이름 및 번호를 입력합니다 . 계속을 눌러 확인합니다 .
3. 장착된 툴의 번호를 입력합니다 . 계속을 눌러 확인합니다 .
4. 새 베이스의 기본 포인트의 좌표를 입력하고 TCP 로 포인트를 이동합니
다 . 측정을 누릅니다 . 이 확인창을 예로 대답합니다 .

그림  15-4: 간접 베이스 측정법

310 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

5. 4 번 단계를 3 회 반복하십시오 .
6. 필요 시 측정된 점의 좌표 및 방향을 증분 및 도 단위로 표시할 수 있습니
다 (FLANGE 좌표계 기준 ). 이를 위해 측정 포인트를 누릅니다 . 그 다음
뒤로를 눌러 이전 보기로 돌아가십시오 .
7. 저장을 누릅니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 311 / 353


로봇 프로그래밍 1

15.1.1 연습 : 베이스 간접 측정

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 원점에 도달하지 못한 경우에도 임의의 베이스를 지정하십시오 .
 베이스 측정
 수동 이동을 위해 측정한 베이스를 활성화하십시오 .
 베이스 좌표계에서 로봇을 이동하십시오 .

전제조건  안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 측정하려는 베이스 내부에 있는 4 개의 포인트를 인지해야 합니다 .


 로봇에 의해 유도된 툴을 측정해야 합니다 .
 작동 모드 T1 이 선택되었습니다 .

대상  테이블에서 팔레트의 위치를 임의로 설정하기


 간접 측정 베이스는 그리퍼 조의 높이에 맞게 팔레트의 첫 번째 큐브 영역
에 있어야 합니다 . (>>>  그림  15-5 )
 이를 통해 큐브의 하적 위치가 팔레트의 {X 0, Y 0, Z 0} 이 됩니다 .

 
 
첫 번째 하적 위치에 대한 티칭은 실행하지 않아도 됩니다 .
 다른 모든 큐브 위치는 새 베이스의 " 영점 위치 " 에 도달하게 됩니다 .

작업 설정
 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

그림  15-5: 베이스 , 간접 측정

번호 의미
1-4 새 베이스의 좌표를 알려주는 4 포인트 ( 원 안에 있는 포인트 )
X,Y, 측정해야 할 베이스 , 베이스로 접근할 수 없는 경우
Z

312 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

포인트 X Y Z
1 _______ _______ _______
2 _______ _______ _______
3 _______ _______ _______
4 _______ _______ _______

1. 작동 모드 T1 로 설정합니다 .
2. 팔레트를 교육 테이블에 놓습니다 .
3. 간접법으로 테이블 위의 베이스 (>>>  그림  15-5 ) 를 측정합니다 .
4. 트레이너 정보에 따라 측정 시에는 다음과 같은 베이스를 사용합니다 .
베이스

번호 _____ 이름 :_______________
5. 트레이너 정보에 따라 이미 측정한 툴을 사용합니다 .
 기준 툴
번호 _____ 이름 :_______________
6. 접근해야 할 4 개의 포인트에 대해 표 데이터를 사용합니다 .
7. 측정한 베이스의 데이터를 저장하십시오 .

측정 베이스 테스트 1. 로봇 그리퍼의 핀을 큐브로 교체합니다 .


2. 팔렛트의 첫 번째 하적 위치에 큐브를 배치합니다 .
3. 현재의 직교좌표적 로봇 위치를 표시합니다 .
메뉴 경로 : KUKA 버튼 > 표시 > 실제 위치
4. 큐브 ≙ X 0, Y 0, Z 0 의 하적 위치 .

질문 지금 알아야 할 사항 :
왜 베이스를 측정해야 합니까 ?
......................................................
......................................................
언제 간접법을 사용합니까 ? 두 가지 이유를 알려주십시오 !
......................................................
......................................................

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 313 / 353


로봇 프로그래밍 1

15.2 충돌 인식을 포함한 모션 프로그래밍하기

설명

그림  15-6: 충돌

로봇 공학에서는 로봇이 물체와 충돌하였는지를 인식하기 위해 축 모멘트 모


니터링을 사용합니다 . 이러한 충돌은 대부분의 경우 원한 것이 아니며 로봇
이나 툴 , 부품 손상을 초래할 수 있습니다 .
충돌 모니터링
 로봇이 물체와 충돌하면 로봇 제어시스템은 축 모멘트를 높여 저항을 극
복하고자 합니다 . 이때 로봇이나 툴 , 다른 부품들이 손상될 수 있습니다 .
 충돌 인식은 이러한 손상의 위험과 정도를 낮춥니다 . 충돌 인식은 축 모
멘트를 모니터링합니다 .
 사용자는 충돌 후에 , 즉 알고리즘이 충돌을 인식하여 로봇을 정지시킨 후
에는 어떻게 계속 진행시켜야 하는지를 결정할 수 있습니다 .
 로봇이 STOP 1 로 정지합니다 .
 로봇 제어시스템은 프로그램 tm_useraction 을 호출합니다 . 이 프로
그램은 프로그램 폴더에 있으며 정지 지령을 포함하고 있습니다 . 대
안으로 사용자는 프로그램 tm_useraction 에서 다른 반응을 프로그래
밍할 수 있습니다 .
 로봇 제어시스템은 공차 범위를 자동으로 산출합니다 .
 일반적으로 프로그램은 로봇 제어시스템이 현실적인 공차범위를 산출하
기까지 2~3 차례 가동시켜야 합니다 .
 로봇 제어시스템이 산출한 공차범위에 대해 사용자는 사용자 인터페이스
를 통해 오프셋을 정의할 수 있습니다 .
 로봇을 장시간 ( 예를 들어 주말 동안 ) 가동시키지 않으면 모터와 기어 등등
이 차가워 집니다 . 이러한 휴식기간 후에 처음으로 이동하면 작업온도에
있는 로봇과는 다른 축 모멘트가 필요합니다 . 로봇 제어시스템은 충돌 인
식을 변경된 온도에 자동으로 적응시킵니다 .
제약사항
 작동 모드 T1 에서 충돌 인식은 불가능합니다 .
 HOME 위치 및 다른 글로벌 위치의 경우 충돌 인식이 불가능합니다 .
 추가 축에 대한 충돌 인식은 불가능합니다 .
 뒤로 이동 시 충돌 인식은 불가능합니다 .
 로봇이 멈춰 있으면 이동 시작 시 매우 높은 축 모멘트가 생깁니다 . 시작
단계 ( 약 700ms) 에서는 따라서 이러한 이유로 축 모멘트를 모니터링하
지 않습니다 .

314 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

 프로그램 오버라이드를 변경한 후 충돌 인식은 프로그램이 2~3 차례 가


동되는 동안 현저히 민감하지 않게 반응합니다 . 그 후 로봇 제어시스템
은 공차범위를 새 프로그램 오버라이트에 적응시켰습니다 .

충돌 인식 원리 충돌인식으로 프로그램 티칭하기


 가속도 어댑테이션은 시스템 변수 $ADAP_ACC 로 활성화되어 있어야 합
니다 .
 시스템 변수는 파일
C:\KRC\Roboter\KRC\R1\MaDa\$ROBCOR.DAT 에 있습
니다 .
 $ADAP_ACC = #NONE 가속도 어댑테이션은 활성화되어 있지 않음
 $ADAP_ACC = #STEP1 운동 에너지를 사용하지 않는 다이내믹 모델
 $ADAP_ACC = #STEP2 운동 에너지를 사용하는 다이내믹 모델
 모션을 위한 충돌 인식 기능을 작동시키려면 프로그래밍할 때 파라미터
충돌 인식을 TRUE 에 놓아야 합니다 . 이는 프로그램 코드에서 추가된 CD
를 보고 확인할 수 있습니다 :
PTP P2 Vel= 100 % PDAT1 Tool[1] Base[1] CD

파라미터 충돌 인식은 모션이 인라인 양식을 통해 프로그래밍되어 있


을 경우에만 사용할 수 있습니다 .

 공차 범위는 완전히 처리된 모션 블록에 대해서만 산출됩니다 .


오프셋값 설정
 공차 범위를 위해 힘 모멘트 및 충돌 모멘트용 오프셋을 정의해야 합니다 .
 힘 모멘트 : 힘 모멘트는 로봇이 지속적인 저항에 노출되어 있을 때 효과가
있습니다 . 예시 :
 로봇이 벽에 부딪혀 벽을 누릅니다 .
 로봇이 컨테이너와 충돌합니다 . 로봇이 컨테이너를 눌러 컨테이너를
움직입니다 .
 충돌 모멘트 : 충돌 모멘트는 로봇이 잠깐 동안의 저항에 노출되어 있을 때
효과가 있습니다 . 보기 :
 로봇이 충돌로 인해 떨어져 나가는 표시판에 부딪힙니다 .
 오프셋이 작으면 작을 수록 충돌 인식 기능이 더욱 예민하게 반응합니다 .
 오프셋이 크면 클수록 충돌 인식 기능이 더욱 둔감하게 반응합니다 .

충돌 인식 기능이 지나치게 예민하게 반응할 경우 오프셋을 즉각적으


로 높이지 마십시오 . 그 대신 공차 범위를 다시 산출하여 이제 충돌
인식 기능이 원하는 대로 반응하는지 시험하십시오 .

 옵션창 충돌 창

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 315 / 353


로봇 프로그래밍 1

그림  15-7: 옵션창 충돌 인식

옵션 창 충돌 인식의 표기 내용은 항상 현재의 모션에 연관된 것은 아


닙니다 . 특히 포인트 간격이 짧고 모션이 우회된 경우 편차가 있을 수
있습니다 .

위치 설명
1 버튼이 모션의 상태를 나타냅니다 .
 적색 : 현재의 모션이 모니터링되지 않습니다 .
 녹색 : 현재의 모션이 모니터링됩니다 .
 오렌지색 : 힘 모멘트 및 충돌 모멘트의 값 옆 좌측 및 우측에 있
는 값 설정용 버튼이 눌려졌습니다 . 창은 모션에서 정지된 상
태에 있으며 오프셋을 변경할 수 있습니다 . 변경사항을 저장
을 눌러 채택할 수 있습니다 .
 래스터화됨 : 일반적으로 프로그램은 로봇 제어시스템이 현실
적인 공차범위를 산출하기까지 2~3 차례 가동시켜야 합니다 .
제어시스템이 이러한 학습 단계에 있는 동안 버튼은 래스터화
되어 표시됩니다 .
2 변수 TMx 번호
파라미터 충돌 인식이 TRUE 에 있는 각 모션 블록을 위해 로봇
제어시스템은 변수 TMx 를 사용합니다 . TMx 는 이 모션 블록의
공차 범위에 대한 모든 값을 갖고 있습니다 . 2 개의 모션 블록이
동일한 포인트 Px 와 연관될 경우 로봇 제어시스템은 2 개의 변수
를 사용합니다 .
3 선택한 프로그램의 경로 및 이름
4 포인트 이름

316 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

위치 설명
5 이 필드는 작동 모드 " 외부 오토매틱 " 에서만 활성화됩니다 . 그
렇지 않을 경우 회색으로 나타납니다 .
MonOn: 충돌 인식 기능이 PLC 에 의해 활성화되었습니다 .
충돌 인식이 PLC 를 통해 활성화되면 PLC 는 인풋 시그널
sTQM_SPSACTIVE 를 로봇 제어시스템에 전달합니다 . 로봇 제
어시스템은 아웃풋 시그널 sTQM_SPSSTATUS 로 대답합니다 .
시그널은 파일 $config.dat 에 정의되어 있습니다 .
참고 사항 : 외부 오토매틱 모드에서 충돌 인식은 필드 PLC 및 필
드 KCP 에 MonOn 이 표시될 때에만 작동합니다 .
6 MonOn: 충돌 인식은 KCP 에 의해 활성화되었습니다 .
참고 사항 : 외부 오토매틱 모드에서 충돌 인식은 필드 PLC 및 필
드 KCP 에 MonOn 이 표시될 때에만 작동합니다 .
7 힘 모멘트용 오프셋 오프셋이 작으면 작을 수록 충돌 인식 기능이
더욱 예민하게 반응합니다 . 기본값 : 20.
창은 모션에서 정지된 상태에 있으며 오프셋을 변경할 수 있습니
다 . 참조 : (>>>  " 모션용 오프셋 어댑테이션 " 페이지  318).
변경사항을 저장을 눌러 채택할 수 있습니다 .
N.A.: 이 모션의 경우 옵션 충돌 인식은 인라인 양식에서 FALSE
로 되어 있습니다 .
8 충돌 모멘트용 오프셋 오프셋이 작으면 작을 수록 충돌 인식 기능
이 더욱 예민하게 반응합니다 . 기본값 : 30.
창은 모션에서 정지된 상태에 있으며 오프셋을 변경할 수 있습니
다 . 참조 : (>>>  " 모션용 오프셋 어댑테이션 " 페이지  318).
변경사항을 저장을 눌러 채택할 수 있습니다 .
N.A.: 이 모션의 경우 옵션 충돌 인식은 인라인 양식에서 FALSE
로 되어 있습니다 .

버튼영역 설명
활성화 충돌 인식을 활성화시킴
이 버튼 영역은 힘 모멘트 또는 충돌 모멘트를 변
경하였지만 아직 저장하지는 않았을 경우에는 표
시되지 않습니다 .
해제 충돌 인식 해제
이 버튼 영역은 힘 모멘트 또는 충돌 모멘트를 변
경하였지만 아직 저장하지는 않았을 경우에는 표
시되지 않습니다 .
저장 힘 모멘트 및 / 또는 충돌 모멘트에서의 변경사항
을 채택함
취소 힘 모멘트 및 / 또는 충돌 모멘트에서의 변경사항
을 취소함 .

인라인 양식에서 충 1. 인라인 양식으로 모션 작성하기


돌 인식 활성화시키 2. 옵션창 프레임 열기 및 충돌 인식 활성화시키기

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 317 / 353


로봇 프로그래밍 1

그림  15-8: 옵션창 프레임

위치 설명
1 툴을 선택하십시오 .
필드 외부 TCP 에 True 가 표시된 경우 : 공작물을 선택하십시오 :
값 범위 : [1] … [16]
2 베이스를 선택하십시오 .
필드 외부 TCP 에 True 가 표시된 경우 : 고정 툴을 선택하십시오 .
값 범위 : [1] … [32]
3 보간 모드
 False: 툴이 플랜지에 장착되어 있습니다 .
 True: 툴이 고정 툴입니다 .
4 충돌 인식
 True: 로봇 컨트롤러는 이 동작을 위해 축 토크를 측정합니다
. 이것은 충돌 인식에 필요합니다 .
 False: 로봇 컨트롤러는 이 동작을 위해 축 토크를 측정하지 않
습니다 . 따라서 이 동작에 대해서는 충돌 인식이 불가능합니
다.

3. 모션을 종료합니다

공차 범위를 산출하 1. 메인 메뉴에서 컨피규레이션 > 기타 정보 > 충돌 인식을 선택하십시오 .


고 충돌 인식 활성 (>>>  그림  15-7 )
화시키기 2. 필드 KCP 에 MonOff 이 입력되어 있어야 합니다 . 그렇지 않을 경우 , 비
활성화시키기를 누릅니다 .
3. 프로그램을 시작하고 여러 차례에 걸쳐 가동시킵니다 . 2~3 차례 프로그
램이 가동된 후 로봇 제어시스템은 현실적인 공차 범위를 산출하였습니다
.
4. 활성화시키기를 누릅니다 . 필드 충돌 인식에서 이제 필드 KCP 에
MonOn 이 입력되어 있습니다 .
닫기를 눌러 컨피규레이션을 저장하십시오 .

모션용 오프셋 어댑 1. 프로그램 선택하기


테이션 2. 메인 메뉴에서 컨피규레이션 > 기타 정보 > 충돌 인식을 선택하십시오 .
3. 모션용 오프셋은 프로그램이 가동 중인 상태에서 변경할 수 있습니다 : 원
하는 모션이 충돌 인식 창에 표시되면 힘 및 충돌 모멘트 필드에서 화살표
버튼을 누르십시오 . 창은 이 모션에서 계속 나타납니다 . 이 버튼으로 오
프셋을 변경하십시오 .

318 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

그림  15-11: 충돌 인식 변경된 값

대안으로 원하는 운동에 적용할 세트를 선택할 수 있습니다 .


4. 변경사항을 저장을 눌러 적용시키십시오 .
5. 닫기를 눌러 컨피규레이션을 저장하십시오 .
6. 원래의 작동모드 및 프로그램 진행 유형을 조정하십시오 .

15.3 트랙 전환 기능의 프로그래밍

일반 사항 트랙 전환 함수는 로봇 모션을 중단시키지 않고 트랙 위의 특정 지점에 아웃


풋을 설정하기 위해 사용될 수 있습니다 . 이때 " 정적인 "(SYN OUT) 전환과
" 다이내믹한 "(SYN PULSE) 전환 사이에 차이가 있습니다 . 즉 SYN OUT 5
전환 시 시그널은 SYN PULSE 5 전환의 시그널과 동일합니다 . 단지 전환되
는 방식이 다릅니다 . 선택 옵션인 PATH, START 및 END 는 다음에 설명합
니다 .
실제로는 옵션 PATH 가 주로 사용되며 이에 집중하여 교육합니다 .
옵션 START 와 END 는 단지 자료의 완벽성을 위해 수록되어 있습니다 .

옵션 PATH: 옵션 PATH 를 사용하여 스위칭 작업이 모션 블록의 목표점을 기준으로 발생


할 수 있습니다 . 스위칭 작업은 해당 위치 및 시간에 따라 변할 수 있습니다 .
모션 블록은 LIN 또는 CIRC 동작일 수 있습니다 . 하지만 PTP 모션이 아니어
야 합니다 .

그림  15-12: 인라인 양식 SYN OUT, 옵션 PATH

위치 설명 값 범위
1 아웃풋 번호 1 … 4096
2 이 아웃풋의 이름이 존재하는 경우 , 이름이 자유로운 선택 가
표시됩니다 . 능
사용자그룹 전문가에만 적용됨 : 소프트키
긴 텍스트를 눌러 이름을 입력할 수 있습니
다.
3 아웃풋의 현재 상태 TRUE, FALSE
4 스위칭이 이루어지는 지점 옵션 PATH
 PATH: 모션 블록의 목표점을 기준으로 START, END
스위칭됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 319 / 353


로봇 프로그래밍 1

위치 설명 값 범위
5 스위칭 작업의 장소 이동 -2000 …
+2000 mm
참고 사항 : 장소 표기는 모션 블록의 목표점
으로 고정되어 있습니다 . 스위칭 포인트의
위치는 로봇의 속도 변화에도 불구하고 변하
지 않습니다 .
이로써 트리거링된 기기 ( 예를 들어 접착제
건 ) 의 반응시간이 보상됩니다 .
6 스위칭 작업의 시간적 이동 -1000 …
+1000 ms
참고 : 시간적 이동은 장소 이동과 연관되어
있습니다 .
시간 표기는 절대적입니다 . 즉 스위칭 포인
트는 로봇의 속도에 따라 변합니다 .

SYN PULSE 를 이용해 모션의 시작점 또는 목표점에서 펄스를 발생시킬 수


있습니다 . 이 펄스는 시간 및 / 또는 위치에 따라 변할 수 있습니다 : 즉 펄스
가 정확하게 포인트에서 발생하는 것이 아니라 그 전 또는 후에 발생할 수도
있습니다 .

그림  15-13: 인라인 양식 SYN PULSE

위치 설명 값 범위
1 아웃풋 번호 1 … 4096
2 이 아웃풋의 이름이 존재하는 경우 , 이름이 자유로운 선택 가
표시됩니다 . 능
사용자그룹 전문가에만 적용됨 :
긴 텍스트를 눌러 이름을 입력할 수 있습니
다 . 이름은 자유롭게 선택할 수 있습니다 .
3 아웃풋의 스위칭 상태 TRUE, FALSE
4 펄스의 기간 0.1 ... 3 초
5 SYN PULSE 의 기준이 되는 포인트 : 옵션 PATH
 PATH: SYN PULSE 는 목표점을 기준으 START, END
로 합니다 . 추가적으로 장소 이동이 가능
합니다 .

320 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

위치 설명 값 범위
6 스위칭 작업의 장소 이동 -2000 …
+2000 mm
참고 : 장소 표기는 모션 블록의 목표점으로
고정되어 있습니다 . 스위칭 포인트의 위치
는 로봇의 속도 변화에도 불구하고 변하지
않습니다 .
7 스위칭 작업의 시간적 이동 1000 …
+1000 ms
참고 : 시간적 이동은 장소 이동과 연관되어
있습니다 .
시간 표기는 절대값입니다 . 스위칭 포인트
는 로봇의 속도에 따라 변합니다 .

스위칭 옵션 Path 예시 프로그램 :


의 영향 밀링 커터가 트랙에서 스위칭되어야 합니다 . P2 이후 20 mm 를 경유하여 부
품 가공을 시작해야 합니다 . 밀링 커터가 (Path = 20) P2 이후 20 mm 에서
최고 회전속도에 도달할 수 있으려면 5 ms 전에 (Delay = -5 ms) 이미 켜진
상태에 있어야 합니다 .

스위칭 옵션 Path 는 항상 목표점과 관련되어 있습니다 .

그림  15-14: SYN OUT Path 스위칭 포인트

LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]


;P2 와 관련된 스위칭 함수
SYN OUT 9 'SIGNAL 9' Status= True Path=20 Delay=-5ms
LIN P2 CONT VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
LIN P3 CONT VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]

스위칭 한계

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 321 / 353


로봇 프로그래밍 1

그림  15-15: SYN OUT PATH 스위칭 한계

진행 방법 1. 논리 지령을 삽입할 행으로 커서를 이동시키십시오 .


2. 메뉴 순서 명령 > 논리 > OUT > SYN OUT 또는 SYN PULSE 를 선택합
니다 .
3. 인라인 양식에서 매개변수를 설정합니다 .
4. 명령 OK 를 눌러 지령을 저장합니다 .

옵션 Start/End 스위칭 액션이 기준 모션 블록의 시작점 또는 목표점을 기준으로 발생할 수 있


습니다 . 스위칭 액션은 시간적으로 미뤄질 수 있습니다 . 기준 모션 블록은
LIN, CIRC 또는 PTP 모션일 수 있습니다 .

그림  15-16: 인라인 양식 SYN OUT, 옵션 START

그림  15-17: SYN OUT, 옵션 END 의 인라인 양식

위치 설명 값 범위
1 아웃풋 번호 1 … 4096
2 이 아웃풋의 이름이 존재하는 경우 , 이름이 자유로운 선택 가
표시됩니다 . 능
사용자그룹 전문가에만 적용됨 : 소프트키
긴 텍스트를 눌러 이름을 입력할 수 있습니
다.
3 아웃풋의 현재 상태 TRUE, FALSE

322 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

위치 설명 값 범위
4 스위칭이 이루어지는 지점 START, END
 START: 모션 블록의 시작점을 기준으로 PATH (>>>  그
스위칭됩니다 . 림  15-12 )
 END: 모션 블록의 목표점을 기준으로 스
위칭됩니다 .
5 스위칭 작업의 시간적 이동 -1000 …
+1000 ms
참고 사항 : 시간 정보는 절대값입니다 . 스
위칭 포인트의 위치는 로봇의 속도에 따라
변합니다 .

스위칭 옵션  예가 되는 프로그램 1:
Start/End 의 영향 옵션 Start

그림  15-18: 양의 딜레이가 있는 SYN OUT Start

LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]


LIN P2 VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;P2 와 관련된 스위칭 함수
SYN OUT 8 'SIGNAL 8' State= TRUE at Start Delay=20ms
LIN P3 VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]

 예가 되는 프로그램 2:
CONT 및 포지티브 딜레이를 사용하는 Start 옵션

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 323 / 353


로봇 프로그래밍 1

그림  15-19: CONT 및 포지티브 딜레이를 사용하는 SYN OUT Start

LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]


LIN P2 CONT VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;P2 와 관련된 스위칭 함수
SYN OUT 8 'SIGNAL 8' State= TRUE at Start Delay=10ms
LIN P3 CONT VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]

 예가 되는 프로그램 3:
네거티브 딜레이를 사용하는 End 옵션

그림  15-20: SYN OUT END 및 음수 딜레이

LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]


LIN P2 VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;P3 와 관련된 스위칭 함수
SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=-20ms
LIN P3 VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]

 예가 되는 프로그램 4:
CONT 및 네거티브 딜레이를 사용하는 End 옵션

324 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

그림  15-21: 네거티브 딜레이가 있는 옵션 End 를 사용하는 SYN OUT

LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]


LIN P2 VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;P3 와 관련된 스위칭 함수
SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=-10ms
LIN P3 CONT VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]

 예가 되는 프로그램 5:
CONT 및 포지티브 딜레이를 사용하는 End 옵션

그림  15-22: 옵션 End 와 양의 Delay 가 있는 SYN OUT

LIN P1 VEL=0.3m/s CPDAT1 TOOL[1] BASE[1]


LIN P2 VEL=0.3m/s CPDAT2 TOOL[1] BASE[1]
;P3 와 관련된 스위칭 함수
SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=10ms
LIN P3 CONT VEL=0.3m/s CPDAT3 TOOL[1] BASE[1]
LIN P4 VEL=0.3m/s CPDAT4 TOOL[1] BASE[1]

트랙 스위칭 함수에  스위칭 한계


서 스위칭 한계 (Cont 제외 )

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 325 / 353


로봇 프로그래밍 1

그림  15-23: CONT 를 사용하지 않은 스위칭 한계 옵션 Start/End

 Cont 를 포함한 스위칭 한계 :


(Cont 포함 )

그림  15-24: CONT 를 사용한 스위칭 한계 옵션 Start/End

15.4 외부 오토매틱 인터페이스 설명

설명

외부 오토매틱 인터 인터페이스의 주요 시그널 개요


페이스의 인풋 / 아
웃풋 사용

326 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

그림  15-25: 외부 오토매틱의 주요 시그널 개요

인풋 ( 로봇 제어 시  PGNO_TYPE - 프로그램 번호 - 타입
스템 관점에서 ) 이 변수는 상위 제어시스템이 전달한 프로그램 번호를 어떤 포맷으로 읽
어야 할지 결정합니다 .
값 설명 예시
1 이진수로 읽기 00100111
프로그램 번호는 상위 제어시스템에 의해 이 => PGNO = 39
진법으로 코딩된 정수로 전달됩니다 .
2 BCD 값으로 읽기 00100111
프로그램 번호는 상위 제어시스템에 의해 이 => PGNO = 27
진법으로 코딩된 십진수로 전달됩니다 .
3 "N 중 1" 로 읽기 00000001
프로그램 번호는 상위 제어시스템 또는 주변 => PGNO = 1
기기에 의해 "N 중 1" 로 코딩된 값으로 전달
00001000
됩니다 .
=> 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 는 평가되지 않습니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 327 / 353


로봇 프로그래밍 1

 PGNO_VALID - 프로그램 번호 유효함


상위 제어시스템에 의해 프로그램 번호를 읽기 위한 명령이 전송될 때 사
용되는 인풋
인풋 기능
음수 값 번호는 시그널의 하강 에지를 사용하여 채택됩니다 .
0 번호는 시그널의 상승하는 에지를사용하여 라인
EXT_START 에서 채택됩니다 .
양수 값 번호는 시그널의 상승 에지를 사용하여 채택됩니다 .

 $EXT_START - 외부 시작
이 인풋을 사용하여 I/O- 포트가 작동중일 때 프로그램 ( 일반적으로
CELL.SRC) 을 시작하거나 계속 진행할 수 있습니다 .

이때 시그널의 상승 에지만 평가됩니다 .

외부 오토매틱 모드에서는 SAK 이동이 존재하지 않습니다 . 즉


, 로봇이 시작 후에 프로그래밍된 ( 감속 안된 ) 속도로 제 1 프
로그래밍 위치로 이동하고 여기에서 정지하지 않습니다 .

 $MOVE_ENABLE - 이동 승인
이 인풋은 상위 제어 시스템을 통해 로봇 구동 장치를 컨트롤하기 위해 사
용됩니다 .
신호 기능
TRUE 작동모드 T1 및 T2 에서 수동 이동이 가능합니다 .
프로그램 실행이 가능합니다 .
FALSE 모든 구동장치를 정지시키고 작동중인 모든 명령을 차
단하기

구동장치가 상위 제어시스템에 의해 정지되었을 경우 메시지 " 전체


이동 승인 " 이 표시됩니다 . 먼저 이 메시지를 삭제하고 외부 스타트
시그널을 다시 사용할 경우에야 비로소 로봇을 움직일 수 있습니다 .

시동 시 변수 $MOVE_ENABLE 가 자주 값 $IN[1025] 로 컨피규레


이션됩니다 . 그 후 다른 인풋을 컨피규레이션하는 것을 잊는다면 외
부 스타트는 불가능합니다 .

 $CONF_MESS - 메시지 확인
이 인풋을 사용하여 상위 제어 시스템은 장애의 원인이 제거되는 즉시 오
류 메시지를 직접 확인합니다 .

이때 시그널의 상승 에지만 평가됩니다 .

 $DRIVES_ON - 구동장치 ON
이 인풋에 하이 임펄스가 최소한 20ms 동안 유지될 경우 상위 제어 시스
템이 로봇 구동 장치를 활성화합니다 .
 $DRIVES_OFF - 구동장치 OFF
이 인풋에 로우 임펄스가 최소한 20ms 동안 유지될 경우 상위 제어 시스
템이 로봇 구동 장치를 차단합니다 .

아웃풋 ( 로봇 제어  $ALARM_STOP - 비상정지


시스템 관점에서 ) 이 아웃풋은 다음과 같은 비상 정지 상황에서 리셋됩니다 .
 KCP 에 있는 비상정지 버튼을 누릅니다 . (I 내부 비상정지 )

328 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

 외부 비상정지

비상정지 시 아웃풋 상태에 $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 는 평가되지 않습니다 .
 APPL_RUN - 어플리케이션 프로그램이 가동중입니다
이 아웃풋을 세팅하여 로봇 제어시스템은 상위 제어시스템에 현재 프로그
램이 가동중이라는 것을 알립니다 .
 $IN_HOME - HOME 위치에 있는 로봇
이 아웃풋은 상위 제어시스템에게 로봇이 HOME 위치에 있는지를 알립니
다.
 $ON_PATH - 로봇이 트랙에 있습니다
이 아웃풋은 로봇이 프로그래밍된 경로상에 있으면 설정되어 있습니다 .
SAK 이동 후 아웃풋 ON_OATH 가 설정됩니다 . 이 아웃풋은 로봇이 경
로를 벗어나거나 프로그램이 리셋되거나 레코드 선택을 실행할 때까지 설
정된 상태로 있습니다 . 그렇지만 시그널 ON_PATH 는 허용오차 창이 없
습니다 ; 로봇이 트랙을 벗어나는 즉시 이 시그널은 리셋됩니다 .

외부 오토매틱 통신 전체 진행절차 개요
의 원리

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 329 / 353


로봇 프로그래밍 1

그림  15-26: 설비의 자동 시동 및 PGNO_VALID 으로 프로그램 번호를 확


인하는 정상 모드

핸드쉐이크 부분영역으로 나뉘어짐


1. 구동장치 켜기
(>>>  " 구동장치 켜기 " 페이지  331)
2. 메시지 처리 확인하기
(>>>  " 메시지 처리 확인하기 " 페이지  331)
3. 셀 프로그램 시작하기
(>>>  " 프로그램 (CELL.SRC) 을 외부에서 시작하기 " 페이지  332)
4. 프로그램 번호 전달하기 및 어플리케이션 가동하기
(>>>  " 프로그램 번호 전달 및 어플리케이션 프로그램 처리하기 " 페이
지  332)
이러한 영역은 각각 핸드쉐이크로 되어 있습니다 . 조건이 충족되면 , PLC 는
신호를 전송하고 로봇 제어 시스템은 해당 로봇의 상태를 PLC 에 알립니다 .

그림  15-27: 핸드쉐이크

이러한 규정되어 있는 핸드쉐이크는 매우 유용하게 사용할 수 있습니다 .

330 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

구동장치 켜기

그림  15-30

 전제조건
 $USER_SAF - 안전 도어는 닫혀 있음
 $ALARM_STOP - 비상정지 상태가 아님
 $I_O_ACTCONF - 외부 오토매틱 작동 중
 $MOVE_ENABLE - 이동 승인이 있음
 $DRIVES_OFF - 구동장치 OFF 가 작동중이지 않음
 구동장치 켜기
$DRIVES_ON - 드라이브용 신호를 최소 20ms 간 활성화함
 드라이브 준비 상태
$PERI_RDY - 구동장치용 피드백이 오면 그 즉시 시그널 $DRIVES_ON
이 취소됨

메시지 처리 확인하

그림  15-34

 전제조건
$STOPMESS - 정지 메시지가 있음
 메시지 처리 확인하기
$CONF_MESS - 메시지 처리 확인하기
 확인할 수 있는 메시지가 삭제되었음
$STOPMESS - 정지 메시지가 더 이상 없음 , $CONF_MESS 는 이제 취
소할 수 있습니다

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 331 / 353


로봇 프로그래밍 1

프로그램
(CELL.SRC) 을 외
부에서 시작하기

그림  15-39

 전제조건
 $PERI_RDY - 구동 준비
 $IN_HOME - HOME 위치에 있는 로봇
 keine $STOPMESS - 정지 메시지가 없음
 외부 시작
$EXT_START- 외부 시작 켜기 ( 포지티브 에지 )
 CELL 프로그램이 가동됨
 $PRO_ACT - CELL 프로그램이 가동된다고 보고함
 $ON_PATH - 로봇이 프로그래밍된 경로에 있는 즉시 시그널
$EXT_START 이 취소됩니다

프로그램 번호 전달
및 어플리케이션 프
로그램 처리하기

그림  15-46

 전제조건
 $PERI_RDY - 구동 준비
 $PRO_ACT - CELL 프로그램이 가동됨
 $ON_PATH - 로봇이 경로에 있음
 $IN_HOME - 로봇이 HOME 위치에 있음 , 재가동 시 필요하지 않음
 PGNO_REQ - 프로그램 번호 문의가 있음
 프로그램 번호 전송 및 확인
 프로그램 번호 전달
( 올바른 데이터 타입 (PGNO_TYPE), 프로그램 번호 길이
(PGNO_LENGTH) 및 프로그램 번호의 첫 번째 비트 (PGNO_FBIT)
등이 설정되어 있음 )

332 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

 PGNO_VALID- 프로그램 번호 유효함 ( 확인 ) 스위칭 ( 포지티브 에지 )


 어플리케이션 프로그램이 가동됨
 APPL_RUN - 어플리케이션 프로그램이 가동된다고 보고함
 로봇이 HOME 위치를 벗어납니다 . 어플리케이션 프로그램을 종료할
때 로봇은 다시 HOME 위치로 되돌아갑니다 .

15.4.1 외부 오토매틱 인터페이스 구성

진행 방법

외부 오토매틱 구성 1. 메뉴 경로 : KUKA 버튼 > 컨피규레이션 > 인풋 / 아웃풋 > 외부 오토매틱


ㅔ : 인풋 2. 값 열에서 편집할 행을 선택한 다음 편집 (C) 을 누르십시오 .
3. 원하는 값을 입력한 후 OK 를 눌러 저장합니다 .
4. 편집할 모든 값에 대해 단계 2 와 3 을 반복하십시오 .
5. 창을 닫습니다 . 변경 내용이 적용됩니다 .

그림  15-49: 외부 오토매틱 구성 : 인풋

번호 설명
1 번호
2 인풋 / 아웃풋의 텍스트 이름
3 타입
 녹색 : 인풋 / 아웃풋
 황색 : 변수 또는 시스템 변수 ($...)
4 신호 또는 변수의 이름

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 333 / 353


로봇 프로그래밍 1

번호 설명
5 인풋 / 아웃풋 번호 또는 채널 번호
6 아웃풋은 주제에 따라 탭으로 분류되어 있습니다 .

외부 오토매틱 구성 1. 메뉴 경로 : KUKA 버튼 > 컨피규레이션 > 인풋 / 아웃풋 > 외부 오토매틱


: 아웃풋 2. 아웃풋 (B) (>>>  그림  15-49 ) 단추를 눌러 해당 개요로 이동합니다 .
3. 값 열에서 편집할 행을 표시한 다음 실행을 누릅니다 .
4. 원하는 값을 입력한 후 OK 를 눌러 저장합니다 .
5. 편집할 모든 값에 대해 단계 2 와 3 을 반복하십시오 .
6. 모든 값이 그룹에 분류되었습니다 .
 시작 조건 (A)

그림  15-50: 외부 오토매틱 구성 : 아웃풋

 프로그램 상태 (B)

그림  15-51: 아웃풋 , 프로그램 상태

 로봇 위치 (C)

334 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

그림  15-52: 아웃풋 , 로봇 설정

 작동 모드 (D)

그림  15-53: 아웃풋 , 작동 모드

각 툴을 순서대로 열고 기존 방법으로 값을 측정하십시오 .


7. 창을 닫습니다 . 변경 내용이 적용됩니다 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 335 / 353


로봇 프로그래밍 1

15.4.2 연습 : 외부 오토매틱 인터페이스 구성 ( 수동 )

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 로봇 프로그램을 외부 오토매틱 모드에 의도적으로 연결하기
 " 셀 " 프로그램 어댑테이션
 외부 오토매틱 인터페이스 컨피규레이션
 외부 오토매틱 모드 진행 과정 알기

작업 설정 1 1. 컨트롤 패널의 지시에 따라 외부 오토매틱 인터페이스를 구성하십시오 .


 외부 오토매틱 인풋
(>>>  " 인풋 " 페이지  337)
 외부 오토매틱 아웃풋
(>>>  " 아웃풋 " 페이지  337)
2. 로봇을 초기 설정 없이 이동할 수 있는지 확인하십시오 .
비상 정지 버튼을 누르지 않은 상태에서는 메시지 창에 " 외부 비상 정지
" 오류 메시지가 없어야 합니다 .

College 셀 : 작동 모드를 외부 오토매틱 인터페이스를 이용해 상위


제어 시스템으로 전송해야 합니다 . 작동 모드를 상위 제어 시스템으
로 전송하지 않으면 , 비상 정지 기능이 실행됩니다 . 작동 모드 T2 가
지정된 상태에서 안전 도어가 열려 있거나 확인하지 않은 상태이면 , 비상 정
지 기능이 실행됩니다 .

작업 설정 2 1. 셀 프로그램에 앞서 그 기능을 확인한 바 있는 3 개의 임의의 모듈을 확장


하십시오 .
2. 하위 프로그램으로 연결할 수 있는 간단 테스트 프로그램을 설정하십시오
.
필요한 경우 로봇의 초기 위치도 티칭하십시오 .
3. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 테스트하십시오 . 이와 관
련하여 교육을 받은 안전 규정을 준수해야 합니다 .
4. 버튼을 눌러 SPS 컨트롤 기능을 시뮬레이션하십시오 .
(>>>  "College 셀에 대한 외부 오토매틱 인터페이스 테스트용 PAP" 페
이지  339)

조작 콘솔 College

그림  15-54: 조작 콘솔 College

336 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

위치 신호 설명
1 E17 외부 오토매틱 시작
2 E1 PGNO Bit 0
"PLC" 인풋 E2 PGNO Bit 1
E3 PGNO Bit 2
E4 PGNO Bit 3
E5 PGNO_PARITY
E6 PGNO_VALID
E7 CONF_MESS
E8 MOVE_ENABLE
E9 DRIVES_ON
E10 DRIVES_OFF
3 A1 IN_HOME
"PLC" 아웃 A2 ON_PATH

A3 PGNO_REQ
A4 PRO_ACT
A5 APPL_RUN
A6 USER_SAF
A7 ALARM_STOP

인풋 조작 패널로 PLC 를 시뮬레이션하려면 다음 변경 사항 ( 굵은 글씨 ) 을 외부


오토매틱 구성에 적용해야 합니다 .

명칭 이름 값
프로그램 번호 유형 PGNO_TYPE 1
프로그램 번호 미러링 REFLECT_PROG_NR 0
프로그램 번호 비트폭 PGNO_LENGTH 4
첫 번째 비트 프로그램 번호 PGNO_FBIT 1
패리트 비트 PGNO_PARITY 5
프로그램 번호 유효 PGNO_VALID 6
프로그램 시작 $EXT_START 17
이동 승인 $MOVE_ENABLE 8
오류 확인 $CONF_MESS 7
구동장치 꺼짐 ( 역전 ) $DIRVES_OFF 10
구동장치 켜짐 $DRIVES_ON 9
인터페이스 활성화시킴 $I_O_ACT 1025

아웃풋 조작 패널로 PLC 를 시뮬레이션하려면 다음 변경 사항 ( 굵은 글씨 ) 을 외부


오토매틱 구성에 적용해야 합니다 .

명칭 이름 값
컨트롤러 준비 상태 $RC_RDY1 137
비상 정지 회로 닫힘 $ALARM_STOP 7
조작자 보호 장치 닫힘 $USER_SAF 6
드라이브 준비 상태 $PERI_RDY 1012
로봇 마스터링됨 $ROB_CAL 1001
인터페이스 활성화 $I_O_ACTCONF 140

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 337 / 353


로봇 프로그래밍 1

명칭 이름 값
통합 장애 $STOPMESS 1010
프로그램 미러링을 위한 첫 번째 비 $PGNO_FBIT_REFL 999

내부 비상 정지 $ALARM_STOP 1002

명칭 이름 값
프로그램 활성화 $PRO_ACT 4
프로그램 번호 요청 PGNO_REQ 3
애플리케이션 구동 중 APPL_RUN 5
프로그램 동작 활성화 $PRO_MOVE 1022

명칭 이름 값
홈 위치로 $IN_HOME 1
1. 홈 위치 $IN_HOME1
2. 홈 위치 $IN_HOME2
3. 홈 위치 $IN_HOME3
4. 홈 위치 $IN_HOME4
5 홈 위치 $IN_HOME5
경로에 있는 로봇 $ON_PATH 2
경로에 인접한 로봇 $NEAR_POSRET 147
로봇 동작 중 아님 $ROB_STOPPED 1023

명칭 이름 값
테스트 1 모드 $T1 21
테스트 2 모드 $T2 22
자동 모드 $AUT 23
외부 오토매틱 모드 $EXT 24

338 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

College 셀에 대한
외부 오토매틱 인터
페이스 테스트용
PAP

그림  15-55: PAP - 외부 오토매틱 , College 셀

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 339 / 353


로봇 프로그래밍 1

15.5 추가 연습

340 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

15.5.1 연습 : 그리퍼 프로그래밍 핀

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 그리퍼와 플라이어를 트리거링하고 점검하기 위한 지령을 프로그래밍하
기 (KUKA.Gripper & SpotTech)
 테크놀로지 고유의 상태 키를 사용하여 활성화시키고 작업하기

전제조건 이 연습을 성공적으로 마치기 위해서는 다음의 전제 조건을 충족시켜야 합니


다:
 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 테크놀로지 패키지 KUKA.Gripper & SpotTech 에 대한 이론적 지식

작업 설정
 
 
 
 트레이너가 지정한 툴 또는 베이스 시스템을 사용하십시오 .
 지정된 시스템 할당 개요는 다음을 참조하십시오 .
 (>>> 15.6 " 툴 / 베이스 시스템 개요 " 페이지  346)

다음의 작업을 실행하십시오 : 핀 1 가져오기 및 내려놓기


1. 두 개의 새 프로그램을 Stift_Holen 과 Stift_Ablegen 의 이름으로 생성합
니다 ( 복제 ).
2. 프로그래밍할 때 수동 이동 시의 툴 작업방향의 장점을 활용하십시오 .
3. 이를 위해 다음의 툴과 베이스를 사용합니다 .
 툴
번호 _____ 이름 :_______________
베이스
번호 _____ 이름 :_______________
4. 가져오기 및 내려놓기 시의 핀 매거진으로의 이동속도가 0.3 m/s 보다 높
지 않도록 유의하십시오 .
5. 핀을 가져오기 전에 그리퍼 위치에 대한 확인창을 확인하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 341 / 353


로봇 프로그래밍 1

그림  15-56: 핀 매거진

1 핀 매거진 2 핀1
3 핀2 4 핀3

질문 지금 알아야 할 사항 :
1. 대기 시간 및 그리퍼 모니터링이 ON/OFF 일 때 어떤 차이가 있습니까 ?
......................................................
......................................................
참고 메시지 우회는 불가능함이 메시지 텍스트로 표시됩니다 . 이에 대한 가능
성있는 원인을 말씀해 보십시오 .
......................................................
......................................................
......................................................
KUKA 표준 그리퍼 타입은 모두 몇 개입니까 ?
......................................................
......................................................

342 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

15.5.2 연습 : 루프 테크닉

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 KRL 로 루프 프로그래밍하기 :

전제조건 이 연습을 성공적으로 마치기 위해서는 다음의 전제 조건을 충족시켜야 합니


다:
 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 프로그래밍 시의 다양한 루프 테크닉의 기능에 대한 이론적 지식

작업 설정 1. 메인 프로그램 프로그램을 메인 프로그램 _ 루프의 이름으로 복제합니다 .


2. LOOP - ENDLOOP 루프를 FOR - WHILE 루프로 대체하십시오 .
3. 이를 위해 1 개의 정수 변수를 루프 카운터로 선언하십시오 .
4. 루프를 5 번 반복하십시오 .
5. 그 밖에도 처리 과정을 일찍이 마칠 수 있어야 합니다 . 이를 위해 $IN[11]
을 중단 기준으로 사용합니다 .

질문 지금 알아야 할 사항 :
SWITCH/CASE 분배기에서 아직 "DEFAULT" 지령이 있습니다 . 이
"DEFAULT" 지령은 어떤 의미가 있습니까 ?
......................................................
......................................................
어떤 명령으로 FOR 루프에서 단계 폭을 설정할 수 있습니까 ?
......................................................
......................................................
어떤 루프를 명령 "EXIT" 로 마칠 수 있습니까 ?
......................................................
......................................................
분기 시 어떤 부분을 생략할 수 있습니까 ? a. IF b. THEN c. ELSE d. ENDIF
......................................................
......................................................
이 프로그램 예에서 틀린 것은 ?
......................................................
......................................................
IF $IN[14]==FALSE THEN
$OUT[12]=TRUE
GOTO MARKE1
ELSE
$OUT[12]=FALSE
GOTO MARKE2
ENDIF
WHILE $IN[17]==TRUE
SPTP P1
MARKE1: ...
ENDWHILE
MARKE2: …
SPTP HOME

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 343 / 353


로봇 프로그래밍 1

15.5.3 연습 : 정속 이동 영역 및 조건적 중지

연습의 목표 이 연습을 종료하면 다음 작업을 실행할 수 있습니다 .


 스플라인 인라인 양식의 로직 명령 사용

전제조건 이 연습을 성공적으로 마치기 위해서는 다음의 전제 조건을 충족시켜야 합니


다:
 안전 교육에 참가

연습을 시작하기 전 안전 교육에 성공적으로 참가하고 이 참가


가 문서로 작성되어 있어야 합니다 !

 스플라인 동작 프로그래밍에 대한 이론적 지식 .


 스플라인 인라인 양식의 " 정속 이동 영역 " 및 " 조건적 중지 " 사용

작업 설정 1

그림  15-57: 고정 이동 영역 , 조건적 정지

1. 스플라인 _ 방향 프로그램을 스플라인 _ 방향 _ 정속으로 이름을 지정하여


복제합니다 .
2. 주황색 영역을 정속 이동 영역으로 지정합니다 .
3. 빨간색으로 표시된 경로점에서 조건적 중지를 실행합니다 .
4. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

작업 설정 2

그림  15-58: 스플라인으로 확장된 로직

344 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

1. 스플라인 길이 프로그램을 스플라인 길이 _ 일정이란 이름을 지정하여 복


제합니다 .
2. 초록색 영역을 정속 이동 영역으로 지정합니다 .
3. 빨간색으로 표시된 경로점에서 조건적 중지를 실행합니다 .
4. 작동 모드 T1, T2 및 오토매틱에서 프로그램을 시험하십시오 .

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 345 / 353


로봇 프로그래밍 1

15.6 툴 / 베이스 시스템 개요

설명  
 
 다음의 툴 및 베이스 목록이 모듈형 및 이동식 KUKA College 교육 셀에
사용됩니다 .
 하지만 사양 및 교육 장비에 따라 변경될 수 있습니다 .

번호 Tool 번호 베이스
0 $NULLFRAME 0 $NULLFRAME
1 1
2 Greifer_Neu 2 Blau_Palette
3 Stift_Groß 3 Orange_Bahn
4 Schild_Wst 4 Duese_Extern
5 5 Palette_Indirekt
6 6 Schweissteil_Indirek
t
7 7 Splineblock_Lang
8 8
9 9
10 10
11 11
12 D_Crimping_Roll 12
13 D_Panel_Ext_3D 13 D_Blue_Base_Pallet
14 D_Gripper 14 D_Orange_Base_Spli
ne
15 D_Panel 15 Red_Base_Straight
16 D_Pen165 16 D_Glue_Nozzle
17 D_Pos_A_3D
18 D_Pos_B_3D
19 D_Crimping_Roll
20 D_Spline
...

15.7 약어

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 ( 메모리 카드 )

346 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


15 부록

용어 설명
EMD 로봇 마스터링용 Electronic Mastering Device
( 이전의 EMT)
EMC Electromagnetic Compatibility
GBE Giga Bit EtherNet
Catalog 양식이나 구성요소 , 기구 등 다양한 요소들이 포
함되어 있습니다 .
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
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

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 347 / 353


로봇 프로그래밍 1

용어 설명
STO Safe Torque Off
SION Safety Input Output Node
USB Universal Serial Bus ( 컴퓨터와 주변장치를 연
결하기 위한 버스 시스템 )
UPS Uninterruptible Power Supply
WorkVisual 카탈로그 WorkVisual 카탈로그 요소 작성을 위한 소프트
편집기 웨어

348 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


인덱스

인덱스
심벌 MEMD 347
$LDC_LOADED 72 MGU 347

숫자 O
3 점식 방법 111 OPC 347
OPI 347
B
Base 좌표계 41 P
Bit 연산 280 PLC 프로그램 시작 303
PMB 347
C
CCU 346 R
CCUsr 346 RCD 347
CIB 346 RDC 347
CIBsr 346 Robroot 41
CIRC- 모션 153
CK 346 S
CSP 346 SAK 123
SATA 347
D SBC 347
DECL 274, 276 SEMD 347
Dual-NIC 카드 346 SIB 347
SION 348
E smartPAD 13
EDS 346 smartPAD 개요 14
EMC 347 smartPAD 기본 설정 22
EMD 347 smartPAD 분리 15
SPTP 동작 144
F STO 348
Flange 좌표계 41 STOP 0 20
STOP 1 21
G STOP 2 21
GBE 347
GOTO 298 T
tm_useraction 314
K TMx 316
KCB 347 Tool 좌표계 41
KCP 347
KEB 347 U
KLI 347 UPS 348
KOI 347 USB 348
KONI 347
KPC 347 W
KPP 347 WAIT 198
KRL 347 WAIT FOR 199
KSB 347 WHILE 291
KSI 347 WorkVisual 카탈로그 편집기 348
KSP 347 World 좌표계 41
KUKA 로봇 기계 장치 8
KUKA.HMI 347 ㅎ
개별적 ( 메뉴항목 ) 283
L 고정된 툴 243
LIN- 모션 153 고정된 툴 , 수동 이동 257
LWL 347 관리자 263
광역 좌표계 41
M 광역 좌표계에서 6D 마우스를 이용하여 조작 및
MCC 347 수동 이동 51
MCFB 347 광역 좌표계에서 이동 버튼을 이용하여 조작 및

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 349 / 353


로봇 프로그래밍 1

수동 이동 48 스탭프 266
글로벌 275 스플라인 동작 177
기록 보관 136 스플라인 블록 177
기본 산술연산 280 시운전 모드 55
기본 함수 280 안전 가동정지 20
논리 , 일반사항 197 안전 도어 28
논리적 연산 280 안전정지 0 20
누르기 267 안전정지 1 20
눈금 표시선 , 마스터링용 66 안전정지 2 20
단일 , 우회 210 안전정지 STOP 0 20
대기 메시지 32 안전정지 STOP 1 20
대기 함수 198 안전정지 STOP 2 20
대기 함수 , 시간에 따름 299 안전정지 , 외부 29
대기 함수 , 시그널에 따름 300 약어 346
대화상자 메시지 32 연습 39, 48, 51, 103, 111, 117, 252
동작 프로그래밍 143 연습 베이스 간접 측정 312
디스트리뷰터 (SWITCH- CASE) 296 연습 외부 오토매틱 인터페이스 구성 ( 수동 )
레코드 선택 183 336
로그북 139 연습 , 고정 이동 영역 및 조건적 중지 344
로봇 위치 119 연습 , 고정된 툴을 포함한 수동 이동 259
로봇 제어 시스템 (V)KR C4 10 연습 , 그리퍼 툴 측정 95
로봇 제어 시스템의 메시지 판독 및 해석 31 연습 , 그리퍼 프로그래밍 표시판 241
로봇 축을 개별적으로 작동시키기 33 연습 , 그리퍼 프로그래밍 핀 341
로봇에 대한 기본 사항 7 연습 , 로봇 마스터링 67
로봇에서의 하중 69 연습 , 로봇 프로그램 실행하기 130
로봇의 안전성 27 연습 , 숫자를 사용한 툴 측정 95
로봇의 추가 하중 73 연습 , 스플라인 220
로봇이 안내한 공작물 247 연습 , 스플라인 블록 194
로컬 275 연습 , 에어 프로그램 151
루프 287 연습 , 오프셋을 통한 하중 마스터링 67
루프 , 거부하는 291 연습 , 외부 TCP 를 사용한 동작 프로그래밍 261
루프 , 거부하지 않음 292 연습 , 툴 측정 핀 91
마스터링 56 연습 , 트랙 이동 174
매니퓰레이션 280, 281 연습 , 혼합 174
메모 266 오퍼레이터 263
모션용 오프셋 어댑테이션 318 오퍼레이터 보호장치 28
무한 루프 287 외부 오토매틱 303, 326
방향 설정 가이드 155 외부 오토매틱 인터페이스 구성 333
베이스 105, 309 외부 오토매틱 인터페이스 설명 326
베이스 좌표계에서 수동 이동 117 외부 툴 및 로봇에 의해 유도된 공작물 측정 252
베이스 측정 테이블 111 우선순위 282
변경하기 , 모션 명령 169 우회 SCIRC 168
변수 273, 276 우회 SLIN 168
변수 , 개별적으로 표시하기 283 우회 SPTP 146
변수 , 변경하기 283 우회 , 단일 210
보간 모드 149, 159, 162, 189, 192, 318 우회 , 혼합 210
복구하기 136 원리 56
부록 309 인라인 양식 144
분기 294 인라인 양식에서 충돌 인식 활성화시키기 317
비교 연산 280 자유 회전 장치 37
비상 정지 버튼 27 작동 모드 18
사용자그룹 , 디폴트 263 저크 150, 160, 163, 190, 193
상태 메시지 31 전문가 레벨 263
선언 274, 276 전진 274
손목점 153, 154 전환 기능 , 트랙 319
수동 이동 , 고정된 툴 257 점프 298
수동 이동 , 광역 42 점프 명령 298
수동 이동 , 베이스 113 정속 이동 영역 216
수동 이동 , 툴 99 정지 카테고리 0 20
수명 275 정지 카테고리 1 21
스위칭 함수 , 간단함 202 정지 카테고리 2 21

350 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


인덱스

조건적 정지 213
조작법 및 축 고유의 수동 이동 39
조회 119, 294
좌표계 41
증분 37
참조 메시지 32
초기화 123, 278
축 고유의 수동 이동 33
충돌 모멘트 315
충돌 인식 159, 162, 314, 318
충돌 인식 , 변수 316
충돌 인식 , 외부 오토매틱 317
충돌 인식 ( 메뉴 항목 ) 318
측정 105, 247
측정 , 간접 309
측정 , 고정된 툴 243
카운트 루프 289
카탈로그 347
키워드 274
툴 수동 이동 103
툴 측정 76
툴 하중 데이터 69
패닉 위치 34
편집 133
폴드 268
프로그래머 263
프로그래밍 , 외부 TCP 260
프로그램 모듈 133
프로그램 선택 124
프로그램 시작 124
프로그램 진행 컨트롤 287
프로그램 복제 134
프로그램 삭제 135
프로그램 이름 바꾸기 136
하위 프로그램 268
하위 프로그램 호출 프로그래밍 271
하위 프로그램 글로벌 268
하위 프로그램 로컬 269
합의 273
혼합 , 우회 210
확인 메시지 31
힘 모멘트 315

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 351 / 353


로봇 프로그래밍 1

352 / 353 현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5


로봇 프로그래밍 1

현재 : 05.04.2017 버전 : P1KSS8 robot programming 1 (R2) V5 353 / 353

You might also like