Conveyor Tracking
Conveyor Parameters
Set Conveyor Parameters
0x4801 TRACK_CONVEYOR_CONVEYORPARAM_SET
Request parameters:
| Field | Type | Description |
|---|---|---|
| conveyorID | int | Conveyor process number |
| robot | int | Robot number |
| compensation.encoderVal | double | Tracking compensation encoder value |
| compensation.time | double | Tracking compensation time |
| conveyor.encoderDirection | int | Encoder direction: 1-Forward; -1-Reverse |
| conveyor.encoderResolution | double | Encoder resolution |
| conveyor.maxEncoderVal | double | Encoder count maximum |
| conveyor.minEncoderVal | double | Encoder count minimum |
| conveyor.posRecordMode | int | Conveyor position mode: 0-Encoder; 1-Constant speed setting |
| conveyor.speed | double | Speed when conveyor position mode is constant speed setting |
| conveyor.userCoord | int | User coordinate system 1~9 |
| track.height | int | Tracking target height: 0-Sensor sensing; 1-Tracking instruction teaching |
| track.track_on_run_mode_with_target_overrun | int | Target overrun run mode: 0-Wait for next target; 1-Skip line to tracking end run |
{
"compensation": {
"encoderVal": 66,
"time": 10.0
},
"conveyor": {
"encoderDirection": 1,
"encoderResolution": 44.330,
"maxEncoderVal": 2147483647.0,
"minEncoderVal": -2147483648.0,
"posRecordMode": 0,
"speed": 9.0,
"userCoord": 4
},
"conveyorID": 1,
"robot": 1,
"track": {
"height": 1,
"track_on_run_mode_with_target_overrun": 1
}
}Query Conveyor Parameters
0x4802 TRACK_CONVEYOR_CONVEYORPARAM_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Return Conveyor Parameters
0x4803 TRACK_CONVEYOR_CONVEYORPARAM_RESPOND
Response parameters (field descriptions refer to 0x4801):
{
"compensation": {
"encoderVal": 88,
"time": 40.0
},
"conveyor": {
"encoderDirection": -1,
"encoderResolution": 44.0,
"encoderValue": 0.0,
"maxEncoderVal": 2147483612.0,
"minEncoderVal": -2147483612.0,
"posRecordMode": 0,
"speed": 0.0,
"userCoord": 2
},
"conveyorID": 2,
"robot": 1,
"track": {
"height": 0,
"track_on_run_mode_with_target_overrun": 0
}
}Parameter Identification
Set Parameter Identification
0x4804 TRACK_CONVEYOR_POSCHECKPARAM_SET
Request parameters:
| Field | Type | Description |
|---|---|---|
| conveyorID | int | Conveyor process number |
| robot | int | Robot number |
| detectSrc.type | int | Workpiece detection signal source: 0-Vision; 1-IO; 2-Global variable |
| detectSrc.globalVar | string | Active when workpiece detection signal source is 2-Global variable |
| detectSrc.DI_capturePos | int | Active when workpiece detection signal source is 1-IO |
| detectSrc.visionID | int | Vision process number |
| detectSrc.vision_io_filter_type | int | Vision IO signal filter: 0-Signal trigger filter; 1-Signal disappearance filter |
| detectSrc.vision_latch_encoder_value_type | int | Vision latch encoder value: 0-Trigger latch; 1-Data received latch |
| identification.communication | int | Vision communication mode: 0-Ethernet; 1-Modbus |
| identification.sensorTrg | int | Sensor trigger mode: 0-Low level trigger; 1-High level trigger |
| identification.type | int | Workpiece identification mode: 0-Vision; 1-Sensor |
{
"conveyorID": 1,
"detectSrc": {
"type": 0,
"globalVar": "GB018",
"DI_capturePos": 9,
"visionID": 3,
"vision_io_filter_type": 0,
"vision_latch_encoder_value_type": 1
},
"identification": {
"communication": 1,
"sensorTrg": 1,
"type": 0
},
"robot": 1
}Query Workpiece Identification Parameters
0x4805 TRACK_CONVEYOR_POSCHECKPARAM_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Return Workpiece Identification Parameters
0x4806 TRACK_CONVEYOR_POSCHECKPARAM_RESPOND
Data same as 0x4804
Real-time Query
Real-time Query of Encoder Value and Conveyor Speed
0x4807 TRACK_CONVEYOR_REALTIME_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Response to Real-time Query
0x4808 TRACK_CONVEYOR_REALTIME_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| conveyorID | int | Conveyor process number |
| robot | int | Robot number |
| conveyor.encoderValue | double | Encoder value (int64 type) |
| conveyor.speed | double | Conveyor speed |
{
"conveyor": {
"encoderValue": 72361.0,
"speed": 0.0
},
"conveyorID": 1,
"robot": 1
}Conveyor Coordinate System Calibration
Query User Coordinate System
0x480E TRACK_CONVEYOR_USERCOORD_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Response to User Coordinate System Query
0x480F TRACK_CONVEYOR_USERCOORD_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| userCoord | int | User coordinate number |
| userFrame | array | User coordinate system in radians |
| userFrameDeg | array | User coordinate system in degrees |
{
"robot": 1,
"conveyorID": 1,
"userCoord": 1,
"userFrame": [1, 2, 3, 1.1, 1.2, 1.3],
"userFrameDeg": [1, 2, 3, 90, 90, 90]
}Calculate User Coordinate System
0x4810 TRACK_CONVEYOR_USERCOORD_CALCULATE
After calibrating 3 times with 0x4811, use 0x4810 to calculate the user coordinate system. It will return 0x3C02{"result":true} to check if calibration is successful
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Calibration Coordinate Acquisition
0x4811 TRACK_CONVEYOR_USERCOORD_CALIBRATION
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| posNum | int | Calibration count (calibrate 3 times: 1, 2, 3) |
{
"robot": 1,
"conveyorID": 1,
"posNum": 1
}Query Calibrated Point Coordinates
0x4812 RACK_CONVEYOR_CALIBRATION_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| posNum | int | Query calibration value (1, 2, 3) |
{
"robot": 1,
"conveyorID": 1,
"posNum": 1
}Return Calibrated Point Coordinates
0x4813 TRACK_CONVEYOR_CALIBRATION_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| posNum | int | Calibration point count |
| posX | double | x coordinate |
| posY | double | y coordinate |
| encodorValue | int | Encoder value (int64 type) |
{
"posNum": 1,
"posX": 1.0,
"posY": 1.0,
"encodorValue": 72329
}Clear Calibration Values
0x4814 TRACK_CONVEYOR_CALIBRATION_CLEAR
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| posNum | int | Calibration point sequence number |
Returns 0x4813 format
{
"robot": 1,
"conveyorID": 1,
"posNum": 1
}Cancel Calibration
0x4815 TRACK_CONVEYOR_CALIBRATION_CANCEL
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Sensor Position Calibration
Note: If using vision for workpiece identification, calibration is not needed, skip directly. For sensor, 0x4804 needs to be set to sensor and sensor trigger mode.
Sensor Position Query
0x4816 TRACK_CONVEYOR_SENSORPOS_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Response to Sensor Position Query
0x4817 TRACK_CONVEYOR_SENSORPOS_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| sensorPos | object | Sensor position in radians |
| sensorPosDeg | object | Sensor position in degrees |
{
"robot": 1,
"conveyorID": 1,
"sensorPos": {
"X": 1.0,
"Y": 1.0,
"Z": 1.0,
"A": 1.0,
"B": 1.0,
"C": 1.0
},
"sensorPosDeg": {
"X": 1.0,
"Y": 1.0,
"Z": 1.0,
"A": 90,
"B": 90,
"C": 90
}
}Sensor Position Start Calibration Query
0x4818 TRACK_CONVEYOR_SENSORPOS_CALIBRATION_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Response to Sensor Position Calibration Parameter Query
0x4819 TRACK_CONVEYOR_SENSORPOS_CALIBRATION_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| sensorCalibration.IO_encodorCircles | int | IO encoder revolutions |
| sensorCalibration.IO_encodorValue | int | Sensor encoder value (int64 type) |
| sensorCalibration.IO_time | int | IO time |
| sensorCalibration.calib_X | double | Calibration point UX |
| sensorCalibration.calib_Y | double | Calibration point UY |
| sensorCalibration.calib_encodorCircles | int | Calibration encoder revolutions |
| sensorCalibration.calib_encodorValue | int | Calibration point encoder value (int64 type) |
| sensorCalibration.calib_time | int | Calibration time |
{
"sensorCalibration": {
"IO_encodorCircles": 0,
"IO_encodorValue": 441797,
"IO_time": 0,
"calib_X": 16.945789025163,
"calib_Y": -7.513256884209,
"calib_encodorCircles": 0,
"calib_encodorValue": 472018,
"calib_time": 0
}
}Sensor Position Parameter Calibration
0x481A TRACK_CONVEYOR_SENSORPOS_CALIBRATE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
Response returns 0x4819 format
{
"robot": 1,
"conveyorID": 1
}Sensor Tracking Grab Posture Parameter Query
0x481C TRACK_CONVEYOR_SENSOR_GRABGESTURE_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Response to Sensor Tracking Grab Posture Query
0x481D TRACK_CONVEYOR_SENSOR_GRABGESTURE_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| grabGesture | object | Grab posture in radians |
| grabGesture.Z | double | Grab posture UZ (unit mm) |
| grabGesture.A | double | UA (unit rad) |
| grabGesture.B | double | UB (unit rad) |
| grabGesture.C | double | UC (unit rad) |
| grabGestureDeg | object | Grab posture in degrees |
| grabGestureDeg.Z | double | Grab posture (unit mm) |
| grabGestureDeg.A | double | UA (unit deg) |
| grabGestureDeg.B | double | UB (unit deg) |
| grabGestureDeg.C | double | UC (unit deg) |
{
"robot": 1,
"conveyorID": 1,
"grabGesture": {
"Z": 1,
"A": 3.14,
"B": 3.14,
"C": 3.14
},
"grabGestureDeg": {
"Z": 1,
"A": 180,
"B": 180,
"C": 180
}
}Sensor Tracking Grab Posture Calibration
0x481E TRACK_CONVEYOR_SENSOR_GRABGESTURE_CALIBRATE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
Response returns 0x481D format
{
"robot": 1,
"conveyorID": 1
}Clear Calibration Values
0x4820 TRACK_CONVEYOR_SENSORPOS_CALIBRATION_CLEAR
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| type | int | 0-Clear sensor position calibration parameters; 1-Clear grab posture parameters |
- If type is 0: Returns 0x4819
- If type is 1: Returns 0x481D
{
"robot": 1,
"conveyorID": 1,
"type": 0
}Cancel Calibration
0x4821 TRACK_CONVEYOR_SENSORPOS_CALIBRATION_CANCEL
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Calculate Sensor Position
0x4822 TRACK_CONVEYOR_SENSORPOS_CALCULATE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
No response return
{
"robot": 1,
"conveyorID": 1
}Manually Set Sensor Position Coordinates
0x4823 TRACK_CONVEYOR_SENSORPOS_SET
Request parameters:
| Field | Type | Description |
|---|---|---|
| conveyorID | int | Conveyor process number |
| robot | int | Robot number |
| sensorPos | object | Sensor position coordinates |
{
"conveyorID": 1,
"robot": 1,
"sensorPos": {
"X": 300.0,
"Y": 500.0,
"Z": 0.0,
"A": 2.0,
"B": 3.0,
"C": 1.0
}
}Conveyor Tracking Position Parameters
Set Conveyor Tracking Position Parameters
0x4830 TRACK_CONVEYOR_POSITION_SET
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| position.trackStartXPoint | double | Tracking start X point |
| position.trackRangeXMax | double | Tracking range X maximum |
| position.trackRangeYMin | double | Tracking range Y minimum |
| position.trackRangeYMax | double | Tracking range Y maximum |
| position.trackRangeZMin | double | Tracking range Z minimum |
| position.trackRangeZMax | double | Tracking range Z maximum |
| position.receLatestPos | double | Latest receive position |
{
"robot": 1,
"conveyorID": 1,
"position": {
"trackStartXPoint": 123.123,
"trackRangeXMax": 213.213,
"trackRangeYMin": 132.132,
"trackRangeYMax": 321.321,
"trackRangeZMin": 231.231,
"trackRangeZMax": 312.312,
"receLatestPos": 123.321
}
}Query Conveyor Tracking Position Parameters
0x4831 TRACK_CONVEYOR_POSITION_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Return Conveyor Tracking Position Parameters
0x4832 TRACK_CONVEYOR_POSITION_RESPOND
Note: The returned position parameter includes posToMove which is the 0x4833 calibration point
Response parameters:
| Field | Type | Description |
|---|---|---|
| conveyorID | int | Conveyor process number |
| robot | int | Robot number |
| position | object | Position parameter object |
{
"conveyorID": 1,
"position": {
"posToMove": [
[460.0, -0.0, 637.0, 3.141592653590, 0.0, 0.0],
[673.357147963110, 0.0, 636.999999229013, -3.141592653590, -0.000000002140, 0.0],
[673.357147430654, -18.080268801310, 637.000001461924, 3.141592653455, 0.000000005033, 0.000000000544],
[673.357149063614, 52.919529211370, 636.999998014958, -3.141592653427, 0.000000002068, -0.000000006378],
[673.357147022746, 52.919529050977, 624.778829506012, -3.141592653511, 0.000000000996, -0.000000006378],
[460.000000414210, 0.0, 653.669918424025, -3.141592653590, 0.000000009006, 0.0],
[504.163633239677, 0.0, 636.999998392068, -3.141592653590, 0.000000009404, 0.0]
],
"receLatestPos": 504.1640,
"trackRangeXMax": 673.3570,
"trackRangeYMax": 52.920,
"trackRangeYMin": -18.080,
"trackRangeZMax": 653.670,
"trackRangeZMin": 624.7790,
"trackStartXPoint": 460.0
},
"robot": 1
}Calibrate Position
0x4833 TRACK_CONVEYOR_POSITION_CALIBRATION
Note: Need to write with 0x4830 to persist
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| type | int | Calibration type |
type type description:
| type Value | Description |
|---|---|
| 1 | Tracking start X point |
| 2 | Tracking range X maximum |
| 3 | Tracking range Y minimum |
| 4 | Tracking range Y maximum |
| 5 | Tracking range Z minimum |
| 6 | Tracking range Z maximum |
| 7 | Latest receive position |
{
"robot": 1,
"conveyorID": 1,
"type": 1
}Return Calibrated Position
0x4834 TRACK_CONVEYOR_POSITION_CALIBRATION_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| type | int | Sequence number |
| value | double | Calibrated x/y/z coordinate value |
{
"robot": 1,
"conveyorID": 1,
"type": 1,
"value": 2.33
}Move to Specified Position
0x4837 TRACK_CONVEYOR_POSITION_TO_MOVE
Note: First 0x4831 then 0x4837
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| type | int | Calibration type (follow 0x4833 description) |
{
"robot": 1,
"conveyorID": 1,
"type": 1
}Conveyor Parameter Management
Copy Conveyor Parameters
0x4835 TRACK_CONVEYOR_PARAM_COPY
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| srcConveyorID | int | Source conveyor process number |
| dstConveyorID | int | Destination conveyor process number |
Note: Example is copying from 1 to 2
{
"robot": 1,
"srcConveyorID": 1,
"dstConveyorID": 2
}Clear Conveyor Parameters
0x4836 TRACK_CONVEYOR_PARAM_CLEAR
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Wait Point
Set and Save Wait Point
0x483A TRACK_CONVEYOR_WAITPOINT_SET
Request parameters:
| Field | Type | Description |
|---|---|---|
| conveyorID | int | Conveyor process number |
| robot | int | Robot number |
| delayDetectTime | double | Delay detection time (s) |
| isWait | bool | Whether to go to designated point and wait when no workpiece |
| pos | array | Cartesian coordinates (Euler angles in radians) |
{
"conveyorID": 1,
"delayDetectTime": 0.50,
"isWait": false,
"pos": [
679.5430,
-229.9020,
-25.2720,
3.14159260,
0.0,
0.436454478601
],
"robot": 1
}Query Wait Point
0x483B TRACK_CONVEYOR_WAITPOINT_INQUIRE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Response to Query
0x483C TRACK_CONVEYOR_WAITPOINT_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| conveyorID | int | Conveyor process number |
| robot | int | Robot number |
| delayDetectTime | double | Whether to go to designated point and wait when no workpiece |
| isWait | bool | Whether to go to designated point and wait when no workpiece |
| pos | array | Cartesian coordinates (Euler angles in radians) |
| posDeg | array | Cartesian coordinates (Euler angles in degrees) |
{
"conveyorID": 1,
"delayDetectTime": 2.50,
"isWait": false,
"pos": [
679.5430,
-209.9020,
-25.2720,
3.14159260,
0.0,
0.436454478601,
null
],
"posDeg": [
679.5430,
-209.9020,
-25.2720,
179.999996929531,
0.0,
25.006999573420,
0.0
],
"robot": 1
}Calibrate Wait Point
0x483D TRACK_CONVEYOR_WAITPOINT_CALIBRATE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}Response to Calibration
0x483E TRACK_CONVEYOR_WAITPOINT_CALIBRATE_RESPOND
Response parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
| pos | array | Cartesian coordinates (Euler angles in radians) |
| posDeg | array | Cartesian coordinates (Euler angles in degrees) |
{
"robot": 1,
"conveyorID": 1,
"pos": [1, 2, 3, 4, 5, 6, 7],
"posDeg": [1, 2, 3, 4, 5, 6, 7]
}Move to Wait Point
0x483F TRACK_CONVEYOR_WAITPOINT_CALIBRATE_MOVE
Request parameters:
| Field | Type | Description |
|---|---|---|
| robot | int | Robot number |
| conveyorID | int | Conveyor process number |
{
"robot": 1,
"conveyorID": 1
}