2. Data Structure Description

2.1. Joint Position Data Type

 1/**
 2* @brief Joint position data type
 3*/
 4public class JointPos
 5{
 6  double J1;
 7  double J2;
 8  double J3;
 9  double J4;
10  double J5;
11  double J6;
12
13  public JointPos(double j1, double j2, double j3, double j4, double j5, double j6)
14  {
15    J1 = j1;
16    J2 = j2;
17    J3 = j3;
18    J4 = j4;
19    J5 = j5;
20    J6 = j6;
21  }
22
23  public JointPos()
24  {
25
26  }
27}

2.2. Cartesian Space Position Data Type

 1/**
 2* @brief Cartesian space position data type
 3*/
 4public class DescTran
 5{
 6  public double x = 0.0;    /* X-axis coordinate, unit: mm */
 7  public double y = 0.0;    /* Y-axis coordinate, unit: mm */
 8  public double z = 0.0;    /* Z-axis coordinate, unit: mm */
 9  public DescTran(double posX, double posY, double posZ)
10  {
11    x = posX;
12    y = posY;
13    z = posZ;
14  }
15
16  public DescTran()
17  {
18
19  }
20
21}

2.3. Euler Angle Attitude Data Type

 1/**
 2* @brief Euler angle attitude data type
 3*/
 4public class Rpy
 5{
 6  public double rx = 0.0;   /* Rotation angle around fixed X-axis, unit: deg */
 7  public double ry = 0.0;   /* Rotation angle around fixed Y-axis, unit: deg */
 8  public double rz = 0.0;   /* Rotation angle around fixed Z-axis, unit: deg */
 9  public Rpy(double rotateX, double rotateY, double rotateZ)
10  {
11    rx = rotateX;
12    ry = rotateY;
13    rz = rotateZ;
14  }
15}

2.4. Cartesian Space Pose Data Type

 1/**
 2*@brief Cartesian space pose type
 3*/
 4public class DescPose
 5{
 6  public DescTran tran = new DescTran(0.0, 0.0, 0.0);      /* Cartesian space position */
 7  public Rpy rpy = new Rpy(0.0, 0.0, 0.0);                         /* Cartesian space attitude */
 8
 9  public DescPose()
10  {
11
12  }
13
14  public DescPose(DescTran descTran, Rpy rotateRpy)
15  {
16    tran = descTran;
17    rpy = rotateRpy;
18  }
19
20  public DescPose(double tranX, double tranY, double tranZ, double rX, double ry, double rz)
21  {
22    tran.x = tranX;
23    tran.y = tranY;
24    tran.z = tranZ;
25    rpy.rx = rX;
26    rpy.ry = ry;
27    rpy.rz = rz;
28  }
29
30  public String toString()
31  {
32    return String.valueOf(tran.x) + "," + String.valueOf(tran.y) + "," + String.valueOf(tran.z) + "," + String.valueOf(rpy.rx) + "," + String.valueOf(rpy.ry) + "," + String.valueOf(rpy.rz);
33  }
34}

2.5. Extended Axis Position Data Type

 1/**
 2* @brief Extended axis position data type
 3*/
 4public class ExaxisPos
 5{
 6  public double axis1 = 0.0;
 7  public double axis2 = 0.0;
 8  public double axis3 = 0.0;
 9  public double axis4 = 0.0;
10
11  public ExaxisPos()
12  {
13
14  }
15  public ExaxisPos(double[] exaxisPos)
16  {
17    axis1 = exaxisPos[0];
18    axis2 = exaxisPos[1];
19    axis3 = exaxisPos[2];
20    axis4 = exaxisPos[3];
21  }
22
23  public ExaxisPos(double pos1, double pos2, double pos3, double pos4)
24  {
25    axis1 = pos1;
26    axis2 = pos2;
27    axis3 = pos3;
28    axis4 = pos4;
29  }
30}

2.6. Force Torque Sensor Data Type

 1/**
 2* @brief Force component and torque component of force sensor
 3*/
 4public class ForceTorque
 5{
 6  public double fx;  /* Force component along X-axis, unit: N */
 7  public double fy;  /* Force component along Y-axis, unit: N */
 8  public double fz;  /* Force component along Z-axis, unit: N */
 9  public double tx;  /* Torque component around X-axis, unit: Nm */
10  public double ty;  /* Torque component around Y-axis, unit: Nm */
11  public double tz;  /* Torque component around Z-axis, unit: Nm */
12  public ForceTorque(double fX, double fY, double fZ, double tX, double tY, double tZ)
13  {
14    fx = fX;
15    fy = fY;
16    fz = fZ;
17    tx = tX;
18    ty = tY;
19    tz = tZ;
20  }
21}

2.7. Spiral Parameter Data Type

 1/**
 2* @brief Spiral parameter data type
 3*/
 4public class SpiralParam
 5{
 6    public int circle_num;           /* Number of spiral turns  */
 7    public double circle_angle;         /* Spiral pitch angle  */
 8    public double rad_init;             /* Initial spiral radius, in mm  */
 9    public double rad_add;              /* Radius increment  */
10    public double rotaxis_add;          /* Rotation axis increment  */
11    public int rot_direction;  /* Rotation direction: 0-clockwise, 1-counterclockwise  */
12    public int velAccMode;     /* Velocity acceleration parameter mode: 0-constant angular velocity; 1- Constant linear velocity */
13    public SpiralParam(int circleNum, double circleAngle, double radInit, double radAdd, double rotaxisAdd, int rotDirection, int vel_AccMode)
14    {
15        circle_num = circleNum;
16        circle_angle = circleAngle;
17        rad_init = radInit;
18        rad_add = radAdd;
19        rotaxis_add = rotaxisAdd;
20        rot_direction = rotDirection;
21        velAccMode=vel_AccMode;
22    }
23}

2.8. Extended Axis Status Type

 1/**
 2* @brief Extended axis status type
 3*/
 4public class EXT_AXIS_STATUS
 5{
 6 public double pos = 0;        // Extended axis position
 7 public double vel = 0;        // Extended axis velocity
 8 public int errorCode = 0;     // Extended axis error code
 9 public int ready = 0;        // Servo ready
10 public int inPos = 0;        // Servo in position
11 public int alarm = 0;        // Servo alarm
12 public int flerr = 0;        // Following error
13 public int nlimit = 0;       // Negative limit reached
14 public int pLimit = 0;       // Positive limit reached
15 public int mdbsOffLine = 0;  // Driver 485 bus offline
16 public int mdbsTimeout = 0;  // Communication timeout between control card and control box via 485
17 public int homingStatus = 0; // Extended axis homing status
18}

2.9. Sensor Type

 1/**
 2* @brief Sensor type
 3*/
 4public class DeviceConfig
 5{
 6  int company = 0;          // Manufacturer
 7  int device = 0;           // Type/device number
 8  int softwareVersion = 0;  // Software version
 9  int bus = 0;              // Mounting location
10
11  public DeviceConfig()
12  {
13
14  }
15
16  public DeviceConfig(int company, int device, int softwareVersion, int bus)
17  {
18    this.company = company;
19    this.device = device;
20    this.softwareVersion = softwareVersion;
21    this.bus = bus;
22  }
23}

2.10. 485 Extended Axis Configuration

 1/**
 2* @brief 485 extended axis configuration
 3*/
 4public class Axis485Param
 5{
 6  int servoCompany;           // Servo driver manufacturer, 1-DynaTech
 7  int servoModel;             // Servo driver model, 1-FD100-750C
 8  int servoSoftVersion;       // Servo driver software version, 1-V1.0
 9  int servoResolution;        // Encoder resolution
10  double axisMechTransRatio;  // Mechanical transmission ratio
11
12  public Axis485Param(int company, int model, int softVersion, int resolution, double mechTransRatio)
13  {
14    servoCompany = company;
15    servoModel = model;
16    servoSoftVersion = softVersion;
17    servoResolution = resolution;
18    axisMechTransRatio = mechTransRatio;
19  }
20
21  public Axis485Param()
22  {
23
24  }
25}

2.11. Servo Controller Status

 1/**
 2* @brief Servo controller status
 3*/
 4public class ROBOT_AUX_STATE
 5{
 6  public int servoId = 0;           // Servo driver ID
 7  public int servoErrCode = 0;       // Servo driver error code
 8  public int servoState = 0;         // Servo driver status
 9  public double servoPos = 0;        // Current servo position
10  public float servoVel = 0;         // Current servo velocity
11  public float servoTorque = 0;      // Current servo torque
12}

2.12. Welding Breakoff Status

1/**
2* @brief Welding breakoff status
3*/
4public class WELDING_BREAKOFF_STATE
5{
6  public int breakOffState = 0;  // Welding breakoff status
7  public int weldArcState = 0;   // Welding arc breakoff status
8}

2.13. UDP Extended Axis Communication Parameters

 1/**
 2* @brief UDP extended axis communication parameters
 3*/
 4public class UDP_EXT_AXIS_PARAM
 5{
 6  public String ip = "192.168.58.88"; // IP address
 7  public int port = 2021;            // Port number
 8  public int period = 2;             // Communication period (ms, default is 2, do not modify this parameter)
 9  public int lossPkgTime = 50;       // Packet loss detection time (ms)
10  public int lossPkgNum = 2;         // Number of packet losses
11  public int disconnectTime = 100;   // Communication disconnection confirmation duration
12  public int reconnectEnable = 0;    // Communication disconnection auto-reconnect enable 0-disable 1-enable
13  public int reconnectPeriod = 100;  // Reconnection interval (ms)
14  public int reconnectNum = 3;       // Number of reconnection attempts
15  public int selfConnect = 0;       // Whether to automatically establish connection after power restart; 0-do not establish connection; 1-establish connection
16}

2.14. Robot State Feedback Structure Type

  1/**
  2* @brief  Robot status feedback structure type
  3*/
  4public class ROBOT_STATE_PKG {
  5    public int frame_head;                      // Frame header
  6    public int frame_cnt;                       // Frame count
  7    public int data_len;                        // Data length
  8    public int program_state;                   // Program status - 1-stopped; 2-running; 3-paused
  9    public int robot_state;                     // Robot motion status - 1-stopped; 2-running; 3-paused; 4-dragging
 10    public int main_code;                       // Main fault code
 11    public int sub_code;                        // Sub fault code
 12    public int robot_mode;                      // Robot mode - 1-manual mode; 0-automatic mode
 13    public double[] jt_cur_pos = new double[6]; // Current joint positions of 6 axes, unit deg
 14    public double[] tl_cur_pos = new double[6]; // Current tool position - [x,y,z,rx,ry,rz]
 15    public double[] flange_cur_pos = new double[6]; // Current end flange position - [x,y,z,rx,ry,rz]
 16    public double[] actual_qd = new double[6];  // Current velocities of 6 joints, unit deg/s
 17    public double[] actual_qdd = new double[6]; // Current accelerations of 6 joints, unit deg/s^2
 18    public double[] target_TCP_CmpSpeed = new double[2]; // TCP composite command speed - [position mm/s, orientation deg/s]
 19    public double[] target_TCP_Speed = new double[6]; // TCP command speed - [vx,vy,vz,wx,wy,wz]
 20    public double[] actual_TCP_CmpSpeed = new double[2]; // TCP composite actual speed - [position mm/s, orientation deg/s]
 21    public double[] actual_TCP_Speed = new double[6]; // TCP actual speed - [vx,vy,vz,wx,wy,wz]
 22    public double[] jt_cur_tor = new double[6]; // Current joint torque
 23    public int tool;                            // Tool ID
 24    public int user;                            // Workpiece ID
 25    public int cl_dgt_output_h;                 // Control cabinet digital output high byte
 26    public int cl_dgt_output_l;                 // Control cabinet digital output low byte
 27    public int tl_dgt_output_l;                 // Tool digital output low byte
 28    public int cl_dgt_input_h;                  // Control cabinet digital input high byte
 29    public int cl_dgt_input_l;                  // Control cabinet digital input low byte
 30    public int tl_dgt_input_l;                  // Tool digital input low byte
 31    public int[] cl_analog_input = new int[2];  // Control cabinet analog input
 32    public int tl_anglog_input;                 // Tool analog input
 33    public double[] ft_sensor_raw_data = new double[6]; // Force sensor raw data
 34    public double[] ft_sensor_data = new double[6]; // Force sensor data
 35    public int ft_sensor_active;                // Force sensor activation status
 36    public int EmergencyStop;                   // Emergency stop status
 37    public int motion_done;                     // Motion completed
 38    public int gripper_motiondone;              // Gripper motion complete signal, 0-not complete, 1-complete (no object detected), 2-motion complete (object detected)
 39    public int mc_queue_len;                    // Motion queue length
 40    public int collisionState;                  // Collision status
 41    public int trajectory_pnum;                 // Trajectory point sequence number
 42    public int safety_stop0_state;              // Safety stop 0 status
 43    public int safety_stop1_state;              // Safety stop 1 status
 44    public int gripper_fault_id;                // Gripper fault ID
 45    public int gripper_fault;                   // Gripper fault 0-no fault 1-485 timeout 2-command error 3-workpiece dropped Other-gripper fault code
 46    public int gripper_active;                  // Gripper activation
 47    public int gripper_position;                // Gripper position
 48    public int gripper_speed;                   // Gripper speed
 49    public int gripper_current;                 // Gripper current
 50    public int gripper_temp;                    // Gripper temperature
 51    public int gripper_voltage;                 // Gripper voltage
 52    public AuxState aux_state = new AuxState(); // Internal auxiliary axis status
 53    public EXT_AXIS_STATUS[] extAxisStatus = new EXT_AXIS_STATUS[4]; // Extension axis status array
 54    public short[] extDIState = new short[8];   // Extended I/O
 55    public short[] extDOState = new short[8];   // Extended I/O
 56    public short[] extAIState = new short[4];   // Extended I/O
 57    public short[] extAOState = new short[4];   // Extended I/O
 58    public int rbtEnableState;                  // Robot enable status
 59    public double[] jointDriverTorque = new double[6]; // Joint driver torque
 60    public double[] jointDriverTemperature = new double[6]; // Joint driver temperature
 61    public ROBOT_TIME robotTime = new ROBOT_TIME(); // Robot time object
 62    public int softwareUpgradeState;            // Software upgrade status
 63    public int endLuaErrCode;                   // End Lua error code
 64    public int[] cl_analog_output = new int[2]; // Control cabinet analog output
 65    public int tl_analog_output;                // Tool analog output
 66    public float gripperRotNum;                 // Rotating gripper rotation count
 67    public int gripperRotSpeed;                 // Rotating gripper speed
 68    public int gripperRotTorque;                // Rotating gripper torque
 69    public WELDING_BREAKOFF_STATE weldingBreakOffState = new WELDING_BREAKOFF_STATE(); // Welding interruption status
 70    public double[] jt_tgt_tor = new double[6]; // Target joint torque
 71    public int smartToolState;                  // Smart tool status
 72    public float wideVoltageCtrlBoxTemp;        // Wide voltage control box temperature
 73    public int wideVoltageCtrlBoxFanCurrent;    // Wide voltage control box fan current
 74    public double[] toolCoord = new double[6];  // Tool coordinate system
 75    public double[] wobjCoord = new double[6];  // Workpiece coordinate system
 76    public double[] extoolCoord = new double[6]; // External tool coordinate system
 77    public double[] exAxisCoord = new double[6]; // Extension axis coordinate system
 78    public double load;                         // Payload
 79    public double[] loadCog = new double[3];    // Load center of gravity
 80    public double[] lastServoTarget = new double[6]; // Last servo J target position
 81    public int servoJCmdNum;                    // Servo J command count
 82    public double[] targetJointPos = new double[6]; // Target joint position
 83    public double[] targetJointVel = new double[6]; // Target joint velocity
 84    public double[] targetJointAcc = new double[6]; // Target joint acceleration
 85    public double[] targetJointCurrent = new double[6]; // Target joint current
 86    public double[] actualJointCurrent = new double[6]; // Actual joint current
 87    public double[] actualTCPForce = new double[6]; // Actual TCP force
 88    public double[] targetTCPPos = new double[6]; // Target TCP position
 89    public int[] collisionLevel = new int[6];   // Collision level
 90    public double speedScaleManual;              // Manual speed scale
 91    public double speedScaleAuto;                // Automatic speed scale
 92    public int luaLineNum;                       // Lua line number
 93    public int abnomalStop;                      // Abnormal stop
 94    public String currentLuaFileName;            // Current Lua file name
 95    public int programTotalLine;                 // Total program lines
 96    public int[] safetyBoxSingal = new int[6];   // Safety box signal
 97    public double weldVoltage;                   // Welding voltage
 98    public double weldCurrent;                   // Welding current
 99    public double weldTrackVel;                  // Welding tracking speed
100    public int tpdException;                     // TPD exception
101    public int alarmRebootRobot;                 // Alarm reboot robot
102    public int modbusMasterConnect;              // Modbus master connection
103    public int modbusSlaveConnect;               // Modbus slave connection
104    public int btnBoxStopSignal;                 // Button box stop signal
105    public int dragAlarm;                        // Drag alarm
106    public int safetyDoorAlarm;                  // Safety door alarm
107    public int safetyPlaneAlarm;                 // Safety plane alarm
108    public int motonAlarm;                       // Motion alarm
109    public int interfaceAlarm;                   // Interference alarm
110    public int udpCmdState;                      // UDP command status
111    public int weldReadyState;                   // Welding ready status
112    public int alarmCheckEmergStopBtn;           // Alarm check emergency stop button
113    public int tsTmCmdComError;                  // Command communication error
114    public int tsTmStateComError;                // Status communication error
115    public int ctrlBoxError;                     // Control box error
116    public int safetyDataState;                  // Safety data status
117    public int forceSensorErrState;              // Force sensor error status
118    public int[] ctrlOpenLuaErrCode = new int[4]; // Control open Lua error code
119    public int strangePosFlag;                   // Singular position flag
120    public int alarm;                            // Alarm
121    public int driverAlarm;                      // Driver alarm
122    public int aliveSlaveNumError;               // Alive slave count error
123    public int[] slaveComError = new int[8];     // Slave communication error
124    public int cmdPointError;                    // Command point error
125    public int IOError;                          // IO error
126    public int gripperError;                     // Gripper error
127    public int fileError;                        // File error
128    public int paraError;                        // Parameter error
129    public int exaxisOutLimitError;              // Extension axis soft limit exceeded error
130    public int[] driverComError = new int[6];    // Driver communication error
131    public int driverError;                      // Driver error
132    public int outSoftLimitError;                // Soft limit exceeded error
133    public byte[] axleGenComData = new byte[130]; // General axis communication data
134    public int check_sum;                        // Checksum
135    public int socketConnTimeout;                // Socket connection timeout
136    public int socketReadTimeout;                // Socket read timeout
137    public int tsWebStateComErr;                 // TS Web state communication error
138    public int exaxisCoordID;                  //Extended axis coordinate system ID
139}

2.15. Robot Status Feedback Configuration Result Class

1/**
2* Robot status feedback configuration result class, containing status list and period
3*/
4public static class StateConfigResult {
5  public final List<RobotState> stateList;
6  public final int period;
7}

2.16. Robot Status Feedback Configuration Enumeration Type

  1/**
  2* Robot status enumeration type
  3* Used for real-time status feedback configuration
  4*/
  5enum class RobotState
  6{
  7    ProgramState,           // Program running status, 1-stopped; 2-running; 3-paused
  8    RobotState,             // Robot motion status, 1-stopped; 2-running; 3-paused; 4-dragging
  9    MainCode,               // Main fault code
 10    SubCode,                // Sub fault code
 11    RobotMode,              // Robot mode, 1-manual mode; 0-automatic mode
 12    JointCurPos,            // Current joint positions of 6 axes, unit deg
 13    ToolCurPos,             // Current tool position: [0]position along x-axis(mm), [1]along y-axis(mm), [2]along z-axis(mm), [3]rotation around fixed X(deg), [4]around fixed Y(deg), [5]around fixed Z(deg)
 14    FlangeCurPos,           // Current end flange position: [0]along x-axis(mm), [1]along y-axis(mm), [2]along z-axis(mm), [3]rotation around fixed X(deg), [4]around fixed Y(deg), [5]around fixed Z(deg)
 15    ActualJointVel,         // Current 6 joint velocities, unit deg/s
 16    ActualJointAcc,         // Current 6 joint accelerations, unit deg/s²
 17    TargetTCPCmpSpeed,      // TCP composite command speed: [0]position(mm/s), [1]orientation(deg/s)
 18    TargetTCPSpeed,         // TCP command speed: [0]along x-axis(mm/s), [1]along y-axis(mm/s), [2]along z-axis(mm/s), [3]angular velocity around X(deg/s), [4]around Y(deg/s), [5]around Z(deg/s)
 19    ActualTCPCmpSpeed,      // TCP composite actual speed: [0]position(mm/s), [1]orientation(deg/s)
 20    ActualTCPSpeed,         // TCP actual speed: [0]along x-axis(mm/s), [1]along y-axis(mm/s), [2]along z-axis(mm/s), [3]angular velocity around X(deg/s), [4]around Y(deg/s), [5]around Z(deg/s)
 21    ActualJointTorque,      // Current 6 joint torques, unit N·m
 22    Tool,                   // Applied tool coordinate system number
 23    User,                   // Applied workpiece coordinate system number
 24    ClDgtOutputH,           // Control box digital IO output 15-8
 25    ClDgtOutputL,           // Control box digital IO output 7-0
 26    TlDgtOutputL,           // Tool digital IO output 7-0, only bit0-bit1 valid
 27    ClDgtInputH,            // Control box digital IO input 15-8
 28    ClDgtInputL,            // Control box digital IO input 7-0
 29    TlDgtInputL,            // Tool digital IO input 7-0, only bit0-bit1 valid
 30    ClAnalogInput,          // Control box analog input: [0]channel 0, [1]channel 1
 31    TlAnalogInput,          // Tool analog input
 32    FtSensorRawData,        // Force torque sensor raw data: [0]force along x-axis(N), [1]along y-axis(N), [2]along z-axis(N), [3]torque around x-axis(Nm), [4]around y-axis(Nm), [5]around z-axis(Nm)
 33    FtSensorData,           // Force torque sensor data (processed): [0]force along x-axis(N), [1]along y-axis(N), [2]along z-axis(N), [3]torque around x-axis(Nm), [4]around y-axis(Nm), [5]around z-axis(Nm)
 34    FtSensorActive,         // Force torque sensor activation status, 0-reset, 1-active
 35    EmergencyStop,          // Emergency stop flag, 0-emergency stop not pressed, 1-emergency stop pressed
 36    MotionDone,             // Motion done signal, 1-done, 0-not done
 37    GripperMotiondone,      // Gripper motion complete signal, 0-not complete, 1-complete (no object detected), 2-motion complete (object detected)
 38    McQueueLen,             // Motion command queue length
 39    CollisionState,         // Collision detection, 1-collision, 0-no collision
 40    TrajectoryPnum,         // Trajectory point number
 41    SafetyStop0State,       // Safety stop signal SI0
 42    SafetyStop1State,       // Safety stop signal SI1
 43    GripperFaultId,         // Fault gripper number
 44    GripperFault,           // Gripper fault 0-no fault 1-485 timeout 2-command error 3-workpiece dropped Other-gripper fault code
 45    GripperActive,          // Gripper activation status
 46    GripperPosition,        // Gripper position
 47    GripperSpeed,           // Gripper speed
 48    GripperCurrent,         // Gripper current
 49    GripperTemp,            // Gripper temperature
 50    GripperVoltage,         // Gripper voltage
 51    AuxState,               // 485 extended axis status
 52    ExtAxisStatus,          // UDP extended axis status (4 axes)
 53    ExtDIState,             // Extended DI input (8)
 54    ExtDOState,             // Extended DO output (8)
 55    ExtAIState,             // Extended AI input (4)
 56    ExtAOState,             // Extended AO output (4)
 57    RbtEnableState,         // Robot enable status
 58    JointDriverTorque,      // Robot joint driver torque (6 joints)
 59    JointDriverTemperature, // Robot joint driver temperature (6 joints)
 60    RobotTime,              // Robot system time
 61    SoftwareUpgradeState,   // Robot software upgrade status
 62    EndLuaErrCode,          // End LUA running status
 63    ClAnalogOutput,         // Control box analog output (2)
 64    TlAnalogOutput,         // Tool analog output
 65    GripperRotNum,          // Rotating gripper current rotation turns
 66    GripperRotSpeed,        // Rotating gripper current rotation speed percentage
 67    GripperRotTorque,       // Rotating gripper current rotation torque percentage
 68    WeldingBreakOffState,   // Welding interruption status
 69    TargetJointTorque,      // Joint command torque (6 joints)
 70    SmartToolState,         // SmartTool handle button status
 71    WideVoltageCtrlBoxTemp, // Wide voltage control box temperature
 72    WideVoltageCtrlBoxFanCurrent, // Wide voltage control box fan current (mA)
 73    ToolCoord,              // Current tool coordinate values: x,y,z,rx,ry,rz
 74    WobjCoord,              // Current workpiece coordinate values: x,y,z,rx,ry,rz
 75    ExtoolCoord,            // Current external tool coordinate values: x,y,z,rx,ry,rz
 76    ExAxisCoord,            // Current extended axis coordinate values: x,y,z,rx,ry,rz
 77    Load,                   // Load mass
 78    LoadCog,                // Load center of gravity: x,y,z
 79    LastServoTarget,        // Last ServoJ target position in queue (6 joints)
 80    ServoJCmdNum,           // servoJ command count
 81    TargetJointPos,         // 6 joint command positions, unit °
 82    TargetJointVel,         // 6 joint command velocities, unit °/s
 83    TargetJointAcc,         // 6 joint command accelerations, unit °/s²
 84    TargetJointCurrent,     // 6 joint command currents, unit A
 85    ActualJointCurrent,     // 6 joint current currents, unit A
 86    ActualTCPForce,         // Robot end torque: x,y,z,rx,ry,rz, unit Nm
 87    TargetTCPPos,           // Robot TCP command position: x,y,z,rx,ry,rz, unit mm
 88    CollisionLevel,         // Robot collision level (6)
 89    SpeedScaleManual,       // Manual mode global speed percentage
 90    SpeedScaleAuto,         // Automatic mode global speed percentage
 91    LuaLineNum,             // Current lua program running line number
 92    AbnomalStop,            // 0-no abnormality; 1-abnormality present
 93    CurrentLuaFileName,     // Current running lua program name
 94    ProgramTotalLine,       // lua program total lines
 95    SafetyBoxSingal,        // Robot button box button status (6)
 96    WeldVoltage,            // Welding voltage V
 97    WeldCurrent,            // Welding current
 98    WeldTrackVel,           // Seam tracking speed mm/s
 99    TpdException,           // TPD trajectory loading limit exceeded, 0-not exceeded, 1-exceeded
100    AlarmRebootRobot,       // Warning: 1-power cycle required after releasing emergency stop, 2-joint communication abnormality requires power cycle
101    ModbusMasterConnect,    // bit0-7 correspond to ModbusTCP master 0-7 connection status, 0-not connected, 1-connected
102    ModbusSlaveConnect,     // ModbusTCP slave connection status, 0-not connected, 1-connected
103    BtnBoxStopSignal,       // Button box emergency stop signal, 0-emergency stop released, 1-emergency stop pressed
104    DragAlarm,              // Drag warning: 0-no alarm, 1-alarm, 2-position feedback abnormality no switch
105    SafetyDoorAlarm,        // Safety door warning: 0-closed, 1-open
106    SafetyPlaneAlarm,       // Safety wall warning: 0-not entered, 1-entered
107    MotonAlarm,             // Motion warning
108    InterfaceAlarm,         // Interference zone entry warning
109    UdpCmdState,            // Port 20007 UDP communication connection status
110    WeldReadyState,         // Welding machine ready status
111    AlarmCheckEmergStopBtn, // 0-normal; 1-communication abnormality, check emergency stop button
112    TsTmCmdComError,        // 0-normal; 1-torque command communication failure
113    TsTmStateComError,      // 0-normal; 1-torque status communication failure
114    CtrlBoxError,           // Control box error
115    SafetyDataState,        // Safety data status, 0-normal, 1-abnormal
116    ForceSensorErrState,    // Force sensor connection timeout, bit0-bit1 correspond to ID1-ID2
117    CtrlOpenLuaErrCode,     // 4 controller peripheral protocol error codes (500 error code)
118    StrangePosFlag,         // Singular pose flag: 0-normal, 1-singular pose
119    Alarm,                  // Alarm
120    DriverAlarm,            // Driver alarm axis number
121    AliveSlaveNumError,     // Active slave count error: 0-normal, 1-count error
122    SlaveComError,          // Slave error: 0-normal, 1-offline, 2-state inconsistency, 3-not configured, 4-configuration error, 5-initialization error, 6-mailbox communication initialization error
123    CmdPointError,          // Command point error
124    IOError,                // IO error
125    GripperError,           // Gripper error
126    FileError,              // File error
127    ParaError,              // Parameter error
128    ExaxisOutLimitError,    // External axis soft limit exceeded error
129    DriverComError,         // Driver communication fault (6 axes)
130    DriverError,            // Driver communication fault axis number
131    OutSoftLimitError,      // Soft limit exceeded fault
132    AxleGenComData,         // Robot end transparent transmission feedback data
133    SocketConnTimeout,      // socket connection timeout, bit0-bit4 correspond to socketID 1-4
134    SocketReadTimeout,      // socket read timeout, bit0-bit4 correspond to socketID 1-4
135    TsWebStateComErr,       // web-torque communication failure: 0-normal, 1-failure
136    ExaxisCoordID           // Extended axis coordinate system ID
137};