Skip to content

Conveyor Tracking

Conveyor Parameters

Set Conveyor Parameters

0x4801 TRACK_CONVEYOR_CONVEYORPARAM_SET

Request parameters:

FieldTypeDescription
conveyorIDintConveyor process number
robotintRobot number
compensation.encoderValdoubleTracking compensation encoder value
compensation.timedoubleTracking compensation time
conveyor.encoderDirectionintEncoder direction: 1-Forward; -1-Reverse
conveyor.encoderResolutiondoubleEncoder resolution
conveyor.maxEncoderValdoubleEncoder count maximum
conveyor.minEncoderValdoubleEncoder count minimum
conveyor.posRecordModeintConveyor position mode: 0-Encoder; 1-Constant speed setting
conveyor.speeddoubleSpeed when conveyor position mode is constant speed setting
conveyor.userCoordintUser coordinate system 1~9
track.heightintTracking target height: 0-Sensor sensing; 1-Tracking instruction teaching
track.track_on_run_mode_with_target_overrunintTarget overrun run mode: 0-Wait for next target; 1-Skip line to tracking end run
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Return Conveyor Parameters

0x4803 TRACK_CONVEYOR_CONVEYORPARAM_RESPOND

Response parameters (field descriptions refer to 0x4801):

json
{
  "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:

FieldTypeDescription
conveyorIDintConveyor process number
robotintRobot number
detectSrc.typeintWorkpiece detection signal source: 0-Vision; 1-IO; 2-Global variable
detectSrc.globalVarstringActive when workpiece detection signal source is 2-Global variable
detectSrc.DI_capturePosintActive when workpiece detection signal source is 1-IO
detectSrc.visionIDintVision process number
detectSrc.vision_io_filter_typeintVision IO signal filter: 0-Signal trigger filter; 1-Signal disappearance filter
detectSrc.vision_latch_encoder_value_typeintVision latch encoder value: 0-Trigger latch; 1-Data received latch
identification.communicationintVision communication mode: 0-Ethernet; 1-Modbus
identification.sensorTrgintSensor trigger mode: 0-Low level trigger; 1-High level trigger
identification.typeintWorkpiece identification mode: 0-Vision; 1-Sensor
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Response to Real-time Query

0x4808 TRACK_CONVEYOR_REALTIME_RESPOND

Response parameters:

FieldTypeDescription
conveyorIDintConveyor process number
robotintRobot number
conveyor.encoderValuedoubleEncoder value (int64 type)
conveyor.speeddoubleConveyor speed
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Response to User Coordinate System Query

0x480F TRACK_CONVEYOR_USERCOORD_RESPOND

Response parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
userCoordintUser coordinate number
userFramearrayUser coordinate system in radians
userFrameDegarrayUser coordinate system in degrees
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Calibration Coordinate Acquisition

0x4811 TRACK_CONVEYOR_USERCOORD_CALIBRATION

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
posNumintCalibration count (calibrate 3 times: 1, 2, 3)
json
{
  "robot": 1,
  "conveyorID": 1,
  "posNum": 1
}

Query Calibrated Point Coordinates

0x4812 RACK_CONVEYOR_CALIBRATION_INQUIRE

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
posNumintQuery calibration value (1, 2, 3)
json
{
  "robot": 1,
  "conveyorID": 1,
  "posNum": 1
}

Return Calibrated Point Coordinates

0x4813 TRACK_CONVEYOR_CALIBRATION_RESPOND

Response parameters:

FieldTypeDescription
posNumintCalibration point count
posXdoublex coordinate
posYdoubley coordinate
encodorValueintEncoder value (int64 type)
json
{
  "posNum": 1,
  "posX": 1.0,
  "posY": 1.0,
  "encodorValue": 72329
}

Clear Calibration Values

0x4814 TRACK_CONVEYOR_CALIBRATION_CLEAR

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
posNumintCalibration point sequence number

Returns 0x4813 format

json
{
  "robot": 1,
  "conveyorID": 1,
  "posNum": 1
}

Cancel Calibration

0x4815 TRACK_CONVEYOR_CALIBRATION_CANCEL

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Response to Sensor Position Query

0x4817 TRACK_CONVEYOR_SENSORPOS_RESPOND

Response parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
sensorPosobjectSensor position in radians
sensorPosDegobjectSensor position in degrees
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Response to Sensor Position Calibration Parameter Query

0x4819 TRACK_CONVEYOR_SENSORPOS_CALIBRATION_RESPOND

Response parameters:

FieldTypeDescription
sensorCalibration.IO_encodorCirclesintIO encoder revolutions
sensorCalibration.IO_encodorValueintSensor encoder value (int64 type)
sensorCalibration.IO_timeintIO time
sensorCalibration.calib_XdoubleCalibration point UX
sensorCalibration.calib_YdoubleCalibration point UY
sensorCalibration.calib_encodorCirclesintCalibration encoder revolutions
sensorCalibration.calib_encodorValueintCalibration point encoder value (int64 type)
sensorCalibration.calib_timeintCalibration time
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number

Response returns 0x4819 format

json
{
  "robot": 1,
  "conveyorID": 1
}

Sensor Tracking Grab Posture Parameter Query

0x481C TRACK_CONVEYOR_SENSOR_GRABGESTURE_INQUIRE

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Response to Sensor Tracking Grab Posture Query

0x481D TRACK_CONVEYOR_SENSOR_GRABGESTURE_RESPOND

Response parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
grabGestureobjectGrab posture in radians
grabGesture.ZdoubleGrab posture UZ (unit mm)
grabGesture.AdoubleUA (unit rad)
grabGesture.BdoubleUB (unit rad)
grabGesture.CdoubleUC (unit rad)
grabGestureDegobjectGrab posture in degrees
grabGestureDeg.ZdoubleGrab posture (unit mm)
grabGestureDeg.AdoubleUA (unit deg)
grabGestureDeg.BdoubleUB (unit deg)
grabGestureDeg.CdoubleUC (unit deg)
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number

Response returns 0x481D format

json
{
  "robot": 1,
  "conveyorID": 1
}

Clear Calibration Values

0x4820 TRACK_CONVEYOR_SENSORPOS_CALIBRATION_CLEAR

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
typeint0-Clear sensor position calibration parameters; 1-Clear grab posture parameters
  • If type is 0: Returns 0x4819
  • If type is 1: Returns 0x481D
json
{
  "robot": 1,
  "conveyorID": 1,
  "type": 0
}

Cancel Calibration

0x4821 TRACK_CONVEYOR_SENSORPOS_CALIBRATION_CANCEL

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Calculate Sensor Position

0x4822 TRACK_CONVEYOR_SENSORPOS_CALCULATE

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number

No response return

json
{
  "robot": 1,
  "conveyorID": 1
}

Manually Set Sensor Position Coordinates

0x4823 TRACK_CONVEYOR_SENSORPOS_SET

Request parameters:

FieldTypeDescription
conveyorIDintConveyor process number
robotintRobot number
sensorPosobjectSensor position coordinates
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
position.trackStartXPointdoubleTracking start X point
position.trackRangeXMaxdoubleTracking range X maximum
position.trackRangeYMindoubleTracking range Y minimum
position.trackRangeYMaxdoubleTracking range Y maximum
position.trackRangeZMindoubleTracking range Z minimum
position.trackRangeZMaxdoubleTracking range Z maximum
position.receLatestPosdoubleLatest receive position
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "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:

FieldTypeDescription
conveyorIDintConveyor process number
robotintRobot number
positionobjectPosition parameter object
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
typeintCalibration type

type type description:

type ValueDescription
1Tracking start X point
2Tracking range X maximum
3Tracking range Y minimum
4Tracking range Y maximum
5Tracking range Z minimum
6Tracking range Z maximum
7Latest receive position
json
{
  "robot": 1,
  "conveyorID": 1,
  "type": 1
}

Return Calibrated Position

0x4834 TRACK_CONVEYOR_POSITION_CALIBRATION_RESPOND

Response parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
typeintSequence number
valuedoubleCalibrated x/y/z coordinate value
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
typeintCalibration type (follow 0x4833 description)
json
{
  "robot": 1,
  "conveyorID": 1,
  "type": 1
}

Conveyor Parameter Management

Copy Conveyor Parameters

0x4835 TRACK_CONVEYOR_PARAM_COPY

Request parameters:

FieldTypeDescription
robotintRobot number
srcConveyorIDintSource conveyor process number
dstConveyorIDintDestination conveyor process number

Note: Example is copying from 1 to 2

json
{
  "robot": 1,
  "srcConveyorID": 1,
  "dstConveyorID": 2
}

Clear Conveyor Parameters

0x4836 TRACK_CONVEYOR_PARAM_CLEAR

Request parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Wait Point

Set and Save Wait Point

0x483A TRACK_CONVEYOR_WAITPOINT_SET

Request parameters:

FieldTypeDescription
conveyorIDintConveyor process number
robotintRobot number
delayDetectTimedoubleDelay detection time (s)
isWaitboolWhether to go to designated point and wait when no workpiece
posarrayCartesian coordinates (Euler angles in radians)
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Response to Query

0x483C TRACK_CONVEYOR_WAITPOINT_RESPOND

Response parameters:

FieldTypeDescription
conveyorIDintConveyor process number
robotintRobot number
delayDetectTimedoubleWhether to go to designated point and wait when no workpiece
isWaitboolWhether to go to designated point and wait when no workpiece
posarrayCartesian coordinates (Euler angles in radians)
posDegarrayCartesian coordinates (Euler angles in degrees)
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}

Response to Calibration

0x483E TRACK_CONVEYOR_WAITPOINT_CALIBRATE_RESPOND

Response parameters:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
posarrayCartesian coordinates (Euler angles in radians)
posDegarrayCartesian coordinates (Euler angles in degrees)
json
{
  "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:

FieldTypeDescription
robotintRobot number
conveyorIDintConveyor process number
json
{
  "robot": 1,
  "conveyorID": 1
}