Skip to content

Queue Mode Motion Communication ​

1. Socket Control Append Mode Motion ​

1.1 Enable/Disable Socket Direct Control Motion Mode ​

When enabled, it enters a special run mode. After disabling, you need to manually switch back to teach mode.

Message ID: 0x50B1 DIRECTMOTION_MODE_SET

Request Parameters ​

ParameterTypeRequiredDescription
robotnumberYesRobot number (1, 2, 3, 4)
openbooleanYestrue=enable, false=disable

Request Example ​

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

1.2 Controller Returns Enable Success/Failure ​

Message ID: 0x50B3 DIRECTMOTION_MODE_RESPOND

Response Parameters ​

ParameterTypeDescription
robotnumberRobot number
openbooleanCurrent status

Response Example ​

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

1.3 Send Job File Instruction Queue ​

Message ID: 0x50B4 DIRECTMOTION_INSERT_INSTRVEC

Request Parameters ​

ParameterTypeRequiredDescription
robotnumberYesRobot number
dataarrayYesInstruction JSON list

data Array Element Parameters ​

ParameterTypeRequiredDescription
typenumberYesInstruction type: 1=point-to-point, 2=linear, 3=circular, 4=full circle
positionIdstringConditionalGlobal position (required when using global GP point)
RobotPosobjectConditionalCustom position (required when using auto position)
ParaACCobjectYesAcceleration parameter
ParaDECobjectYesDeceleration parameter
ParaVobjectYesVelocity parameter
ParaPLobjectYesSmoothing parameter
ParaTIMEobjectYesAdvance execution time (ms)
ParaSPINobjectNoCircular and full circle instructions: 0=attitude unchanged, 1=sixth axis does not rotate, 2=sixth axis rotates
ParaSYNCobjectNoWhether positioner synchronizes
imovecoordstringNoMove coordinate system
ctypenumberNoCoordinate system type
lengthnumberNoLength
radiusnumberNoRadius
marginnumberNoMargin
offsetAxisnumberNoAxis offset
polishnumberNoPolish parameter
polishAnglenumberNoPolish angle
polishIDnumberNoPolish ID
posidnamestringNoPosition name
posidtypenumberNoPosition type
logoutbooleanNoLogout
paranumberNoReserved parameter
sidenumberNoSide
userParamIntnumberNoUser-defined integer
userParamStringstringNoUser-defined string
widthnumberNoWidth

ParaACC / ParaDEC / ParaV / ParaPL / ParaTIME / ParaSPIN / ParaSYNC Parameter Structure ​

ParameterTypeRequiredDescription
datanumberYesParameter value
m_vUnitnumberConditionalVelocity unit (required for ParaV): 0=cm/s, 1=mm/s, 2=percentage
secondvaluenumberNoSecond value
valuenumberNoLegacy parameter value
varnamestringNoVariable name

RobotPos Parameter Structure ​

ParameterTypeRequiredDescription
ctypenumberYesCoordinate system type: 0-joint, 1-Cartesian, 2-tool, 3-user
dataarrayYesPosition data array
keystringNoKey name
paraVarDataarrayNoParameter variable data

data Array Coordinate Description (ctype determines coordinate system) ​

IndexNameDescription
0Coordinate system0-joint, 1-Cartesian, 2-tool, 3-user
1UnitAngle-0, Radian-1
2ConfigurationConfiguration value
3Tool process numberTool number
4User process numberUser number
5-6ReservedReserved fields
7J1/XX coordinate value
8J2/YY coordinate value
9J3J3 value
10J4J4 value
11J5J5 value
12J6J6 value
13J7J7 value
14-19Preset valuesPreset position data

1.4 Example 1: Using Global GP Point ​

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 Example 2: Using Auto Position ​

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 Suspend Append Run ​

Message ID: 0x50B7 DIRECTMOTION_MODE_SUSPEND

Request Parameters ​

ParameterTypeRequiredDescription
robotnumberYesRobot number (1, 2, 3, 4)

Request Example ​

json
{
    "robot": 1
}

1.7 Start Append Run (Use After Suspend) ​

Message ID: 0x50B8 DIRECTMOTION_MODE_START

Request Parameters ​

ParameterTypeRequiredDescription
robotnumberYesRobot number (1, 2, 3, 4)

Request Example ​

json
{
    "robot": 1
}

1.8 Stop Append Run ​

Message ID: 0x50B9 DIRECTMOTION_MODE_STOP

Request Parameters ​

ParameterTypeRequiredDescription
robotnumberYesRobot number (1, 2, 3, 4)

Request Example ​

json
{
    "robot": 1
}

1.9 Set Queue Mode Stop Without Power Off ​

Message ID: 0x50BA

Request Parameters ​

ParameterTypeRequiredDescription
robotnumberYesRobot number (1, 2, 3, 4)

Request Example ​

json
{
    "robot": 1
}
🤖 AI assistants / automation: start with the Agent Development Guide and Pre-generation Checklist (Chinese); machine-readable entry: /llms.txt; plain-text version: swap .html for .md in the URL