명령어 리스트
IndyDCP를 통해 사용할 수 있는 명령어들은 아래 표에 요약되어 있습니다.
- Command ID: 전용통신 프레임에서 명령어 (Command)에 할당되는 4-byte 정수 값
- 명령어 (Command): 해당 명령어의 이름
- 명령어 내용: 해당 명령어에 대한 간략한 설명. 명령어는 로봇 설정, 로봇 제어, 로봇 데이터 요청으로 분류 될 수 있음
- 요청/응답 데이터 크기: 해당 명령어의 요청에 따라 요구되는 데이터의 크기와 응답 시 얻게되는 데이터의 크기를 나타냄. 0006번과 같이 문자열 데이터인 경우에만 크기가 가변이며, 나머지 경우는 크기가 정해져 있음
참고
- DOF는 로봇의 자유도 (Degree-of-Freedom)를 나타내며 Indy7은 6축 로봇이기 때문에 DOF=6 이며, IndyRP2는 7축 로봇이기 때문에 DOF=7 이다.
- 예를들어 Indy7 이용시 명령어 0009번의 요청 데이터 크기는 6*8=48 이다.
- Boolean은 1-byte, 정수는 4-byte, 실수는 8-byte 이다.
Command ID | 명령어 (Command) |
명령어 내용 (로봇 설정 / 로봇 제어 / 로봇 데이터 요청 등) |
요청 Data 크기 | 응답 Data 크기 |
---|---|---|---|---|
0000 | Check Command | 명령 없이 요청/응답만 주고받기 | 0 | 0 |
0001 | Emergency Stop | 로봇 비상정지 (명령 수신 즉시 중지) | 0 | 0 |
0002 | Reset Robot | 로봇 리셋 | 0 | 0 |
0003 | Set Servo On/Off | 로봇 각 Joint의 Servo Motor On / Off | DOF*1 | 0 |
0004 | Set Brake On/Off | 로봇 각 Joint의 Servo Brake On / Off | DOF*1 | 0 |
0005 | Stop | 로봇 모션 중지 (움직이고 있는 경우 로봇 정지함) | 0 | 0 |
0006 | Execute Move Command |
Conty를 통해 티칭된 Move Command 실행 | 가변 | 0 |
0007 | Move To Home | 홈 포지션으로 이동 | 0 | 0 |
0008 | Move To Zero | 제로 포지션으로 이동 | 0 | 0 |
0009 | Joint Move To | 로봇을 특정 Joint 좌표로 이동 (절대값) | DOF*8 | 0 |
0010 | Joint Move By | 로봇을 현재 Joint 좌표로부터 이동 (상대값) | DOF*8 | 0 |
0011 | Task Move To | 로봇을 특정 Task 좌표로 이동 (절대값) | 48 | 0 |
0012 | Task Move By | 로봇을 현재 Task 좌표로부터 이동 (상대값) | 48 | 0 |
0014 | Start Current Program |
현재 로드되어있는 프로그램 실행 | 0 | 0 |
0015 | Pause Current Program |
현재 실행중인 프로그램 일시정지 | 0 | 0 |
0016 | Resume Current Program | 현재 일시정지된 프로그램 재개 | 0 | 0 |
0017 | Stop Current Program | 현재 프로그램 중지 | 0 | 0 |
0018 | Start Registered Default Program |
현재 등록된 기본 콘티 프로그램 실행 | 0 | 0 |
0019 | Register Default Program #Num | 1~10번 기본 프로그램 등록 | 4 | 0 |
0020 | Get Registered Default Program #Num |
현재 등록된 기본 프로그램 번호 요청 | 0 | 4 |
0030 | Is Robot Running | 로봇이 실행중인 상태 | 0 | 1 |
0031 | Is Robot Ready | 로봇이 제어 가능한 상태 (모든 Servo On 및 초기화 완료) |
0 | 1 |
0032 | Is Emergency Stopped | 로봇 비상정지 상태 | 0 | 1 |
0033 | Is Collided | 로봇 충돌 상태 | 0 | 1 |
0034 | Is Error State | 로봇 에러 상태 | 0 | 1 |
0036 | Is Move Finished | 로봇의 모션이 끝난 상태 | 0 | 1 |
0035 | Is Busy | 로봇이 움직이고 있는 상태 (모션 중) | 0 | 1 |
0037 | Is Home | 로봇이 홈 포지션인 상태 | 0 | 1 |
0038 | Is Zero | 로봇이 제로 포지션인 상태 | 0 | 1 |
0039 | Is In Resetting | 로봇이 리셋중인 상태 | 0 | 1 |
0060 | Is Direct Teaching Mode | 직접교시 모드 상태 | 0 | 1 |
0061 | Is Teaching Mode | 로봇 교시 모드 상태 (직접교시, Jogging 등) | 0 | 1 |
0062 | Is Program Running | 로봇 프로그램이 실행 상태 (실행중,일시정지중 포함) | 0 | 1 |
0063 | Is Program Paused | 로봇 프로그램이 일시정지 상태 | 0 | 1 |
0064 | Is Conty Connected | 콘티 연결 상태 | 0 | 1 |
0080 | Change To Direct Teaching Mode | 로봇 직접교시 모드 진입 | 0 | 0 |
0081 | Finish Direct Teaching Mode | 로봇 직접교시 모드 종료 | 0 | 0 |
0090 | Add Joint Waypoint to the End of Set | JointMove Waypoint Set 맨 뒤에 Waypoint 추가 | DOF*8 | 0 |
0091 | Remove Last Joint Waypoint from the Set | JointMove Waypoint Set 맨 뒤의 Waypoint 삭제 | 0 | 0 |
0092 | Clear Joint Waypoint Set | JointMove Waypoint Set 초기화 | 0 | 0 |
0094 | Execute Joint Waypoint Set | JointMove Waypoint Set를 JointMove로서 실행 | 0 | 0 |
0095 | Add Task Waypoint to the End of Set | TaskMove Waypoint Set 맨 뒤에 Waypoint 추가 | 48 | 0 |
0096 | Remove Last Task Waypoint from the Set | TaskMove Waypoint Set 맨 뒤의 Waypoint 삭제 | 0 | 0 |
0097 | Clear Task Waypoint Set | TaskMove Waypoint Set 초기화 | 0 | 0 |
0099 | Execute Task Waypoint Set | TaskMove Waypoint Set를 TaskMove로서 실행 | 0 | 0 |
0100 | Set Default TCP | 기본 TCP값 설정 (보정값 리셋됨) |
48 | 0 |
0101 | Reset Default TCP | 기본 TCP값 리셋 (보정값 리셋됨) |
0 | 0 |
0102 | Set TCP Comp. | TCP 보정값 설정 | 48 | 0 |
0103 | Reset TCP Comp. | TCP 보정값 리셋 | 0 | 0 |
0104 | Set Reference Frame | - | 48 | 0 |
0105 | Reset Referene Frame | Reference Frmae 값 리셋 | 0 | 0 |
0106 | Set Collision Level | 충돌 감지 레벨 설정 (1~5) | 4 | 0 |
0107 | Set Joint Boundary Level | JointMove 기본 속도/가속도 한계 레벨 설정 (1~9) | 4 | 0 |
0108 | Set Task Boundary Level | TaskMove 기본 속도/가속도 한계 레벨 설정 (1~9) | 4 | 0 |
0109 | Set Joint Blending Radius Level | JointMove 기본 블렌딩 레벨 설정 | 4 | 0 |
0110 | Set Task Blending Radius Level | TaskMove 기본 블렌딩 레벨 설정 | 4 | 0 |
0111 | Set Joint Waypoint Time | JointMove 기본 웨이포인트 시간 설정 (시간 base Move에만 적용됨) |
8 | 0 |
0112 | Set Task Waypoint Time | TaskMvoe 기본 웨이포인트 시간 설정 (시간 base Move에만 적용됨) |
8 | 0 |
0113 | Set TaskMove Base Mode | TaskMove 제어의 기준 축 설정 (0: 레퍼런스 바디, 1: ToolTip 끝점) |
4 | 0 |
0116 | Set Joint Blending Radius | JointMove 기본 블렌딩 값 설정 | 8 | 0 |
0117 | Set Task Blending Radius | TaskMove 기본 블렌딩 값 설정 | 8 | 0 |
0200 | Get Default TCP | 기본 TCP값 요청 | 0 | 48 |
0201 | Get TCP Comp. | TCP 보정값 요청 | 0 | 48 |
0202 | Get Reference Frame | Reference Frame 값 요청 | 0 | 48 |
0203 | Get Collision Level | 충돌 감지 레벨값 요청 | 0 | 4 |
0204 | Get Joint Boundary Level | JointMove 기본 속도/가속도 한계 레벨값 요청 | 0 | 4 |
0205 | Get Task Boundary Level | TaskMove 기본 속도/가속도 한계 레벨값 요청 | 0 | 4 |
0206 | Get Joint Blending Radius Level | JointMove 기본 블렌딩 레벨값 요청 | 0 | 4 |
0207 | Get Task Blending Radius Level | TaskMove 기본 블렌딩 레벨값 요청 | 0 | 4 |
0208 | Get Joint Waypoint Time | JointMove 기본 웨이포인트 시간 요청 | 0 | 8 |
0209 | Get Task Waypoint Time | TaskMvoe 기본 웨이포인트 시간 요청 | 0 | 8 |
0210 | Get TaskMove Base Mode | TaskMove 제어 기준 축 요청 | 0 | 4 |
0213 | Get Joint Blending Radius | JointMove 기본 블렌딩 값 요청 | 0 | 8 |
0214 | Get Task Blending Radius | TaskMove 기본 블렌딩 값 요청 | 0 | 8 |
0300 | Get Running Time | 로봇 초기화 이후 총 실행시간 요청 | 0 | 8 |
0302 | Get Joint Servo State | 로봇 각 Joint 축의 Servo, Brake 상태 요청 | 0 | DOF*2 |
0301 | Get Control Mode | 현재 로봇의 제어 모드 요청 | 0 | 4 |
0320 | Get Joint Position | 현재 로봇의 Joint 각도 위치 요청 | 0 | DOF*8 |
0321 | Get Joint Velocity | 현재 로봇의 Joint 각속도 요청 | 0 | DOF*8 |
0322 | Get Task Position | 현재 로봇의 Task 위치 요청 | 0 | 48 |
0323 | Get Task Velocity | 현재 로봇의 Task 속도 요청 | 0 | 48 |
0324 | Get Torque | 현재 로봇의 토크 요청 | 0 | DOF*8 |
0325 | Get Inverse Kinematics | 역기구학 계산 및 결과 요청 | DOF*2*8 | DOF*8 |
0380 | Get Last Emergency Info | 가장 최근의 로봇의 Emergency 상태 정보 요청 | 0 | 40 |
0400 | Get Smart Digital Input | SmartDI값 하나 읽기 | 4 | 1 |
0401 | Get Smart Digital Inputs | SmatDI값 전부 읽기 | 0 | 32 |
0402 | Set Smart Digital Output | SmartDO값 하나 쓰기 | 5 | 0 |
0403 | Set Smart Digital Outputs | SmartDO값 전부 쓰기 | 32 | 0 |
0404 | Get Smart Analog Input | SmartAI값 하나 읽기 | 4 | 4 |
0405 | Set Smart Analog Output | SmartAO값 하나 쓰기 | 8 | 0 |
0406 | Get Smart Digital Output | SmartDO값 하나 읽기 | 4 | 1 |
0407 | Get Smart Digital Outputs | SmatDO값 전부 읽기 | 0 | 32 |
0420 | Get Robot CAN FTSensor (R) | Robot의 CAN포트에 연결된 FTSensor Raw 데이터값 수신 | 0 | 24 |
0421 | Get Robot CAN FTSensor (T) | Robot의 CAN포트에 연결된 FTSensor의 처리된 데이터값 수신 | 0 | 48 |
0422 | Get CB CAN FTSensor (R) | CB의 CAN포트에 연결된 FTSensor Raw 데이터값 수신 | 0 | 24 |
0423 | Get CB CAN FTSensor (T) | CB의 CAN포트에 연결된 FTSensor의 처리된 데이터값 수신 | 0 | 48 |
0460 | Read Direct Variable | 단일 직접변수 값 읽기 | 8 | 가변 |
0461 | Read Direct Variables | 연속된 직접변수 값 읽기 (최대 20개) | 12 | 가변 |
0462 | Write Direct Variable | 단일 직접변수 값 쓰기 | 8+가변 | 0 |
0463 | Write Direct Variables | 연속 직접변수 값 쓰기 (최대 20개) | 12+가변 | 0 |
0800 | ExtendedIndyDCP | 확장된 IndyDCP 사용 | 8 | 8 |
0801 | StreamingIndyDCP | 스트리밍 방식의 IndyDCP 시작 명령 | - | - |