Skip to content

로봇 모션

로봇 동작 상태의 조회 및 응답

티치 펜던트가 로봇의 동작 상태를 조회

명령 코드: 0x2304

요청 파라미터:

파라미터명타입필수설명
robotint로봇 선택, 값 범위 [1, 4]
jobfilenamestring작업 파일명 (확장자 제외)
suffixstring파일 확장자: .JBR 메인 프로그램 / .JBP 백그라운드 로컬 프로그램 / .JBPG 백그라운드 글로벌 프로그램

요청 예시:

json
{
  "robot": 1,
  "jobfilename": "AAA",
  "suffix": ".JBR"
}

컨트롤러가 로봇 동작 상태를 응답

명령 코드: 0x9103

응답 파라미터:

파라미터명타입설명
robotint로봇 번호, 값 범위 [1, 4]
statusint동작 상태: 0-정지, 1-일시정지, 2-실행
continueRunint브레이크포인트 실행 존재 여부: 0/1
currentRunbool현재 라인 실행 존재 여부: false/true
mainProgramRunint메인 프로그램 실행 여부: 0/1

응답 예시:

json
{
  "robot": 1,
  "status": 0,
  "continueRun": 0,
  "currentRun": false,
  "mainProgramRun": 0
}

로봇 모션 제어

로봇 관절 모션 MOVJ

명령 코드: 0x4501

요청 파라미터:

파라미터명타입필수설명
robotint로봇 선택, 값 범위 [1, 4]
velint속도 비율, 값 범위 [1, 100]
coordint좌표계: 0-관절 좌표, 1-직각 좌표, 2-사용자 좌표, 3-도구 좌표
posdouble[7]목표 위치, 앞 7자리는 로봇 본체 목표 위치, 뒤 5자리는 외부축 목표 위치

요청 예시:

json
{
  "robot": 1,
  "vel": 5,
  "coord": 0,
  "pos": [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7]
}

로봇 직선 모션 MOVL

명령 코드: 0x4502

요청 파라미터:

파라미터명타입필수설명
robotint로봇 선택, 값 범위 [1, 4]
velint속도 mm/s, 값 범위 [1, 1000]
coordint좌표계: 0-관절 좌표, 1-직각 좌표, 2-사용자 좌표, 3-도구 좌표
posdouble[7]목표 위치, 앞 7자리는 로봇 본체 목표 위치, 뒤 5자리는 외부축 목표 위치

요청 예시:

json
{
  "robot": 1,
  "vel": 5,
  "coord": 0,
  "pos": [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7]
}

로봇 원호 모션 MOVC

명령 코드: 0x4503

요청 파라미터:

파라미터명타입필수설명
robotint로봇 선택, 값 범위 [1, 4]
velint속도 mm/s, 값 범위 [1, 1000]
coordint좌표계: 0-관절 좌표, 1-직각 좌표, 2-사용자 좌표, 3-도구 좌표
isFullboolfalse-MOVC, true-MOVCA
posOnedouble[7]원호 시작점, 로봇 본체 포인트
posTwodouble[7]원호의 중간 경유점, 로봇 본체 포인트
posThreedouble[7]원호의 목표점, 로봇 본체 포인트

요청 예시:

json
{
  "robot": 1,
  "vel": 5,
  "coord": 0,
  "isFull": false,
  "posOne": [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7],
  "posTwo": [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7],
  "posThree": [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7]
}

로봇 스플라인 곡선 모션 MOVS

명령 코드: 0x4504

요청 파라미터:

파라미터명타입필수설명
robotint로봇 선택, 값 범위 [1, 4]
velint속도 mm/s, 값 범위 [1, 1000]
coordint좌표계: 0-관절 좌표, 1-직각 좌표, 2-사용자 좌표, 3-도구 좌표
sizeint스플라인 곡선의 포인트 수, 최소 4개 포인트 필요
posdouble[][7]스플라인 곡선의 궤적 포인트, 2차원 배열

요청 예시:

json
{
  "robot": 1,
  "vel": 5,
  "coord": 0,
  "size": 4,
  "pos": [
    [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7],
    [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7],
    [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7],
    [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7]
  ]
}

목표 포인트로 이동

목표 포인트로 이동

명령 코드: 0x3003 GO_POSITION

요청 파라미터:

파라미터명타입필수설명
robotint로봇 번호
positionNamestring목표 포인트명: SetPosition_EntrancePoint/SetPosition_AuxiliaryPoint/SetPosition_JobPoint
RobotPosobject로봇 위치 객체

RobotPos 내부 파라미터:

파라미터명타입설명
ctypeint타입: NONE_TYPE=0/P_TYPE/E_TYPE/RP_TYPE/AP_TYPE/GP_TYPE/GE_TYPE
datadouble[21]위치 데이터 배열, 자세한 내용은 아래 설명 참조
keystring변수 타입
paraVarDataarray변수 배열

data 배열 설명:

인덱스 위치설명
제1, 2위치좌표 타입: 0,0-관절 좌표; 1,1-직각 좌표; 2,1-도구 좌표; 3,1-사용자 좌표
제3위치좌우수: 1-왼손, 2-오른손, 0-좌우수 없음 (기본값 0)
제4, 5, 6, 7위치예비, 기본값 0
제8-14위치로봇 본체 좌표값 (7자리): 관절 좌표에서는 1-6축 각도값, 다른 좌표에서는 x,y,z,a,b,c
제15-19위치외부축 좌표값 (최대 5개 외부축, 부족분은 0으로 채움)

요청 예시:

json
{
  "robot": 1,
  "positionName": "SetPosition_JobPoint",
  "RobotPos": {
    "ctype": 0,
    "key": "",
    "data": [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 6.0, 3.141590, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
    "paraVarData": [
      {"data": 1.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 1.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 6.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 6.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 3.141590, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""}
    ]
  }
}

설명: 프로그램에 해당 명령이 없음

작업 파일 포인트로 이동

명령 코드: 0x3005 GO_JOBFILEPOSITION

요청 파라미터:

파라미터명타입필수설명
robotint로봇 번호
jobNamestring작업 파일명
suffixnamestring작업 파일 확장자 (예: .JBR)
posNamestring포인트명

요청 예시:

json
{
  "robot": 1,
  "jobName": "Q1",
  "suffixname": ".JBR",
  "posName": "P001"
}

사용자 좌표 캘리브레이션 포인트로 이동

명령 코드: 0x3006 GO_USERCALIBRATIONPOS

요청 파라미터:

파라미터명타입필수설명
robotint로봇 번호
userNumint사용자 번호
posTypeint포인트 타입: 0-원점, 1-X값, 2-Y값

요청 예시:

json
{
  "robot": 1,
  "userNum": 1,
  "posType": 0
}

복귀점으로 이동

명령 코드: 0x3007 GO_RESET_POSITION

요청 파라미터:

파라미터명타입필수설명
robotint로봇 번호

요청 예시:

json
{
  "robot": 1
}

원점 복귀 명령

원점 복귀 명령

명령 코드: 0x3002 GO_HOME

요청 파라미터:

파라미터명타입필수설명
robotint로봇 번호 (1-4)
typeint원점 복귀 타입: 0-로봇 원점 복귀, 1-외부축 원점 복귀

요청 예시:

json
{
  "robot": 1,
  "type": 1
}