2. Beschreibung der Datenstrukturen
2.1. Datentyp für Gelenkpositionen
1/**
2* @brief Datentyp für Gelenkpositionen.
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. Datentyp für Positionen im kartesischen Raum
1/**
2* @brief Datentyp für Positionen im kartesischen Raum.
3*/
4public class DescTran
5{
6 public double x = 0.0; /* x-Achsen-Koordinate, Einheit mm */
7 public double y = 0.0; /* y-Achsen-Koordinate, Einheit mm */
8 public double z = 0.0; /* z-Achsen-Koordinate, Einheit 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. Datentyp für Euler-Winkel-Ausrichtung
1/**
2* @brief Datentyp für Euler-Winkel-Ausrichtung.
3*/
4public class Rpy
5{
6 public double rx = 0.0; /* Rotationswinkel um die feste X-Achse, Einheit: deg */
7 public double ry = 0.0; /* Rotationswinkel um die feste Y-Achse, Einheit: deg */
8 public double rz = 0.0; /* Rotationswinkel um die feste Z-Achse, Einheit: deg */
9 public Rpy(double rotateX, double rotateY, double rotateZ)
10 {
11 rx = rotateX;
12 ry = rotateY;
13 rz = rotateZ;
14 }
15}
2.4. Datentyp für Posen im kartesischen Raum
1/**
2* @brief Datentyp für Posen im kartesischen Raum.
3*/
4public class DescPose
5{
6 public DescTran tran = new DescTran(0.0, 0.0, 0.0); /* Position im kartesischen Raum */
7 public Rpy rpy = new Rpy(0.0, 0.0, 0.0); /* Ausrichtung im kartesischen Raum */
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. Datentyp für Positionen der Erweiterungsachse
1/**
2* @brief Datentyp für Positionen der Erweiterungsachse.
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. Datentyp für Kraft-/Drehmomentsensor
1/**
2* @brief Kraftkomponenten und Drehmomentkomponenten des Kraftsensors.
3*/
4public class ForceTorque
5{
6 public double fx; /* Kraftkomponente entlang der x-Achse, Einheit N */
7 public double fy; /* Kraftkomponente entlang der y-Achse, Einheit N */
8 public double fz; /* Kraftkomponente entlang der z-Achse, Einheit N */
9 public double tx; /* Drehmomentkomponente um die x-Achse, Einheit Nm */
10 public double ty; /* Drehmomentkomponente um die y-Achse, Einheit Nm */
11 public double tz; /* Drehmomentkomponente um die z-Achse, Einheit 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. Datentyp für Spiralparameter
1/**
2* @brief Datentyp für Spiralparameter.
3*/
4public class SpiralParam
5{
6 public int circle_num; /* Anzahl der Windungen */
7 public double circle_angle; /* Neigungswinkel der Spirale */
8 public double rad_init; /* Anfangsradius der Spirale, Einheit mm */
9 public double rad_add; /* Radiusinkrement */
10 public double rotaxis_add; /* Inkrement in Richtung der Drehachse */
11 public int rot_direction; /* Drehrichtung, 0-im Uhrzeigersinn, 1-gegen Uhrzeigersinn */
12 public int velAccMode; /* Modus für Geschwindigkeit/Beschleunigung: 0-Winkelgeschwindigkeit konstant; 1-Lineargeschwindigkeit konstant */
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. Datentyp für Erweiterungsachsen-Status
1/**
2* @brief Datentyp für den Status der Erweiterungsachse.
3*/
4public class EXT_AXIS_STATUS
5{
6 public double pos = 0; // Erweiterungsachsenposition
7 public double vel = 0; // Erweiterungsachsengeschwindigkeit
8 public int errorCode = 0; // Fehlercode der Erweiterungsachse
9 public int ready = 0; // Servo bereit
10 public int inPos = 0; // Servo in Position
11 public int alarm = 0; // Servoalarm
12 public int flerr = 0; // Folgefehler
13 public int nlimit = 0; // Negative Endlage erreicht
14 public int pLimit = 0; // Positive Endlage erreicht
15 public int mdbsOffLine = 0; // Antriebs-485-Bus offline
16 public int mdbsTimeout = 0; // Kommunikationstimeout zwischen Steuerkarte und Steuerschrank (485)
17 public int homingStatus = 0; // Referenzpunktfahrt-Status der Erweiterungsachse
18}
2.9. Sensortyp
1/**
2* @brief Sensortyp.
3*/
4public class DeviceConfig
5{
6 int company = 0; // Hersteller
7 int device = 0; // Typ / Gerätenummer
8 int softwareVersion = 0; // Softwareversion
9 int bus = 0; // Montageposition (Bus)
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-Erweiterungsachsen-Konfiguration
1/**
2* @brief 485-Erweiterungsachsen-Konfiguration.
3*/
4public class Axis485Param
5{
6 int servoCompany; // Hersteller des Servoantriebs, 1-DYNATEC
7 int servoModel; // Modell des Servoantriebs, 1-FD100-750C
8 int servoSoftVersion; // Softwareversion des Servoantriebs, 1-V1.0
9 int servoResolution; // Encoderauflösung
10 double axisMechTransRatio; // Mechanisches Übersetzungsverhältnis
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. Servocontroller-Status
1/**
2* @brief Servocontroller-Status.
3*/
4public class ROBOT_AUX_STATE
5{
6 public int servoId = 0; // Servoantriebs-ID-Nummer
7 public int servoErrCode = 0; // Fehlercode des Servoantriebs
8 public int servoState = 0; // Status des Servoantriebs
9 public double servoPos = 0; // Aktuelle Position des Servos
10 public float servoVel = 0; // Aktuelle Geschwindigkeit des Servos
11 public float servoTorque = 0; // Aktuelles Drehmoment des Servos
12}
2.12. Schweißunterbrechungsstatus
1/**
2* @brief Schweißunterbrechungsstatus.
3*/
4public class WELDING_BREAKOFF_STATE
5{
6 public int breakOffState = 0; // Schweißunterbrechungsstatus
7 public int weldArcState = 0; // Lichtbogenunterbrechungsstatus beim Schweißen
8}
2.13. UDP-Erweiterungsachsen-Kommunikationsparameter
1/**
2* @brief UDP-Erweiterungsachsen-Kommunikationsparameter.
3*/
4public class UDPComParam
5{
6 public String ip = "192.168.58.88";// IP-Adresse
7 public int port = 2021; // Portnummer
8 public int period = 2; // Kommunikationszyklus (ms, Standard 2, diesen Parameter nicht ändern)
9 public int lossPkgTime = 50; // Paketverlust-Erkennungszeit (ms)
10 public int lossPkgNum = 2; // Anzahl der Paketverluste
11 public int disconnectTime = 100; // Bestätigungsdauer für Kommunikationsunterbrechung
12 public int reconnectEnable = 0; // Automatische Wiederverbindung bei Kommunikationsunterbrechung aktivieren? 0-deaktivieren, 1-aktivieren
13 public int reconnectPeriod = 100; // Wiederverbindungsintervall (ms)
14 public int reconnectNum = 3; // Anzahl der Wiederverbindungsversuche
15 public int selfConnect = 0; // Automatische Verbindung nach Neustart? 0-keine Verbindung; 1-Verbindung herstellen
16}
2.14. Strukturtyp für Roboterstatus-Rückmeldung
1/**
2* @brief Roboterstatus-Rückmeldungsstrukturtyp
3*/
4public class ROBOT_STATE_PKG {
5 public int frame_head; // Rahmenkopf
6 public int frame_cnt; // Rahmenzählung
7 public int data_len; // Datenlänge
8 public int program_state; // Programmstatus - 1-gestoppt; 2-läuft; 3-pausiert
9 public int robot_state; // Roboterbewegungsstatus - 1-gestoppt; 2-läuft; 3-pausiert; 4-ziehen
10 public int main_code; // Hauptfehlercode
11 public int sub_code; // Unterfehlercode
12 public int robot_mode; // Robotermodus - 1-Handmodus; 0-Automatikmodus
13 public double[] jt_cur_pos = new double[6]; // Aktuelle Gelenkpositionen von 6 Achsen, Einheit deg
14 public double[] tl_cur_pos = new double[6]; // Aktuelle Werkzeugposition - [x,y,z,rx,ry,rz]
15 public double[] flange_cur_pos = new double[6]; // Aktuelle Endflanschposition - [x,y,z,rx,ry,rz]
16 public double[] actual_qd = new double[6]; // Aktuelle Geschwindigkeiten von 6 Gelenken, Einheit deg/s
17 public double[] actual_qdd = new double[6]; // Aktuelle Beschleunigungen von 6 Gelenken, Einheit deg/s^2
18 public double[] target_TCP_CmpSpeed = new double[2]; // TCP zusammengesetzte Befehlgeschwindigkeit - [Position mm/s, Orientierung deg/s]
19 public double[] target_TCP_Speed = new double[6]; // TCP Befehlgeschwindigkeit - [vx,vy,vz,wx,wy,wz]
20 public double[] actual_TCP_CmpSpeed = new double[2]; // TCP zusammengesetzte tatsächliche Geschwindigkeit - [Position mm/s, Orientierung deg/s]
21 public double[] actual_TCP_Speed = new double[6]; // TCP tatsächliche Geschwindigkeit - [vx,vy,vz,wx,wy,wz]
22 public double[] jt_cur_tor = new double[6]; // Aktuelles Gelenkmoment
23 public int tool; // Werkzeug-ID
24 public int user; // Werkstück-ID
25 public int cl_dgt_output_h; // Digitaler Ausgang des Schaltschranks High-Byte
26 public int cl_dgt_output_l; // Digitaler Ausgang des Schaltschranks Low-Byte
27 public int tl_dgt_output_l; // Digitaler Werkzeugausgang Low-Byte
28 public int cl_dgt_input_h; // Digitaler Eingang des Schaltschranks High-Byte
29 public int cl_dgt_input_l; // Digitaler Eingang des Schaltschranks Low-Byte
30 public int tl_dgt_input_l; // Digitaler Werkzeugeingang Low-Byte
31 public int[] cl_analog_input = new int[2]; // Analoger Eingang des Schaltschranks
32 public int tl_anglog_input; // Analoger Werkzeugeingang
33 public double[] ft_sensor_raw_data = new double[6]; // Rohdaten des Kraftsensors
34 public double[] ft_sensor_data = new double[6]; // Daten des Kraftsensors
35 public int ft_sensor_active; // Aktivierungsstatus des Kraftsensors
36 public int EmergencyStop; // Not-Halt-Status
37 public int motion_done; // Bewegung abgeschlossen
38 public int gripper_motiondone; // Greiferbewegung abgeschlossen
39 public int mc_queue_len; // Bewegungswarteschlangenlänge
40 public int collisionState; // Kollisionsstatus
41 public int trajectory_pnum; // Bahnpunkt-Sequenznummer
42 public int safety_stop0_state; // Sicherheitsstopp 0 Status
43 public int safety_stop1_state; // Sicherheitsstopp 1 Status
44 public int gripper_fault_id; // Greiferfehler-ID
45 public int gripper_fault; // Greiferfehler
46 public int gripper_active; // Greiferaktivierung
47 public int gripper_position; // Greiferposition
48 public int gripper_speed; // Greifergeschwindigkeit
49 public int gripper_current; // Greiferstrom
50 public int gripper_temp; // Greifertemperatur
51 public int gripper_voltage; // Greiferspannung
52 public AuxState aux_state = new AuxState(); // Interner Hilfsachsenstatus
53 public EXT_AXIS_STATUS[] extAxisStatus = new EXT_AXIS_STATUS[4]; // Erweiterungsachsenstatus-Array
54 public short[] extDIState = new short[8]; // Erweiterte E/A
55 public short[] extDOState = new short[8]; // Erweiterte E/A
56 public short[] extAIState = new short[4]; // Erweiterte E/A
57 public short[] extAOState = new short[4]; // Erweiterte E/A
58 public int rbtEnableState; // Roboter-Aktivierungsstatus
59 public double[] jointDriverTorque = new double[6]; // Gelenktreibermoment
60 public double[] jointDriverTemperature = new double[6]; // Gelenktreibertemperatur
61 public ROBOT_TIME robotTime = new ROBOT_TIME(); // Roboterzeitobjekt
62 public int softwareUpgradeState; // Software-Upgrade-Status
63 public int endLuaErrCode; // End-Lua-Fehlercode
64 public int[] cl_analog_output = new int[2]; // Analoger Ausgang des Schaltschranks
65 public int tl_analog_output; // Analoger Werkzeugausgang
66 public float gripperRotNum; // Drehzahl des rotierenden Greifers
67 public int gripperRotSpeed; // Geschwindigkeit des rotierenden Greifers
68 public int gripperRotTorque; // Drehmoment des rotierenden Greifers
69 public WELDING_BREAKOFF_STATE weldingBreakOffState = new WELDING_BREAKOFF_STATE(); // Schweißunterbrechungsstatus
70 public double[] jt_tgt_tor = new double[6]; // Soll-Gelenkmoment
71 public int smartToolState; // Smart-Tool-Status
72 public float wideVoltageCtrlBoxTemp; // Weitspannungs-Steuerkastentemperatur
73 public int wideVoltageCtrlBoxFanCurrent; // Weitspannungs-Steuerkasten-Lüfterstrom
74 public double[] toolCoord = new double[6]; // Werkzeugkoordinatensystem
75 public double[] wobjCoord = new double[6]; // Werkstückkoordinatensystem
76 public double[] extoolCoord = new double[6]; // Externes Werkzeugkoordinatensystem
77 public double[] exAxisCoord = new double[6]; // Erweiterungsachsenkoordinatensystem
78 public double load; // Last
79 public double[] loadCog = new double[3]; // Lastschwerpunkt
80 public double[] lastServoTarget = new double[6]; // Letzte Servo-J-Sollposition
81 public int servoJCmdNum; // Servo-J-Befehlszähler
82 public double[] targetJointPos = new double[6]; // Soll-Gelenkposition
83 public double[] targetJointVel = new double[6]; // Soll-Gelenkgeschwindigkeit
84 public double[] targetJointAcc = new double[6]; // Soll-Gelenkbeschleunigung
85 public double[] targetJointCurrent = new double[6]; // Soll-Gelenkstrom
86 public double[] actualJointCurrent = new double[6]; // Tatsächlicher Gelenkstrom
87 public double[] actualTCPForce = new double[6]; // Tatsächliche TCP-Kraft
88 public double[] targetTCPPos = new double[6]; // Soll-TCP-Position
89 public int[] collisionLevel = new int[6]; // Kollisionsstufe
90 public double speedScaleManual; // Manueller Geschwindigkeitsmaßstab
91 public double speedScaleAuto; // Automatischer Geschwindigkeitsmaßstab
92 public int luaLineNum; // Lua-Zeilennummer
93 public int abnomalStop; // Abnormaler Stopp
94 public String currentLuaFileName; // Aktueller Lua-Dateiname
95 public int programTotalLine; // Programmgesamtzeilen
96 public int[] safetyBoxSingal = new int[6]; // Sicherheitskastensignal
97 public double weldVoltage; // Schweißspannung
98 public double weldCurrent; // Schweißstrom
99 public double weldTrackVel; // Schweißnahtverfolgungsgeschwindigkeit
100 public int tpdException; // TPD-Ausnahme
101 public int alarmRebootRobot; // Alarm-Roboter-Neustart
102 public int modbusMasterConnect; // Modbus-Master-Verbindung
103 public int modbusSlaveConnect; // Modbus-Slave-Verbindung
104 public int btnBoxStopSignal; // Tastenfeld-Stoppsignal
105 public int dragAlarm; // Ziehalarm
106 public int safetyDoorAlarm; // Sicherheitstüralarm
107 public int safetyPlaneAlarm; // Sicherheitsebenenalarm
108 public int motonAlarm; // Bewegungsalarm
109 public int interfaceAlarm; // Interferenzalarm
110 public int udpCmdState; // UDP-Befehlsstatus
111 public int weldReadyState; // Schweißbereitschaftsstatus
112 public int alarmCheckEmergStopBtn; // Alarmprüfung Not-Halt-Taste
113 public int tsTmCmdComError; // Befehlskommunikationsfehler
114 public int tsTmStateComError; // Statuskommunikationsfehler
115 public int ctrlBoxError; // Steuerkastenfehler
116 public int safetyDataState; // Sicherheitsdatenstatus
117 public int forceSensorErrState; // Kraftsensorfehlerstatus
118 public int[] ctrlOpenLuaErrCode = new int[4]; // Steuerungs-Open-Lua-Fehlercode
119 public int strangePosFlag; // Singuläre Positionskennzeichnung
120 public int alarm; // Alarm
121 public int driverAlarm; // Treiberalarm
122 public int aliveSlaveNumError; // Fehler bei Anzahl aktiver Slaves
123 public int[] slaveComError = new int[8]; // Slave-Kommunikationsfehler
124 public int cmdPointError; // Befehlspunktfehler
125 public int IOError; // IO-Fehler
126 public int gripperError; // Greiferfehler
127 public int fileError; // Dateifehler
128 public int paraError; // Parameterfehler
129 public int exaxisOutLimitError; // Fehler bei Überschreitung der Weichgrenze der Erweiterungsachse
130 public int[] driverComError = new int[6]; // Treiberkommunikationsfehler
131 public int driverError; // Treiberfehler
132 public int outSoftLimitError; // Fehler bei Überschreitung der Weichgrenze
133 public byte[] axleGenComData = new byte[130]; // Allgemeine Achskommunikationsdaten
134 public int check_sum; // Prüfsumme
135 public int socketConnTimeout; // Socket-Verbindungszeitüberschreitung
136 public int socketReadTimeout; // Socket-Lesezeitüberschreitung
137 public int tsWebStateComErr; // TS-Web-Zustandskommunikationsfehler
138}
2.15. Roboterstatus-Feedback-Konfigurationsergebnisklasse
1/**
2* Roboterstatus-Feedback-Konfigurationsergebnisklasse, enthält Statusliste und Periode
3*/
4public static class StateConfigResult {
5 public final List<RobotState> stateList;
6 public final int period;
7}
2.16. Roboterstatus-Feedback-Konfigurationsaufzählungstyp
1/**
2* Roboterstatus-Aufzählungstyp
3* Wird für die Echtzeitstatus-Feedback-Konfiguration verwendet
4*/
5public enum RobotState {
6 ProgramState,
7 RobotState,
8 MainCode,
9 SubCode,
10 RobotMode,
11 JointCurPos,
12 ToolCurPos,
13 FlangeCurPos,
14 ActualJointVel,
15 ActualJointAcc,
16 TargetTCPCmpSpeed,
17 TargetTCPSpeed,
18 ActualTCPCmpSpeed,
19 ActualTCPSpeed,
20 ActualJointTorque,
21 Tool,
22 User,
23 ClDgtOutputH,
24 ClDgtOutputL,
25 TlDgtOutputL,
26 ClDgtInputH,
27 ClDgtInputL,
28 TlDgtInputL,
29 ClAnalogInput,
30 TlAnglogInput,
31 FtSensorRawData,
32 FtSensorData,
33 FtSensorActive,
34 EmergencyStop,
35 MotionDone,
36 GripperMotiondone,
37 McQueueLen,
38 CollisionState,
39 TrajectoryPnum,
40 SafetyStop0State,
41 SafetyStop1State,
42 GripperFaultId,
43 GripperFault,
44 GripperActive,
45 GripperPosition,
46 GripperSpeed,
47 GripperCurrent,
48 GripperTemp,
49 GripperVoltage,
50 AuxState,
51 ExtAxisStatus,
52 ExtDIState,
53 ExtDOState,
54 ExtAIState,
55 ExtAOState,
56 RbtEnableState,
57 JointDriverTorque,
58 JointDriverTemperature,
59 RobotTime,
60 SoftwareUpgradeState,
61 EndLuaErrCode,
62 ClAnalogOutput,
63 TlAnalogOutput,
64 GripperRotNum,
65 GripperRotSpeed,
66 GripperRotTorque,
67 WeldingBreakOffState,
68 TargetJointTorque,
69 SmartToolState,
70 WideVoltageCtrlBoxTemp,
71 WideVoltageCtrlBoxFanCurrent,
72 ToolCoord,
73 WobjCoord,
74 ExtoolCoord,
75 ExAxisCoord,
76 Load,
77 LoadCog,
78 LastServoTarget,
79 ServoJCmdNum,
80 TargetJointPos,
81 TargetJointVel,
82 TargetJointAcc,
83 TargetJointCurrent,
84 ActualJointCurrent,
85 ActualTCPForce,
86 TargetTCPPos,
87 CollisionLevel,
88 SpeedScaleManual,
89 SpeedScaleAuto,
90 LuaLineNum,
91 AbnomalStop,
92 CurrentLuaFileName,
93 ProgramTotalLine,
94 SafetyBoxSingal,
95 WeldVoltage,
96 WeldCurrent,
97 WeldTrackVel,
98 TpdException,
99 AlarmRebootRobot,
100 ModbusMasterConnect,
101 ModbusSlaveConnect,
102 BtnBoxStopSignal,
103 DragAlarm,
104 SafetyDoorAlarm,
105 SafetyPlaneAlarm,
106 MotonAlarm,
107 InterfaceAlarm,
108 UdpCmdState,
109 WeldReadyState,
110 AlarmCheckEmergStopBtn,
111 TsTmCmdComError,
112 TsTmStateComError,
113 SocketConnTimeout,
114 SocketReadTimeout,
115 TsWebStateComErr,
116 CtrlBoxError,
117 SafetyDataState,
118 ForceSensorErrState,
119 CtrlOpenLuaErrCode,
120 StrangePosFlag,
121 Alarm,
122 DriverAlarm,
123 AliveSlaveNumError,
124 SlaveComError,
125 CmdPointError,
126 IOError,
127 GripperError,
128 FileError,
129 ParaError,
130 ExaxisOutLimitError,
131 DriverComError,
132 DriverError,
133 OutSoftLimitError,
134 AxleGenComData;
135}