Skip to content

Motion Control

Servo Status

Description

  • Setting and querying servo status, querying the currently connected servo method
  • When the current servo status is servo error, the servo status cannot be modified through command 0x3000
  • Host computer sets robot servo status

Host Computer Sets Robot Servo Status

Command: 0x3000

ParameterTypeRangeDescription
robotint[1,4]Current robot number
stateint[0,1]Servo status; 0 means servo stopped, 1 means servo ready
json
{
  "robot": 1,
  "state": 1
}

Host Computer Queries Robot Servo Status

Command: 0x3001

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Controller Replies Robot Servo Status to Host Computer

Command: 0x3002

ParameterTypeRangeDescription
modeint[0,1]0 means single robot mode, 1 means multi-robot mode
robotint[1,4]Current robot number
stateint[0,3]Servo status; 0 means servo stopped, 1 means servo ready, 2 means servo error, 3 means servo running
json
{
  "mode": 0,
  "robot": 1,
  "state": 0
}

Host Computer Queries Robot Servo Connection Method

Command: 0x3003

json
{}

Controller Replies Robot Servo Connection Method to Host Computer

Command: 0x3004

ParameterTypeRangeDescription
servoTypeint[0,1]0 means physical servo, 1 means virtual servo
json
{
  "robot": 1,
  "servoType": 0
}

Query Servo Connection Status

Command: 0x3005

Controller Reply

FieldTypeDescription
robotintCurrent robot number, range [1,4]
servoTypeintCurrent robot servo connection status: 0 physical servo, 1 virtual servo
json
{
  "robot": 1,
  "servoType": 0
}

Operation Mode

Description

  • Setting and querying the robot's current operation mode
  • The default operation mode is teach mode

Host Computer Sets Current Robot Operation Mode

Command: 0x3010

ParameterTypeRangeDescription
modeint[0,2]Operation mode; 0 means teach mode, 1 means remote mode, 2 means run mode
json
{
  "mode": 0
}

Host Computer Queries Current Robot Operation Mode

Command: 0x3011

json
{}

Controller Replies Current Robot Operation Mode to Host Computer

Command: 0x3012

ParameterTypeRangeDescription
modeint[0,2]Operation mode; 0 means teach mode, 1 means remote mode, 2 means run mode
json
{
  "mode": 0
}

Teach Mode

Description

  • Setting and querying teach mode type
  • Switching from drag mode to jog mode during drag mode motion will fail

Host Computer Sets Current Teach Mode Type

Command: 0x3020

ParameterTypeRangeDescription
teachTypeint[0,2]Teach mode type; 0 means jog (single axis), 1 means drag teaching, 2 means jog (linked)
json
{
  "teachType": 0
}

Host Computer Queries Current Teach Mode Type

Command: 0x3021

json
{}

Controller Replies Current Teach Mode Type to Host Computer

Command: 0x3022

ParameterTypeRangeDescription
typeint[0,2]Teach mode type; 0 means jog (single axis), 1 means drag teaching, 2 means jog (linked)
json
{
  "type": 0
}

Enable

Description

  • Setting and querying enable status and trigger mode
  • When trigger mode is set to hardware trigger, both upper and lower enable ports cannot be 0

Host Computer Sets Enable Status

Command: 0x3030

ParameterTypeRangeDescription
deadmanint[0,1]Upper/lower enable switch; 0 means lower enable, 1 means upper enable
deadmanmodeint-Enable trigger method; default is 0, i.e., software trigger
json
{
  "deadman": 1,
  "deadmanmode": 0
}

Host Computer Queries Enable Status

Command: 0x3031

json
{}

Controller Replies Enable Status to Host Computer

Command: 0x3032

ParameterTypeRangeDescription
deadmanint[0,1]Upper/lower enable switch; 0 means lower enable, 1 means upper enable
json
{
  "deadman": 1
}

Host Computer Sets Robot Enable Trigger Mode

Command: 0x3033

ParameterTypeRangeDescription
deadmanPortOneint[0,total ports]Enable port 1 (upper enable port)
deadmanPortTwoint[0,total ports]Enable port 2 (lower enable port), cannot be 0 at the same time as upper enable port
modeint[0,1]Enable trigger mode; 0 for software trigger, 1 for hardware trigger
robotint[1,4]Current robot number
json
{
  "deadmanPortOne": 14,
  "deadmanPortTwo": 2,
  "mode": 0,
  "robot": 1
}

Host Computer Queries Robot Enable Trigger Method

Command: 0x3034

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Controller Replies Robot Enable Trigger Method to Host Computer

Command: 0x3035

ParameterTypeRangeDescription
deadmanPortOneint[0,total ports]Enable port 1 (upper enable port)
deadmanPortTwoint[0,total ports]Enable port 2 (lower enable port)
modeint[0,1]Enable trigger mode; 0 for software trigger, 1 for hardware trigger
robotint[1,4]Current robot number
json
{
  "deadmanPortOne": 14,
  "deadmanPortTwo": 2,
  "mode": 0,
  "robot": 1
}

Host Computer Requests Servo Upper Enable

Command: 0x3036

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Host Computer Requests Servo Lower Enable

Command: 0x3037

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Jog Coordinate Mode

Description

  • Setting and querying robot jog coordinate mode

Host Computer Sets Robot Jog Coordinate Mode

Command: 0x3040

ParameterTypeRangeDescription
coordinateint[0,3]Jog coordinate mode; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
robotint[1,4]Current robot number
json
{
  "coordinate": 1,
  "robot": 1
}

Host Computer Queries Robot Jog Coordinate Mode

Command: 0x3041

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Controller Replies Robot Jog Coordinate Mode to Host Computer

Command: 0x3042

ParameterTypeRangeDescription
coordinateint[0,3]Jog coordinate mode; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
robotint[1,4]Current robot number
json
{
  "coordinate": 1,
  "robot": 1
}

Robot Speed

Description

  • Includes setting and querying jog mode and fixed-distance move speed

Host Computer Requests to Set Robot Speed Parameters

Command: 0x3050

ParameterTypeRangeDescription
robotint[1,4]Current robot number
typeint[0,2]Current speed mode; 0 means jog speed, 1 means joint coordinate fixed-distance move, 2 means Cartesian coordinate fixed-distance move
speedint[1,100]Global speed (%)
mocroDotSpeedACSdouble(0,2000]Joint coordinate fixed-distance move (°); only used when current jog coordinate is joint coordinate
mocroDotSpeedMCSdouble(0,2000]Cartesian coordinate fixed-distance move (mm); used when current jog coordinate is not joint coordinate
json
{
  "robot": 1,
  "type": 0,
  "speed": 5,
  "mocroDotSpeedACS": 0.1,
  "mocroDotSpeedMCS": 0.1
}

Host Computer Queries Robot Speed Parameters

Command: 0x3051

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Controller Replies Robot Speed Parameters to Host Computer

Command: 0x3052

ParameterTypeRangeDescription
robotint[1,4]Current robot number
typeint[0,2]Current speed mode; 0 means jog speed, 1 means joint coordinate fixed-distance move, 2 means Cartesian coordinate fixed-distance move
speedint[1,100]Global speed
mocroDotSpeedACSdouble(0,2000]Joint coordinate fixed-distance move (°)
mocroDotSpeedMCSdouble(0,2000]Cartesian coordinate fixed-distance move (mm)
json
{
  "robot": 1,
  "type": 0,
  "speed": 5,
  "mocroDotSpeedACS": 0.1,
  "mocroDotSpeedMCS": 0.1
}

Move to Point

Description

  • Includes homing, move to marker point, joint linear motion, etc.
  • Before robot motion, the servo must be set to enabled state, otherwise the robot will not move even if the following commands are sent

Host Computer Requests Robot Homing

Command: 0x3070

ParameterTypeRangeDescription
isWithExternalint[0,1]Whether to include external axes
robotint[1,4]Current robot number
json
{
  "isWithExternal": 0,
  "robot": 1
}

Host Computer Requests Robot to Move to Target Point

Command: 0x3071

RobotPos Object:

ParameterTypeDescription
ctypeintP point type; 0 means NONE_TYPE, 1 means P_TYPE, 2 means E_TYPE, 3 means RP_TYPE, 4 means AP_TYPE, 5 means GP_TYPE, 6 means GE_TYPE
dataarrayPoint data list
keystringVariable name
notestringVariable comment
paraVarDataarrayPoint list, further describes the "data" node data

data List Description:

  • Positions 1-2: Coordinate type (0,0 means joint coordinate, 1,1 means Cartesian coordinate, 2,1 tool coordinate, 3,1 user coordinate)
  • Position 3: Left/right hand (1 means left hand, 2 means right hand, 0 means no left/right hand)
  • Positions 4-7: Reserved, default 0
  • Positions 8-14: Robot body coordinate values (7 values)
  • Positions 15-19: External axis coordinate values (up to 5 external axes supported)

paraVarData Elements:

ParameterTypeRangeDescription
datadouble-Same as "data" node
secondvalueint[0,1]0 means position variable name is fixed (e.g., P001), 1 means not fixed (e.g., P[I001])
valueint[0,17]Numeric type; 0 means numeric type; 1 means int variable; 2 means double variable; 3 means bool variable; 4 means global int variable; 5 means global double variable; 6 means global bool variable; 7 means string constant; 8 means string variable; 9 means global string variable; 10 means P point variable; 11 means global P point variable; 12 means E point variable; 13 means global E point variable
varnamestring-Variable name used
ParameterTypeRangeDescription
positionNamestring-Target point name
robotint[1,4]Current robot number
json
{
  "RobotPos": {
    "ctype": 0,
    "data": [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 470.7460, 0.0, 817.3340, 3.1410, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
    "key": "",
    "note": "",
    "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": 470.7460, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 817.3340, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 3.1410, "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": ""}
    ]
  },
  "positionName": "MoveToGetPoint",
  "robot": 1
}

Host Computer Requests Robot External Axis to Move to Target Point

Command: 0x3072

RobotPos Object:

ParameterTypeDescription
ctypeintP point type; 0 means NONE_TYPE, 1 means P_TYPE, 2 means E_TYPE, 3 means RP_TYPE, 4 means AP_TYPE, 5 means GP_TYPE, 6 means GE_TYPE
dataarrayPoint data list (length 21)
keystringVariable name
notestringVariable comment
paraVarDataarrayPoint list
ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "RobotPos": {
    "ctype": 0,
    "data": [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 470.7460, 0.0, 817.3340, 3.1410, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
    "key": "",
    "note": "",
    "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": 470.7460, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 817.3340, "secondvalue": 0, "value": 0, "varname": ""},
      {"data": 3.1410, "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": ""}
    ]
  },
  "robot": 1
}

Host Computer Requests Robot to Move to Program Point

Command: 0x3073

ParameterTypeDescription
jobstringProgram name
robotintCurrent robot number
suffixstringProgram file suffix; .JBR means main program, .JBP means background local program, .JBPG means background global program
varstringPoint name
json
{
  "job": "WWW",
  "robot": 1,
  "suffix": ".JBR",
  "var": "P0001"
}

Host Computer Requests Robot to Move to User Coordinate Calibration Point

Command: 0x3074

ParameterTypeRangeDescription
posTypeint[0,2]Move to point type; 0 means origin, 1 means X value, 2 means Y value
robotint[1,4]Current robot number
userNumint[1,999]Current user coordinate number
json
{
  "posType": 0,
  "robot": 1,
  "userNum": 1
}

Host Computer Requests Robot to Move to Reset Point (Without External Axes)

Command: 0x3075

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Host Computer Requests Robot to Move to Reset Point (With External Axes)

Command: 0x3076

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Host Computer Requests Robot Point-to-Point Motion to Point

Command: 0x3077

ParameterTypeRangeDescription
coordint[0,3]Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
posarrayTarget point information list (length 7, robot body coordinates)
robotint[1,4]Current robot number
velint[1,100]Motion speed
json
{
  "coord": 0,
  "pos": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0],
  "robot": 1,
  "vel": 5
}

Host Computer Requests Robot Linear Motion to Point

Command: 0x3078

ParameterTypeRangeDescription
coordint[0,3]Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
posarrayTarget point information list (length 7, robot body coordinates)
robotint[1,4]Current robot number
velint[1,100]Motion speed
json
{
  "coord": 0,
  "pos": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0],
  "robot": 1,
  "vel": 5
}

Host Computer Requests Robot Arc Motion to Point

Command: 0x3079

ParameterTypeRangeDescription
coordint[0,3]Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
isFullbool-false means MOVC, true means MOVCA
posOnearrayArc start point position information (length 7)
posTwoarrayArc intermediate point position information (length 7)
posThreearrayArc target point position information (length 7)
robotint[1,4]Current robot number
velint[1,100]Motion speed
json
{
  "coord": 0,
  "isFull": false,
  "posOne": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0],
  "posTwo": [0.0, 15.3, 0.0, 0.0, 0.0, 0.0, 0.0],
  "posThree": [0.0, 20.4, 0.0, 0.0, 0.0, 0.0, 0.0],
  "robot": 1,
  "vel": 5
}

Host Computer Requests Robot Spline Curve Motion to Point

Command: 0x307A

ParameterTypeRangeDescription
coordint[0,3]Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
posarrayTwo-dimensional array of spline curve trajectory points; first dimension represents target points on the trajectory, second dimension represents robot body coordinates (length 7)
robotint[1,4]Current robot number
sizeint-Number of spline curve points, minimum 4
velint[1,100]Motion speed
json
{
  "coord": 0,
  "pos": [
    [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0],
    [0.0, 15.3, 0.0, 0.0, 0.0, 0.0, 0.0],
    [0.0, 20.4, 0.0, 0.0, 0.0, 0.0, 0.0],
    [0.0, 25.5, 0.0, 0.0, 0.0, 0.0, 0.0]
  ],
  "robot": 1,
  "size": 4,
  "vel": 5
}

Host Computer Requests Robot External Axis Point-to-Point Motion to Point

Command: 0x307B

ParameterTypeRangeDescription
coordint[0,3]Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
posarrayTarget point information list (length 12, first 7 are robot body coordinates, last 5 are external axis coordinates)
robotint[1,4]Current robot number
velint[1,100]Motion speed
json
{
  "coord": 0,
  "pos": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0, 7.1, 0.0, 0.0, 0.0, 0.0],
  "robot": 1,
  "vel": 5
}

Host Computer Requests Robot External Axis Linear Motion to Point

Command: 0x307C

ParameterTypeRangeDescription
coordint[0,3]Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
posarrayTarget point information list (length 12, first 7 are robot body coordinates, last 5 are external axis coordinates)
robotint[1,4]Current robot number
velint[1,100]Motion speed
json
{
  "coord": 0,
  "pos": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0, 7.1, 0.0, 0.0, 0.0, 0.0],
  "robot": 1,
  "vel": 5
}

Host Computer Requests Robot External Axis Arc Motion to Point

Command: 0x307D

ParameterTypeRangeDescription
coordint[0,3]Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate
posOnearrayArc start point position information (length 12, first 7 are robot body coordinates, last 5 are external axis coordinates)
posTwoarrayArc intermediate point position information (length 12)
posThreearrayArc target point position information (length 12)
robotint[1,4]Current robot number
velint[1,100]Motion speed
json
{
  "coord": 0,
  "posOne": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0, 7.1, 0.0, 0.0, 0.0, 0.0],
  "posTwo": [0.0, 15.3, 0.0, 0.0, 0.0, 0.0, 0.0, 14.2, 0.0, 0.0, 0.0, 0.0],
  "posThree": [0.0, 20.4, 0.0, 0.0, 0.0, 0.0, 0.0, 21.3, 0.0, 0.0, 0.0, 0.0],
  "robot": 1,
  "vel": 5
}

Motion Parameters

Description

  • Host computer sets robot motion parameters

Host Computer Sets Robot Motion Parameters

Command: 0x3090

ParameterTypeRangeDescription
absolutePosResolutiondouble[0.0001,0.1]Absolute position resolution (°)
interpolationMethodint[0,2]Robot interpolation method; 0 means S-curve interpolation, 1 means trapezoidal interpolation, 2 means jerk interpolation
minTrajectTimeobject-Minimum acceleration/deceleration time
minTrajectTime.minAccTimedouble[0.05,1]Minimum acceleration time (s)
minTrajectTime.minDecTimedouble[0.05,1]Minimum deceleration time (s)
runDelayTimeint[500,20000]Run delay time (ms)
stopTimeint[240,2000]Pause time (ms)
json
{
  "absolutePosResolution": 0.010,
  "interpolationMethod": 0,
  "minTrajectTime": {
    "minAccTime": 0.10,
    "minDecTime": 0.10
  },
  "runDelayTime": 500,
  "stopTime": 240
}

Host Computer Queries Robot Motion Parameters

Command: 0x3091

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Controller Replies Robot Motion Parameters to Host Computer

Command: 0x3092

ParameterTypeRangeDescription
absolutePosResolutiondouble[0.0001,0.1]Absolute position resolution (°)
interpolationMethodint[0,2]Robot interpolation method; 0 means S-curve interpolation, 1 means trapezoidal interpolation, 2 means jerk interpolation
minTrajectTimeobject-Minimum acceleration/deceleration time
minTrajectTime.minAccTimedouble[0.05,1]Minimum acceleration time (s)
minTrajectTime.minDecTimedouble[0.05,1]Minimum deceleration time (s)
runDelayTimeint[500,20000]Run delay time (ms)
stopTimeint[240,2000]Pause time (ms)
json
{
  "absolutePosResolution": 0.010,
  "interpolationMethod": 0,
  "minTrajectTime": {
    "minAccTime": 0.10,
    "minDecTime": 0.10
  },
  "runDelayTime": 500,
  "stopTime": 240
}

Jog

Description

  • Includes setting and querying joint/Cartesian jog speed, setting and querying jog sensitivity, start/stop jog operations

Host Computer Requests Jog Operation

Command: 0x30A0

ParameterTypeRangeDescription
axisint[1,12]Current axis to move
directionint[-1,1]Axis movement direction; -1 means negative direction, 1 means positive direction
robotint[1,4]Current robot number

axis Parameter Description:

  • In joint coordinate: represents the corresponding axis, starting from 8 for external axes
  • In Cartesian coordinate: represents X, Y, Z, A, B, C axes in order
  • In tool coordinate: represents TX, TY, TZ, TA, TB, TC axes in order
  • In user coordinate: represents UX, UY, UZ, UA, UB, UC axes in order
json
{
  "axis": 1,
  "direction": 1,
  "robot": 1
}

Host Computer Requests to Stop Jog Operation

Command: 0x30A1

ParameterTypeRangeDescription
axisint[1,12]Current axis to stop moving
robotint[1,4]Current robot number

axis Parameter Description:

  • In joint coordinate: represents the corresponding axis, starting from 8 for external axes
  • In Cartesian coordinate: represents X, Y, Z, A, B, C axes in order
  • In tool coordinate: represents TX, TY, TZ, TA, TB, TC axes in order
  • In user coordinate: represents UX, UY, UZ, UA, UB, UC axes in order
json
{
  "axis": 1,
  "robot": 1
}

Host Computer Sets Robot Axis Joint Jog Speed

Command: 0x30A2

ParameterTypeRangeDescription
axisint-Axis number to set joint jog speed; range [1, number of axes]
maxAccdouble[1,1000]Joint axis jog acceleration (°/s)
maxSpeeddouble[1,100]Joint axis maximum jog speed (°/s²)
robotint[1,4]Current robot number
json
{
  "axis": 1,
  "maxAcc": 800.0,
  "maxSpeed": 40.0,
  "robot": 1
}

Host Computer Queries Robot Axis Joint Jog Speed

Command: 0x30A3

ParameterTypeRangeDescription
axisint-Axis number to query joint jog speed; range [1, number of axes]
robotint[1,4]Current robot number
json
{
  "axis": 1,
  "robot": 1
}

Controller Replies Robot Axis Joint Jog Speed to Host Computer

Command: 0x30A4

ParameterTypeRangeDescription
axisint-Axis number currently set for joint jog speed
maxAccdouble[1,1000]Joint axis jog acceleration (°/s)
maxSpeeddouble[1,100]Joint axis maximum jog speed (°/s²)
robotint[1,4]Current robot number
json
{
  "axis": 1,
  "maxAcc": 800.0,
  "maxSpeed": 40.0,
  "robot": 1
}

Host Computer Sets Robot Cartesian Jog Speed

Command: 0x30A5

ParameterTypeRangeDescription
maxAccdouble[1,4000]Cartesian axis jog acceleration (mm/s²)
maxSpeeddouble[1,250]Cartesian axis maximum jog speed (mm/s²)
robotint[1,4]Current robot number
json
{
  "maxAcc": 1500.0,
  "maxSpeed": 200.0,
  "robot": 1
}

Host Computer Queries Robot Cartesian Jog Speed

Command: 0x30A6

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Controller Replies Robot Cartesian Jog Speed to Host Computer

Command: 0x30A7

ParameterTypeRangeDescription
maxAccdouble[1,4000]Cartesian axis jog acceleration (mm/s²)
maxSpeeddouble[1,250]Cartesian axis maximum jog speed (mm/s²)
robotint[1,4]Current robot number
json
{
  "maxAcc": 1500.0,
  "maxSpeed": 200.0,
  "robot": 1
}

Host Computer Sets Robot Jog Sensitivity

Command: 0x30A8

ParameterTypeRangeDescription
robotint[1,4]Current robot number
sensitivitydouble[0.001,1]Jog sensitivity
json
{
  "robot": 1,
  "sensitivity": 0.0010
}

Host Computer Queries Robot Jog Sensitivity

Command: 0x30A9

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Controller Replies Robot Jog Sensitivity to Host Computer

Command: 0x30AA

ParameterTypeRangeDescription
robotint[1,4]Current robot number
sensitivitydouble[0.001,1]Jog sensitivity
json
{
  "robot": 1,
  "sensitivity": 0.0010
}

Point Coordinate Conversion

Description

  • Convert robot values between different coordinate systems

Host Computer Requests Coordinate Value Conversion

Command: 0x30C0

ParameterTypeDescription
namestringPoint name for coordinate conversion
posarrayPoint data list
robotintCurrent robot number
targetCoordintTarget conversion coordinate; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate

pos List Description:

  • Positions 1-2: Coordinate type (0,0 means joint coordinate, 1,1 means Cartesian coordinate, 2,1 tool coordinate, 3,1 user coordinate)
  • Position 3: Current point posture
  • Position 4: Current point tool number
  • Position 5: Current point user coordinate number
  • Positions 6-7: Reserved
  • Last 7 values: Current point position information in the current coordinate system
json
{
  "name": "P0002",
  "pos": [0, 0.0, 8.0, 0.0, 1.0, 0.0, 0.0, 0.0, 10.20, 0.0, 0.0, 0.0, 0.0, 0.0],
  "robot": 1,
  "targetCoord": 1
}

Controller Replies Converted Coordinate Values to Host Computer

Command: 0x30C1

ParameterTypeDescription
namestringPoint name for coordinate conversion
posarrayPoint data list (radians)
posDegarrayPoint data list (degrees)
resultboolWhether conversion was successful
robotintCurrent robot number
json
{
  "name": "P0002",
  "pos": [1, 1, 8.0, 0.0, 1.0, 0.0, 0.0, 387.623217660095, 0.0, 894.038513201144, -3.14159265359, 0.178023583703, 0.0, 0.0],
  "posDeg": [1, 1, 8.0, 0.0, 1.0, 0.0, 0.0, 387.623217660095, 0.0, 894.038513201144, -180.0, 10.2, 0.0, 0.0],
  "result": true,
  "robot": 1
}

Host Computer Requests Position for Any Tool Hand

Command: 0x30C2

ParameterTypeRangeDescription
robotint[1,4]Current robot number
toolNumint[0,9]Target tool hand
toolNowNumint[0,9]Current tool hand; 0 means no tool hand
posarrayPoints to convert; elements are double type arrays
json
{
  "robot": 1,
  "toolNum": 1,
  "toolNowNum": 0,
  "pos": [[19998, 0, 19998, 180, 0, 0, 0], [19998, 0, 19998, 180, 0, 0, 0]]
}

Controller Returns Target Tool Hand Coordinates

Command: 0x30C3

ParameterTypeRangeDescription
robotint[1,4]Current robot number
toolNumint[0,9]Target tool hand
json
{
  "robot": 1,
  "toolNum": 1,
  "pos": [[19998, 0, 19998, 180, 0, 0, 0], [19998, 0, 19998, 180, 0, 0, 0]]
}

Robot Switching

Description

  • Switch the currently used robot

Host Computer Requests to Switch Current Robot

Command: 0x30D0

ParameterTypeRangeDescription
isMultiRobotbool-Whether it is dual-robot collaboration
modeint[0,1]Current robot mode; 0 means single robot mode, 1 means multi-robot mode
robotint[1,4]Robot number to switch to
json
{
  "isMultiRobot": false,
  "mode": 0,
  "robot": 1
}

Host Computer Queries Current Robot Number

Command: 0x30D1

json
{}

Controller Replies Current Robot Number to Host Computer

Command: 0x30D2

ParameterTypeRangeDescription
modeint[0,1]Current robot mode; 0 means single robot mode, 1 means multi-robot mode
robotint[1,4]Current robot number
json
{
  "mode": 0,
  "robot": 1
}

Host Computer Sets Degree or Radian Mode

Command: 0x30D3

ParameterTypeDescription
isDegboolWhether to use degrees; false means radians, true means degrees
json
{
  "isDeg": false
}

Host Computer Sets Robot Motion Queue Stop Without Lowering Enable

Command: 0x30D4

ParameterTypeRangeDescription
robotint[1,4]Current robot number
json
{
  "robot": 1
}

Controller Replies Whether Current Robot Uses Degrees or Radians

Command: 0x30D5

ParameterTypeDescription
tmpDegboolWhether to use degrees; false means radians, true means degrees

Note: This is the reply to 0x30D3; it is only sent when switching between degrees/radians

json
{
  "tmpDeg": false
}