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}