Status
Collision Detection Status
Query Collision Detection Status
Command Word: 0x3200
| Field | Type | Description |
|---|---|---|
| clear | int | Whether to clear the difference between theoretical torque and actual torque, range [0, 1] |
{
"clear": 0
}Controller Response
Command Word: 0x3201
| Field | Type | Description |
|---|---|---|
| Difference_torq | double[] | Difference between theoretical and feedback values, length 7 |
| actual_torq | double[] | Torque feedback value list, length 7 |
| detect_torq | double[] | Collision detection threshold list, length 7 |
| max_torq | double[] | Interpolation peak list, length 7 |
| target_torq | double[] | Torque theoretical value list, length 7 |
{
"Difference_torq": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"actual_torq": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"detect_torq": [50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 0.0],
"max_torq": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"target_torq": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
}Command Execution Percentage
Query Motion Command Completion Percentage
Command Word: 0x3202
- No data needs to be sent
Controller Response
Command Word: 0x3203
| Field | Type | Description |
|---|---|---|
| completionRatio | double | Execution percentage, range [0, 1], maximum value is 1 |
{
"completionRatio": 0.11
}Current Position
Query Robot Coordinate Position
Command Word: 0x3210
| Field | Type | Description |
|---|---|---|
| coord | int | Query current coordinate position, range [0, 4]: 0 Joint, 1 Cartesian, 2 Tool, 3 User, 4 Motor |
| robot | int | Current robot number, range [1, 4] |
{
"coord": 0,
"robot": 1
}Controller Response
Command Word: 0x3212
| Field | Type | Description |
|---|---|---|
| configuration | int | Current position posture value, range [0, 8] |
| coord | int | Current position coordinate type, range [0, 4]: 0 Joint, 1 Cartesian, 2 Tool, 3 User, 4 Motor |
| pos | double[] | Current position information in radians |
| posDeg | double[] | Current position information in degrees |
| robot | int | Current robot number, range [1, 4] |
{
"configuration": 8,
"coord": 0,
"pos": [0.8047034822, 0.0, 0.0, 0.033915260824, 0.0, -0.008860939141, 0.0],
"posDeg": [0.8047034822, 0.0, 0.0, 0.033915260824, 0.0, -0.008860939141, 0.0],
"robot": 1
}Controller Response
Command Word: 0x3213
| Field | Type | Description |
|---|---|---|
| coord | int | Current position coordinate type, range [0, 4]: 0 Joint, 1 Cartesian, 2 Tool, 3 User, 4 Motor |
| isDeg | int | Whether in degrees, range [0, 1] |
| position | double[] | Current position information in radians |
| positionDeg | double[] | Current position information in degrees |
| posture | int | Current position posture value, range [0, 8] |
| robot | int | Current robot number, range [1, 4] |
{
"coord": 0,
"isDeg": 0,
"position": [0.8047034822, 0.0, 0.0, 0.033915260824, 0.0, -0.008860939141, 0.0],
"positionDeg": [0.8047034822, 0.0, 0.0, 0.033915260824, 0.0, -0.008860939141, 0.0],
"posture": 8,
"robot": 1
}Note: Controller replies to host computer with robot coordinate position (0x3211)
Query Robot Coordinate Position in Dual-Robot Collaboration
Command Word: 0x3214
| Field | Type | Description |
|---|---|---|
| coord1 | int | Coordinate type for getting robot 1 position, range [0, 3]: 0 Joint, 1 Cartesian, 2 Tool, 3 User |
| coord2 | int | Coordinate type for getting robot 2 position, range [0, 3]: 0 Joint, 1 Cartesian, 2 Tool, 3 User |
| robot1 | int | First robot number in dual-robot collaboration, range [1, 4], default 1 |
| robot2 | int | Second robot number in dual-robot collaboration, range [1, 4], default 2 |
{
"coord1": 1,
"coord2": 1,
"robot1": 1,
"robot2": 2
}Controller Response
Command Word: 0x3215
| Field | Type | Description |
|---|---|---|
| coord1 | int | Coordinate type for robot 1 position, range [0, 3] |
| coord2 | int | Coordinate type for robot 2 position, range [0, 3] |
| pos1 | double[] | Robot 1 coordinates in radians |
| pos1Deg | double[] | Robot 1 coordinates in degrees |
| pos2 | double[] | Robot 2 coordinates in radians |
| pos2Deg | double[] | Robot 2 coordinates in degrees |
| robot1 | int | First robot number in dual-robot collaboration, default 1 |
| robot2 | int | Second robot number in dual-robot collaboration, default 2 |
{
"coord1": 0,
"coord2": 0,
"pos1": [-0.0, 0.0, 3.077931758984, -0.0, 0.0, -0.0, 0.0],
"pos1Deg": [-0.0, 0.0, 3.077931758984, -0.0, 0.0, -0.0, 0.0],
"pos2": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"pos2Deg": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot1": 1,
"robot2": 2
}Motor Load Value
Query Robot Motor Torque Overload Value
Command Word: 0x3220
| Field | Type | Description |
|---|---|---|
| robot_num | int | Query robot number, range [1, 4] |
{
"robot_num": 1
}Controller Response
Command Word: 0x3221
| Field | Type | Description |
|---|---|---|
| torq_limit_enable | bool | Motor overload protection enable |
| torq_limit_min_ensure_time | double | Motor overload protection minimum confirmation time, range [10, 9999], unit ms |
| torq_limit_robot | double[] | Motor torque overload value list, unit ‰, length is the number of axes of the current robot |
| torq_limit_sync | double[] | External axis motor torque overload value list, unit ‰, length is the number of external axes bound to the current robot |
{
"torq_limit_enable": false,
"torq_limit_min_ensure_time": 10,
"torq_limit_robot": [800.0, 1400.0, 1000.0, 1200.0, 800.0, 700.0],
"torq_limit_sync": [-0.0, -0.0, 0.0, 0.0, -0.0]
}Axis Speed
Query Robot Axis Speed
Command Word: 0x3230
| Field | Type | Description |
|---|---|---|
| robot | int | Current robot number, range [1, 4] |
{
"robot": 1
}Controller Response
Command Word: 0x3231
| Field | Type | Description |
|---|---|---|
| actualLineVel | double | Robot end current linear velocity, unit mm/s |
| axisActualVel | double[] | Robot each axis current speed list, unit °/s, length 7 |
| axisActualVelSync | double[] | Robot external axis each axis current speed list, unit °/s, length 5 |
| maxActualLineVel | double | Robot end maximum linear velocity, unit mm/s |
| maxAxisActualVel | double[] | Robot each axis maximum speed list, unit °/s, length 7 |
| maxAxisActualVelSync | double[] | Robot external axis each axis maximum speed list, unit °/s, length 5 |
| robot | int | Current robot number, range [1, 4] |
{
"actualLineVel": 0.0,
"axisActualVel": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"axisActualVelSync": [0.0, 0.0, 0.0, 0.0, 0.0],
"maxActualLineVel": 0.0,
"maxAxisActualVel": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"maxAxisActualVelSync": [0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1
}Fude Servo Temperature
Exclusive feature for Fude servo
Query Whether Fude Servo Temperature Exists
Command Word: 0x3250
| Field | Type | Description |
|---|---|---|
| robot | int | Current robot number, range [1, 4] |
{
"robot": 1
}Controller Response
Command Word: 0x3251
| Field | Type | Description |
|---|---|---|
| IsExist | bool | Whether Fude servo temperature exists |
{
"IsExist": false
}Controller Sends Delay Time Response to Teach Pendant
Command Word: 0x3252
| Field | Type | Description |
|---|---|---|
| delaytime | double | Delay time, unit s |
| robot | int | Current robot number, range [1, 4] |
{
"delaytime": 4,
"robot": 1
}Motor Status
Motor parameter query; servo temperature is only available when Fude servo temperature exists
Query Robot Motor Speed
Command Word: 0x3260
| Field | Type | Description |
|---|---|---|
| robot | int | Current robot number, range [1, 4] |
{
"robot": 1
}Controller Response
Command Word: 0x3261
| Field | Type | Description |
|---|---|---|
| maxVel | double[] | Robot maximum motor speed list, unit rpm, length 7 |
| maxVelSync | double[] | Robot external axis maximum motor speed list, unit rpm, length 5 |
| robot | int | Current robot number, range [1, 4] |
| vel | double[] | Robot current motor speed list, unit rpm, length 7 |
| velSync | double[] | Robot external axis current motor speed list, unit rpm, length 5 |
| slave_vel | double[][] | Robot master and slave axis motor speed list, unit rpm, 7 elements each containing 4 elements (1st: master axis, 2-4: slave axes) |
| slave_max_vel | double[][] | Robot master and slave axis maximum motor speed list, unit rpm |
| slave_vel_sync | double[][] | Robot external axis master and slave axis motor speed list, unit rpm, 5 elements each containing 4 elements |
| slave_max_vel_sync | double[][] | Robot external axis master and slave axis maximum motor speed list, unit rpm |
{
"maxVel": [0, 0, 0, 0, 0, 0, 0],
"maxVelSync": [0, 0, 0, 0, 0],
"robot": 1,
"vel": [0, 0, 0, 0, 0, 0, 0],
"velSync": [0, 0, 0, 0, 0],
"slave_vel": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_max_vel": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_vel_sync": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_max_vel_sync": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
}Query Robot Motor Torque
Command Word: 0x3262
| Field | Type | Description |
|---|---|---|
| robot | int | Current robot number, range [1, 4] |
{
"robot": 1
}Controller Response
Command Word: 0x3263
| Field | Type | Description |
|---|---|---|
| maxTheoTorq | double[] | Robot maximum motor theoretical torque list, unit ‰, length 7 |
| maxTorq | double[] | Robot maximum motor torque list, unit ‰, length 7 |
| maxTorqSync | double[] | Robot external axis maximum motor torque list, unit ‰, length 5 |
| robot | int | Current robot number, range [1, 4] |
| theoTorq | double[] | Robot current motor theoretical torque list, unit ‰, length 7 |
| torq | double[] | Robot current motor torque list, unit ‰, length 7 |
| torqSync | double[] | Robot external axis current motor torque list, unit ‰, length 5 |
| slave_torq | double[][] | Robot master and slave axis motor torque list, unit ‰, 7 elements each containing 4 elements (1st: master axis, 2-4: slave axes) |
| slave_max_torq | double[][] | Robot master and slave axis motor maximum torque list, unit ‰ |
| slave_torq_sync | double[][] | Robot external axis master and slave axis motor torque list, unit ‰, 5 elements each containing 4 elements |
| slave_max_torq_sync | double[][] | Robot external axis master and slave axis maximum motor torque list, unit ‰ |
{
"maxTheoTorq": [0, 0, 0, 0, 0, 0, 0],
"maxTorq": [0, 0, 0, 0, 0, 0, 0],
"maxTorqSync": [0, 0, 0, 0, 0],
"robot": 1,
"theoTorq": [0, 0, 0, 0, 0, 0, 0],
"torq": [0, 0, 0, 0, 0, 0, 0],
"torqSync": [0, 0, 0, 0, 0],
"slave_torq": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_max_torq": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_torq_sync": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_max_torq_sync": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
}Query Robot Motor Load Rate
Command Word: 0x3264
| Field | Type | Description |
|---|---|---|
| robot | int | Current robot number, range [1, 4] |
{
"robot": 1
}Controller Response
Command Word: 0x3265
| Field | Type | Description |
|---|---|---|
| externalOverload | double[] | Robot external axis current motor load list, unit ‰, length 5 |
| robot | int | Current robot number, range [1, 4] |
| robotOverload | double[] | Robot current motor load list, unit ‰, length 7 |
| slave_motor_rbt_over_load | double[][] | Robot master and slave axis motor load list, unit ‰, 7 elements each containing 4 elements (1st: master axis, 2-3: slave axes) |
| slave_motor_sync_over_load | double[][] | Robot external axis master and slave axis motor load list, unit ‰, 5 elements each containing 4 elements |
{
"externalOverload": [0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"robotOverload": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"slave_motor_rbt_over_load": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_motor_sync_over_load": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
}Query Robot Encoder Position
Command Word: 0x3266
| Field | Type | Description |
|---|---|---|
| robot | int | Current robot number, range [1, 4] |
{
"robot": 1
}Controller Response
Command Word: 0x3267
| Field | Type | Description |
|---|---|---|
| reality | double[] | Robot encoder position actual value list, length 7 |
| realitySync | double[] | Robot external axis encoder position actual value list, length 5 |
| robot | int | Current robot number, range [1, 4] |
| target | double[] | Robot encoder position target value list, length 7 |
| targetSync | double[] | Robot external axis encoder position target value list, length 5 |
| slave_reality | double[][] | Robot master and slave axis encoder position actual value list, 7 elements each containing 4 elements |
| slave_target | double[][] | Robot master and slave axis encoder position target value list |
| slave_reality_sync | double[][] | Robot external axis master and slave axis encoder position actual value list, 5 elements each containing 4 elements |
| slave_target_sync | double[][] | Robot external axis master and slave axis encoder position target value list |
{
"reality": [0, 0, 0, 0, 0, 0, 0],
"realitySync": [0, 0, 0, 0, 0],
"robot": 1,
"target": [0, 0, 0, 0, 0, 0, 0],
"targetSync": [0, 0, 0, 0, 0],
"slave_reality": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_target": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_reality_sync": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
"slave_target_sync": [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
}PDO Operation
Note: 5 elements represent the robot's 5 external axes; each element contains 4 sub-elements, 1st: master axis, 2-4: slave axes
Host Sends Write PDO
Command Word: 0x2056
| Field | Type | Description |
|---|---|---|
| axisNum | uint | Slave station number |
| index | uint | Command word code |
| subindex | uint | Sub-command code |
| size | uint | Number of bits |
| value | - | Value to write |
{
"axisNum": 1,
"index": 0x0006,
"subindex": 0,
"size": 16,
"value": 6
}Motor Current Query
Query Robot Motor Current
Command Word: 0x3268
- No data needs to be sent
Controller Response
Command Word: 0x3269
| Field | Type | Description |
|---|---|---|
| current | double[] | Robot motor current list, unit ‰, length 7 |
| max_current | double[] | Robot maximum motor current list, unit ‰, length 7 |
| robot | int | Current robot number, range [1, 4] |
| sync_current | double[] | Robot external axis motor current list, unit ‰, length 5 |
| sync_max_current | double[] | Robot external axis maximum motor current list, unit ‰, length 5 |
| slave_current | double[][] | Robot master and slave axis motor maximum current list, 7 elements each containing 4 elements |
| slave_max_current | double[][] | Robot external axis master and slave axis motor current list, 7 elements |
| slave_sync_max_current | double[][] | Robot external axis master and slave axis motor maximum current list, 5 elements |
{
"current": [0,0,0,0,0,0,0],
"max_current": [0,0,0,0,0,0,0],
"robot": 1,
"sync_current": [0,0,0,0,0],
"sync_max_current": [0,0,0,0,0],
"slave_current": [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],
"slave_max_current": [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],
"slave_sync_max_current": [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
}Motor Temperature Query
Query Robot Motor Temperature
Command Word: 0x326A
- No data needs to be sent
Controller Response
Command Word: 0x326B
| Field | Type | Description |
|---|---|---|
| temperature | double[] | Robot motor temperature list, unit °C, length 7 |
| maxTemperature | double[] | Robot maximum motor temperature list, unit °C |
| temperatureSync | double[] | Robot external axis motor temperature list, unit °C |
| maxtemperatureSync | double[] | Robot external axis maximum motor temperature list, unit °C |
| slave_temperature | double[][] | Robot master and slave axis servo temperature list, 7 elements |
| slave_temperature_max | double[][] | Robot master and slave axis servo maximum temperature list, 7 elements |
| slave_temperature_sync_out | double[][] | Robot external axis master and slave axis servo temperature list, 5 elements |
| slave_temperature_sync_out_max | double[][] | Robot external axis master and slave axis servo maximum temperature list, 5 elements |
{
"temperature": [0.0,0.0,0.0,0.0,0.0,0.0,0.0],
"maxTemperature": [0.0,0.0,0.0,0.0,0.0,0.0,0.0],
"temperatureSync": [0.0,0.0,0.0,0.0,0.0],
"maxtemperatureSync": [0.0,0.0,0.0,0.0,0.0],
"slave_temperature": [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],
"slave_temperature_max": [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],
"slave_temperature_sync_out": [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],
"slave_temperature_sync_out_max": [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
}