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