Skip to content

Seam Tracking Process

Set Laser Parameters

Teach pendant laser parameters entry form used to configure communication, IP, port, vendor, and timeout settings for the seam-tracking laser

Set laser configuration parameters

Teach pendant detailed laser parameter configuration panel showing communication mode, network state, log, and vendor list

0x4130 TRACK_LASER_PARAM_SET

json
{
  "fileNum": 1,
  "laserParam": {
    "communication": 1,
    "devid": 1,
    "ip": "192.168.1.3",
    "port": 502,
    "responseTimeout": 0.3,
    "scaleFactor": 0.01,
    "timeLimit": 500.0,
    "timePeriod": 50.0,
    "vendor": "Chuangxiang"
  },
  "robot": 1
}
Parameter NameTypeRequiredDescription
fileNumintYesLaser file number
robotintYesRobot number
laserParam.communicationintYesCommunication mode: 0-modbus tcp, 1-ethernet tcp
laserParam.devidintYesDevice number
laserParam.ipstringYesIP address
laserParam.portintYesPort number
laserParam.responseTimeoutfloatNoResponse timeout
laserParam.scaleFactorfloatNoLaser return value scale factor
laserParam.timeLimitfloatNoRead/write timeout (ms)
laserParam.timePeriodfloatNoRead/write period (ms)
laserParam.vendorstringNoLaser manufacturer

Query laser parameters

0x4131 TRACK_LASER_PARAM_INQUIRE

json
{
  "robot": 1,
  "fileNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number

Response of laser parameters

0x4132 TRACK_LASER_PARAM_RESPOND

json
{
  "fileNum": 1,
  "laserParam": {
    "commLog": false,
    "communication": 0,
    "devid": 88,
    "ip": "192.168.1.3",
    "netstate": false,
    "port": 502,
    "responseTimeout": 0.3,
    "scaleFactor": 0.01,
    "timeLimit": 500.0,
    "timePeriod": 50,
    "vendor": "Chuangxiang",
    "vendorlist": [
      "Generic",
      "Chuangxiang",
      "Ruiboshi",
      "Ruinui",
      "Tongzhou Tech",
      "Zhongke Hongwei",
      "Quanshi Zhineng",
      "Shenggong Zhineng",
      "Kangpuman",
      "Qingdong"
    ]
  },
  "robot": 1
}
Parameter NameTypeDescription
fileNumintLaser file number
robotintRobot number
laserParam.commLogboolCommunication log
laserParam.communicationintCommunication mode: 0-modbus tcp, 1-ethernet tcp
laserParam.devidintDevice number
laserParam.ipstringIP address
laserParam.netstateboolNetwork status
laserParam.portintPort number
laserParam.responseTimeoutfloatResponse timeout
laserParam.scaleFactorfloatLaser return value scale factor
laserParam.timeLimitfloatRead/write timeout (ms)
laserParam.timePeriodfloatRead/write period (ms)
laserParam.vendorstringLaser manufacturer
laserParam.vendorlistarrayLaser manufacturer list

Laser Calibration

Teach pendant Laser Calibration screen listing calibration point records 1 through 7 with their marked status

Calibration record query

0x4140 SENSOR_LASER_CALIBRATE_INQUIRE

json
{
  "robot": 1,
  "fileNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number

Return 0x4140 query result

0x4141 SENSOR_LASER_CALIBRATE_RESPOND

json
{
  "robot": 1,
  "fileNum": 1,
  "recordResult": {
    "point1": false,
    "point2": false,
    "point3": false,
    "point4": false,
    "point5": false,
    "point6": false,
    "point7": false
  }
}
Parameter NameTypeDescription
robotintRobot number
fileNumintLaser file number
recordResult.point1~7boolRecord result of each calibration point

Record calibration point

0x4142 SENSOR_LASER_CALIBRATE_RECORD

json
{
  "robot": 1,
  "fileNum": 1,
  "pointNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number
pointNumintYesCalibration point number (range 1~7)

Query calibration result

0x4143 SENSOR_LASER_CALIBRATE_RECORD_RESPOND

json
{
  "robot": 1,
  "fileNum": 1,
  "pointNum": 1,
  "recordResult": true
}
Parameter NameTypeDescription
robotintRobot number
fileNumintLaser file number
pointNumintCalibration point number
recordResultboolRecord result

Move to calibration point

0x4144 SENSOR_LASER_CALIBRATE_MOVETO

json
{
  "robot": 1,
  "fileNum": 1,
  "pointNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number
pointNumintYesCalibration point number

Calculate calibration result

0x4145 SENSOR_LASER_CALIBRATE_CALCULATE

json
{
  "robot": 1,
  "fileNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number

Return 0x4145 calculation result

0x4146 SENSOR_LASER_CALIBRATE_CALCULATE_RESPOND

json
{
  "robot": 1,
  "fileNum": 1,
  "result": true
}
Parameter NameTypeDescription
robotintRobot number
fileNumintLaser file number
resultboolCalculation result

Clear calibration records

0x4147 SENSOR_LASER_CALIBRATE_CLEAR

json
{
  "robot": 1,
  "fileNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number

Returns 0x4141


Cancel calibration

0x4148 SENSOR_LASER_CALIBRATE_CANCEL

json
{
  "robot": 1,
  "fileNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number

Query whether laser is calibrated

0x4149 SENSOR_LASER_CALIBRATE_RESULT_INQUIRE

json
{
  "robot": 1,
  "fileNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number

Response to 0x4149 query result

0x414A SENSOR_LASER_CALIBRATE_RESULT_RESPOND

json
{
  "robot": 1,
  "fileNum": 1,
  "laserCalibrated": false
}
Parameter NameTypeDescription
robotintRobot number
fileNumintLaser file number
laserCalibratedboolWhether calibrated

Set Locating Type

Teach pendant Locating Sensor Type selector with options for Line laser or Arc sensor

0x4133 LOCATING_SENSORTYPE_SET

json
{
  "fileNum": 77,
  "robot": 1,
  "sensorType": 0
}
Parameter NameTypeRequiredDescription
fileNumintYesLaser file number
robotintYesRobot number
sensorTypeintYesLocating type: 0-Line laser, 1-Arc

Query locating type

0x4134 LOCATING_SENSORTYPE_INQUIRE

json
{
  "robot": 1,
  "fileNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number

Response to locating type

0x4135 LOCATING_SENSORTYPE_RESPOND

json
{
  "robot": 1,
  "fileNum": 1,
  "sensorType": 0
}
Parameter NameTypeDescription
robotintRobot number
fileNumintLaser file number
sensorTypeintLocating type: 0-Line laser, 1-Arc

Set Tracking Type

Teach pendant Tracking Sensor Type selector with options for Line laser, Arc, or Arc voltage

0x4169 TRACK_SENSORTYPE_SET

json
{
  "robot": 1,
  "fileNum": 1,
  "sensorType": 0
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number
sensorTypeintYesTracking type: 0-Line laser, 1-Arc, 2-Arc voltage

Query tracking type

0x4170 TRACK_SENSORTYPE_INQUIRE

json
{
  "robot": 1,
  "fileNum": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number

Return 0x4170 query result

0x4171 TRACK_SENSORTYPE_RESPOND

Same as 0x4169


Set Laser Tracking Parameter Table

Teach pendant Laser Tracking Parameter Table editor showing trackMode, sensitivity, compensation, filter, and position-hold settings

0x4136 TRACK_LASER_TRACKPARAM_SET

json
{
  "fileNum": 1,
  "robot": 1,
  "tableid": 98,
  "trackParam": {
    "compensateX": 1.0,
    "compensateY": 2.0,
    "compensateZ": 3.0,
    "din_end": 0,
    "dout_part_move": -1,
    "endPoint": {
      "interval": 6.0,
      "scanPeriod": 5.0
    },
    "filter": {
      "level": 4,
      "type": 1
    },
    "laserTaskId": 7,
    "positionHold": {
      "distance": 100.0,
      "switchon": false
    },
    "scanErrorLength": 8.0,
    "sensitivity": 3,
    "trackMode": 0
  }
}
Parameter NameTypeRequiredDescription
fileNumintYesLaser file number
robotintYesRobot number
tableidintYesTracking mode
trackParam.compensateXfloatNoX direction compensation
trackParam.compensateYfloatNoY direction compensation
trackParam.compensateZfloatNoZ direction compensation
trackParam.din_endintNoTracking end input IO
trackParam.dout_part_moveintNoWorkpiece rotation output IO
trackParam.endPoint.intervalfloatNoEnd point scan interval
trackParam.endPoint.scanPeriodfloatNoEnd point scan period
trackParam.filter.levelintNoFilter level
trackParam.filter.typeintNoFilter method: 0-None, 1-Moving average filter
trackParam.laserTaskIdintNoLaser task number
trackParam.positionHold.distancefloatNoLocating hold trigger distance
trackParam.positionHold.switchonboolNoLocating hold function: true enable, false disable
trackParam.scanErrorLengthfloatNoScan error confirmation distance
trackParam.sensitivityintNoSensitivity
trackParam.trackModeintNoTracking mode: 0-Absolute, 1-Fixed-point incremental, 2-Traveling incremental

Query laser tracking parameters

0x4137 TRACK_LASER_TRACKPARAM_INQUIRE

json
{
  "robot": 1,
  "fileNum": 1,
  "tableid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number
tableidintYesParameter table number

Response to laser tracking parameters

0x4138 TRACK_LASER_TRACKPARAM_RESPOND

Data: Same as 0x4136


Locating Parameter Table

Teach pendant Locating Parameter Table editor showing dynamic locating distance, speed, store type, and compensation values

Set locating parameters

0x4139 TRACK_LASER_SEARCHPARAM_SET

json
{
  "fileNum": 1,
  "robot": 1,
  "searchParam": {
    "compensateX": 2.0,
    "compensateY": 3.0,
    "compensateZ": 4.0,
    "dynamic": {
      "distance": 5.0,
      "pointIndex": 7,
      "speed": 6.0
    },
    "laserTaskId": 1,
    "storeType": 1
  },
  "tableid": 3
}
Parameter NameTypeRequiredDescription
fileNumintYesLocating file number
robotintYesRobot number
tableidintYesParameter table number
searchParam.compensateXfloatNoX direction compensation
searchParam.compensateYfloatNoY direction compensation
searchParam.compensateZfloatNoZ direction compensation
searchParam.dynamic.distancefloatNoDynamic locating distance
searchParam.dynamic.pointIndexintNoDynamic locating selection
searchParam.dynamic.speedfloatNoDynamic locating speed
searchParam.laserTaskIdintNoLaser task number
searchParam.storeTypeintNoLocating type: 0-Reference locating, 1-Correction locating

Query locating parameters

0x413A TRACK_LASER_SEARCHPARAM_INQUIRE

json
{
  "robot": 1,
  "fileNum": 1,
  "tableid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number
tableidintYesParameter table number

Response to locating parameters

0x413B TRACK_LASER_SEARCHPARAM_RESPOND

Data: Same as 0x4139


Teach pendant Copy Locating Parameters dialog for copying parameters between laser file numbers and clearing before copy

Copy locating parameters (must clear with 0x413D before copying)

0x413C TRACK_SEAMTRACK_PARAM_COPY

json
{
  "dstFileNum": 4,
  "fileNum": 1,
  "function": 1,
  "robot": 1,
  "sensorType": 0
}
Parameter NameTypeRequiredDescription
dstFileNumintYesFile number to copy to
fileNumintYesFile number to copy from
functionintYes0-Tracking, 1-Locating
robotintYesRobot number
sensorTypeintYesTracking type: 0-Line laser, 1-Arc, 2-Arc voltage; Locating type: 0-Line laser, 1-Arc

Clear locating parameters

0x413D TRACK_SEAMTRACK_PARAM_CLEAR

json
{
  "robot": 1,
  "fileNum": 1,
  "sensorType": 0,
  "function": 0
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
fileNumintYesLaser file number
sensorTypeintYesTracking type: 0-Line laser, 1-Arc, 2-Arc voltage; Locating type: 0-Line laser, 1-Arc
functionintYes0-Tracking, 1-Locating

Note: After clearing is complete, query parameters once


Arc Tracking

Teach pendant Arc Tracking overview panel showing the available sampling, lateral compensation, and vertical compensation sections

Set communication parameters

Teach pendant Arc Tracking communication parameter form for setting sampling data type (current/voltage) and period

0x4150 TRACK_ARC_COMMPARAM_SET

json
{
  "robot": 1,
  "craftid": 1,
  "sampling": {
    "dataType": 0,
    "period": 20
  }
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number
sampling.dataTypeintYesData type: 0-Current, 1-Voltage
sampling.periodintYesSampling period (0~1000)

Query communication parameters

0x4151 TRACK_ARC_COMMPARAM_INQUIRE

json
{
  "robot": 1,
  "craftid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number

Response to communication parameter query

0x4152 TRACK_ARC_COMMPARAM_RESPOND

json
{
  "robot": 1,
  "craftid": 1,
  "sampling": {
    "dataType": 0,
    "period": 20
  }
}
Parameter NameTypeDescription
robotintRobot number
craftidintTracking file number
sampling.dataTypeintData type: 0-Current, 1-Voltage
sampling.periodintSampling period (0~1000)

Set lateral compensation parameters

Teach pendant Lateral Compensation parameters panel for arc tracking with factor, threshold, algorithm, and switch controls

0x4153 TRACK_ARC_LATERALCOMPENPARAM_SET

json
{
  "craftid": 1,
  "robot": 1,
  "lateralCompensation": {
    "accFactor": 5.0,
    "algorithmType": 0,
    "beginCycleNum": 1,
    "factor": 2.0,
    "maxSingleLen": 4.0,
    "switchon": false,
    "threshold": 3.0
  }
}
Parameter NameTypeRequiredDescription
craftidintYesTracking file number
robotintYesRobot number
lateralCompensation.accFactorfloatNoCompensation acceleration factor (0.1~10)
lateralCompensation.algorithmTypeintNoDeviation extraction type: 0-Mean
lateralCompensation.beginCycleNumintNoStart sampling cycle count (1~1000)
lateralCompensation.factorfloatNoCorrection factor (0.001~1000)
lateralCompensation.maxSingleLenfloatNoMax compensation per cycle (0~10)
lateralCompensation.switchonboolNoCompensation switch
lateralCompensation.thresholdfloatNoCompensation threshold (0~1000)

Query lateral compensation parameters

0x4154 TRACK_ARC_LATERALCOMPENPARAM_INQUIRE

json
{
  "robot": 1,
  "craftid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number

Return lateral parameter query

0x4155 TRACK_ARC_LATERALCOMPENPARAM_RESPOND

Same as: 0x4153


Set vertical compensation parameters

Teach pendant Vertical Compensation parameters panel for arc tracking with factor, threshold, algorithm, and switch controls

0x4156 TRACK_ARC_VERTICALCOMPENPARAM_SET

json
{
  "craftid": 1,
  "robot": 1,
  "verticalCompensation": {
    "accFactor": 1,
    "algorithmType": 0,
    "beginCycleNum": 5,
    "factor": 4,
    "maxSingleLen": 2,
    "switchon": true,
    "threshold": 3
  }
}
Parameter NameTypeRequiredDescription
craftidintYesTracking file number
robotintYesRobot number
verticalCompensation.accFactorfloatNoCompensation acceleration factor
verticalCompensation.algorithmTypeintNoDeviation extraction type
verticalCompensation.beginCycleNumintNoStart sampling cycle count
verticalCompensation.factorfloatNoCorrection factor
verticalCompensation.maxSingleLenfloatNoMax compensation per cycle
verticalCompensation.switchonboolNoCompensation switch
verticalCompensation.thresholdfloatNoCompensation threshold

Query vertical compensation parameters

0x4157 TRACK_ARC_VERTICALCOMPENPARAM_INQUIRE

json
{
  "robot": 1,
  "craftid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number

Return vertical compensation parameter query

0x4158 TRACK_ARC_VERTICALCOMPENPARAM_RESPOND

Same as: 0x4156


Touch Locating Parameters

Teach pendant Touch Locating parameters editor with distance, speed, auto-return, deviation limit, and posture-change options

0x4160 SEARCH_TOUCH_PARAM_SET

json
{
  "craftid": 1,
  "robot": 1,
  "touchSearch": {
    "2ndAutoDistance": 8.0,
    "2ndAutoReturn": true,
    "2ndAutoVel": 9.0,
    "2ndDeviationLimit": 10.0,
    "2ndDistance": 6.0,
    "2ndSwitchon": false,
    "2ndVel": 7.0,
    "autoDistance": 3.0,
    "autoReturn": true,
    "autoVel": 4.0,
    "baseFlag": true,
    "compensation": 11.0,
    "deviationLimit": 5.0,
    "distance": 1.0,
    "isChangePose": false,
    "vel": 2.0
  }
}
Parameter NameTypeRequiredDescription
craftidintYesLocating file number
robotintYesRobot number
touchSearch.2ndAutoDistancefloatNoSecondary auto return distance
touchSearch.2ndAutoReturnboolNoSecondary auto return enable
touchSearch.2ndAutoVelfloatNoSecondary auto return speed
touchSearch.2ndDeviationLimitfloatNoSecondary over-deviation range
touchSearch.2ndDistancefloatNoSecondary locating distance
touchSearch.2ndSwitchonboolNoSecondary locating enable
touchSearch.2ndVelfloatNoSecondary locating speed
touchSearch.autoDistancefloatNoAuto return distance
touchSearch.autoReturnboolNoAuto return enable
touchSearch.autoVelfloatNoAuto return speed
touchSearch.baseFlagboolNoReference locating switch
touchSearch.compensationfloatNoMotion vector compensation
touchSearch.deviationLimitfloatNoOver-deviation range
touchSearch.distancefloatNoLocating distance
touchSearch.isChangePoseboolNoWhether to change posture
touchSearch.velfloatNoLocating speed

Query parameters

0x4161 SEARCH_TOUCH_PARAM_INQUIRE

json
{
  "robot": 1,
  "craftid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesLocating file number

Response to query

0x4162 SEARCH_TOUCH_PARAM_RESPOND

Parameters same as 0x4160


Arc Voltage Tracking

Teach pendant Arc Voltage Tracking parameter editor with base voltage calculation, collection settings, and PID tuning fields

Arc voltage tracking parameter setting

0x4163 ARC_VOLTAGE_TRACK_PARAMETERS_SET

json
{
  "base_calc": {
    "collect_time": 5.0,
    "method": 0,
    "vol_inc": 4.0,
    "voltage": 3.0
  },
  "collection": {
    "analog_port": 1,
    "equipment": 0,
    "invalid_data_time": 2.0,
    "period": 1
  },
  "craftid": 1,
  "pid": {
    "dev_shreshold": 9.0,
    "kd": 8.0,
    "ki": 7.0,
    "kp": 6.0,
    "max_iout": 10.0,
    "max_out": 11.0
  },
  "robot": 1
}
Parameter NameTypeRequiredDescription
craftidintYesTracking file number
robotintYesRobot number
base_calc.collect_timefloatNoWelding start calculation time (s)
base_calc.methodintNoBase voltage acquisition method: 0-Welding calculation, 1-Manual calculation
base_calc.vol_incfloatNoCalculation increment
base_calc.voltagefloatNoBase voltage (= calculation + increment)
collection.analog_portintNoArc voltage analog port (AIN-1...)
collection.equipmentintNoArc voltage acquisition equipment: 0-Welder, 1-Arc voltage module
collection.invalid_data_timefloatNoInvalid data time (s)
collection.periodintNoSampling period (ms)
pid.dev_shresholdfloatNoDeviation threshold
pid.kdfloatNoDerivative coefficient
pid.kifloatNoIntegral coefficient
pid.kpfloatNoProportional coefficient
pid.max_ioutfloatNoIntegral limit
pid.max_outfloatNoOutput limit

Arc voltage tracking parameter query

0x4164 ARC_VOLTAGE_TRACK_PARAMETERS_INQUIRE

json
{
  "robot": 1,
  "craftid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number

Response to arc voltage tracking parameter query

0x4165 ARC_VOLTAGE_TRACK_PARAMETERS_RESPOND

Same as: 0x4163


Arc voltage tracking base voltage calculation start

0x4166 ARC_VOLTAGE_TRACK_BASEVOLTAGE_CALC_START

json
{
  "robot": 1,
  "craftid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number

Arc voltage tracking base voltage calculation end

0x4167 ARC_VOLTAGE_TRACK_BASEVOLTAGE_CALC_END

json
{
  "robot": 1,
  "craftid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number

Calculate arc voltage tracking base voltage

0x4168 ARC_VOLTAGE_TRACK_BASEVOLTAGE_CALC

json
{
  "robot": 1,
  "craftid": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number

Return 0x4168 calculation result

ARC_VOLTAGE_TRACK_BASEVOLTAGE_CALCULESULTS_GET

json
{
  "basic_calc": {
    "voltage": 0.0
  }
}
Parameter NameTypeDescription
basic_calc.voltagefloatBase voltage

Modify arc voltage tracking window parameters

0x416B ARC_VOLTAGE_TRACK_WINDOWSPARAM_SET

json
{
  "base_calc": {
    "vol_inc": 4.0,
    "voltage": 3.0
  },
  "craftid": 3,
  "robot": 1
}
Parameter NameTypeRequiredDescription
robotintYesRobot number
craftidintYesTracking file number
base_calc.vol_incfloatNoCalculation increment
base_calc.voltagefloatNoBase voltage