Skip to main content

10.3.6. 쉬프트의 CFG정보

10.3.6. 쉬프트의 CFG정보

 

107 쉬프트의CFG 요소 값의 구성

13~10 bit

5 bit

(수신여부)

4, 3 bit

(온라인 쉬프트 요청)

2, 1, 0 bit

(쉬프트 좌표계)

0~10

사용자좌표계 번호

0: 미수신

1: 수신완료

0: OFF

1: COM 1

2: COM 2

0: base

1: robot

2: tool

4: user

5: master

6: angle

 

l 3, 4, 5 bit는 보통 사용자에 의해 사용되지는 않습니다. 하지만, 쉬프트값을 레지스터에 저장해두고, 마치 수신 완료한 것처럼 5bit 1로 설정한 후, 온라인 쉬프트나 온라인 좌표변환 (SONL, TONL1, TONL2)을 사용하는 등의 응용을 할 수도 있겠습니다.

 

l 4, 3 bit는 온라인 시프트 요청(SREQ) 전송여부 및 어느 시리얼 포트로 요청을 전송했느냐를 저장합니다.

이 비트를 쉽게 접근하기 위한 CFG의 맴버로 “.REQ”가 제공됩니다. 예를들어 R1.CFG.REQ=1을 실행하면 시리얼 포트 1로 온라인 시프트 데이터를 요청한 것으로 설정됩니다.

 

l 5 bit는 온라인 쉬프트 응답이 수신되었는지 여부가 저장됩니다.

이 비트를 쉽게 접근하기 위한 CFG의 맴버로 “.ASSIGN”가 제공됩니다. 예를들어 R1.CFG.ASSIGN=1를 실행하면 시리얼 포트 1로 온라인 시프트 데이터가 수신되었음을 나타냅니다.

 

l 0~2 bit :

시프트의 좌표계형식. 프로그램 루틴 내에서 시프트 변수의 좌표계 정보를 읽어 사용하기를 원할 때,이 비트를 사용합니다.

이 비트를 쉽게 접근하기 위한 CFG의 맴버로 “.CRD”가 제공됩니다. 예를들어 R1.CFG.CRD=4를 실행하면 R1의 좌표계 형식이 user로 설정됩니다.

 

l 10~13 bit :

시프트의 사용자좌표계 번호. 시프트의 좌표계 형식이 User인 경우는 사용자좌표계 번호가 필수적으로 사용되며 이때 사용자좌표계 번호를 읽거나 변경하기를 원할 때, 이 비트를 사용합니다.

이 비트를 쉽게 접근하기 위한 CFG의 맴버로 “.UCRD”가 제공됩니다. 예를들어 R1.CFG.UCRD=2를 실행하면 R1의 사용자좌표계 번호가 2로 설정됩니다.

 

108 시프트 멤버

멤버

의미

범위, 단위

예제

X, Y, Z

직교 위치

mm

R9.X=V200!*1000

IF R3.Z<0 THEN *ERR

(직교 좌표계에서만 접근 가능)

RX, RY, RZ

직교 각도

deg.

R9.RY=V210!

IF R3.RZ=0 THEN 100

(직교 좌표계에서만 접근 가능)

J1~J16

축 값

mm or deg.

PRINT #0,”R1=”;R20.J6

(축 좌표계에서만 접근 가능)

CFG

로봇 형상

bit-field

(14bit)

R9.CFG=&H0001

(시프트 CFG 구성표 참조)

CFG.CRD

좌표계 종류

bit-field

R9.CFG.CRD=1

(R9 변수의 좌표계를 로봇 좌표계로 설정

주의: 좌표계 종류가 바뀌는 경우에는 좌표계변환이 수행됨.)

CFG.UCRD

사용자좌표계 번호

0~10

R9.CFG.UCRD=1

CFG.REQ

온라인 시프트 데이터 요청 여부

0~3

R1.CFG.REQ=1

(시리얼 포트 1로 온라인 쉬프트 데이터를 요청한 것으로 설정)

CFG.ASSIGN

온라인 시프트 데이터 수신 여부

0: 미수신

1: 수신

R1.CFG.ASSIGN=1

(시리얼 포트 1로 온라인 쉬프트 데이터가 수신된 것으로 설정)

NJ

축 개수

0~16

시프트 변수의 유효 축 개수

EXIST

변수 존재 여부

(읽기 전용)

1: 있음

0: 없음

IF R35.EXIST=0 THEN *NO_SFT

(R35변수가 정의되지 않았으면, *NO_SFT로 분기)