2. Descrição das Estruturas de Dados

2.1. Tipo de Valor de Retorno da Chamada de Interface

1typedef int errno_t;

2.2. Tipo de Dados de Posição Articular

1/**
2* @brief Tipo de dados de posição articular
3*/
4typedef struct
5{
6    double jPos[6];   /* Posições das seis juntas, em graus */
7} JointPos;

2.3. Tipo de Dados de Posição no Espaço Cartesiano

1/**
2* @brief Tipo de dados de posição no espaço cartesiano
3*/
4typedef struct
5{
6    double x;    /* Coordenada do eixo X, em mm */
7    double y;    /* Coordenada do eixo Y, em mm */
8    double z;    /* Coordenada do eixo Z, em mm */
9} DescTran;

2.4. Tipo de Dados de Atitude de Ângulos de Euler

1/**
2* @brief Tipo de dados de atitude de ângulos de Euler
3*/
4typedef struct
5{
6    double rx;   /* Ângulo de rotação em torno do eixo X fixo, em graus */
7    double ry;   /* Ângulo de rotação em torno do eixo Y fixo, em graus */
8    double rz;   /* Ângulo de rotação em torno do eixo Z fixo, em graus */
9} Rpy;

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

1/**
2*@brief Tipo de pose no espaço cartesiano
3*/
4typedef struct
5{
6    DescTran tran;      /* Posição no espaço cartesiano */
7    Rpy rpy;            /* Atitude no espaço cartesiano */
8} DescPose;

2.6. Tipo de Dados de Posição do Eixo Estendido

1/**
2* @brief Tipo de dados de posição do eixo estendido
3*/
4typedef struct
5{
6    double ePos[4];   /* Posições dos quatro eixos estendidos, em mm */
7} ExaxisPos;

2.7. Tipo de Dados do Sensor de Torque

 1/**
 2* @brief Componentes de força e torque do sensor de força
 3*/
 4typedef struct
 5{
 6    double fx;  /* Componente de força ao longo do eixo X, em N */
 7    double fy;  /* Componente de força ao longo do eixo Y, em N */
 8    double fz;  /* Componente de força ao longo do eixo Z, em N */
 9    double tx;  /* Componente de torque em torno do eixo X, em Nm */
10    double ty;  /* Componente de torque em torno do eixo Y, em Nm */
11    double tz;  /* Componente de torque em torno do eixo Z, em Nm */
12} ForceTorque;

2.8. Tipo de Dados de Parâmetros da Espiral

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

2.9. Pacote de feedback do estado do controlador

Alterado na versão C++SDK-v2.1.4.0.

  1/**
  2 * @brief  Pacote de feedback do estado do controlador
  3 */
  4typedef struct _ROBOT_STATE_PKG
  5{
  6  uint16_t frame_head;   // Cabeçalho do quadro, definido como 0x5A5A
  7  uint8_t frame_cnt;     // Contagem do quadro, contagem cíclica 0-255
  8  uint16_t data_len;     // Comprimento do conteúdo dos dados
  9  uint8_t program_state;   // Estado de execução do programa, 1-parado; 2-em execução; 3-pausado;
 10  uint8_t robot_state;    // Estado de movimento do robô, 1-parado; 2-em execução; 3-pausado; 4-arrasto
 11  int   main_code;     // Código de falha principal
 12  int   sub_code;      // Código de falha secundário
 13  uint8_t robot_mode;    // Modo do robô, 1-modo manual; 0-modo automático;
 14  double  jt_cur_pos[6];   // Posição atual das 6 juntas, unidade deg
 15  double  tl_cur_pos[6];   // Posição atual da ferramenta (TCP)
 16        // tl_cur_pos[0], posição ao longo do eixo x, unidade mm,
 17        // tl_cur_pos[1], posição ao longo do eixo y, unidade mm,
 18        // tl_cur_pos[2], posição ao longo do eixo z, unidade mm,
 19        // tl_cur_pos[3], ângulo de rotação em torno do eixo X fixo, unidade deg
 20        // tl_cur_pos[4], ângulo de rotação em torno do eixo Y fixo, unidade deg
 21        // tl_cur_pos[5], ângulo de rotação em torno do eixo Z fixo, unidade deg
 22  double  flange_cur_pos[6]; // Posição atual da flange final
 23        // flange_cur_pos[0], posição ao longo do eixo x, unidade mm,
 24        // flange_cur_pos[1], posição ao longo do eixo y, unidade mm,
 25        // flange_cur_pos[2], posição ao longo do eixo z, unidade mm,
 26        // flange_cur_pos[3], ângulo de rotação em torno do eixo X fixo, unidade deg
 27        // flange_cur_pos[4], ângulo de rotação em torno do eixo Y fixo, unidade deg
 28        // flange_cur_pos[5], ângulo de rotação em torno do eixo Z fixo, unidade deg
 29  double  actual_qd[6];    // Velocidade atual das 6 juntas, unidade deg/s
 30  double  actual_qdd[6];    // Aceleração atual das 6 juntas, unidade deg/s^2
 31  double  target_TCP_CmpSpeed[2];
 32        // target_TCP_CmpSpeed[0], Velocidade de instrução composta TCP (posição), unidade mm/s
 33        // target_TCP_CmpSpeed[1], Velocidade de instrução composta TCP (orientação), unidade deg/s */
 34  double  target_TCP_Speed[6];  // Velocidade de instrução TCP
 35          // target_TCP_Speed[0], velocidade ao longo do eixo x, unidade mm/s,
 36          // target_TCP_Speed[1], velocidade ao longo do eixo y, unidade mm/s,
 37          // target_TCP_Speed[2], velocidade ao longo do eixo z, unidade mm/s,
 38          // target_TCP_Speed[3], velocidade angular em torno do eixo X fixo, unidade deg/s
 39          // target_TCP_Speed[4], velocidade angular em torno do eixo Y fixo, unidade deg/s
 40          // target_TCP_Speed[5], velocidade angular em torno do eixo Z fixo, unidade deg/s */
 41  double  actual_TCP_CmpSpeed[2];
 42          // actual_TCP_CmpSpeed[0], Velocidade real composta TCP (posição), unidade mm/s
 43          // actual_TCP_CmpSpeed[1], Velocidade real composta TCP (orientação), unidade deg/s */
 44  double  actual_TCP_Speed[6];  // Velocidade real TCP
 45          // actual_TCP_Speed[0], velocidade ao longo do eixo x, unidade mm/s,
 46          // actual_TCP_Speed[1], velocidade ao longo do eixo y, unidade mm/s,
 47          // actual_TCP_Speed[2], velocidade ao longo do eixo z, unidade mm/s,
 48          // actual_TCP_Speed[3], velocidade angular em torno do eixo X fixo, unidade deg/s
 49          // actual_TCP_Speed[4], velocidade angular em torno do eixo Y fixo, unidade deg/s
 50          // actual_TCP_Speed[5], velocidade angular em torno do eixo Z fixo, unidade deg/s
 51  double  jt_cur_tor[6];    // Torque atual das 6 juntas, unidade N·m
 52  int   tool;         // Número do sistema de coordenada da ferramenta aplicado
 53  int   user;         // Número do sistema de coordenada da peça aplicado
 54  uint8_t cl_dgt_output_h;   // Saída IO digital da caixa de controle 15-8
 55  uint8_t cl_dgt_output_l;   // Saída IO digital da caixa de controle 7-0
 56  uint8_t tl_dgt_output_l;   // Saída IO digital da ferramenta 7-0, apenas bits 0-1 válidos
 57  uint8_t cl_dgt_input_h;    // Entrada IO digital da caixa de controle 15-8
 58  uint8_t cl_dgt_input_l;    // Entrada IO digital da caixa de controle 7-0
 59  uint8_t tl_dgt_input_l;    // Entrada IO digital da ferramenta 7-0, apenas bits 0-1 válidos
 60  uint16_t cl_analog_input[2]; // cl_analog_input[0], Entrada analógica da caixa de controle 0
 61                // cl_analog_input[1], Entrada analógica da caixa de controle 1
 62  uint16_t tl_anglog_input;   // Entrada analógica da ferramenta
 63  double  ft_sensor_raw_data[6]; // Dados brutos do sensor de força
 64          // ft_sensor_raw_data[0], força ao longo do eixo x, unidade N
 65          // ft_sensor_raw_data[1], força ao longo do eixo y, unidade N
 66          // ft_sensor_raw_data[2], força ao longo do eixo z, unidade N
 67          // ft_sensor_raw_data[3], torque em torno do eixo x, unidade Nm
 68          // ft_sensor_raw_data[4], torque em torno do eixo y, unidade Nm
 69          // ft_sensor_raw_data[5], torque em torno do eixo z, unidade Nm
 70  double  ft_sensor_data[6];    // Dados do sensor de força
 71          // ft_sensor_data[0], força ao longo do eixo x, unidade N
 72          // ft_sensor_data[1], força ao longo do eixo y, unidade N
 73          // ft_sensor_data[2], força ao longo do eixo z, unidade N
 74          // ft_sensor_data[3], torque em torno do eixo x, unidade Nm
 75          // ft_sensor_data[4], torque em torno do eixo y, unidade Nm
 76          // ft_sensor_data[5], torque em torno do eixo z, unidade Nm
 77  uint8_t ft_sensor_active;   // Estado de ativação do sensor de força, 0-reset, 1-ativado
 78  uint8_t EmergencyStop;    // Flag de parada de emergência, 0-parada de emergência não acionada, 1-parada de emergência acionada
 79  int   motion_done;     // Sinal de movimento concluído, 1-concluído, 0-não concluído
 80  uint8_t gripper_motiondone; // Sinal de conclusão do movimento da garra, 1-concluído, 0-não concluído
 81  int   mc_queue_len;     // Comprimento da fila de instruções de movimento
 82  uint8_t collisionState;    // Detecção de colisão, 1-colisão, 0-sem colisão
 83  int   trajectory_pnum;   // Número do ponto da trajetória
 84  uint8_t safety_stop0_state; // Sinal de parada de segurança SI0
 85  uint8_t safety_stop1_state; // Sinal de parada de segurança SI1
 86  uint8_t gripper_fault_id;   // ID da garra com erro
 87  uint16_t gripper_fault;    // Falha da garra
 88  uint16_t gripper_active;    // Estado de ativação da garra
 89  uint8_t gripper_position;   // Posição da garra
 90  int8_t  gripper_speed;    // Velocidade da garra
 91  int8_t  gripper_current;   // Corrente da garra
 92  int   gripper_temp;     // Temperatura da garra
 93  int   gripper_voltage;   // Tensão da garra
 94  robot_aux_state aux_state;   // Estado do eixo de extensão 485
 95  EXT_AXIS_STATUS extAxisStatus[4]; // Estado do eixo de extensão UDP
 96  uint16_t extDIState[8];     // Entrada DI estendida
 97  uint16_t extDOState[8];     // Saída DO estendida
 98  uint16_t extAIState[4];     // Entrada AI estendida
 99  uint16_t extAOState[4];     // Saída AO estendida
100  int rbtEnableState;       // Estado de habilitação do robô
101  double  jointDriverTorque[6];    // Torque do driver da junta do robô
102  double  jointDriverTemperature[6];  // Temperatura do driver da junta do robô
103  RobotTime robotTime;       // Tempo do sistema do robô
104  int softwareUpgradeState;    // Estado de atualização de software do robô
105  uint16_t endLuaErrCode;     // Estado de execução LUA da extremidade
106  uint16_t cl_analog_output[2]; // Saída analógica da caixa de controle
107  uint16_t tl_analog_output;    // Saída analógica da ferramenta
108  float gripperRotNum;       // Número atual de rotações da garra rotativa
109  uint8_t gripperRotSpeed;     // Percentual de velocidade atual da garra rotativa
110  uint8_t gripperRotTorque;    // Percentual de torque atual da garra rotativa
111  WELDING_BREAKOFF_STATE weldingBreakOffState; // Estado de interrupção da soldagem
112  double jt_tgt_tor[6];         // Torque de instrução da junta
113  int smartToolState;          // Estado do botão da SmartTool
114  float wideVoltageCtrlBoxTemp;     // Temperatura da caixa de controle de ampla tensão
115  uint16_t wideVoltageCtrlBoxFanCurrent;// Corrente do ventilador da caixa de controle de ampla tensão (mA)
116  double toolCoord[6];    // Valores atuais do sistema de coordenada da ferramenta; x,y,z,rx,ry,rz
117  double wobjCoord[6];    // Valores atuais do sistema de coordenada da peça; x,y,z,rx,ry,rz
118  double extoolCoord[6];   // Valores atuais do sistema de coordenada da ferramenta externa; x,y,z,rx,ry,rz
119  double exAxisCoord[6];   // Valores atuais do sistema de coordenada do eixo de extensão; x,y,z,rx,ry,rz
120  double load;        // Massa da carga
121  double loadCog[3];     // Centro de gravidade da carga
122  double lastServoTarget[6]; // Posição alvo do último ServoJ na fila
123  int servoJCmdNum;      // Contagem de instruções servoJ
124  double targetJointPos[6];  // Posição de instrução das 6 juntas, unidade °
125  double targetJointVel[6];  // Velocidade de instrução das 6 juntas, unidade °/s
126  double targetJointAcc[6];  // Aceleração de instrução das 6 juntas, unidade °/s2
127  double targetJointCurrent[6]; // Corrente de instrução das 6 juntas, unidade A
128  double actualJointCurrent[6]; // Corrente atual das 6 juntas, unidade A
129  double actualTCPForce[6];  // Torque da extremidade do robô Nm; x,y,z,rx,ry,rz
130  double targetTCPPos[6];    // Posição de instrução TCP do robô mm; x,y,z,rx,ry,rz
131  uint8_t collisionLevel[6]; // Nível de colisão do robô
132  double speedScaleManual;   // Percentual de velocidade global no modo manual
133  double speedScaleAuto;    // Percentual de velocidade global no modo automático
134  int luaLineNum;       // Número da linha do programa lua atualmente em execução
135  uint8_t abnomalStop;     // 0-sem anormalidade; 1-com anormalidade
136  char currentLuaFileName[256]; // Nome do programa lua atualmente em execução
137  uint8_t programTotalLine;   // Número total de linhas do programa lua
138  uint8_t safetyBoxSingal[6]; // Estado dos botões da caixa de segurança do robô
139  double weldVoltage;     // Tensão de soldagem V
140  double weldCurrent;     // Corrente de soldagem
141  double weldTrackVel;    // Velocidade de rastreamento da solda mm/s
142  uint8_t tpdException;    // Excedeu o limite de carregamento da trajetória TPD, 0-não excedeu, 1-excedeu
143  uint8_t alarmRebootRobot;  // Aviso, 1-soltar botão de parada de emergência e reiniciar a caixa de controle, 2-anomalia de comunicação da junta reiniciar a caixa de controle
144  uint8_t modbusMasterConnect; // bits 0-7 correspondem ao estado de conexão do mestre 0-7 ModbusTCP 0-não conectado 1-conectado
145  uint8_t modbusSlaveConnect;  // Estado de conexão do escravo ModbusTCP 0-não conectado; 1-conectado
146  uint8_t btnBoxStopSignal;    // Sinal de parada de emergência da botoeira, 0-parada de emergência solta; 1-parada de emergência pressionada
147  uint8_t dragAlarm;      // Aviso de arrasto, atualmente em modo automático, 0-sem aviso, 1-com aviso, 2-anomalia de feedback de posição sem comutação
148  uint8_t safetyDoorAlarm;    // Aviso de porta de segurança; 0-porta de segurança fechada; 1-porta de segurança aberta
149  uint8_t safetyPlaneAlarm;    // Aviso de entrada no safety wall; 0-sem entrada no safety wall; 1-entrada no safety wall
150  uint8_t motonAlarm;      // Aviso de movimento
151  uint8_t interfaceAlarm;    // Aviso de entrada em área de interferência
152  int udpCmdState;       // Estado de conexão de comunicação UDP na porta 20007
153  uint8_t weldReadyState;    // Estado de preparação da soldadora concluído
154  uint8_t alarmCheckEmergStopBtn; // 0-normal; 1-anomalia de comunicação, verificar se o botão de parada de emergência está solto
155  uint8_t tsTmCmdComError;    // 0-normal; 1-falha de comunicação da instrução de torque
156  uint8_t tsTmStateComError;   // 0-normal; 1-falha de comunicação do estado de torque
157  int ctrlBoxError;       // Erro da caixa de controle
158  uint8_t safetyDataState;    // Flag de estado dos dados de segurança, 0-normal, 1-anômalo
159  uint8_t forceSensorErrState; // Falha de tempo limite de conexão do sensor de força; bits 0-1 correspondem aos IDs do sensor de força ID1-ID2
160  uint8_t ctrlOpenLuaErrCode[4]; // Códigos de erro do protocolo do periférico do controlador 4 (código de erro 500)
161  uint8_t strangePosFlag; // Flag de posição singular atual; 0-normal; 1-posição singular
162  uint8_t alarm;      // Aviso
163  uint8_t driverAlarm;    // Número do eixo com alarme do driver
164  uint8_t aliveSlaveNumError; // Erro no número de escravos ativos, 0: normal; 1: erro no número
165  uint8_t slaveComError[8];   // Erro do escravo, 0: normal; 1: escravo offline; 2: estado do escravo inconsistente com o valor definido; 3: escravo não configurado; 4: erro de configuração do escravo; 5: erro de inicialização do escravo; 6: erro de inicialização da comunicação da caixa postal do escravo
166  uint8_t cmdPointError;    // Erro no ponto de instrução
167  uint8_t IOError;      // Erro de IO
168  uint8_t gripperError;    // Erro da garra
169  uint8_t fileError;     // Erro de arquivo
170  uint8_t paraError;     // Erro de parâmetro
171  uint8_t exaxisOutLimitError;  // Erro de limite suave do eixo externo excedido
172  uint8_t driverComError[6];    // Falha de comunicação com o driver
173  uint8_t driverError;      // Número do eixo com falha de comunicação do driver
174  uint8_t outSoftLimitError;   // Falha de limite suave excedido
175  char axleGenComData[130];    // Dados de feedback de transmissão transparente da extremidade do robô
176  uint8_t socketConnTimeout;   // Tempo limite de conexão do socket, bits 0-4: socketID 1-4
177  uint8_t socketReadTimeout;   // Tempo limite de leitura do socket, bits 0-4: socketID 1-4
178  uint8_t tsWebStateComErr;   // Falha de comunicação web-torque; 0-normal; 1-falha
179  uint16_t check_sum;     // Checksum
180}ROBOT_STATE_PKG;

2.10. Tipo de Enumeração para Configuração de Feedback de Estado do Robô

  1enum class RobotState
  2{
  3    ProgramState = 3,           // Estado de execução do programa, 1-parado; 2-em execução; 3-pausado
  4    RobotState = 4,             // Estado de movimento do robô, 1-parado; 2-em movimento; 3-pausado; 4-arrastando
  5    MainCode = 5,               // Código de falha principal
  6    SubCode = 6,                // Código de falha secundário
  7    RobotMode = 7,              // Modo do robô, 1-manual; 0-automático
  8    JointCurPos = 8,            // Posições atuais das juntas de 6 eixos, unidade deg
  9    ToolCurPos = 9,             // Posição atual da ferramenta: [0] ao longo x (mm), [1] ao longo y (mm), [2] ao longo z (mm), [3] rotação em torno X fixo (deg), [4] em torno Y fixo (deg), [5] em torno Z fixo (deg)
 10    FlangeCurPos = 10,          // Posição atual da flange final: [0] ao longo x (mm), [1] ao longo y (mm), [2] ao longo z (mm), [3] rotação em torno X fixo (deg), [4] em torno Y fixo (deg), [5] em torno Z fixo (deg)
 11    ActualJointVel = 11,        // Velocidades atuais de 6 juntas, unidade deg/s
 12    ActualJointAcc = 12,        // Acelerações atuais de 6 juntas, unidade deg/s^2
 13    TargetTCPCmpSpeed = 13,     // Velocidade de comando composta TCP: [0] posição (mm/s), [1] orientação (deg/s)
 14    TargetTCPSpeed = 14,        // Velocidade de comando TCP: [0] ao longo x (mm/s), [1] ao longo y (mm/s), [2] ao longo z (mm/s), [3] velocidade angular em torno X (deg/s), [4] em torno Y (deg/s), [5] em torno Z (deg/s)
 15    ActualTCPCmpSpeed = 15,     // Velocidade efetiva composta TCP: [0] posição (mm/s), [1] orientação (deg/s)
 16    ActualTCPSpeed = 16,        // Velocidade efetiva TCP: [0] ao longo x (mm/s), [1] ao longo y (mm/s), [2] ao longo z (mm/s), [3] velocidade angular em torno X (deg/s), [4] em torno Y (deg/s), [5] em torno Z (deg/s)
 17    ActualJointTorque = 17,     // Torques atuais de 6 eixos, unidade N·m
 18    Tool = 18,                  // Número do sistema de coordenadas da ferramenta aplicado
 19    User = 19,                  // Número do sistema de coordenadas da peça aplicado
 20    ClDgtOutputH = 20,          // Saída IO digital da caixa de controle 15-8
 21    ClDgtOutputL = 21,          // Saída IO digital da caixa de controle 7-0
 22    TlDgtOutputL = 22,          // Saída IO digital da ferramenta 7-0, apenas bit0-bit1 válidos
 23    ClDgtInputH = 23,           // Entrada IO digital da caixa de controle 15-8
 24    ClDgtInputL = 24,           // Entrada IO digital da caixa de controle 7-0
 25    TlDgtInputL = 25,           // Entrada IO digital da ferramenta 7-0, apenas bit0-bit1 válidos
 26    ClAnalogInput = 26,         // Entrada analógica da caixa de controle: [0] canal 0, [1] canal 1
 27    TlAnalogInput = 27,         // Entrada analógica da ferramenta
 28    FtSensorRawData = 28,       // Dados brutos do sensor de força/torque: [0] força ao longo x (N), [1] ao longo y (N), [2] ao longo z (N), [3] torque em torno x (Nm), [4] em torno y (Nm), [5] em torno z (Nm)
 29    FtSensorData = 29,          // Dados do sensor de força/torque (processados): [0] força ao longo x (N), [1] ao longo y (N), [2] ao longo z (N), [3] torque em torno x (Nm), [4] em torno y (Nm), [5] em torno z (Nm)
 30    FtSensorActive = 30,        // Estado de ativação do sensor de força/torque, 0-reiniciado, 1-ativado
 31    EmergencyStop = 31,         // Flag de parada de emergência, 0-não pressionada, 1-pressionada
 32    MotionDone = 32,            // Sinal de movimento concluído, 1-concluído, 0-não concluído
 33    GripperMotiondone = 33,     // Sinal de movimento da garra concluído, 1-concluído, 0-não concluído
 34    McQueueLen = 34,            // Comprimento da fila de comandos de movimento
 35    CollisionState = 35,        // Detecção de colisão, 1-colisão, 0-sem colisão
 36    TrajectoryPnum = 36,        // Número do ponto de trajetória
 37    SafetyStop0State = 37,      // Sinal de parada de segurança SI0
 38    SafetyStop1State = 38,      // Sinal de parada de segurança SI1
 39    GripperFaultId = 39,        // Número da garra com falha
 40    GripperFault = 40,          // Falha da garra
 41    GripperActive = 41,         // Estado de ativação da garra
 42    GripperPosition = 42,       // Posição da garra
 43    GripperSpeed = 43,          // Velocidade da garra
 44    GripperCurrent = 44,        // Corrente da garra
 45    GripperTemp = 45,           // Temperatura da garra
 46    GripperVoltage = 46,        // Tensão da garra
 47    AuxState = 47,              // Estado dos eixos de extensão 485
 48    ExtAxisStatus = 48,         // Estado dos eixos de extensão UDP (4 eixos)
 49    ExtDIState = 49,            // Entrada DI estendida (8)
 50    ExtDOState = 50,            // Saída DO estendida (8)
 51    ExtAIState = 51,            // Entrada AI estendida (4)
 52    ExtAOState = 52,            // Saída AO estendida (4)
 53    RbtEnableState = 53,        // Estado de habilitação do robô
 54    JointDriverTorque = 54,     // Torque do driver das juntas do robô (6 juntas)
 55    JointDriverTemperature = 55,// Temperatura do driver das juntas do robô (6 juntas)
 56    RobotTime = 56,             // Tempo do sistema do robô
 57    SoftwareUpgradeState = 57,  // Estado de atualização do software do robô
 58    EndLuaErrCode = 58,         // Estado de execução Lua da extremidade
 59    ClAnalogOutput = 59,        // Saída analógica da caixa de controle (2)
 60    TlAnalogOutput = 60,        // Saída analógica da ferramenta
 61    GripperRotNum = 61,         // Número de rotações atual da garra rotativa
 62    GripperRotSpeed = 62,       // Porcentagem de velocidade de rotação atual da garra rotativa
 63    GripperRotTorque = 63,      // Porcentagem de torque de rotação atual da garra rotativa
 64    WeldingBreakOffState = 64,  // Estado de interrupção da soldagem
 65    TargetJointTorque = 65,     // Torque de comando da junta (6 juntas)
 66    SmartToolState = 66,        // Estado do botão da manopla SmartTool
 67    WideVoltageCtrlBoxTemp = 67,// Temperatura da caixa de controle de ampla tensão
 68    WideVoltageCtrlBoxFanCurrent = 68, // Corrente do ventilador da caixa de controle de ampla tensão (mA)
 69    ToolCoord = 69,             // Valores atuais do sistema de coordenadas da ferramenta: x,y,z,rx,ry,rz
 70    WobjCoord = 70,             // Valores atuais do sistema de coordenadas da peça: x,y,z,rx,ry,rz
 71    ExtoolCoord = 71,           // Valores atuais do sistema de coordenadas da ferramenta externa: x,y,z,rx,ry,rz
 72    ExAxisCoord = 72,           // Valores atuais do sistema de coordenadas dos eixos de extensão: x,y,z,rx,ry,rz
 73    Load = 73,                  // Massa da carga
 74    LoadCog = 74,               // Centro de gravidade da carga: x,y,z
 75    LastServoTarget = 75,       // Última posição alvo ServoJ na fila (6 juntas)
 76    ServoJCmdNum = 76,          // Contagem de comandos ServoJ
 77    TargetJointPos = 77,        // Posição de comando de 6 juntas, unidade °
 78    TargetJointVel = 78,        // Velocidade de comando de 6 juntas, unidade °/s
 79    TargetJointAcc = 79,        // Aceleração de comando de 6 juntas, unidade °/s²
 80    TargetJointCurrent = 80,    // Corrente de comando de 6 juntas, unidade A
 81    ActualJointCurrent = 81,    // Corrente atual de 6 juntas, unidade A
 82    ActualTCPForce = 82,        // Torque do end-effector do robô: x,y,z,rx,ry,rz, unidade Nm
 83    TargetTCPPos = 83,          // Posição de comando TCP do robô: x,y,z,rx,ry,rz, unidade mm
 84    CollisionLevel = 84,        // Nível de colisão do robô (6)
 85    SpeedScaleManual = 85,      // Porcentagem de velocidade global no modo manual
 86    SpeedScaleAuto = 86,        // Porcentagem de velocidade global no modo automático
 87    LuaLineNum = 87,            // Número da linha atual do programa Lua em execução
 88    AbnomalStop = 88,           // 0-sem anormalidade; 1-anormalidade presente
 89    CurrentLuaFileName = 89,    // Nome do programa Lua atualmente em execução
 90    ProgramTotalLine = 90,      // Número total de linhas do programa Lua
 91    SafetyBoxSingal = 91,       // Estado dos botões da caixa de botões do robô (6)
 92    WeldVoltage = 92,           // Tensão de soldagem V
 93    WeldCurrent = 93,           // Corrente de soldagem
 94    WeldTrackVel = 94,          // Velocidade de rastreamento da junta de solda mm/s
 95    TpdException = 95,          // Contagem de carregamento de trajetória TPD excedida, 0-não excedida, 1-excedida
 96    AlarmRebootRobot = 96,      // Aviso: 1-solte a parada de emergência e reinicie, 2-anomalia de comunicação da junta, reinicie
 97    ModbusMasterConnect = 97,   // bit0-7 correspondem ao estado de conexão dos mestres ModbusTCP 0-7, 0-não conectado, 1-conectado
 98    ModbusSlaveConnect = 98,    // Estado de conexão escrava ModbusTCP, 0-não conectado, 1-conectado
 99    BtnBoxStopSignal = 99,      // Sinal de parada de emergência da caixa de botões, 0-liberado, 1-pressionado
100    DragAlarm = 100,            // Aviso de arrasto: 0-sem aviso, 1-aviso, 2-anomalia feedback posição, sem comutação
101    SafetyDoorAlarm = 101,      // Aviso de porta de segurança: 0-fechada, 1-aberta
102    SafetyPlaneAlarm = 102,     // Aviso de parede de segurança: 0-não entrou, 1-entrou
103    MotonAlarm = 103,           // Aviso de movimento
104    InterfaceAlarm = 104,       // Aviso de entrada na área de interferência
105    UdpCmdState = 105,          // Estado de conexão de comunicação UDP da porta 20007
106    WeldReadyState = 106,       // Estado de prontidão da máquina de solda
107    AlarmCheckEmergStopBtn = 107, // 0-normal; 1-anomalia de comunicação, verificar botão de parada de emergência
108    TsTmCmdComError = 108,      // 0-normal; 1-falha de comunicação do comando de torque
109    TsTmStateComError = 109,    // 0-normal; 1-falha de comunicação do estado de torque
110    CtrlBoxError = 110,         // Erro da caixa de controle
111    SafetyDataState = 111,      // Estado dos dados de segurança, 0-normal, 1-anormal
112    ForceSensorErrState = 112,  // Timeout de conexão do sensor de força, bit0-bit1 correspondem a ID1-ID2
113    CtrlOpenLuaErrCode = 113,   // Códigos de erro do protocolo aberto do controlador periférico (4 erros código 500)
114    StrangePosFlag = 114,       // Flag de postura singular: 0-normal, 1-postura singular
115    Alarm = 115,                // Aviso
116    DriverAlarm = 116,          // Número do eixo com alarme do driver
117    AliveSlaveNumError = 117,   // Erro de contagem de escravos ativos: 0-normal, 1-erro de contagem
118    SlaveComError = 118,        // Erro de escravo: 0-normal, 1-offline, 2-estado inconsistente, 3-não configurado, 4-erro de configuração, 5-erro de inicialização, 6-erro de inicialização da comunicação da caixa de correio
119    CmdPointError = 119,        // Erro de ponto de comando
120    IOError = 120,              // Erro de IO
121    GripperError = 121,         // Erro da garra
122    FileError = 122,            // Erro de arquivo
123    ParaError = 123,            // Erro de parâmetro
124    ExaxisOutLimitError = 124,  // Erro de limite suave do eixo externo excedido
125    DriverComError = 125,       // Falha de comunicação com o driver (6 eixos)
126    DriverError = 126,          // Número do eixo com falha de comunicação do driver
127    OutSoftLimitError = 127,    // Falha de limite suave excedido
128    AxleGenComData = 128,       // Dados de feedback de transmissão transparente do end-effector do robô
129    SocketConnTimeout = 129,    // Timeout de conexão socket, bit0-bit4 correspondem a socketID 1-4
130    SocketReadTimeout = 130,    // Timeout de leitura socket, bit0-bit4 correspondem a socketID 1-4
131    TsWebStateComErr = 131      // Falha de comunicação web-torque: 0-normal, 1-falha
132};