로봇 설정
조그 속도 설정
관절축 조그 속도 설정
명령 코드: 0x2604 JOG_JOINTPARAMETER_SET
{
"AxisNum": 1,
"minTrajectTime": {
"minAccTime": 0.10,
"minDecTime": 0.10
},
"MaxSpeed": 10,
"MaxAcc": 10
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| AxisNum | int | 예 | 관절축 번호 |
| minTrajectTime.minAccTime | float | 예 | 최소 가속 시간 |
| minTrajectTime.minDecTime | float | 예 | 최소 감속 시간 |
| MaxSpeed | float | 예 | 관절축 최대 조그 속도, 단위: 도°/s |
| MaxAcc | float | 예 | 관절축 조그 가속도, 단위: 도°/s² |
관절축 조그 속도 조회
송신 명령 코드: 0x2605 JOG_JOINTPARAMETER_INQUIRE
{
"AxisNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| AxisNum | int | 예 | 관절축 번호 |
반환 명령 코드: 0x2606 JOG_JOINTPARAMETER_RESPOND
{
"AxisNum": 1,
"MaxSpeed": 10,
"MaxAcc": 10
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| AxisNum | int | 관절축 번호 |
| MaxSpeed | float | 관절축 최대 조그 속도, 단위: 도°/s |
| MaxAcc | float | 관절축 조그 가속도, 단위: 도°/s² |
직각 좌표 조그 속도 설정
명령 코드: 0x2607 JOG_RECTPARAMETER_SET
{
"MaxSpeed": 10,
"MaxAcc": 10
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| MaxSpeed | float | 예 | 관절축 최대 조그 속도, 단위: mm/s |
| MaxAcc | float | 예 | 관절축 조그 가속도, 단위: mm/s² |
직각 좌표 조그 속도 조회
송신 명령 코드: 0x2608 JOG_RECTPARAMETER_INQUIRE
data: 비어 있음
반환 명령 코드: 0x2609 JOG_RECTPARAMETER_RESPOND
{
"MaxSpeed": 10,
"MaxAcc": 10
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| MaxSpeed | float | 관절축 최대 조그 속도, 단위: mm/s |
| MaxAcc | float | 관절축 조그 가속도, 단위: mm/s² |
조그 감도 설정
조그 감도 설정
명령 코드: 0x260A JOG_SENSITIVITY_SET
{
"Sensitivity": 0.001
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| Sensitivity | float | 예 | 감도, 단위: 도, 범위: 0.001 - 1 |
조그 감도 조회
송신 명령 코드: 0x260B JOG_SENSITIVITY_INQUIRE
data: 비어 있음
반환 명령 코드: 0x260C JOG_SENSITIVITY_RESPOND
{
"Sensitivity": 0.001
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| Sensitivity | float | 감도, 단위: 도, 범위: 0.001 - 1 |
현재 위치 조회
좌표 모드 설명
| 좌표 모드 값 | 설명 |
|---|---|
| -1 | 컨트롤러 현재 좌표 |
| 0 | 관절 좌표 (Joint) |
| 1 | 직각 좌표 (Cart) |
| 2 | 도구 좌표 (Tool) |
| 3 | 사용자 좌표 (User) |
| 4 | 모터 위치 |
현재 위치 조회
송신 명령 코드: 0x2A02 CURRENTPOS_INQUIRE
{
"robot": 1,
"coord": 2
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 (1, 2, 3, 4) |
| coord | int | 예 | 좌표 모드: -1-컨트롤러 현재 좌표, 0-관절 좌표, 1-직각 좌표, 2-도구 좌표, 3-사용자 좌표, 4-모터 위치 |
반환 명령 코드: 0x2A03 CURRENTPOS_RESPOND
{
"robot": 1,
"deg": 1,
"pos": [0, 0.1, 2, 3.3, 44, 555.55, 0.0],
"posDeg": [0.0, 0.0, 1, 2, 3.3, 44, 5.55],
"coord": -1,
"configuration": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 (1, 2, 3, 4) |
| deg | int | ACS 좌표계 여부; 0: 예; 1: 아니오 |
| pos | array | 라디안 포인트 값, 좌표값은 7자리로 저장되며 관절 좌표에서는 앞 6자리가 J1~J6축 각도값(도) 또는 직각/도구/사용자 좌표 XYZ(밀리미터), 4-6자리가 ABC 좌표값(라디안), 7번째 자리 예약 |
| posDeg | array | 각도 포인트 값, 직각/도구/사용자 좌표에서 ABC 라디안 값을 각도값으로 변환, 나머지 상태 값은 pos와 동일 |
| coord | int | 좌표 모드: -1-컨트롤러 현재 좌표, 0-관절 좌표, 1-직각 좌표, 2-도구 좌표, 3-사용자 좌표, 4-모터 위치 |
| configuration | int | 자세 또는 (SCARA) 좌우수 |
모터 속도 조회
송신 명령 코드: 0x2A04 CURRENTVEL_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 (1, 2, 3, 4) |
반환 명령 코드: 0x2A05 CURRENTVEL_RESPOND
{
"robot": 1,
"vel": [0, 0, 0, 0, 0, 0],
"velSync": [0, 0, 0, 0, 0],
"maxVel": [0, 0, 0, 0, 0, 0],
"maxVelSync": [0, 0, 0, 0, 0]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 (1, 2, 3, 4) |
| vel | array | 모터 속도, 4축도 6개 송신 |
| velSync | array | 외부축 모터 속도 |
| maxVel | array | 최대 모터 속도 |
| maxVelSync | array | 최대 외부축 모터 속도 |
모터 토크 조회
송신 명령 코드: 0x2A06 CURRENTTORQ_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 (1, 2, 3, 4) |
반환 명령 코드: 0x2A07 CURRENTTORQ_RESPOND
{
"robot": 1,
"torq": [0, 0, 0, 0, 0, 0],
"theoTorq": [0, 0, 0, 0, 0, 0],
"maxTorq": [0, 0, 0, 0, 0, 0],
"maxTheoTorq": [0, 0, 0, 0, 0, 0],
"maxTorqSync": [0, 0, 0, 0, 0],
"torqSync": [0, 0, 0, 0, 0]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 (1, 2, 3, 4) |
| torq | array | 모터 토크 |
| theoTorq | array | 이론 모터 토크 |
| maxTorq | array | 모터 최대 토크 |
| maxTheoTorq | array | 이론 모터 최대 토크 |
| maxTorqSync | array | 외부축 모터 최대 토크 |
| torqSync | array | 외부축 모터 토크 |
동작 파라미터 설정
동작 파라미터 설정
명령 코드: 0x2801 INTERPOLATION_MODE_SET
{
"absolutePosResolution": 0.010,
"interpolationMethod": 0,
"runDelayTime": 500,
"stopTime": 240
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| absolutePosResolution | float | 예 | 절대 위치 분해능, 범위: 0.0001 - 0.1 도 |
| interpolationMethod | int | 예 | 로봇 보간 방식: 0-S형, 1-사다리꼴, 2-가속-가속 보간 |
| runDelayTime | int | 예 | 동작 지연 시간, 범위: 500 - 20000 밀리초 |
| stopTime | int | 예 | 일시정지 시간, 범위: 240 - 2000 밀리초 |
동작 파라미터 조회
송신 명령 코드: 0x2802 INTERPOLATION_MODE_INQUIRE
data: 없음
반환 명령 코드: 0x2803 INTERPOLATION_MODE_RESPOND
{
"absolutePosResolution": 0.010,
"interpolationMethod": 0,
"runDelayTime": 500,
"stopTime": 240
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| absolutePosResolution | float | 절대 위치 분해능, 단위: 도 |
| interpolationMethod | int | 로봇 보간 방식: 0-S형, 1-사다리꼴, 2-가속-가속 보간 |
| runDelayTime | int | 동작 지연 시간, 단위: 밀리초 |
| stopTime | int | 일시정지 시간, 단위: 밀리초 |
로봇 타입, 수량 조회
로봇 타입 조회
송신 명령 코드: 0x2E02 ROBOT_TYPE_INQUIRE
{
"data": null
}반환 명령 코드: 0x2E03 ROBOT_TYPE_RESPOND
{
"type": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| type | int | 현재 로봇 타입 |
로봇 타입 대응표:
| 타입 값 | 설명 |
|---|---|
| 0 | 없음 |
| 1 | 범용 6축 직렬 다관절 |
| 2 | 4축 SCARA |
| 3 | 4축 파레트 |
| 4 | 4축 직렬 다관절 |
| 5 | 단축 |
| 6 | 5축 직렬 다관절 |
| 7 | 6축 협업 |
| 8 | 2축 SCARA |
| 9 | 3축 SCARA |
| 10 | 3축 직각 |
| 11 | 3축 비표준 1 |
| 12 | 7축 직렬 다관절 |
| 13 | SCARA 비표준 1 |
| 14 | 4축 파레트 리드 스크류 |
| ... | 더 많은 타입은 생략 |
로봇 수량 조회
송신 명령 코드: 0x2E05 ROBOT_SUM_INQUIRE
{
"data": null
}반환 명령 코드: 0x2E06 ROBOT_SUM_RESPOND
{
"sum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| sum | int | 로봇 수량 |
로봇 통신 주기 설정
명령 코드: 0x2E07 CONTROL_CYCLE_SET
{
"controlCycle": 1,
"baudRate": "10K"
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| controlCycle | int | 예 | 통신 주기, 범위: 1, 2, 4, 8, 컨트롤러 재시작 후 적용 |
| baudRate | string | 예 | CAN_OPEN의 보드 레이트 |
로봇 통신 주기 조회
송신 명령 코드: 0x2E08 CONTROL_CYCLE_INQUIRE
{
"data": null
}반환 명령 코드: 0x2E09 CONTROL_CYCLE_RESPOND
{
"controlCycle": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| controlCycle | int | 통신 주기 |
컨트롤러 기능 제한 상황 조회
송신 명령 코드: 0x2E0B CONTROLLER_LIMIT_INQUIRE
{
"data": null
}반환 명령 코드: 0x2E0C CONTROLLER_LIMIT_RESPOND
{
"robotsum": 2,
"maxRobotCount": 4,
"robottypes": {
"R_GENERAL_6S": false,
"R_SCARA": true,
"R_FOURAXIS_PALLET": true,
"R_FOURAXIS": true,
"R_GENERAL_1S": true,
"R_GENERAL_5S": true,
"R_GENERAL_6S_1": true,
"R_SCARA_TWOAXIS": true,
"R_SCARA_THREEAXIS": true,
"R_THREE_CARTESIAN_COORDINATE": true,
"R_THREE_CARTESIAN_COORDINATE_1": true,
"R_GENERAL_7S": true,
"R_SCARA_1": true,
"R_FOURAXIS_PALLET_1": true,
"R_FOUR_CARTESIAN_COORDINATE": true,
"R_SIXAXIS_SPRAY_BBR": true,
"R_FOUR_POLAR_COORDINATE_1": true,
"R_GENERAL_6S_2": true,
"R_GANTRY_WELD": true,
"R_DELTA": true,
"R_WINE_CHAMFER": true
},
"craft": {
"pallet": true,
"weld": false,
"lasercut": true,
"polish": true,
"spray": true,
"search": true,
"pun": true,
"vision": true
}
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robotsum | int | 로봇 수 |
| maxRobotCount | int | 로봇 최대 수 |
| robottypes | object | 로봇 타입 잠금 해제 상태, true-잠금 해제됨, false-잠금 해제되지 않음 |
| craft | object | 공정 잠금 해제 상태, true-잠금 해제됨, false-잠금 해제되지 않음 |
robottypes 타입 설명:
| 타입 키 | 설명 |
|---|---|
| R_GENERAL_6S | 6축 직렬 다관절 |
| R_SCARA | 4축 SCARA |
| R_FOURAXIS_PALLET | 4축 링크 파레트 |
| R_FOURAXIS | 4축 직렬 다관절 |
| R_GENERAL_1S | 1축 범용 |
| R_GENERAL_5S | 5축 직렬 다관절 |
| R_GENERAL_6S_1 | 6축 협업 |
| R_SCARA_TWOAXIS | 2축 SCARA |
| R_SCARA_THREEAXIS | 3축 SCARA |
| R_THREE_CARTESIAN_COORDINATE | 3축 직각 |
| R_THREE_CARTESIAN_COORDINATE_1 | 3축 직각 비표준 1 |
| R_GENERAL_7S | 7축 직렬 다관절 |
| R_SCARA_1 | 4축 SCARA 비표준 1 |
| R_FOURAXIS_PALLET_1 | 4축 파레트 리드 스크류 |
| R_FOUR_CARTESIAN_COORDINATE | 4축 직각 |
| R_SIXAXIS_SPRAY_BBR | 6축 스프레이 |
| R_FOUR_POLAR_COORDINATE_1 | 4축 극좌표 비표준 |
| R_GENERAL_6S_2 | 6축 비표준 1 |
| R_GANTRY_WELD | 갠트리 용접 |
| R_DELTA | 델타 로봇 |
| R_WINE_CHAMFER | 와인 그루브 타입 |
craft 공정 설명:
| 공정 키 | 설명 |
|---|---|
| pallet | 파레트 공정 |
| weld | 용접 공정 |
| lasercut | 레이저 커팅 공정 |
| polish | 연마 공정 |
| spray | 스프레이 공정 |
| search | 위치 추적 공정 |
| pun | 스탬핑 공정 |
| vision | 비전 공정 |
슬레이브 리스트 조회
송신 명령 코드: 0x2E0E SLAVETYPE_LIST_INQUIRE
data: 없음
반환 명령 코드: 0x2E0F SLAVETYPE_LIST_RESPOND
{
"IONum": [0, 0, 0, 0, 0, 0, 1, 2],
"servoNum": [1, 2, 3, 4, 5, 6, 0, 0],
"slaveType": ["摩通", "摩通", "摩通", "摩通", "摩通", "摩通", "IO板R4C_PWM", "摩通"],
"slaveTypeEnglish": ["mt", "mt", "mt", "mt", "mt", "mt", "inexbot_IO_R4C_PWM", "mt_MSR1616A"]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| IONum | array | IO 번호 |
| servoNum | array | 서보 번호 |
| slaveType | array | 서보 모델 (중국어) |
| slaveTypeEnglish | array | 서보 모델 (영어) / IO 모델 |
듀얼 로봇 협업 로봇 설정
협업 로봇 수량 설정
명령 코드: 0x2E11 COROBOT_SET
{
"cooperativeRobot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| cooperativeRobot | int | 예 | 협업 로봇 수량, 0은 없음 |
협업 로봇 수량 조회
송신 명령 코드: 0x2E12 COROBOT_INQUIRE
{
"data": null
}반환 명령 코드: 0x2E13 COROBOT_RESPOND
{
"cooperativeRobot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| cooperativeRobot | int | 협업 로봇 수량, 0은 없음 |
로봇 타입 및 매핑
로봇 타입 및 매핑 설정
명령 코드: 0x2E14 ROBOTTYPE_AXISMAP_SET
{
"sum": 1,
"robot": [
{
"robotType": "R_SCARA",
"servoMap": [1, 2, 3, 4],
"syncSum": 2,
"syncGroupSum": 1,
"syncType": [2, 0, 0],
"syncMap": [[5, 6], [7, 8]]
}
],
"servoSum": 0
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| sum | int | 예 | 로봇 수량 |
| robot | array | 예 | 로봇 설정 배열 |
| robot[].robotType | string | 예 | 로봇 타입 |
| robot[].servoMap | array | 예 | 서보 매핑 |
| robot[].syncSum | int | 예 | 외부축 수량 |
| robot[].syncGroupSum | int | 예 | 외부축 그룹 수 |
| robot[].syncType | array | 예 | 외부축 그룹 타입 |
| robot[].syncMap | array | 예 | 외부축 매핑 |
| servoSum | int | 예 | 서보 수량 |
로봇 타입 및 매핑 조회
송신 명령 코드: 0x2E15 ROBOTTYPE_AXISMAP_INQUIRE
{
"data": null
}반환 명령 코드: 0x2E16 ROBOTTYPE_AXISMAP_RESPOND
{
"servoSum": 6,
"sum": 1,
"robot": [
{
"note": "",
"robotType": "R_SCARA",
"servoMap": [1, 2, 3, 4],
"syncSum": 2,
"syncGroupSum": 1,
"syncType": [2, 0, 0],
"syncMap": [[5, 6]]
}
]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| servoSum | int | 서보 수량 |
| sum | int | 로봇 수량 |
| robot | array | 로봇 설정 배열 |
| robot[].note | string | 비고 |
| robot[].robotType | string | 로봇 타입 |
| robot[].servoMap | array | 서보 매핑 |
| robot[].syncSum | int | 외부축 수량 |
| robot[].syncGroupSum | int | 외부축 그룹 수 |
| robot[].syncType | array | 외부축 타입 |
| robot[].syncMap | array | 외부축 매핑 |
종동축 설정
명령 코드: 0x2E17 DRIVENSHAFT_SET
{
"robot": [
{
"axis": [
{
"sum": 2,
"data": [
{
"num": 1,
"reducRatio": 1.0,
"encoder": 17,
"dir": 1
},
{
"num": 1,
"reducRatio": 1.0,
"encoder": 17,
"dir": 1
}
]
},
{
"sum": 2,
"data": [
{
"num": 1,
"reducRatio": 1.0,
"encoder": 17,
"dir": 1
},
{
"num": 1,
"reducRatio": 1.0,
"encoder": 17,
"dir": 1
}
]
}
],
"sync": [
[
{
"sum": 2,
"data": [
{
"num": 1,
"reducRatio": 1.0,
"encoder": 17,
"dir": 1
},
{
"num": 1,
"reducRatio": 1.0,
"encoder": 17,
"dir": 1
}
]
}
]
]
}
]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | array | 예 | 로봇 종동축 설정 |
| robot[].axis | array | 예 | 종동축 설정 |
| robot[].axis[].sum | int | 예 | 종동축 수량 |
| robot[].axis[].data | array | 예 | 종동축 데이터 |
| robot[].axis[].data[].num | int | 예 | 종동축 번호 |
| robot[].axis[].data[].reducRatio | float | 예 | 감속비 |
| robot[].axis[].data[].encoder | int | 예 | 엔코더 비트 수 |
| robot[].axis[].data[].dir | int | 예 | 주 모터 대비 방향 (1 or -1) |
| robot[].sync | array | 예 | 외부축 종동축 설정 |
종동축 조회
송신 명령 코드: 0x2E18 DRIVENSHAFT_INQUIRE
data: 없음
반환 명령 코드: 0x2E19 DRIVENSHAFT_RESPOND
data: 설정과 동일
ENI 조회
ENI 이름 조회
송신 명령 코드: 0x2E1B ENINAME_INQUIRE
data: 없음
반환 명령 코드: 0x2E1C ENINAME_RESPOND
{
"ENIName": "eni-RC-6-mecat-1-1000.xml",
"isHaveENI": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| ENIName | string | ENI 파일명 |
| isHaveENI | int | 1-ENI 파일 인식됨, 0-해당 ENI를 찾을 수 없음, -1-ENI 없음 |
DH 파라미터
DH 파라미터 설정
명령 코드: 0x3A01 DHPARAMETER_SET
{
"CoupleCoe": {
"Couple_Coe_1_2": 0.0,
"Couple_Coe_2_3": 0.0,
"Couple_Coe_3_2": 0.0,
"Couple_Coe_3_4": 0.0,
"Couple_Coe_4_5": 0.0,
"Couple_Coe_4_6": 0.0,
"Couple_Coe_5_6": 0.0
},
"Link": [
{"a": 3.0, "d": 3.0},
{"a": 3.0, "d": 0.0},
{"a": 3.0},
{"d": 3.0},
{"d": 0.0, "theta": 90.0},
{"d": 3.0}
],
"upsideDown": false
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| CoupleCoe | object | 예 | 결합비 파라미터 |
| CoupleCoe.Couple_Coe_1_2 | float | 예 | 1/2 결합비 |
| CoupleCoe.Couple_Coe_2_3 | float | 예 | 2/3 결합비 |
| CoupleCoe.Couple_Coe_3_2 | float | 예 | 3/2 결합비 |
| CoupleCoe.Couple_Coe_3_4 | float | 예 | 3/4 결합비 |
| CoupleCoe.Couple_Coe_4_5 | float | 예 | 4/5 결합비 |
| CoupleCoe.Couple_Coe_4_6 | float | 예 | 4/6 결합비 |
| CoupleCoe.Couple_Coe_5_6 | float | 예 | 5/6 결합비 |
| Link | array | 예 | 링크 길이 설정, 로봇마다 다름 |
| Link[].a | float | 아니오 | DH 파라미터 a |
| Link[].d | float | 아니오 | DH 파라미터 d |
| Link[].theta | float | 아니오 | DH 파라미터 theta (5축 방향) |
| upsideDown | bool | 예 | 역장착 여부 |
DH 파라미터 조회
송신 명령 코드: 0x3A02 DHPARAMETER_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
반환 명령 코드: 0x3A03 DHPARAMETER_RESPOND
{
"CoupleCoe": {
"Couple_Coe_1_2": 0.0,
"Couple_Coe_2_3": 0.0,
"Couple_Coe_3_2": 0.0,
"Couple_Coe_3_4": 0.0,
"Couple_Coe_4_5": 0.0,
"Couple_Coe_4_6": 0.0,
"Couple_Coe_5_6": 0.0
},
"Link": [
{"a": 3.0, "alpha": 90.0, "d": 3.0, "theta": 0.0},
{"a": 3.0, "alpha": 0.0, "d": 0.0, "theta": 90.0},
{"a": 3.0, "alpha": 90.0, "d": 0.0, "theta": 0.0},
{"a": 0.0, "alpha": 90.0, "d": 3.0, "theta": 0.0},
{"a": 0.0, "alpha": -90.0, "d": 0.0, "theta": 90.0},
{"a": 0.0, "alpha": 0.0, "d": 3.0, "theta": 0.0}
],
"angleToDistance": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
"distanceToAngle": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
"robotType": 1,
"upsideDown": false
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| CoupleCoe | object | 결합비 파라미터 |
| Link | array | 링크 길이 DH 파라미터 |
| Link[].a | float | DH 파라미터 a |
| Link[].alpha | float | DH 파라미터 alpha |
| Link[].d | float | DH 파라미터 d |
| Link[].theta | float | DH 파라미터 theta |
| angleToDistance | array | 각도에서 거리 변환 계수 |
| distanceToAngle | array | 거리에서 각도 변환 계수 |
| robotType | int | 로봇 타입 |
| upsideDown | bool | 역장착 여부 |
관절 파라미터
관절 파라미터 설정
명령 코드: 0x3B01 JOINTPARAMETER_SET
{
"Joint": {
"AxisDirection": 1.0,
"AxisNum": 5,
"BackLash": 0.0,
"DeRatedVel": -36.0,
"Direction": 1.0,
"EncoderResolution": 17,
"MaxAcc": 1.0,
"MaxDeRotSpeed": -1.0,
"MaxDecel": -1.0,
"MaxJerkAcc": 1.0,
"MaxJerkDec": -1.0,
"MaxRotSpeed": 1.0,
"NegSWLimit": -1.0,
"PosSWLimit": 1.0,
"RatedDeRotSpeed": -6.0,
"RatedRotSpeed": 6.0,
"RatedVel": 36.0,
"ReducRatio": 1.0,
"reduce_ratio_enable": true
}
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| Joint.AxisDirection | float | 예 | 관절 실제 방향 |
| Joint.AxisNum | int | 예 | 관절 번호 (1은 J1) |
| Joint.BackLash | float | 예 | 기어 백래시 |
| Joint.DeRatedVel | float | 예 | 관절 정격 역속도 |
| Joint.Direction | float | 예 | 모델 방향 |
| Joint.EncoderResolution | int | 예 | 엔코더 비트 수 |
| Joint.MaxAcc | float | 예 | 최대 가속도 |
| Joint.MaxDeRotSpeed | float | 예 | 최대 역회전 속도 |
| Joint.MaxDecel | float | 예 | 관절 최대 감속도 |
| Joint.MaxJerkAcc | float | 예 | 최대 가가속도 |
| Joint.MaxJerkDec | float | 예 | 최대 감감속도 |
| Joint.MaxRotSpeed | float | 예 | 최대 정회전 속도 |
| Joint.NegSWLimit | float | 예 | 관절 역리미트 |
| Joint.PosSWLimit | float | 예 | 관절 정리미트 |
| Joint.RatedDeRotSpeed | float | 예 | 정격 역회전 속도 |
| Joint.RatedRotSpeed | float | 예 | 정격 정회전 속도 |
| Joint.RatedVel | float | 예 | 관절 정격 정속도 |
| Joint.ReducRatio | float | 예 | 감속비 |
| Joint.reduce_ratio_enable | bool | 예 | 엔코더가 감속기를 거치는지 여부 |
관절 파라미터 조회
송신 명령 코드: 0x3B02 JOINTPARAMETER_INQUIRE
{
"AxisNum": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| AxisNum | int | 예 | 관절 번호 (1은 J1) |
반환 명령 코드: 0x3B03 JOINTPARAMETER_RESPOND
0x3B01 설정 형식과 동일
데카르트 파라미터
데카르트 좌표 파라미터 설정
명령 코드: 0x3B04 DECAREPARAMETER_SET
{
"Decare": {
"MaxVel": 1000.0,
"MaxAcc": 3000.0,
"MaxDec": 3000.0,
"MaxJerk": 10000.0,
"MaxAttitudeVel": 1000.0,
"SpeedLimitMode": 0,
"MaxSpeed": 5000.0
}
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| Decare.MaxVel | float | 예 | 최대 속도, 범위: [1, 5000] mm/s |
| Decare.MaxAcc | float | 예 | 최대 가속도, 범위: [1, 15] 배 |
| Decare.MaxDec | float | 예 | 최대 감속도, 범위: [-15, -1] 배 |
| Decare.MaxJerk | float | 예 | 최대 가가속도 |
| Decare.MaxAttitudeVel | float | 예 | 자세 운동 최대 속도, 범위: [1, 1000] 도/s |
| Decare.SpeedLimitMode | int | 예 | 속도 제한 방식: 0-위치/자세, 1-위치 |
| Decare.MaxSpeed | float | 예 | 최대 속도 |
데카르트 좌표 파라미터 조회
송신 명령 코드: 0x3B05 DECAREPARAMETER_INQUIRE
data: 없음
반환 명령 코드: 0x3B06 DECAREPARAMETER_RESPOND
{
"Decare": {
"MaxAttitudeVel": 1000,
"MaxAcc": 3000,
"MaxDec": 3000,
"MaxJerk": 10000,
"MaxSpeed": 5000.0,
"SpeedLimitMode": 0
}
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| Decare.MaxAttitudeVel | float | 자세 운동 최대 속도 |
| Decare.MaxAcc | float | 최대 가속도 |
| Decare.MaxDec | float | 최대 감속도 |
| Decare.MaxJerk | float | 최대 가가속도 |
| Decare.MaxSpeed | float | 최대 속도 |
| Decare.SpeedLimitMode | int | 속도 제한 방식: 0-위치/자세, 1-위치 |
엔코더 다회전 값 오버플로우 카운팅 기능
엔코더 오버플로우 파라미터 설정
명령 코드: 0x3B07 ENCODE_OVERFLOW_PARM_SET
{
"robot": 1,
"robotAxis": [
{
"enable": 0,
"axisSlaveSum": 1,
"encode": [
{"max": "2147483647", "mix": "-2147483648"},
{"max": "2147483647", "mix": "-2147483648"}
]
},
{
"enable": 0,
"axisSlaveSum": 1,
"encode": [
{"max": "2147483647", "mix": "-2147483648"},
{"max": "2147483647", "mix": "-2147483648"}
]
},
{
"enable": 0,
"axisSlaveSum": 1,
"encode": [
{"max": "2147483647", "mix": "-2147483648"},
{"max": "2147483647", "mix": "-2147483648"}
]
}
]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| robotAxis | array | 예 | 로봇 축 설정 (외부축은 syncAxis 사용) |
| robotAxis[].enable | int | 예 | 활성화 플래그 |
| robotAxis[].axisSlaveSum | int | 예 | 종동축 수량 |
| robotAxis[].encode | array | 예 | 엔코더 설정 배열 |
| robotAxis[].encode[].max | string | 예 | 엔코더 최댓값 |
| robotAxis[].encode[].mix | string | 예 | 엔코더 최솟값 |
엔코더 오버플로우 파라미터 조회
송신 명령 코드: 0x3B08 ENCODE_OVERFLOW_PARM_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
반환 명령 코드: 0x3B09 ENCODE_OVERFLOW_PARM_RESPOND
data: 0x3B07과 동일
엔코더 영점 리셋
엔코더 영점 리셋
명령 코드: 0x3301 ENCODER_RESET
{
"axis": 0,
"clearEncoder": true
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| axis | int | 예 | 관절축 번호: '0'은 모든 축, '1'은 축 1, '2'는 축 2 |
| clearEncoder | bool | 예 | 다회전 값 삭제 여부 |
반환 명령 코드: 0x3303 ENCODER_RESET_RESPOND
{
"axis": 0,
"result": 1,
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| axis | int | 관절축 번호 |
| result | int | 작동 결과: 0-실패, 1-성공 |
| robot | int | 로봇 번호 |
엔코더 저전압 상태 조회
송신 명령 코드: 0x3305 ENCODER_UNDERVOL_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 (1-4) |
반환 명령 코드: 0x3306 ENCODER_UNDERVOL_RESPOND
{
"robot": 1,
"encoderUndervoltage": [false, true, false, true, false, true, false],
"encoderUndervoltageSync": [false, true, false, true, false]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 |
| encoderUndervoltage | array | 각 축 저전압 알람 상태, false-저전압 아님, true-저전압 |
| encoderUndervoltageSync | array | 외부축 저전압 알람 상태, false-저전압 아님, true-저전압 |
영점 오프셋
영점 오프셋 설정
명령 코드: 0x3307 ENCODER_ZERO_OFFSET_SET
{
"robot": 1,
"mode": 0,
"axis": 0,
"value": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| mode | int | 예 | 영점 오프셋 방식: 0-각도, 1-엔코더 값 |
| axis | int | 예 | 관절축 번호: '0'은 모든 축 |
| value | array | 예 | 영점 오프셋 값, 각 축의 각도/엔코더 값 대응, 범위: -360~360 |
단회전 값 설정
명령 코드: 0x3308 ENCODER_ZERO_SET
{
"robot": 1,
"value": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 (1-4) |
| value | array | 예 | 6개 관절 펄스 값, 단위: inc, 범위: 십진수 정수 |
단회전 값 조회
송신 명령 코드: 0x3309 ENCODER_ZERO_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 (1-4) |
반환 명령 코드: 0x330A ENCODER_ZERO_RESPOND
{
"robot": 1,
"value": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 |
| value | array | 관절 위치 각도 데이터, 축 수만큼 반환 |
티치 펜던트가 모터 엔코더 값 조회
모터 엔코더 값 조회
송신 명령 코드: 0x330B GET_ENCODER_VALUE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
반환 명령 코드: 0x330C RECEIVE_ENCODER_VALUE
{
"robot": 1,
"value": [0, 0, 0, 0, 0, 0, 0]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 |
| value | array | 모터 엔코더 값 |
사전 설정 로봇
사전 설정 로봇 설정
명령 코드: 0x3E01 PRESET_ROBOT_SET
사전 설정 파라미터 파일 ~/robot/preset/robot에 미리 가져오기, 예: R_SCARA_4ZSCARA.json
{
"name": "R_SCARA",
"presetRobotName": "4ZSCARA.json"
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| name | string | 예 | 로봇 이름 |
| presetRobotName | string | 예 | 사전 설정 로봇 파일명 |
사전 설정 로봇 조회
송신 명령 코드: 0x3E02 PRESET_ROBOT_INQUIRE
{
"name": "R_GENERAL_6S"
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| name | string | 예 | 로봇 이름 |
반환 명령 코드: 0x3E03 PRESET_ROBOT_RESPOND
{
"listnum": 2,
"nameList": ["lianjiang604", "", "yyyy"]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| listnum | int | 목록 수량 |
| nameList | array | 사전 설정 로봇 이름 목록 |
사전 설정 파라미터 조회
송신 명령 코드: 0x3E04 PRESET_ROBOTPARAMETER_INQUIRE
{
"name": "R_GENERAL_6S",
"presetRobotName": "XX"
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| name | string | 예 | 로봇 이름 |
| presetRobotName | string | 예 | 사전 설정 로봇 이름 |
반환 명령 코드: 0x3E05 PRESET_ROBOTPARAMETER_RESPOND
{
"Joint": [
{
"axisDirection": 1.0,
"axisNum": 1,
"backLash": 0.0,
"ratedReverseSpeed": -221.895679444570,
"direction": 1.0,
"encoderResolution": 17,
"maxAcc": 2.50,
"maxDeRotSpeed": -1.0,
"maxDec": -2.50,
"maxJerkAcc": 1.0,
"maxJerkDec": -1.0,
"maxRPM": 1.0,
"reverseLimit": -150.0,
"positiveLimit": 150.0,
"ratedReverseRPM": -3000.0,
"ratedRPM": 3000.0,
"ratedSpeed": 221.895679444570,
"reducRatio": 81.11920,
"maxReverseRPM": -1,
"isReduceRatioEnable": 1
}
],
"L1": 435.0,
"L2": 765.5220,
"L3": 4.3150,
"L4": 635.120,
"L5": 156.0,
"L6": -0.220,
"L7": -60.2670,
"L8": 0.0,
"couplingRatio12": 0.0,
"couplingRatio23": 0.0,
"couplingRatio32": 0.0,
"couplingRatio34": 0.0,
"couplingRatio45": 0.0,
"couplingRatio46": 0.0,
"couplingRatio56": 0.0,
"dynamicLimit": {
"max": 456.0,
"min": 0.0
},
"fiveAxisDirection": 0,
"mountAngle": 0,
"angleToDistance": [0, 1, 2, 3],
"distanceToAngle": [0, 1, 2, 3],
"angleToDistanceSync": [0, 1, 2, 3],
"distanceToAngleSync": [0, 1, 2, 3],
"pitch": 0.0,
"upsideDown": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| Joint | array | 관절 파라미터 배열 |
| Joint[].axisDirection | float | 관절 실제 방향 |
| Joint[].axisNum | int | 관절 번호 |
| Joint[].backLash | float | 기어 백래시 |
| Joint[].ratedReverseSpeed | float | 정격 역속도 |
| Joint[].direction | float | 모델 방향 |
| Joint[].encoderResolution | int | 엔코더 비트 수 |
| Joint[].maxAcc | float | 최대 가속도 |
| Joint[].maxDeRotSpeed | float | 정격 역속도 |
| Joint[].maxDec | float | 최대 감속도 |
| Joint[].maxJerkAcc | float | 최대 가가속도 |
| Joint[].maxJerkDec | float | 최대 감감속도 |
| Joint[].maxRPM | float | 최대 정회전 속도 |
| Joint[].reverseLimit | float | 역리미트 |
| Joint[].positiveLimit | float | 정리미트 |
| Joint[].ratedReverseRPM | float | 정격 역회전 속도 |
| Joint[].ratedRPM | float | 정격 정회전 속도 |
| Joint[].ratedSpeed | float | 정격 정속도 |
| Joint[].reducRatio | float | 감속비 |
| Joint[].maxReverseRPM | float | 최대 역회전 속도 |
| Joint[].isReduceRatioEnable | int | 엔코더가 감속기를 거치는지 여부 |
| L1-L8 | float | 링크 길이 파라미터 |
| couplingRatio* | float | 결합비 파라미터 |
| dynamicLimit | object | 동적 제한 파라미터 |
| fiveAxisDirection | int | 5축 방향 |
| mountAngle | int | 설치 각도 |
| angleToDistance | array | 각도에서 거리 변환 계수 |
| distanceToAngle | array | 거리에서 각도 변환 계수 |
| pitch | float | pitch 값 |
| upsideDown | int | 역장착 여부 |
간섭 영역
간섭 영역 범위 설정
명령 코드: 0x3F07 ROBOT_INTERFERRANGE_SET
{
"num": 1,
"param": {
"enable": false,
"isInInterfer": 1,
"maxX": "",
"maxY": "",
"maxZ": "",
"minX": "",
"minY": "",
"minZ": "",
"port": 0,
"value": 1,
"workType": 0
},
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| num | int | 예 | 공정 번호 |
| param.enable | bool | 예 | 간섭 영역 활성화 |
| param.isInInterfer | int | 예 | 간섭 영역 기능: 영역 내 / 영역 외 |
| param.maxX | string | 예 | 최대 X 좌표, 단위: mm |
| param.maxY | string | 예 | 최대 Y 좌표, 단위: mm |
| param.maxZ | string | 예 | 최대 Z 좌표, 단위: mm |
| param.minX | string | 예 | 최소 X 좌표, 단위: mm |
| param.minY | string | 예 | 최소 Y 좌표, 단위: mm |
| param.minZ | string | 예 | 최소 Z 좌표, 단위: mm |
| param.port | int | 예 | 출력 IO 포트 |
| param.value | int | 예 | 출력 IO 포트 값 |
| param.workType | int | 예 | 간섭 영역 기능: 상태 출력 / 동작 금지 |
간섭 영역 범위 조회
송신 명령 코드: 0x3F08 ROBOT_INTERFERRANGE_INQUIRE
{
"robot": 1,
"num": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| num | int | 예 | 공정 번호 |
반환 명령 코드: 0x3F09 ROBOT_INTERFERRANGE_RESPOND
data: 0x3F07과 동일
간섭 포인트 캘리브레이션
명령 코드: 0x3F0A ROBOT_INTERFERRANGE_CALIBRATION
{
"robot": 1,
"num": 1,
"pos": 1,
"calibrationState1": 1,
"calibrationState2": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| num | int | 예 | 공정 번호 |
| pos | int | 예 | 캘리브레이션 위치: P1 포인트-1, P2 포인트-2 |
| calibrationState1 | int | 예 | P1 포인트 캘리브레이션 상태: 1-캘리브레이션 완료, 0-캘리브레이션 미완료 |
| calibrationState2 | int | 예 | P2 포인트 캘리브레이션 상태 |
캘리브레이션 완료
명령 코드: 0x3F0B ROBOT_INTERFERRANGE_CALCULATE
{
"robot": 1,
"num": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| num | int | 예 | 공정 번호 |
캘리브레이션 포인트로 이동
명령 코드: 0x3F0C ROBOT_INTERFERRANGE_MOVE
{
"robot": 1,
"num": 1,
"pos": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| num | int | 예 | 공정 번호 |
| pos | int | 예 | 캘리브레이션 위치: P1 포인트-1, P2 포인트-2 |
추종 오차 (전류 구동)
추종 오차 조회
송신 명령 코드: 0x2A08 CURRENTTRACKINGERROR_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
반환 명령 코드: 0x2A09 CURRENTTRACKINGERROR_RESPOND
{
"trackingError": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"trackingErrorSync": [0.0, 0.0, 0.0, 0.0, 0.0],
"MaxTrackingError": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"MaxTrackingErrorSync": [0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| trackingError | array | 현재 오차 |
| trackingErrorSync | array | 현재 외부축 오차 |
| MaxTrackingError | array | 최대 오차 |
| MaxTrackingErrorSync | array | 최대 외부축 오차 |
| robot | int | 현재 로봇 |
부하율
모터 부하율 조회
송신 명령 코드: 0x2A0A MOTOR_LOAD_RATE_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
반환 명령 코드: 0x2A0B MOTOR_LOAD_RATE_RESPOND
{
"motorOverloadSync": [0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"motorOverload": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| motorOverloadSync | array | 외부축 부하율 |
| robot | int | 현재 로봇 |
| motorOverload | array | 로봇 부하율 |
위치 포인트 좌표계 변환
위치 포인트 좌표계 변환
명령 코드: 0x2A12 POS_TRANS_COORD
{
"robot": 1,
"name": "P001",
"pos": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
"targetCoord": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
| name | string | 예 | 변수명 |
| pos | array | 예 | 변환할 좌표, 총 14자리: 제1위치: 좌표계 (0-관절, 1-직각, 2-도구, 3-사용자) 제2위치: 단위 (0-라디안, 1-각도) 제3위치: 손 타입 (0-없음, 1-왼손, 2-오른손, 0~8 형태) 제4위치: 도구 좌표 번호 제5위치: 사용자 좌표 번호 제6-7위치: 예약 제8-14위치: J1~J7 / xyzabc |
| targetCoord | int | 예 | 목표 좌표계: 0-관절 좌표, 1-직각 좌표, 2-도구 좌표, 3-사용자 좌표 |
반환 명령 코드: 0x2A13 POS_TRANS_COORD_RESPOND
{
"name": "P001",
"pos": [1, 1, 0, 0, 0, 0, 0, 459.62120, -0.1010, 796.79160, 3.141592653590, 0.0, 0.0, 0.0],
"posDeg": [1, 1, 0, 0, 0, 0, 0, 459.62120, -0.1010, 796.79160, 180.0, 0.0, 0.0, 0.0],
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| name | string | 변수명 |
| pos | array | 변환된 라디안 좌표 값 |
| posDeg | array | 변환된 각도 값 |
| robot | int | 로봇 번호 |
추종 오차
추종 오차 설정
명령 코드: 0x2A14 TRACKINTERROR_SET
{
"staticTrackingError": [1, 2, 3, 4, 5, 6],
"dynamicTrackingError": [1, 2, 3, 4, 5, 6],
"staticTrackingErrorSync": [1, 2, 3],
"dynamicTrackingErrorSync": [1, 2, 3]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| staticTrackingError | array | 예 | 정적 추종 오차, 범위: 1~20000000 |
| dynamicTrackingError | array | 예 | 동적 추종 오차, 범위: 1~20000000 |
| staticTrackingErrorSync | array | 예 | 정적 추종 오차 외부축, 범위: 1~20000000 |
| dynamicTrackingErrorSync | array | 예 | 동적 추종 오차 외부축, 범위: 1~20000000 |
추종 오차 조회
송신 명령 코드: 0x2A15 TRACKINTERROR_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
반환 명령 코드: 0x2A16 TRACKINTERROR_RESPOND
{
"staticTrackingError": [1, 2, 3, 4, 5, 6],
"dynamicTrackingError": [1, 2, 3, 4, 5, 6],
"staticTrackingErrorSync": [1, 2, 3],
"dynamicTrackingErrorSync": [1, 2, 3]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| staticTrackingError | array | 정적 추종 오차 |
| dynamicTrackingError | array | 동적 추종 오차 |
| staticTrackingErrorSync | array | 정적 추종 오차 외부축 |
| dynamicTrackingErrorSync | array | 동적 추종 오차 외부축 |
모터 과부하 보호
모터 과부하 보호 설정
명령 코드: 0x2A17 SET_TORQ_LIMIT
{
"robot_num": 1,
"torq_limit_enable": false,
"torq_limit_min_ensure_time": 10,
"torq_limit_robot": [25, 26, 27, 28, 29, 80],
"torq_limit_sync": [70]
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot_num | int | 예 | 로봇 번호 |
| torq_limit_enable | bool | 예 | 활성화 스위치: true-활성화, false-비활성화 |
| torq_limit_min_ensure_time | int | 예 | 과부하 보호 최소 확정 시간 |
| torq_limit_robot | array | 예 | 각 관절의 토크 제한 값 |
| torq_limit_sync | array | 예 | 외부축 토크 제한 값 |
모터 과부하 보호 조회
송신 명령 코드: 0x2A18 INQUIRE_TORQ_LIMIT
{
"robot_num": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot_num | int | 예 | 로봇 번호 (1-4) |
반환 명령 코드: 0x2A19 RESPOND_TORQ_LIMIT
{
"robot_num": 1,
"torq_limit_enable": false,
"torq_limit_robot": [10, 20, 30],
"torq_limit_sync": [10, 20, 30]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot_num | int | 로봇 번호 |
| torq_limit_enable | bool | 활성화 상태 |
| torq_limit_robot | array | 모터 토크 과부하 값, 초기값 9999는 수정 필요 |
| torq_limit_sync | array | 모터 토크 과부하 값 외부축 |
축 속도
축 속도 조회
송신 명령 코드: 0x2A22 AXISACTUALVEL_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 (1-4) |
반환 명령 코드: 0x2A23 AXISACTUALVEL_RESPOND
{
"robot": 1,
"actualLineVel": 0.0,
"maxActualLineVel": 0.0,
"axisActualVel": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0],
"maxAxisActualVel": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0],
"axisActualVelSync": [1.0, 2.0, 3.0, 4.0, 5.0],
"maxAxisActualVelSync": [1.0, 2.0, 3.0, 4.0, 5.0]
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 |
| actualLineVel | float | 엔드 이펙터 선속도 현재 속도 |
| maxActualLineVel | float | 엔드 이펙터 선속도 최대 속도 |
| axisActualVel | array | 1-7축 현재 축 속도 |
| maxAxisActualVel | array | 1-7축 최대 축 속도 |
| axisActualVelSync | array | 외부축 현재 축 속도 |
| maxAxisActualVelSync | array | 외부축 최대 축 속도 |
속도 모드 상태 설정 및 조회
속도 설정
명령 코드: 0x2601 SPEED_SET
{
"robot": 1,
"speed": 5
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호, 값 범위: [1, 4] |
| speed | int | 예 | 속도 값, 동작 모드 속도 범위: 1-100 |
속도 조회
송신 명령 코드: 0x2602 SPEED_INQUIRE
{
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| robot | int | 예 | 로봇 번호 |
설명: 속도 값 101은 0.1° 미세 모션 단, 102는 0.01° 미세 모션 단을 나타냅니다. 0x2101과 함께 사용하여 동작 모드로 전환하여 전체 속도 조정 가능.
반환 명령 코드: 0x2603 SPEED_RESPOND
{
"robot": 1,
"speed": 5
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| robot | int | 로봇 번호 |
| speed | int | 현재 속도 값 |
로봇 전환
로봇 전환
명령 코드: 0x5001 ROBOT_SWITCH
{
"mode": 0,
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| mode | int | 예 | 모드: 0-단일 로봇 모드, 1-다중 로봇 모드 |
| robot | int | 예 | 로봇 번호 |
현재 로봇 조회
송신 명령 코드: 0x5002 ROBOT_INQUIRE
data: 없음
반환 명령 코드: 0x5003 ROBOT_RESPOND
{
"mode": 0,
"robot": 1
}파라미터 설명:
| 파라미터명 | 타입 | 설명 |
|---|---|---|
| mode | int | 모드: 0-단일 로봇 모드, 1-다중 로봇 모드 |
| robot | int | 현재 로봇 번호 |
조그 모드 상태 설정 및 조회
조그 시작
명령 코드: 0x2901 JOG_OPERATION_MOVE
{
"axis": 1,
"direction": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| axis | int | 예 | 작동할 축 번호, 외부축은 8부터 시작 |
| direction | int | 예 | 방향: 1-정방향, -1-역방향 |
axis 축 번호 설명:
| 현재 좌표계 | axis=1 | axis=2 | axis=3 | axis=4 | axis=5 | axis=6 | axis=7 |
|---|---|---|---|---|---|---|---|
| 직각 좌표계 | X축 | Y축 | Z축 | A축 | B축 | C축 | psi축 |
| 도구 좌표계 | TX축 | TY축 | TZ축 | TA축 | TB축 | TC축 | psi축 |
| 사용자 좌표계 | UX축 | UY축 | UZ축 | UA축 | UB축 | UC축 | psi축 |
조그 정지
명령 코드: 0x2902 JOG_OPERATION_STOP
{
"axis": 1
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| axis | int | 예 | 작동할 축 번호, 외부축은 8부터 시작 |
티치 펜던트 각도 진폭 설정
각도 진폭 설정
명령 코드: 0x50A4 ISDEG_PARAM_SET
{
"isDeg": false
}파라미터 설명:
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| isDeg | bool | 예 | 단위: false-라디안, true-각도 |
원 중심 마킹 (미공개, 정의 중)
명령 코드: 0x8160 SIGN_WINE_CIRCLE_CENTER
{}설명: 이 기능은 현재 미공개 상태이며, 정의 중입니다.