SRC+ Robot Controller FARAL

Download Report

Transcript SRC+ Robot Controller FARAL

SRC+ Robot Controller
FARAL
Factory
Automation
Robust
Architecture
Language
Mechatronics Center
SRC+ Robot Controller
FARAL
내 용
•
•
•
•
•
•
로봇 언어란 무엇 인가 ?
FARAL 언어의 구성
언어의 편집 및 실행
TEACH PENDANT의 조작 및 로봇 기본 조작
로봇 언어의 소개
실습
SRC+ Robot Controller
FARAL
로봇 언어란 무엇인가 ?
• 사용자와 로봇간의 대화수단
• 다양한 적용 프로그램의 작성
• 일반적인 프로그램 언어 + 로봇 동작 구동 언어
• FARAL 의 특징
– BASIC 수준의 고급 언어 구조
– 쉽게 익숙해질 수 있는 언어구조
SRC+ Robot Controller
FARAL
FARAL 언어의 구조
SRC+ Robot Controller
FARAL
언어의 편집 및 실행
EDIT Menu
LANG Menu
Language
NEW
LOAD
EXIT
SAVE
DEFINE
INT, REAL, LOC, SUB, ENDSUB
QUIT
MOTION
MOVE, MOVES, MOVEA, READY, UP, MOVEC, APPRO, ROTATE,
ALIGN, DRIVE, CONT, FINE, LEFT, RIGHT, ABOVE, ELBOW,
FLIP, NOFLIP
COPY
LOCATION
PASTE
I/O
LANG
PROGRAM
CUT
COMMUNICATION
DEL
FUNCTION
SEARCH
PARAMETER
LSET, LDEL, LREN, LCOPY, LDATA, SHIFT, HERE, WORK,
TOOL, TCP
IFSIG, GOSIG, SDATA, SDEF, SIG, SIGIN, SIGOUT, SINT,
PULSE, WAIT, SCHK, SOUT
GOTO, IF, THEN, ELSE, ENDIF, RETURN, FOR, NEXT, WHILE,
ENDWHILE, STOP, GOSUB, DELAY
READ, WRITE, TRANS, LOAD
SIN, COS, ATAN2, LN, LOG, EXP, ABS, POW,
EXT, SQRT
ACC, MSPD, GAIN, UL, LL, INPOST, INPOSA, ENVELA,
REFPNT, SPEED
REPLACE
GOLINE
KEYS
@
^
~
- 175 -
!
, %
SRC+ Robot Controller
FARAL
Teach Pendant의 Key 배치
-
영문/숫자/특수문자
F1 ~ F7
RUN/STOP
SERVO
JOG
ESC
《 F1 F2 F3 F4 F5 F6 F7 》
BS
SHIFT
SP
A
A RC
RUN
B
C
2
1
D
E
4
H
5
7
L
P
/
)
=
+J 1
-J 1
+X
-X
ZR
+J 2
-J 2
RESET
+Y
-Y
JOG
+J 3
-J 3
MODE
+Z
-Z
ESTOP
+J 4
-J 4
REC
+α
-α
+J 5
-J 5
+β
-β
+J 6
-J 6
+γ
-γ
SERVO
W
[
Z
>
;
S
V
Y
<
#
-
(
,
O
R
U
X
9
0
+
.
K
N
Q
T
6
8
*
G
J
M
ENTER
ESC
3
F
I
PAUSE
R OBOT
]
:
|
&
SPEED
SHIFT
SRC+ Robot Controller
FARAL
TP Main 화면
• Booting 후 Main 화면
ROBOT NO.
SPEED
[R1/S010]
SRC+ ROBOT CONTROLLER SYSTEM VER 4.20
TEACH PENDANT VER 3.0
OPTIONS : NONE
SAMSUNG ELECTRONICS CO.,LTD
MAIN VERSIO N
T/ P VERSIO N
OPTION
EXT-BATTERY ...OK
PARAMETER CHECK...OK
LOC. CHECK
...OK
FILE CHECK
...OK
BATTERY CHECK
PARAMETER CHECK
LOCATION CHECK
FILE CHECK
FILE
LOC
PARA EXEC DIAG APPL
SRC+ Robot Controller
FARAL
FILE 관리
• FARAL 편집/삭제/이름변경/복사
1/
1
2
3
4
5
6
선택된 화일
명령어 라인
메 뉴 라 인
6
FIL E SER VI CE
[R1/ S0 10 ]
FIL E2
15 38 BYT ES EXT .N UM = - 1
GOO D
8 23 60 BYT ES EXT .N UM = - 1
NCC 1
2 75 20 BYT ES EXT .N UM = - 1
PIC KU P 90 38 5 BYT ES EXT .N UM = - 1
SUB
10 64 53 BYT ES EXT .N UM = - 1
TES T1
45 38 BYT ES EXT .N UM = - 1
_
FDI R FDE L FCP Y FRE N FTY P EDI T EXI T
SRC+ Robot Controller
FARAL
LOCATION 관리
• LOCATION 입력/삭제/복사 등
LOC AT IO N
#A1
#A2
#B1
#B4
AAA 1
AAA 2
AAA 3
AAA 4
FIN D
[
8 /1 99 2]
2 3. 45 -1 03 .2 9
6 3. 34 -1 30 .1 0
10 2. 13 -1 00 .1 2
10 0. 02
1 02 .3 0
5 00 .0 0
1 00 .0 0
3 00 .0 0
1 00 .0 0
5 00 .0 0 - 10 0. 00
3 00 .0 0 - 10 0. 00
SET
COP Y
REN
DEL
[ R1/ S1 00 ]
3 0. 10
1 50. 24
1 00 .1 0
1 20 .00
1 10 .0 0
0. 00
90 .0 0
2 0. 00
50 .0 0
0. 00
50 .0 0
0. 00
50 .0 0
0. 00
50 .0 0
0. 00
HER E
EXI T
SRC+ Robot Controller
FARAL
PARAMETER 관리
• SYSTEM 설정
PAR AM ET ER
[ R1/ S0 10 ]
SYS
: SYS TE M CON FI GU RA TI ON
BOD Y : BOD Y CON FI GU RA TI ON
SER V : SER VO PAR AM ET ER
MOV E : MOV E PAR AM ET ER
ARM
: ARM CON F. PAR AM ET ER
WOR K : WOR K FRA ME PAR AM ET ER
PAR AM ET ER
<
SYS
BODY
SERV
MOVE
ARM
WORK
EXIT
TOO L
TCP
REF
COM M
MIS C
>
<
TOO L
:
:
:
:
:
[ R1/ S0 10 ]
TOO L FRA ME PAR AM ET ER
TCP FRA ME PAR AM ET ER
REF ER EN CE POI NT
COM MU NI CA TI ON PAR AM ET ER
MIS CE LL AN Y PAR AM ET ER
TCP
REF
COMM
MISC
EXI T
>
SRC+ Robot Controller
FARAL
실행
• 프로그램 실행 (CONTINUS/CYCLE/STEP/DRY)
EXE CU TE FIL E
1 : TES T1
2 : TES T2
3 : TES T3
4 : TES T4
5 : TES T5
6 : TES T6
7 : TES T7
8 : TES T8
70
1 00
1 10
2 00
1 000
1 100
1 300
7 05
BYT ES
BYT ES
BYT ES
BYT ES
BYT ES
BYT ES
BYT ES
BYT ES
[R1/ S0 10 ]
1
EXT .N UM =
2
EXT .N UM =
3
EXT .N UM =
4
EXT .N UM =
5
EXT .N UM =
6
EXT .N UM =
7
EXT .N UM =
8
EXT .N UM =
E
D
A
C
B
CON T
CYC L
SRU N
DRU N
8 FIL ES
EDI T EXI T
SRC+ Robot Controller
FARAL
DIAGNOSIS
•
제어기의 모든 상태를 감시 관리한다.
DIA GN OS IS
RMO N
EHI S
I/O
LMT S
FRE E
SRE G
<
:
:
:
:
:
:
RMO N
MEN U
1
[ R1/ S0 10 ]
RUN NI NG LIN E MON IT OR IN G
ERR OR HIS TO RY
SIG NA L SET /M ON IT OR IN G
LIM IT SEN SO R STA TU S DIS PL AY
BRA KE OFF AND SER VO FRE E
SPE CI AL REG IS TE R SET /D IS PL AY
EHI S
I/O
LMT S
FRE E
SRE G
EXI T
> DIA GN OS IS
STA B
TIM E
WHE R
MCH K
TP
SER V
<
STA B
:
:
:
:
:
:
MEN U
2
[R1/ S0 10 ]
ERR OR PUL SE MON IT OR IN G
POW ER ON/ SE RV O ON/ RU N TIM E
CUR RE NT POS IT IO N MON IT OR IN G
BAC KU P MEM OR Y CHE CK
TP DIS PL AY CON TR OL
SER VO STA TU S
TIM E
WHE R
MCH K
TP
SER V
EXI T
>
SRC+ Robot Controller
FARAL
Teaching Pendant 의 기본 조작법
1. 전원을 인가한다.
2. SERVO ON을 한다
(SHIFT + SERVO)
3. 원점 복귀를 한다
( SHIFT + ZR)
4. JOG
5. JOG MODE
6. TEACH
7. SPEED 조정
SERVO ON/OFF 키
원점복귀 키
JOG 모드 키
속도 조정 키
+J 1
-J 1
+X
-X
ZR
+J 2
-J 2
RESET
+Y
-Y
JOG
+J 3
-J 3
MODE
+Z
-Z
ESTOP
+J 4
-J 4
REC
+α
-α
+J 5
-J 5
+β
-β
+J 6
-J 6
+γ
-γ
SERVO
SPEED
JOG 키
SRC+ Robot Controller
FARAL
Location 이름 지정 및 위치의 저장
1. Location 이름 규칙
• 관절좌표계
# + 영문 + 숫자
SERVO ON/OFF 키
원점복귀 키
JOG 모드 키
예) #POINT1 , #A1
•
직각좌표계
영문 + 숫자
예) POS1, Z2
속도 조정 키
+J 1
-J 1
+X
-X
ZR
+J 2
-J 2
RESET
+Y
-Y
JOG
+J 3
-J 3
MODE
+Z
-Z
ESTOP
+J 4
-J 4
REC
+α
-α
+J 5
-J 5
+β
-β
+J 6
-J 6
+γ
-γ
SERVO
SPEED
JOG 키
SRC+ Robot Controller
FARAL
MOVE
• Syntax
– MOVE [target location]
• Function
– 각 축 동기동작으로 목표위치로 이동한다.
– Point-To-Point Motion
• 예
#TARGET
– MOVE #TARGET
#FROM
SRC+ Robot Controller
FARAL
MOVES
• Syntax
– MOVES [target location]
• Function
– 로봇의 End-Effector가 직선으로 동작을 한다.
– Continuous Path Motion
• 예
– MOVES #TARGET
#TARGET
#FROM
SRC+ Robot Controller
FARAL
MOVEC
• Syntax
– MOVEC [via location], [target location]
• Function
– 로봇의 End-Effector가 호(원)의 궤적 동작을 한다.
– Continuous Path Motion
#T1
• 예
– MOVEC #T1, #T2
#FROM
#T2
SRC+ Robot Controller
FARAL
MOVEA
• Syntax
–
MOVEA [Location],[UP],[UP_ARCH],[Z_OFFSET],[DOWN],[DOWN_ARCH]
Location : Target Location
Up
: The distance upward from current location along Zaxis (positive value) [mm]
Up_Arch : up-arch rate [%]
Z_Offset : OFFSET from the target location along Z-axis
Down
: The distance downward from current location along
Z-axis Down_Arch : Down-arch rate [%]
• Function
– X-Y 평면에 대하여 Z축 방향으로 Arch 를 그리며
이동한다.
– 복합 동작
SRC+ Robot Controller
FARAL
MOVEA
A
Up_Arch
Up
Down_Arch
B
Start Location
Down
Z_offset
Target Location
SRC+ Robot Controller
FARAL
MOVEA
B
Up_Arch
Down_Arch
Down
A
Z_offset
Up
Target Location
Start Location
SRC+ Robot Controller
FARAL
READY
• Syntax
– READY
• Function
– 로봇의 원점으로 이동을 한다.
– PTP 동작으로 이동을 한다.
• 예
– READY
SRC+ Robot Controller
FARAL
DRAW
• Syntax
– DRAW [Dx], [Dy], [Dz]
• Function
– 로봇의 현재위치에서 직각좌표계의 X,Y,Z방향으로
지장한 거리 Dx, Dy, Dz만큼 직선으로 이동한다.
– 직선 동작을 하며, 상대위치 이동 명령이다.
• 예
[DZ]
– DRAW 100,100,100
Z
o
X
[DY]
Y
[DX]
SRC+ Robot Controller
FARAL
DRIVE
• Syntax
– DRIVE axis, displacement, speed
• Function
– 하나의 축을 구동하는 PTP 동작 언어이다
– 상대위치 이동 명령이다
• 예 (XY 로봇의 경우)
– DRIVE 1, 200, 30
• 1축을 현재위치에서 30%의
• 속도로 200 mm 이동한다
SRC+ Robot Controller
FARAL
다른 동작 언어
• APPRO / APPROS
– APPRO [location], [distance]
• DEPART / DEPARTS
– DEPART [distance]
• ALIGN
– 5,6축 다관절 로봇 언어
• UP
– SCARA, XY의 3축 명령어
• SPLINE
– SPLINE #A, 100 ; #A로 시작하는 모든 경로 이동
SRC+ Robot Controller
FARAL
DELAY
• Syntax
– DELAY [time]
• 기능
– 지정된 시간동안 로봇의 동작을 지연시킨다.
• 예
• MOVE #P1
• DELAY 0.5
• MOVE #P2
SRC+ Robot Controller
FARAL
CONT / FINE
• SYNTAX
– CONT [ 정수]
– FINE
• FUNCTION
– 여러 개의 단독 동작 명령을 연속하여 이동하는 기
능을 설정 하고 해제한다.
– 도포 공정등에 사용한다.
• 예
–
–
–
–
–
CONT 16
MOVES #P1
MOVES #P2
MOVES #P3
FINE
SRC+ Robot Controller
FARAL
DEFINE 문
• 변수의 선언
– INT, REAL, LOC
• 프로그램의 끝
– END
• 부 프로그램의 시작 및 끝
– SUB , ENDSUB
INT A
REAL ABC
GOSUB [subprogram]
;
END
SUB [subprogram]
ENDSUB
SRC+ Robot Controller
FARAL
LOCATION 관련 언어
•
•
•
•
•
LSET : 기존 Location의 설정 또는 신규 Location의 작성
LCOPY : Location의 복사
LDATA : Location에서 특정축의 Data을 꺼내오기
SHIFT : Location Data를 직각좌표계 상에서 이동시키기
HERE : 현재위치를 저장한다.
• LREN : Location의 이름을 변경한다.
• LDEL : Location을 삭제한다.
SRC+ Robot Controller
FARAL
Location 언어 사용예(XY 로봇)
LOC #P1, #P2, #P3, #P4
REAL AX1,AX2
INT I
READY
HERE #P1
LCOPY #P1, #P2
LCOPT #P1, #P3
LCOPT #P1, #P4
LDATA AX1=#P1,1
LDATA AX2=#P1,2
AX1 = AX1 + 200
AX2 = AX2 + 150
SHIFT #P2 BY AX1,0,0,0
SHIFT #P3 BY AX1,AX2,0,0
LSET #P4=0,AX2,0,0
FOR I=1 TO 4
MOVE #P[I]
NEXT I
END
#P2
200mm
#P1
150mm
#HERE
#P3
200mm
#P4
SRC+ Robot Controller
FARAL
IO 관련언어
•
•
•
•
•
•
•
•
•
•
IFSIG
: 입력 접점 조건에 의한 분기
GOSIG
: 입력 접점에 조건에 의한 다중분기
SDATA
: 출력 접점의 상태를 변수에 저장한다.
SDEF
: 입력 접점에 의한 interrupt service
SIG
: 접점 출력
SIGIN
: 입력 포트로부터 접점 값을 읽는다.
SIGOUT : 출력 PORT로 접점 값을 출력 한다.
SINT
: 지정된 SIGNAL Interrupt의 enable/disable
PULSE
: pulse 형 출력
WAIT
: 입력 접점의 대기
SRC+ Robot Controller
FARAL
IFSIG
 Syntax
IFSIG External input 1, [ external input 2, ...] THEN Label
 Function
Branch to the designated label if the external input fits the condition,
otherwise execute the next line
 Example
1. LOC #POS1,#POS2
2. LSET #POS1=16,12,6.5,3.5,11,11
3. LSET #POS2=24,16,10,-12,24,-12
4. MOVE #POS1
5. IFSIG -1, 2, -5 THEN 10
; If external input 1 and 5 are OFF and 2 is ON, branch
to LABEL 10, otherwise execute the next line
6. MOVE #POS2
7. 10 MOVE #POS1
8. READY
9. END
SRC+ Robot Controller
FARAL
SDATA, SIGIN, SIGOUT
• Syntax
SDATA [변수]=출력port
SIGIN 출력port , 변수
SIGOUT 출력port, 변수
* 1번 port의 입력을 받아 1번 port의 출
력으로 내보낸다. 입력값이 128이면
이전의 출력 값을 유지하고 종료한
다.
INT O1, I1
1
SIGIN 1, I1
IF I1==128 THEN 99
SIGOUT 1, I1
GOTO 1
SDATA O1=1
SIGOUT 1, O1
END
SRC+ Robot Controller
FARAL
WAIT
 Syntax
WAIT (time) external input1, [external input2, ...] [ THEN Label ]
WAIT (0) external input1, [external input2, ...]
 Function
Check ON/OFF status of external input for the given time, branch to the specified label
if the status fits the condition, otherwise execute the next line after the given time.
If several external input signals are checked, branch to the specified label only if all input
signals meet the condition.
※ Wait infinitely if time is set to 0.
 Example
WAIT(1) 1 THEN 20 ; Go to 20 if input signal 1 goes off within one second,
otherwise execute the next line
SRC+ Robot Controller
FARAL
SIG , PULSE
• Syntax
SIG 1,2,3
DELAY 2
PULSE(1) –1, -3
DELAY 3
SIG –1,-2,-3
END
SIG 번호, 번호,,,
PUSLE(time) 번호, 번호,,,
SIG1
SIG2
SIG3
2초
1
3초
SRC+ Robot Controller
FARAL
PROGRAM 제어
• LOOP 제어
– FOR ~ NEXT
– WHILE ~ ENDWHILE
• 조건부 분기
– IF ~ THEN ~ ELSE ~ ENDIF
• 무조건 분기
– GOTO
• SUBROUTINE 호출 및 복귀
– GOSUB, RETURN
• 프로그램 종료
– STOP
SRC+ Robot Controller
FARAL
LOOP 제어
•
Syntax
FOR 변수=초기값 TO 목표값 STEP 증분량
NEXT I
WHILE condition
ENDWHILE
•
기능
동일한 작업을 반복실행 하거나, 조건이 참인 경우에 반복 실행을
한다.
For I=1 to 10
GOSUB PICK(I)
GOSUB PLACE(I)
NEXT I
I=1
WHILE I<10
GOSUB PICK(I)
GOSUB PLACE(I)
I=I+1
ENDWHILE
SRC+ Robot Controller
FARAL
분기/ 호출/ 종료
INT I
• 분기 :
– GOTO ,
– IF condition THEN label
• 호출 :
– GOSUB [subprogram]
• 종료 :
– STOP
I=0
10 IF ((I % 2)==0) THEN 20
GOSUB ODD()
GOTO 30
20 GOSUB EVEN()
30 I = I + 1
IF I<100 THEN 10
STOP
END
SUB ODD()
; do odd operation
ENDSUB
SUB EVEN()
; do even operation
ENDSUB
Program Command
FARAL
SRC+ Robot Controller
SUB ROUTINE
 Call subroutine in same program
GOSUB SUBNAME (PARA1,PARA2,..)
SUB SUBNAME (PARA1,PARA2,..)
…
ENDSUB
 Call subroutine in other program
GOSUB FILENAME: SUBNAME (PARA1,PARA2,..)
SUB SUBNAME (PARA1,PARA2,..)
…
ENDSUB
SRC+ Robot Controller
FARAL
FUNCTION
•
•
•
•
•
•
SIN, COS, TAN, ATAN
LN, LOG
EXP
ABS
POW
SQRT
SRC+ Robot Controller
FARAL
연산자
• 산술연산자
– +, -, * , / , %
• 관계 연산자
– <, >, <=, >=, ==, !=
• 논리연산자
– &&, ||, !
• 비트연산자
– <<, >>, &, |, ^, ~
연산우선순위
높음 ( )
! ~ -(부호)
* / %
+ << >>
< <= > >=
== !=
낮음 && ||
SRC+ Robot Controller
FARAL
PARAMETER
•
•
•
•
•
•
ACC : 가감속 구간의 설정
MSPD : motor의 RPM 설정
UL, LL : 로봇의 동작영역 설정
INPOST, INPOSA : 목표위치 검사시간 및 값 설정
ENVELOPA : 동작 중 에러 상한 값 설정
SPEED : 속도 지정
• 프로그램에서 설정된 PARAMETER는 저장되지 않고 프
로그램 종료와 함께 원상복귀가 된다.
SRC+ Robot Controller
FARAL
SPEED
• Syntax
– SPEED/P vel : PTP 동작 속도를 지정한다
– SPEED/C vel : CP 동작 속도를 지정한다
• 기능
– PTP 또는 CP 속도를 지정한다
– /P는 1 ~ 100 의 값이 유효하며 단위는 %이다.
– /C는 mm/SEC의 단위로 입력 한다. 이 값은 로봇의 CP
속도와 관련이 있다.
SRC+ Robot Controller
FARAL
통신 관련 언어
• RS232C / ETHERNET 지원
– READ , WRITE
– LOAD, TRANS
• 세 종류의 PROTOROL 지원
SRC+ Robot Controller
FARAL
PC Applicarions
• SRCWIN
– 프로그램, Location, Parameter를 통합관리
• SRCSCope
– Motion 및 IO monitoring