외부축 설정
1. 포지셔너 좌표 보정 계산 설정
명령 ID: 0x7001 SYNCPOSITIONER_CALIBRATION_SET
설명: 포지셔너 좌표 보정 계산 설정, 다음 명령을 송신
송신:
{
"calibrateNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| calibrateNum | int | 예 | 포지셔너 그룹 번호, 선택 가능 값: 1, 2, 3 |
컨트롤러 반환:
명령 ID: 0x7004 SYNCPOSITIONER_CALIBRATION_RESULT
{
"result": true
}| 파라미터명 | 타입 | 설명 |
|---|---|---|
| result | bool | 외부축 데이터 계산 성공 여부 |
2. 캘리브레이션 포인트 좌표
명령 ID: 0x7002 SYNCPOSITIONER_CALIBRATION_INQUIRE
설명: 캘리브레이션 포인트 좌표, 다음 명령을 송신
송신:
{
"syncPositionerNum": 1,
"pointNum": 0
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| syncPositionerNum | int | 예 | 포지셔너 그룹 번호, 선택 가능 값: 1, 2, 3 |
| pointNum | int | 예 | 값 범위: 0~3 또는 5 |
컨트롤러 응답:
명령 ID: 0x7003 SYNCPOSITIONER_CALIBRATION_RESPOND
{
"syncPositionerNum": 1,
"pointNum": 0,
"pos": [0, 0, 0, 0, 0, 0]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| syncPositionerNum | int | 포지셔너 그룹 번호, 선택 가능 값: 1, 2, 3 |
| pointNum | int | 값 범위: 0~3 또는 5 |
| pos | array | 현재 포인트 |
3. 모든 외부축의 캘리브레이션 결과 조회
명령 ID: 0x7005 SYNCPOSITIONER_TYPEANDCALIBRATIONRESULT_INQUIRE
설명: 모든 외부축의 캘리브레이션 결과를 조회
송신:
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
외부축의 캘리브레이션 결과 반환:
명령 ID: 0x7006 SYNCPOSITIONER_TYPEANDCALIBRATIONRESULT_RESPOND
{
"robot": 1,
"calibrateResult": [false, false, true],
"syncType": [1, 1, 1]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 |
| calibrateResult | array | 캘리브레이션 완료 여부, 배열은 외부축 그룹 번호의 캘리브레이션 완료 여부를 나타냄 |
| syncType | array | 동기화 타입 |
4. 캘리브레이션 결과 조회
명령 ID: 0x7007 SYNCPOSITIONER_COORD_INQUIRE
설명: 캘리브레이션 결과 조회 (티치 펜던트에 이 기능 없음)
송신:
{
"syncPositionerNum": 1,
"coordNum": 0
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| syncPositionerNum | int | 예 | 포지셔너 그룹 번호 |
| coordNum | int | 예 | 캘리브레이션 결과 조회 |
응답:
명령 ID: 0x7008 SYNCPOSITIONER_COORD_RESPOND
{
"syncPositionerNum": 1,
"coordNum": 1,
"pos": [0, 0, 0, 0, 0, 0]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| syncPositionerNum | int | 포지셔너 그룹 번호 |
| coordNum | int | 캘리브레이션 결과 번호 |
| pos | array | 현재 포인트 |
5. 현재 협업 외부축 그룹 번호 설정
명령 ID: 0x7009 SYNCPOSITIONER_COORDNUM_SWITCH
설명: 현재 협업 외부축 그룹 번호 설정
송신:
{
"curSyncPositionerNum": 3
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| curSyncPositionerNum | int | 예 | 현재 협업 외부축 그룹 번호 |
현재 협업 외부축 그룹 번호 조회:
명령 ID: 0x700A SYNCPOSITIONER_COORDNUM_INQUIRE
설명: 데이터 송신 불필요
컨트롤러 응답:
명령 ID: 0x700B SYNCPOSITIONER_COORDNUM_RESPOND
{
"curSyncPositionerNum": 2
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| curSyncPositionerNum | int | 현재 협업 외부축 그룹 번호 |
6. 지레일 파라미터 설정
명령 ID: 0x700D SYNCTRACK_SET
설명: 지레일 파라미터 설정, 티치 펜던트가 아래 명령을 송신
송신:
{
"calibrateResult": true,
"xConversionRatio": 1.0,
"yConversionRatio": 1.0,
"zConversionRatio": 1.0
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| calibrateResult | bool | 예 | 협업 여부 |
| xConversionRatio | float | 예 | x 방향 변환 비율 |
| yConversionRatio | float | 예 | y 방향 변환 비율 |
| zConversionRatio | float | 예 | z 방향 변환 비율 |
조회:
명령 ID: 0x700E SYNCTRACK_INQUIRE
컨트롤러 응답:
명령 ID: 0x700F SYNCTRACK_RESPOND
{
"calibrateResult": true,
"xConversionRatio": 1.0,
"yConversionRatio": 1.0,
"zConversionRatio": 1.0
}7. 현재 위치 조회
명령 ID: 0x7012 SYNC_POS_INQUIRE
설명: 외부축 설정 인터페이스, 티치 펜던트가 아래 명령을 송신
송신:
{
"robot": 1,
"coord": 0
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| coord | int | 예 | 좌표 모드 - -1: 컨트롤러 현재 좌표 - 0: 관절 좌표 - 1: 직각 좌표 - 2: 도구 좌표 - 3: 사용자 좌표 |
컨트롤러 응답:
명령 ID: 0x7013 SYNC_POS_RESPOND
설명: 복귀점 설정 인터페이스, 컨트롤러가 현재 위치 조회 요청을 수신할 때 송신
{
"robot": 1,
"coord": 0,
"configuration": 1,
"pos": [0, 0.1, 2, 3.3, 44, 555.55, 66.6, 77.77],
"posDeg": [0, 0.1, 2, 3.3, 44, 555.55, 66.6, 77.77],
"posSync": [0, 0.1, 2, 3.3, 44, 555.55, 66.6, 77.77]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 |
| coord | int | 좌표 모드 - -1: 컨트롤러 현재 좌표 - 0: 관절 좌표 - 1: 직각 좌표 - 2: 도구 좌표 - 3: 사용자 좌표 |
| configuration | int | 자세 또는 좌우수 |
| pos | array | 현재 위치 (라디안) |
| posDeg | array | 현재 위치 (각도) |
| posSync | array | 외부축 현재 위치 |
8. 듀얼 로봇 협업 활성화
듀얼 로봇 협업 활성화 설정 명령:
명령 ID: 0x7015 COOPERATIVE_SET
{
"cooperativeRobot": 0
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| cooperativeRobot | int | 예 | 협업 설정 - 0: 협업 없음 - 1: 협업 |
협업 상태 조회:
명령 ID: 0x7016 COOPERATIVE_INQUIRE
협업 상태 응답:
명령 ID: 0x7017 COOPERATIVE_RESPOND
{
"cooperativeRobot": 0
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| cooperativeRobot | int | 협업 상태 - 0: 협업 없음 - 1: 협업 |
9. 외부축 관절 파라미터 설정
명령 ID: 0x7021 JOINTPARAMETER_SYNCPOSITIONER_SET
설명: 외부축 관절 파라미터 설정
단축 포지셔너
{
"Joint": [
{
"BackLash": 0.0,
"DeRatedVel": -30000.0,
"Direction": 1.0,
"EncoderResolution": 17.0,
"MaxAcc": 1.0,
"MaxDeRotSpeed": -1.0,
"MaxDecel": -1.0,
"MaxRotSpeed": 1.0,
"maxJerkAcc": 1.0,
"maxJerkDec": -1.0,
"NegSWLimit": -360.0,
"PosSWLimit": 720.0,
"RatedDeRotSpeed": -5000.0,
"RatedRotSpeed": 5000.0,
"RatedVel": 30000.0,
"ReducRatio": 1.0,
"syncAxisNum": 1,
"syncGroupNum": 1
}
],
"syncGroupNum": 1
}2축 포지셔너
{
"Joint": [
{
"BackLash": 0.0,
"DeRatedVel": -18000.0,
"Direction": 1.0,
"EncoderResolution": 17.0,
"MaxAcc": 1.0,
"MaxDeRotSpeed": -1.0,
"MaxDecel": -1.0,
"MaxRotSpeed": 1.0,
"NegSWLimit": -100.0,
"PosSWLimit": 100.0,
"RatedDeRotSpeed": -3000.0,
"RatedRotSpeed": 3000.0,
"RatedVel": 18000.0,
"ReducRatio": 1.0,
"maxJerkAcc": 1.0,
"maxJerkDec": -1.0,
"syncAxisNum": 1,
"syncGroupNum": 2
},
{
"BackLash": 0.0,
"DeRatedVel": -12000.0,
"Direction": -1.0,
"EncoderResolution": 17.0,
"MaxAcc": 1.0,
"MaxDeRotSpeed": -1.0,
"MaxDecel": -1.0,
"MaxRotSpeed": 1.0,
"NegSWLimit": -80.0,
"PosSWLimit": 80.0,
"RatedDeRotSpeed": -2000.0,
"RatedRotSpeed": 2000.0,
"RatedVel": 12000.0,
"ReducRatio": 1.0,
"maxJerkAcc": 1.0,
"maxJerkDec": -1.0,
"syncAxisNum": 2,
"syncGroupNum": 2
}
],
"syncGroupNum": 2
}Joint 파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| BackLash | float | 기어 백래시 |
| DeRatedVel | float | 정격 역방향 속도 |
| Direction | float | 정역방향: 1.0은 정방향 |
| EncoderResolution | float | 엔코더 분해능 (비트 수) |
| MaxAcc | float | 최대 가속도 |
| MaxDeRotSpeed | float | 최대 역회전 속도 |
| MaxDecel | float | 최대 감속도 |
| MaxRotSpeed | float | 최대 정회전 속도 |
| maxJerkAcc | float | 최대 가가속도 |
| maxJerkDec | float | 최대 감감속도 |
| NegSWLimit | float | 역방향 리미트 각도 |
| PosSWLimit | float | 정방향 리미트 각도 |
| RatedDeRotSpeed | float | 정격 역회전 속도 |
| RatedRotSpeed | float | 정격 정회전 속도 |
| RatedVel | float | 정격 속도 |
| ReducRatio | float | 관절 감속비 |
| syncAxisNum | int | 축 수 |
| syncGroupNum | int | 동기 그룹 번호 |
루트 레벨 파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| syncGroupNum | int | 동기 그룹 번호 |
관절 파라미터 조회:
명령 ID: 0x7022 JOINTPARAMETER_SYNCPOSITIONER_INQUIRE
{
"syncGroupNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| syncGroupNum | int | 예 | 동기 그룹 번호 |
관절 파라미터 반환:
명령 ID: 0x7023 JOINTPARAMETER_SYNCPOSITIONER_RESPOND
설명: 0x7021과 동일
10. 외부축 조그 관절 속도 설정
명령 ID: 0x7024 JOG_JOINTPARAMETER_SYNCPOSITIONER_SET
설명: 외부축 조그 관절 속도 설정
단축 포지셔너
{
"syncGroupNum": 1,
"syncJog": [
{
"MaxAcc": 800.0,
"MaxSpeed": 40.0
}
]
}2축 포지셔너
{
"syncGroupNum": 2,
"syncJog": [
{"MaxAcc": 400.0, "MaxSpeed": 20.0},
{"MaxAcc": 800.0, "MaxSpeed": 40.0}
]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| syncGroupNum | int | 외부축 그룹 번호 |
| syncJog[].MaxAcc | float | 최대 가속도 (°/s) |
| syncJog[].MaxSpeed | float | 최대 속도 (°/s) |
외부축 조그 관절 속도 조회:
명령 ID: 0x7025 JOG_JOINTPARAMETER_SYNCPOSITIONER_INQUIRE
{
"syncGroupNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| syncGroupNum | int | 예 | 외부축 그룹 번호 |
외부축 조그 관절 속도 파라미터 반환:
명령 ID: 0x7026 JOG_JOINTPARAMETER_SYNCPOSITIONER_RESPOND
설명: 0x7024와 동일
11. 엔코더 다회전 값 오버플로우 카운팅 기능
명령 ID: 0x7027 SYNCENCODE_OVERFLOW_PARM_SET
송신:
{
"robot": 1,
"syncAxis": [
{
"encode": [
{
"encoderRange": 0,
"encoderType": 0,
"max": "0.0",
"min": "0.0"
}
]
}
],
"syncGroupNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| syncGroupNum | int | 예 | 동기 그룹 번호 |
| syncAxis[].encode | array | 예 | 엔코더 관련 설정 |
| syncAxis[].encode[].encoderRange | int | 예 | 엔코더 범위 설정 |
| syncAxis[].encode[].encoderType | int | 예 | 다회전 값 타입 |
| syncAxis[].encode[].max | string | 예 | 엔코더 측정 최댓값 |
| syncAxis[].encode[].min | string | 예 | 엔코더 측정 최솟값 |
조회:
명령 ID: 0x7028 SYNCENCODE_OVERFLOW_PARM_INQUIRE
{
"robot": 1,
"syncGroupNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| syncGroupNum | int | 예 | 외부축 그룹 번호 |
반환:
명령 ID: 0x7029 SYNCENCODE_OVERFLOW_PARM_RESPOND
설명: 0x7027과 동일, encode 안에 encoderResolution 파라미터가 추가되어 엔코더 비트 수 반환
12. 엔코더 다회전 값 스위치 전송 통신 프로토콜
명령 ID: 0x7030 SYNCENCODE_OVERFLOW_ENABLE_PARM_SET
송신:
{
"robot": 1,
"syncAxis": [
{
"enable": 1
}
],
"syncGroupNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| syncGroupNum | int | 예 | 외부축 그룹 번호 |
| syncAxis[].enable | int | 예 | 엔코더 다회전 값 오버플로우 카운팅 기능 스위치 |
13. 외부축 영점 파라미터 설정
명령 ID: 0x7031 SYNCPOSITIONER_ENCODER_RESET
송신:
{
"axis": 1,
"clearEncoder": false
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| axis | int | 예 | 외부축 번호 - 0: 모든 외부축 - 1: 외부축 1 < br/>- 2: 외부축 2 |
| clearEncoder | bool | 예 | 엔코더 삭제 - true: 다회전 값 삭제 - false: 영점 설정 |
영점 설정 성공 후 컨트롤러 반환:
명령 ID: 0x7033 SYNCPOSITIONER_ENCODER_RESET_RESPOND
{
"axis": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| axis | int | 외부축 번호 - 0: 모든 외부축 - 1: 외부축 1 < br/>- 2: 외부축 2 |
14. 외부축 영점 오프셋
명령 ID: 0x7034 SYNCPOSITIONER_ENCODER_ZERO_OFFSET_SET
설명: 티치 펜던트에 이 기능 없음
송신:
{
"robot": 1,
"axis": 0,
"allValue": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| axis | int | 예 | 외부축 번호 - 0: 모든 외부축 - 1: 외부축 1 < br/>- 2: 외부축 2 |
| allValue | array | 예 | 설정 값은 해당 배열 위치에 배치 |
15. 단회전 값 설정
명령 ID: 0x7035 SYNCPOSITIONER_SINGLE_ENCODER_RESET
송신:
{
"robot": 1,
"allValue": [1, 2, 3, 4, 5]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| allValue | array | 예 | 설정 값은 해당 배열 위치에 배치 |
외부축 단회전 값 조회:
명령 ID: 0x7036 SYNCPOSITIONER_SINGLE_ENCODER_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
컨트롤러 응답:
명령 ID: 0x7037 SYNCPOSITIONER_SINGLE_ENCODER_RESPOND
{
"robot": 1,
"allValue": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 |
| allValue | array | 단회전 값, 배열 요소는 각 축에 대응 |
16. 외부축 캘리브레이션 결과 설정
명령 ID: 0x7041 SYNCPOSITIONER_CALIBRATION_RESULT_SET
설명: 티치 펜던트에 이 기능 없음
송신:
{
"syncPositionerNum": 1,
"resultArray": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| syncPositionerNum | int | 예 | 외부축 그룹 번호 |
| resultArray | array | 예 | 캘리브레이션 결과 배열 |
외부축 캘리브레이션 결과 조회:
명령 ID: 0x7042 SYNCPOSITIONER_CALIBRATION_RESULT_INQUIRE
{
"syncPositionerNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| syncPositionerNum | int | 예 | 외부축 그룹 번호 |
외부축 캘리브레이션 결과 반환:
명령 ID: 0x7043 SYNCPOSITIONER_CALIBRATION_RESULT_RESPOND
{
"calibrateResult": true,
"resultArray": [
[524.340205626059, -82.982822853146, 643.197959948330, -3.141346895452, 0.0, 2.382157019678]
],
"syncPositionerNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| calibrateResult | bool | 캘리브레이션 완료 여부 |
| resultArray | array | 캘리브레이션 결과 배열 |
| syncPositionerNum | int | 외부축 그룹 번호 |