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
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
| state | int | [0,1] | Servo status; 0 means servo stopped, 1 means servo ready |
{
"robot": 1,
"state": 1
}Host Computer Queries Robot Servo Status
Command: 0x3001
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Controller Replies Robot Servo Status to Host Computer
Command: 0x3002
| Parameter | Type | Range | Description |
|---|---|---|---|
| mode | int | [0,1] | 0 means single robot mode, 1 means multi-robot mode |
| robot | int | [1,4] | Current robot number |
| state | int | [0,3] | Servo status; 0 means servo stopped, 1 means servo ready, 2 means servo error, 3 means servo running |
{
"mode": 0,
"robot": 1,
"state": 0
}Host Computer Queries Robot Servo Connection Method
Command: 0x3003
{}Controller Replies Robot Servo Connection Method to Host Computer
Command: 0x3004
| Parameter | Type | Range | Description |
|---|---|---|---|
| servoType | int | [0,1] | 0 means physical servo, 1 means virtual servo |
{
"robot": 1,
"servoType": 0
}Query Servo Connection Status
Command: 0x3005
Controller Reply
| Field | Type | Description |
|---|---|---|
| robot | int | Current robot number, range [1,4] |
| servoType | int | Current robot servo connection status: 0 physical servo, 1 virtual servo |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| mode | int | [0,2] | Operation mode; 0 means teach mode, 1 means remote mode, 2 means run mode |
{
"mode": 0
}Host Computer Queries Current Robot Operation Mode
Command: 0x3011
{}Controller Replies Current Robot Operation Mode to Host Computer
Command: 0x3012
| Parameter | Type | Range | Description |
|---|---|---|---|
| mode | int | [0,2] | Operation mode; 0 means teach mode, 1 means remote mode, 2 means run mode |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| teachType | int | [0,2] | Teach mode type; 0 means jog (single axis), 1 means drag teaching, 2 means jog (linked) |
{
"teachType": 0
}Host Computer Queries Current Teach Mode Type
Command: 0x3021
{}Controller Replies Current Teach Mode Type to Host Computer
Command: 0x3022
| Parameter | Type | Range | Description |
|---|---|---|---|
| type | int | [0,2] | Teach mode type; 0 means jog (single axis), 1 means drag teaching, 2 means jog (linked) |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| deadman | int | [0,1] | Upper/lower enable switch; 0 means lower enable, 1 means upper enable |
| deadmanmode | int | - | Enable trigger method; default is 0, i.e., software trigger |
{
"deadman": 1,
"deadmanmode": 0
}Host Computer Queries Enable Status
Command: 0x3031
{}Controller Replies Enable Status to Host Computer
Command: 0x3032
| Parameter | Type | Range | Description |
|---|---|---|---|
| deadman | int | [0,1] | Upper/lower enable switch; 0 means lower enable, 1 means upper enable |
{
"deadman": 1
}Host Computer Sets Robot Enable Trigger Mode
Command: 0x3033
| Parameter | Type | Range | Description |
|---|---|---|---|
| deadmanPortOne | int | [0,total ports] | Enable port 1 (upper enable port) |
| deadmanPortTwo | int | [0,total ports] | Enable port 2 (lower enable port), cannot be 0 at the same time as upper enable port |
| mode | int | [0,1] | Enable trigger mode; 0 for software trigger, 1 for hardware trigger |
| robot | int | [1,4] | Current robot number |
{
"deadmanPortOne": 14,
"deadmanPortTwo": 2,
"mode": 0,
"robot": 1
}Host Computer Queries Robot Enable Trigger Method
Command: 0x3034
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Controller Replies Robot Enable Trigger Method to Host Computer
Command: 0x3035
| Parameter | Type | Range | Description |
|---|---|---|---|
| deadmanPortOne | int | [0,total ports] | Enable port 1 (upper enable port) |
| deadmanPortTwo | int | [0,total ports] | Enable port 2 (lower enable port) |
| mode | int | [0,1] | Enable trigger mode; 0 for software trigger, 1 for hardware trigger |
| robot | int | [1,4] | Current robot number |
{
"deadmanPortOne": 14,
"deadmanPortTwo": 2,
"mode": 0,
"robot": 1
}Host Computer Requests Servo Upper Enable
Command: 0x3036
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Host Computer Requests Servo Lower Enable
Command: 0x3037
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Jog Coordinate Mode
Description
- Setting and querying robot jog coordinate mode
Host Computer Sets Robot Jog Coordinate Mode
Command: 0x3040
| Parameter | Type | Range | Description |
|---|---|---|---|
| coordinate | int | [0,3] | Jog coordinate mode; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| robot | int | [1,4] | Current robot number |
{
"coordinate": 1,
"robot": 1
}Host Computer Queries Robot Jog Coordinate Mode
Command: 0x3041
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Controller Replies Robot Jog Coordinate Mode to Host Computer
Command: 0x3042
| Parameter | Type | Range | Description |
|---|---|---|---|
| coordinate | int | [0,3] | Jog coordinate mode; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| robot | int | [1,4] | Current robot number |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
| type | int | [0,2] | Current speed mode; 0 means jog speed, 1 means joint coordinate fixed-distance move, 2 means Cartesian coordinate fixed-distance move |
| speed | int | [1,100] | Global speed (%) |
| mocroDotSpeedACS | double | (0,2000] | Joint coordinate fixed-distance move (°); only used when current jog coordinate is joint coordinate |
| mocroDotSpeedMCS | double | (0,2000] | Cartesian coordinate fixed-distance move (mm); used when current jog coordinate is not joint coordinate |
{
"robot": 1,
"type": 0,
"speed": 5,
"mocroDotSpeedACS": 0.1,
"mocroDotSpeedMCS": 0.1
}Host Computer Queries Robot Speed Parameters
Command: 0x3051
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Controller Replies Robot Speed Parameters to Host Computer
Command: 0x3052
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
| type | int | [0,2] | Current speed mode; 0 means jog speed, 1 means joint coordinate fixed-distance move, 2 means Cartesian coordinate fixed-distance move |
| speed | int | [1,100] | Global speed |
| mocroDotSpeedACS | double | (0,2000] | Joint coordinate fixed-distance move (°) |
| mocroDotSpeedMCS | double | (0,2000] | Cartesian coordinate fixed-distance move (mm) |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| isWithExternal | int | [0,1] | Whether to include external axes |
| robot | int | [1,4] | Current robot number |
{
"isWithExternal": 0,
"robot": 1
}Host Computer Requests Robot to Move to Target Point
Command: 0x3071
RobotPos Object:
| Parameter | Type | Description |
|---|---|---|
| ctype | int | P 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 |
| data | array | Point data list |
| key | string | Variable name |
| note | string | Variable comment |
| paraVarData | array | Point 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:
| Parameter | Type | Range | Description |
|---|---|---|---|
| data | double | - | Same as "data" node |
| secondvalue | int | [0,1] | 0 means position variable name is fixed (e.g., P001), 1 means not fixed (e.g., P[I001]) |
| value | int | [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 |
| varname | string | - | Variable name used |
| Parameter | Type | Range | Description |
|---|---|---|---|
| positionName | string | - | Target point name |
| robot | int | [1,4] | Current robot number |
{
"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:
| Parameter | Type | Description |
|---|---|---|
| ctype | int | P 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 |
| data | array | Point data list (length 21) |
| key | string | Variable name |
| note | string | Variable comment |
| paraVarData | array | Point list |
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"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
| Parameter | Type | Description |
|---|---|---|
| job | string | Program name |
| robot | int | Current robot number |
| suffix | string | Program file suffix; .JBR means main program, .JBP means background local program, .JBPG means background global program |
| var | string | Point name |
{
"job": "WWW",
"robot": 1,
"suffix": ".JBR",
"var": "P0001"
}Host Computer Requests Robot to Move to User Coordinate Calibration Point
Command: 0x3074
| Parameter | Type | Range | Description |
|---|---|---|---|
| posType | int | [0,2] | Move to point type; 0 means origin, 1 means X value, 2 means Y value |
| robot | int | [1,4] | Current robot number |
| userNum | int | [1,999] | Current user coordinate number |
{
"posType": 0,
"robot": 1,
"userNum": 1
}Host Computer Requests Robot to Move to Reset Point (Without External Axes)
Command: 0x3075
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Host Computer Requests Robot to Move to Reset Point (With External Axes)
Command: 0x3076
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Host Computer Requests Robot Point-to-Point Motion to Point
Command: 0x3077
| Parameter | Type | Range | Description |
|---|---|---|---|
| coord | int | [0,3] | Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| pos | array | Target point information list (length 7, robot body coordinates) | |
| robot | int | [1,4] | Current robot number |
| vel | int | [1,100] | Motion speed |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| coord | int | [0,3] | Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| pos | array | Target point information list (length 7, robot body coordinates) | |
| robot | int | [1,4] | Current robot number |
| vel | int | [1,100] | Motion speed |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| coord | int | [0,3] | Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| isFull | bool | - | false means MOVC, true means MOVCA |
| posOne | array | Arc start point position information (length 7) | |
| posTwo | array | Arc intermediate point position information (length 7) | |
| posThree | array | Arc target point position information (length 7) | |
| robot | int | [1,4] | Current robot number |
| vel | int | [1,100] | Motion speed |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| coord | int | [0,3] | Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| pos | array | Two-dimensional array of spline curve trajectory points; first dimension represents target points on the trajectory, second dimension represents robot body coordinates (length 7) | |
| robot | int | [1,4] | Current robot number |
| size | int | - | Number of spline curve points, minimum 4 |
| vel | int | [1,100] | Motion speed |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| coord | int | [0,3] | Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| pos | array | Target point information list (length 12, first 7 are robot body coordinates, last 5 are external axis coordinates) | |
| robot | int | [1,4] | Current robot number |
| vel | int | [1,100] | Motion speed |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| coord | int | [0,3] | Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| pos | array | Target point information list (length 12, first 7 are robot body coordinates, last 5 are external axis coordinates) | |
| robot | int | [1,4] | Current robot number |
| vel | int | [1,100] | Motion speed |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| coord | int | [0,3] | Coordinate type; 0 means joint coordinate, 1 means Cartesian coordinate, 2 means tool coordinate, 3 means user coordinate |
| posOne | array | Arc start point position information (length 12, first 7 are robot body coordinates, last 5 are external axis coordinates) | |
| posTwo | array | Arc intermediate point position information (length 12) | |
| posThree | array | Arc target point position information (length 12) | |
| robot | int | [1,4] | Current robot number |
| vel | int | [1,100] | Motion speed |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| absolutePosResolution | double | [0.0001,0.1] | Absolute position resolution (°) |
| interpolationMethod | int | [0,2] | Robot interpolation method; 0 means S-curve interpolation, 1 means trapezoidal interpolation, 2 means jerk interpolation |
| minTrajectTime | object | - | Minimum acceleration/deceleration time |
| minTrajectTime.minAccTime | double | [0.05,1] | Minimum acceleration time (s) |
| minTrajectTime.minDecTime | double | [0.05,1] | Minimum deceleration time (s) |
| runDelayTime | int | [500,20000] | Run delay time (ms) |
| stopTime | int | [240,2000] | Pause time (ms) |
{
"absolutePosResolution": 0.010,
"interpolationMethod": 0,
"minTrajectTime": {
"minAccTime": 0.10,
"minDecTime": 0.10
},
"runDelayTime": 500,
"stopTime": 240
}Host Computer Queries Robot Motion Parameters
Command: 0x3091
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Controller Replies Robot Motion Parameters to Host Computer
Command: 0x3092
| Parameter | Type | Range | Description |
|---|---|---|---|
| absolutePosResolution | double | [0.0001,0.1] | Absolute position resolution (°) |
| interpolationMethod | int | [0,2] | Robot interpolation method; 0 means S-curve interpolation, 1 means trapezoidal interpolation, 2 means jerk interpolation |
| minTrajectTime | object | - | Minimum acceleration/deceleration time |
| minTrajectTime.minAccTime | double | [0.05,1] | Minimum acceleration time (s) |
| minTrajectTime.minDecTime | double | [0.05,1] | Minimum deceleration time (s) |
| runDelayTime | int | [500,20000] | Run delay time (ms) |
| stopTime | int | [240,2000] | Pause time (ms) |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| axis | int | [1,12] | Current axis to move |
| direction | int | [-1,1] | Axis movement direction; -1 means negative direction, 1 means positive direction |
| robot | int | [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
{
"axis": 1,
"direction": 1,
"robot": 1
}Host Computer Requests to Stop Jog Operation
Command: 0x30A1
| Parameter | Type | Range | Description |
|---|---|---|---|
| axis | int | [1,12] | Current axis to stop moving |
| robot | int | [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
{
"axis": 1,
"robot": 1
}Host Computer Sets Robot Axis Joint Jog Speed
Command: 0x30A2
| Parameter | Type | Range | Description |
|---|---|---|---|
| axis | int | - | Axis number to set joint jog speed; range [1, number of axes] |
| maxAcc | double | [1,1000] | Joint axis jog acceleration (°/s) |
| maxSpeed | double | [1,100] | Joint axis maximum jog speed (°/s²) |
| robot | int | [1,4] | Current robot number |
{
"axis": 1,
"maxAcc": 800.0,
"maxSpeed": 40.0,
"robot": 1
}Host Computer Queries Robot Axis Joint Jog Speed
Command: 0x30A3
| Parameter | Type | Range | Description |
|---|---|---|---|
| axis | int | - | Axis number to query joint jog speed; range [1, number of axes] |
| robot | int | [1,4] | Current robot number |
{
"axis": 1,
"robot": 1
}Controller Replies Robot Axis Joint Jog Speed to Host Computer
Command: 0x30A4
| Parameter | Type | Range | Description |
|---|---|---|---|
| axis | int | - | Axis number currently set for joint jog speed |
| maxAcc | double | [1,1000] | Joint axis jog acceleration (°/s) |
| maxSpeed | double | [1,100] | Joint axis maximum jog speed (°/s²) |
| robot | int | [1,4] | Current robot number |
{
"axis": 1,
"maxAcc": 800.0,
"maxSpeed": 40.0,
"robot": 1
}Host Computer Sets Robot Cartesian Jog Speed
Command: 0x30A5
| Parameter | Type | Range | Description |
|---|---|---|---|
| maxAcc | double | [1,4000] | Cartesian axis jog acceleration (mm/s²) |
| maxSpeed | double | [1,250] | Cartesian axis maximum jog speed (mm/s²) |
| robot | int | [1,4] | Current robot number |
{
"maxAcc": 1500.0,
"maxSpeed": 200.0,
"robot": 1
}Host Computer Queries Robot Cartesian Jog Speed
Command: 0x30A6
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Controller Replies Robot Cartesian Jog Speed to Host Computer
Command: 0x30A7
| Parameter | Type | Range | Description |
|---|---|---|---|
| maxAcc | double | [1,4000] | Cartesian axis jog acceleration (mm/s²) |
| maxSpeed | double | [1,250] | Cartesian axis maximum jog speed (mm/s²) |
| robot | int | [1,4] | Current robot number |
{
"maxAcc": 1500.0,
"maxSpeed": 200.0,
"robot": 1
}Host Computer Sets Robot Jog Sensitivity
Command: 0x30A8
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
| sensitivity | double | [0.001,1] | Jog sensitivity |
{
"robot": 1,
"sensitivity": 0.0010
}Host Computer Queries Robot Jog Sensitivity
Command: 0x30A9
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Controller Replies Robot Jog Sensitivity to Host Computer
Command: 0x30AA
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
| sensitivity | double | [0.001,1] | Jog sensitivity |
{
"robot": 1,
"sensitivity": 0.0010
}Point Coordinate Conversion
Description
- Convert robot values between different coordinate systems
Host Computer Requests Coordinate Value Conversion
Command: 0x30C0
| Parameter | Type | Description |
|---|---|---|
| name | string | Point name for coordinate conversion |
| pos | array | Point data list |
| robot | int | Current robot number |
| targetCoord | int | Target 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
{
"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
| Parameter | Type | Description |
|---|---|---|
| name | string | Point name for coordinate conversion |
| pos | array | Point data list (radians) |
| posDeg | array | Point data list (degrees) |
| result | bool | Whether conversion was successful |
| robot | int | Current robot number |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
| toolNum | int | [0,9] | Target tool hand |
| toolNowNum | int | [0,9] | Current tool hand; 0 means no tool hand |
| pos | array | Points to convert; elements are double type arrays |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
| toolNum | int | [0,9] | Target tool hand |
{
"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
| Parameter | Type | Range | Description |
|---|---|---|---|
| isMultiRobot | bool | - | Whether it is dual-robot collaboration |
| mode | int | [0,1] | Current robot mode; 0 means single robot mode, 1 means multi-robot mode |
| robot | int | [1,4] | Robot number to switch to |
{
"isMultiRobot": false,
"mode": 0,
"robot": 1
}Host Computer Queries Current Robot Number
Command: 0x30D1
{}Controller Replies Current Robot Number to Host Computer
Command: 0x30D2
| Parameter | Type | Range | Description |
|---|---|---|---|
| mode | int | [0,1] | Current robot mode; 0 means single robot mode, 1 means multi-robot mode |
| robot | int | [1,4] | Current robot number |
{
"mode": 0,
"robot": 1
}Host Computer Sets Degree or Radian Mode
Command: 0x30D3
| Parameter | Type | Description |
|---|---|---|
| isDeg | bool | Whether to use degrees; false means radians, true means degrees |
{
"isDeg": false
}Host Computer Sets Robot Motion Queue Stop Without Lowering Enable
Command: 0x30D4
| Parameter | Type | Range | Description |
|---|---|---|---|
| robot | int | [1,4] | Current robot number |
{
"robot": 1
}Controller Replies Whether Current Robot Uses Degrees or Radians
Command: 0x30D5
| Parameter | Type | Description |
|---|---|---|
| tmpDeg | bool | Whether 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
{
"tmpDeg": false
}