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};