Skip to content

큐 모드 모션 통신

1. socket 제어 추가 모션

1.1 socket 직접 제어 모션 모드 활성화/비활성화

활성화하면 특수한 동작 모드로 진입하며, 비활성화 후에는 수동으로 티치 모드로 전환해야 합니다.

메시지 ID: 0x50B1 DIRECTMOTION_MODE_SET

요청 파라미터

파라미터명타입필수설명
robotnumber로봇 번호 (1, 2, 3, 4)
openbooleantrue=활성화, false=비활성화

요청 예시

json
{
    "robot": 1,
    "open": true
}

1.2 컨트롤러가 활성화 성공/실패를 반환

메시지 ID: 0x50B3 DIRECTMOTION_MODE_RESPOND

응답 파라미터

파라미터명타입설명
robotnumber로봇 번호
openboolean현재 상태

응답 예시

json
{
    "robot": 1,
    "open": true
}

1.3 작업 파일 명령 큐 송신

메시지 ID: 0x50B4 DIRECTMOTION_INSERT_INSTRVEC

요청 파라미터

파라미터명타입필수설명
robotnumber로봇 번호
dataarray명령 json 리스트

data 배열 요소 파라미터

파라미터명타입필수설명
typenumber명령 타입: 1=포인트 투 포인트, 2=직선, 3=원호, 4=정원
positionIdstring조건부글로벌 포인트 (전역 GP 포인트 사용 시 필수)
RobotPosobject조건부사용자 정의 포인트 (자동 포인트 사용 시 필수)
ParaACCobject가속도 파라미터
ParaDECobject감속도 파라미터
ParaVobject속도 파라미터
ParaPLobject평활 파라미터
ParaTIMEobject사전 실행 시간(ms)
ParaSPINobject아니오원호 및 정원 명령: 0=자세 불변, 1=6축 비회전, 2=6축 회전
ParaSYNCobject아니오포지셔너 동기화 여부
imovecoordstring아니오이동 좌표계
ctypenumber아니오좌표계 타입
lengthnumber아니오길이
radiusnumber아니오반경
marginnumber아니오경계
offsetAxisnumber아니오축 오프셋
polishnumber아니오연마 파라미터
polishAnglenumber아니오연마 각도
polishIDnumber아니오연마 ID
posidnamestring아니오포인트명
posidtypenumber아니오포인트 타입
logoutboolean아니오로그아웃
paranumber아니오예약 파라미터
sidenumber아니오측면
userParamIntnumber아니오사용자 정의 정수
userParamStringstring아니오사용자 정의 문자열
widthnumber아니오너비

ParaACC / ParaDEC / ParaV / ParaPL / ParaTIME / ParaSPIN / ParaSYNC 파라미터 구조

파라미터명타입필수설명
datanumber파라미터 값
m_vUnitnumber조건부속도 단위 (ParaV 사용 시 필수): 0=cm/s, 1=mm/s, 2=비율
secondvaluenumber아니오두 번째 값
valuenumber아니오구버전 파라미터 값
varnamestring아니오변수명

RobotPos 파라미터 구조

파라미터명타입필수설명
ctypenumber좌표계 타입: 0-관절, 1-직각, 2-도구, 3-사용자
dataarray위치 데이터 배열
keystring아니오키명
paraVarDataarray아니오파라미터 변수 데이터

data 배열 좌표 설명 (ctype가 좌표계 결정)

인덱스명칭설명
0좌표계0-관절, 1-직각, 2-도구, 3-사용자
1단위각도-0, 라디안-1
2형태형태 값
3도구 공정 번호도구 번호
4사용자 공정 번호사용자 번호
5-6예약예약 필드
7J1/XX 좌표값
8J2/YY 좌표값
9J3J3 값
10J4J4 값
11J5J5 값
12J6J6 값
13J7J7 값
14-19사전 설정 값사전 설정 위치 데이터

1.4 사례 1: 전역 GP 포인트 사용

json
{
    "data": [
        {
            "ParaACC": {
                "data": 25.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaDEC": {
                "data": 25.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaPL": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaSPIN": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaSYNC": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaTIME": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaV": {
                "data": 25.0,
                "m_vUnit": 2,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ctype": 0,
            "imovecoord": "UF",
            "length": 0.0,
            "logout": false,
            "margin": 0.0,
            "offsetAxis": 0,
            "para": 0,
            "polish": 0,
            "polishAngle": 0.0,
            "polishID": 1,
            "posidname": "",
            "posidtype": 0,
            "positionId": "GP0015",
            "radius": 0.0,
            "side": 0.0,
            "type": 1,
            "userParamInt": 0,
            "userParamString": "",
            "width": 0.0
        },
        {
            "ParaACC": {
                "data": 100.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaDEC": {
                "data": 100.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaPL": {
                "data": 5.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaSPIN": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaSYNC": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaTIME": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaV": {
                "data": 1000.0,
                "m_vUnit": 1,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ctype": 0,
            "imovecoord": "UF",
            "length": 0.0,
            "logout": false,
            "margin": 0.0,
            "offsetAxis": 0,
            "para": 0,
            "polish": 0,
            "polishAngle": 0.0,
            "polishID": 1,
            "posidname": "",
            "posidtype": 0,
            "positionId": "GP0001",
            "radius": 0.0,
            "side": 0.0,
            "type": 2,
            "userParamInt": 0,
            "userParamString": "",
            "width": 0.0
        }
    ],
    "robot": 1
}

1.5 사례 2: 자동 포인트 사용

json
{
    "data": [
        {
            "ParaACC": {
                "data": 10.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaDEC": {
                "data": 10.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaPL": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaSPIN": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaSYNC": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaTIME": {
                "data": 0.0,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "ParaV": {
                "data": 10.0,
                "m_vUnit": 2,
                "secondvalue": 0,
                "value": 0,
                "varname": ""
            },
            "RobotPos": {
                "ctype": 1,
                "data": [
                    0.0,
                    0.0,
                    8.0,
                    0.0,
                    0.0,
                    0.0,
                    0.0,
                    0.999998884198,
                    1.999999207078,
                    2.999999330055,
                    3.999999217981,
                    4.999999652293,
                    5.999998732478,
                    0.0,
                    0.0,
                    0.0,
                    0.0,
                    0.0,
                    0.0,
                    0.0
                ],
                "key": "",
                "paraVarData": [
                    { "data": 0.0, "secondvalue": 0, "value": 0, "varname": "" },
                    { "data": 0.0, "secondvalue": 0, "value": 0, "varname": "" },
                    { "data": 8.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.999998884198, "secondvalue": 0, "value": 0, "varname": "" },
                    { "data": 1.999999207078, "secondvalue": 0, "value": 0, "varname": "" },
                    { "data": 2.999999330055, "secondvalue": 0, "value": 0, "varname": "" },
                    { "data": 3.999999217981, "secondvalue": 0, "value": 0, "varname": "" },
                    { "data": 4.999999652293, "secondvalue": 0, "value": 0, "varname": "" },
                    { "data": 5.999998732478, "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": "" }
                ]
            },
            "ctype": 0,
            "imovecoord": "UF",
            "length": 0.0,
            "logout": false,
            "margin": 0.0,
            "offsetAxis": 0,
            "para": 0,
            "polish": 0,
            "polishAngle": 0.0,
            "polishID": 1,
            "posidname": "",
            "posidtype": 0,
            "positionId": "",
            "radius": 0.0,
            "side": 0.0,
            "type": 1,
            "userParamInt": 0,
            "userParamString": "",
            "width": 0.0
        }
    ],
    "robot": 1
}

1.6 추가 실행 일시정지

메시지 ID: 0x50B7 DIRECTMOTION_MODE_SUSPEND

요청 파라미터

파라미터명타입필수설명
robotnumber로봇 번호 (1, 2, 3, 4)

요청 예시

json
{
    "robot": 1
}

1.7 추가 실행 시작 (일시정지 후 사용)

메시지 ID: 0x50B8 DIRECTMOTION_MODE_START

요청 파라미터

파라미터명타입필수설명
robotnumber로봇 번호 (1, 2, 3, 4)

요청 예시

json
{
    "robot": 1
}

1.8 추가 실행 정지

메시지 ID: 0x50B9 DIRECTMOTION_MODE_STOP

요청 파라미터

파라미터명타입필수설명
robotnumber로봇 번호 (1, 2, 3, 4)

요청 예시

json
{
    "robot": 1
}

1.9 큐 모드 정지 시 전원 미차단 설정

메시지 ID: 0x50BA

요청 파라미터

파라미터명타입필수설명
robotnumber로봇 번호 (1, 2, 3, 4)

요청 예시

json
{
    "robot": 1
}