2. Descrição das Estruturas de Dados

2.1. Tipo de Dados de Posição Articular

 1/**
 2* @brief Tipo de dados de posição articular
 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. Tipo de Dados de Posição no Espaço Cartesiano

 1/**
 2* @brief Tipo de dados de posição no espaço cartesiano
 3*/
 4public class DescTran
 5{
 6  public double x = 0.0;    /* Coordenada do eixo X, em mm */
 7  public double y = 0.0;    /* Coordenada do eixo Y, em mm */
 8  public double z = 0.0;    /* Coordenada do eixo Z, em 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. Tipo de Dados de Atitude de Ângulos de Euler

 1/**
 2* @brief Tipo de dados de atitude de ângulos de Euler
 3*/
 4public class Rpy
 5{
 6  public double rx = 0.0;   /* Ângulo de rotação em torno do eixo X fixo, em graus */
 7  public double ry = 0.0;   /* Ângulo de rotação em torno do eixo Y fixo, em graus */
 8  public double rz = 0.0;   /* Ângulo de rotação em torno do eixo Z fixo, em graus */
 9  public Rpy(double rotateX, double rotateY, double rotateZ)
10  {
11    rx = rotateX;
12    ry = rotateY;
13    rz = rotateZ;
14  }
15}

2.4. Tipo de Dados de Pose no Espaço Cartesiano

 1/**
 2*@brief Tipo de pose no espaço cartesiano
 3*/
 4public class DescPose
 5{
 6  public DescTran tran = new DescTran(0.0, 0.0, 0.0);      /* Posição no espaço cartesiano */
 7  public Rpy rpy = new Rpy(0.0, 0.0, 0.0);                 /* Atitude no espaço cartesiano */
 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. Tipo de Dados de Posição do Eixo Estendido

 1/**
 2* @brief Tipo de dados de posição do eixo estendido
 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. Tipo de Dados do Sensor de Torque

 1/**
 2* @brief Componentes de força e torque do sensor de força
 3*/
 4public class ForceTorque
 5{
 6  public double fx;  /* Componente de força ao longo do eixo X, em N */
 7  public double fy;  /* Componente de força ao longo do eixo Y, em N */
 8  public double fz;  /* Componente de força ao longo do eixo Z, em N */
 9  public double tx;  /* Componente de torque em torno do eixo X, em Nm */
10  public double ty;  /* Componente de torque em torno do eixo Y, em Nm */
11  public double tz;  /* Componente de torque em torno do eixo Z, em 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. Tipo de Dados de Parâmetros da Espiral

 1/**
 2* @brief Tipo de dados de parâmetros da espiral
 3*/
 4public class SpiralParam
 5{
 6    public int circle_num;           /* Número de voltas da espiral */
 7    public double circle_angle;      /* Ângulo de inclinação da espiral */
 8    public double rad_init;          /* Raio inicial da espiral, em mm */
 9    public double rad_add;           /* Incremento do raio */
10    public double rotaxis_add;       /* Incremento na direção do eixo de rotação */
11    public int rot_direction;        /* Direção de rotação, 0-horário, 1-anti-horário */
12    public int velAccMode;           /* Modo de parâmetro de velocidade/aceleração: 0-velocidade angular constante; 1-velocidade linear constante */
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. Tipo de Estado do Eixo Estendido

 1/**
 2* @brief Tipo de estado do eixo estendido
 3*/
 4public class EXT_AXIS_STATUS
 5{
 6 public double pos = 0;        // Posição do eixo estendido
 7 public double vel = 0;        // Velocidade do eixo estendido
 8 public int errorCode = 0;     // Código de falha do eixo estendido
 9 public int ready = 0;         // Servo pronto
10 public int inPos = 0;         // Servo no lugar
11 public int alarm = 0;         // Alarme do servo
12 public int flerr = 0;         // Erro de seguimento
13 public int nlimit = 0;        // Limite negativo atingido
14 public int pLimit = 0;        // Limite positivo atingido
15 public int mdbsOffLine = 0;   // Driver offline no barramento 485
16 public int mdbsTimeout = 0;   // Tempo limite de comunicação 485 entre placa de controle e caixa de controle
17 public int homingStatus = 0;  // Status de retorno à origem do eixo estendido
18}

2.9. Tipo de Sensor

 1/**
 2* @brief Tipo de sensor
 3*/
 4public class DeviceConfig
 5{
 6  int company = 0;          // Fabricante
 7  int device = 0;           // Tipo/número do dispositivo
 8  int softwareVersion = 0;  // Versão do software
 9  int bus = 0;              // Local de montagem
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. Configuração do Eixo Estendido 485

 1/**
 2* @brief Configuração do eixo estendido 485
 3*/
 4public class Axis485Param
 5{
 6  int servoCompany;           // Fabricante do servo driver, 1-Dynatec
 7  int servoModel;             // Modelo do servo driver, 1-FD100-750C
 8  int servoSoftVersion;       // Versão do software do servo driver, 1-V1.0
 9  int servoResolution;        // Resolução do codificador
10  double axisMechTransRatio;  // Relação de transmissão mecânica
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. Estado do Controlador Servo

 1/**
 2* @brief Estado do controlador servo
 3*/
 4public class ROBOT_AUX_STATE
 5{
 6  public int servoId = 0;           // Número de ID do servo driver
 7  public int servoErrCode = 0;      // Código de falha do servo driver
 8  public int servoState = 0;        // Estado do servo driver
 9  public double servoPos = 0;       // Posição atual do servo
10  public float servoVel = 0;        // Velocidade atual do servo
11  public float servoTorque = 0;     // Torque atual do servo
12}

2.12. Estado de Interrupção da Soldagem

1/**
2* @brief Estado de interrupção da soldagem
3*/
4public class WELDING_BREAKOFF_STATE
5{
6  public int breakOffState = 0;  // Estado de interrupção da soldagem
7  public int weldArcState = 0;   // Estado de interrupção do arco de soldagem
8}

2.13. Parâmetros de Comunicação UDP do Eixo Estendido

 1/**
 2* @brief Parâmetros de comunicação UDP do eixo estendido
 3*/
 4public class UDPComParam
 5{
 6  public String ip = "192.168.58.88"; // Endereço IP
 7  public int port = 2021;            // Número da porta
 8  public int period = 2;             // Período de comunicação (ms, padrão 2, não modifique este parâmetro)
 9  public int lossPkgTime = 50;       // Tempo de detecção de perda de pacote (ms)
10  public int lossPkgNum = 2;         // Número de perdas de pacote
11  public int disconnectTime = 100;   // Duração para confirmação de desconexão da comunicação
12  public int reconnectEnable = 0;    // Ativação da reconexão automática em caso de desconexão 0-desativar 1-ativar
13  public int reconnectPeriod = 100;  // Intervalo do período de reconexão (ms)
14  public int reconnectNum = 3;       // Número de tentativas de reconexão
15  public int selfConnect = 0;        // Estabelecer conexão automaticamente após reinicialização com perda de energia; 0-não estabelecer; 1-estabelecer
16}

2.14. Tipo de Estrutura de Retroalimentação de Estado do Robô

  1/**
  2* @brief  Tipo de estrutura de feedback de estado do robô
  3*/
  4public class ROBOT_STATE_PKG {
  5    public int frame_head;                      // Cabeçalho do quadro
  6    public int frame_cnt;                       // Contagem de quadros
  7    public int data_len;                        // Comprimento dos dados
  8    public int program_state;                   // Estado do programa - 1-parado; 2-em execução; 3-pausado
  9    public int robot_state;                     // Estado de movimento do robô - 1-parado; 2-em movimento; 3-pausado; 4-arrastando
 10    public int main_code;                       // Código de falha principal
 11    public int sub_code;                        // Código de falha secundário
 12    public int robot_mode;                      // Modo do robô - 1-manual; 0-automático
 13    public double[] jt_cur_pos = new double[6]; // Posições atuais das juntas de 6 eixos, unidade deg
 14    public double[] tl_cur_pos = new double[6]; // Posição atual da ferramenta - [x,y,z,rx,ry,rz]
 15    public double[] flange_cur_pos = new double[6]; // Posição atual da flange final - [x,y,z,rx,ry,rz]
 16    public double[] actual_qd = new double[6];  // Velocidades atuais de 6 juntas, unidade deg/s
 17    public double[] actual_qdd = new double[6]; // Acelerações atuais de 6 juntas, unidade deg/s^2
 18    public double[] target_TCP_CmpSpeed = new double[2]; // Velocidade de comando composta TCP - [posição mm/s, orientação deg/s]
 19    public double[] target_TCP_Speed = new double[6]; // Velocidade de comando TCP - [vx,vy,vz,wx,wy,wz]
 20    public double[] actual_TCP_CmpSpeed = new double[2]; // Velocidade efetiva composta TCP - [posição mm/s, orientação deg/s]
 21    public double[] actual_TCP_Speed = new double[6]; // Velocidade efetiva TCP - [vx,vy,vz,wx,wy,wz]
 22    public double[] jt_cur_tor = new double[6]; // Torque atual da junta
 23    public int tool;                            // ID da ferramenta
 24    public int user;                            // ID da peça
 25    public int cl_dgt_output_h;                 // Byte alto da saída digital do armário de controle
 26    public int cl_dgt_output_l;                 // Byte baixo da saída digital do armário de controle
 27    public int tl_dgt_output_l;                 // Byte baixo da saída digital da ferramenta
 28    public int cl_dgt_input_h;                  // Byte alto da entrada digital do armário de controle
 29    public int cl_dgt_input_l;                  // Byte baixo da entrada digital do armário de controle
 30    public int tl_dgt_input_l;                  // Byte baixo da entrada digital da ferramenta
 31    public int[] cl_analog_input = new int[2];  // Entrada analógica do armário de controle
 32    public int tl_anglog_input;                 // Entrada analógica da ferramenta
 33    public double[] ft_sensor_raw_data = new double[6]; // Dados brutos do sensor de força
 34    public double[] ft_sensor_data = new double[6]; // Dados do sensor de força
 35    public int ft_sensor_active;                // Estado de ativação do sensor de força
 36    public int EmergencyStop;                   // Estado de parada de emergência
 37    public int motion_done;                     // Movimento concluído
 38    public int gripper_motiondone;              // Movimento da garra concluído
 39    public int mc_queue_len;                    // Comprimento da fila de movimentos
 40    public int collisionState;                  // Estado de colisão
 41    public int trajectory_pnum;                 // Número de sequência do ponto de trajetória
 42    public int safety_stop0_state;              // Estado de parada de segurança 0
 43    public int safety_stop1_state;              // Estado de parada de segurança 1
 44    public int gripper_fault_id;                // ID de falha da garra
 45    public int gripper_fault;                   // Falha da garra
 46    public int gripper_active;                  // Ativação da garra
 47    public int gripper_position;                // Posição da garra
 48    public int gripper_speed;                   // Velocidade da garra
 49    public int gripper_current;                 // Corrente da garra
 50    public int gripper_temp;                    // Temperatura da garra
 51    public int gripper_voltage;                 // Tensão da garra
 52    public AuxState aux_state = new AuxState(); // Estado dos eixos auxiliares internos
 53    public EXT_AXIS_STATUS[] extAxisStatus = new EXT_AXIS_STATUS[4]; // Matriz de estado dos eixos de extensão
 54    public short[] extDIState = new short[8];   // I/O estendidos
 55    public short[] extDOState = new short[8];   // I/O estendidos
 56    public short[] extAIState = new short[4];   // I/O estendidos
 57    public short[] extAOState = new short[4];   // I/O estendidos
 58    public int rbtEnableState;                  // Estado de habilitação do robô
 59    public double[] jointDriverTorque = new double[6]; // Torque do driver da junta
 60    public double[] jointDriverTemperature = new double[6]; // Temperatura do driver da junta
 61    public ROBOT_TIME robotTime = new ROBOT_TIME(); // Objeto de tempo do robô
 62    public int softwareUpgradeState;            // Estado de atualização do software
 63    public int endLuaErrCode;                   // Código de erro Lua da extremidade
 64    public int[] cl_analog_output = new int[2]; // Saída analógica do armário de controle
 65    public int tl_analog_output;                // Saída analógica da ferramenta
 66    public float gripperRotNum;                 // Número de rotações da garra rotativa
 67    public int gripperRotSpeed;                 // Velocidade da garra rotativa
 68    public int gripperRotTorque;                // Torque da garra rotativa
 69    public WELDING_BREAKOFF_STATE weldingBreakOffState = new WELDING_BREAKOFF_STATE(); // Estado de interrupção da soldagem
 70    public double[] jt_tgt_tor = new double[6]; // Torque da junta alvo
 71    public int smartToolState;                  // Estado da ferramenta inteligente
 72    public float wideVoltageCtrlBoxTemp;        // Temperatura do armário de controle de ampla tensão
 73    public int wideVoltageCtrlBoxFanCurrent;    // Corrente do ventilador do armário de controle de ampla tensão
 74    public double[] toolCoord = new double[6];  // Sistema de coordenadas da ferramenta
 75    public double[] wobjCoord = new double[6];  // Sistema de coordenadas da peça
 76    public double[] extoolCoord = new double[6]; // Sistema de coordenadas da ferramenta externa
 77    public double[] exAxisCoord = new double[6]; // Sistema de coordenadas do eixo de extensão
 78    public double load;                         // Carga
 79    public double[] loadCog = new double[3];    // Centro de gravidade da carga
 80    public double[] lastServoTarget = new double[6]; // Última posição alvo servo J
 81    public int servoJCmdNum;                    // Número de comandos servo J
 82    public double[] targetJointPos = new double[6]; // Posição da junta alvo
 83    public double[] targetJointVel = new double[6]; // Velocidade da junta alvo
 84    public double[] targetJointAcc = new double[6]; // Aceleração da junta alvo
 85    public double[] targetJointCurrent = new double[6]; // Corrente da junta alvo
 86    public double[] actualJointCurrent = new double[6]; // Corrente efetiva da junta
 87    public double[] actualTCPForce = new double[6]; // Força TCP efetiva
 88    public double[] targetTCPPos = new double[6]; // Posição TCP alvo
 89    public int[] collisionLevel = new int[6];   // Nível de colisão
 90    public double speedScaleManual;              // Escala de velocidade manual
 91    public double speedScaleAuto;                // Escala de velocidade automática
 92    public int luaLineNum;                       // Número da linha Lua
 93    public int abnomalStop;                      // Parada anormal
 94    public String currentLuaFileName;            // Nome do arquivo Lua atual
 95    public int programTotalLine;                 // Linhas totais do programa
 96    public int[] safetyBoxSingal = new int[6];   // Sinal da caixa de segurança
 97    public double weldVoltage;                   // Tensão de soldagem
 98    public double weldCurrent;                   // Corrente de soldagem
 99    public double weldTrackVel;                  // Velocidade de rastreamento de soldagem
100    public int tpdException;                     // Exceção TPD
101    public int alarmRebootRobot;                 // Reinicialização do robô por alarme
102    public int modbusMasterConnect;              // Conexão master Modbus
103    public int modbusSlaveConnect;               // Conexão slave Modbus
104    public int btnBoxStopSignal;                 // Sinal de parada da caixa de botões
105    public int dragAlarm;                        // Alarme de arrasto
106    public int safetyDoorAlarm;                  // Alarme de porta de segurança
107    public int safetyPlaneAlarm;                 // Alarme de plano de segurança
108    public int motonAlarm;                       // Alarme de movimento
109    public int interfaceAlarm;                   // Alarme de interferência
110    public int udpCmdState;                      // Estado do comando UDP
111    public int weldReadyState;                   // Estado de prontidão da soldagem
112    public int alarmCheckEmergStopBtn;           // Botão de parada de emergência de verificação de alarme
113    public int tsTmCmdComError;                  // Erro de comunicação de comando
114    public int tsTmStateComError;                // Erro de comunicação de estado
115    public int ctrlBoxError;                     // Erro do armário de controle
116    public int safetyDataState;                  // Estado dos dados de segurança
117    public int forceSensorErrState;              // Estado de erro do sensor de força
118    public int[] ctrlOpenLuaErrCode = new int[4]; // Código de erro Lua de controle aberto
119    public int strangePosFlag;                   // Flag de posição singular
120    public int alarm;                            // Alarme
121    public int driverAlarm;                      // Alarme do driver
122    public int aliveSlaveNumError;               // Erro de número de escravos ativos
123    public int[] slaveComError = new int[8];     // Erro de comunicação do escravo
124    public int cmdPointError;                    // Erro de ponto de comando
125    public int IOError;                          // Erro de IO
126    public int gripperError;                     // Erro da garra
127    public int fileError;                        // Erro de arquivo
128    public int paraError;                        // Erro de parâmetro
129    public int exaxisOutLimitError;              // Erro de limite suave do eixo de extensão excedido
130    public int[] driverComError = new int[6];    // Erro de comunicação do driver
131    public int driverError;                      // Erro do driver
132    public int outSoftLimitError;                // Erro de limite suave excedido
133    public byte[] axleGenComData = new byte[130]; // Dados de comunicação do eixo geral
134    public int check_sum;                        // Checksum
135    public int socketConnTimeout;                // Tempo limite de conexão do socket
136    public int socketReadTimeout;                // Tempo limite de leitura do socket
137    public int tsWebStateComErr;                 // Erro de comunicação de estado TS Web
138}

2.15. Classe de Resultado da Configuração de Feedback de Estado do Robô

1/**
2* Classe de resultado da configuração de feedback de estado do robô, contendo lista de estados e período
3*/
4public static class StateConfigResult {
5  public final List<RobotState> stateList;
6  public final int period;
7}

2.16. Tipo de Enumeração da Configuração de Feedback de Estado do Robô

  1/**
  2* Tipo de enumeração de estado do robô
  3* Usado para configuração de feedback de estado em tempo real
  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}