2. Descrição das Estruturas de Dados
2.1. Tipo de Dados para Posição das Juntas
1/**
2* @brief Tipo de dados para posição das juntas
3*/
4struct JointPos
5{
6 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
7 public double[] jPos; /* Posições das seis juntas, unidade deg */
8}
2.2. Tipo de Dados para Posição no Espaço Cartesiano
1/**
2* @brief Tipo de dados para posição no espaço cartesiano
3*/
4struct DescTran
5{
6 public double x; /* Coordenada do eixo X, unidade mm */
7 public double y; /* Coordenada do eixo Y, unidade mm */
8 public double z; /* Coordenada do eixo Z, unidade mm */
9}
2.3. Tipo de Dados para Postura em Ângulos de Euler
1/**
2* @brief Tipo de dados para postura em ângulos de Euler
3*/
4struct Rpy
5{
6public double rx; /* Ângulo de rotação em torno do eixo X fixo, unidade: deg */
7public double ry; /* Ângulo de rotação em torno do eixo Y fixo, unidade: deg */
8public double rz; /* Ângulo de rotação em torno do eixo Z fixo, unidade: deg */
9}
2.4. Tipo de Dados para Pose no Espaço Cartesiano
1/**
2*@brief Tipo de dados para pose no espaço cartesiano
3*/
4struct DescPose
5{
6 public DescTran tran; /* Posição no espaço cartesiano */
7 public Rpy rpy; /* Postura no espaço cartesiano */
8}
2.5. Tipo de Dados para Posição dos Eixos Extensores
1/**
2* @brief Tipo de dados para posição dos eixos extensores
3*/
4struct ExaxisPos
5{
6 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
7 public double[] ePos; /* Posições dos quatro eixos extensores, unidade mm */
8}
2.6. Tipo de Dados para o Sensor de Força/Torque
1/**
2* @brief Componentes de força e torque do sensor de força
3*/
4struct ForceTorque
5{
6 public double fx; /* Componente de força ao longo do eixo X, unidade N */
7 public double fy; /* Componente de força ao longo do eixo Y, unidade N */
8 public double fz; /* Componente de força ao longo do eixo Z, unidade N */
9 public double tx; /* Componente de torque em torno do eixo X, unidade Nm */
10 public double ty; /* Componente de torque em torno do eixo Y, unidade Nm */
11 public double tz; /* Componente de torque em torno do eixo Z, unidade Nm */
12}
2.7. Tipo de Dados para Parâmetros da Espiral
1public struct SpiralParam
2{
3 public int circle_num; /* Número de voltas da espiral */
4 public float circle_angle; /* Ângulo de inclinação da espiral */
5 public float rad_init; /* Raio inicial da espiral, unidade mm */
6 public float rad_add; /* Incremento do raio */
7 public float rotaxis_add; /* Incremento na direção do eixo de rotação */
8 public uint rot_direction; /* Direção de rotação, 0-horário, 1-anti-horário */
9 public int velAccMode; // Modo do parâmetro de velocidade/aceleração: 0-velocidade angular constante; 1-velocidade linear constante
10 public SpiralParam(int num, float angle, float initRad, float addRad, float axisAdd, uint direction, int mode)
11 {
12 circle_num = num;
13 circle_angle = angle;
14 rad_init = initRad;
15 rad_add = addRad;
16 rotaxis_add = axisAdd;
17 rot_direction = direction;
18 velAccMode = mode;
19 }
20}
2.8. Tipo de Dados para Estado do Eixo Extensor
Novo na versão C#SDK-v1.0.6.
1/**
2* @brief Tipo de dados para estado do eixo extensor
3*/
4[StructLayout(LayoutKind.Sequential, Pack = 1)]
5public struct ROBOT_AUX_STATE
6{
7 public byte servoId; // Número de ID do servo driver
8 public int servoErrCode; // Código de falha do servo driver
9 public int servoState; // Estado do servo driver
10 public double servoPos; // Posição atual do servo
11 public float servoVel; // Velocidade atual do servo
12 public float servoTorque; // Torque atual do servo
13}
2.9. Estado de Interrupção da Soldagem
1[StructLayout(LayoutKind.Sequential, Pack = 1)]
2public struct WELDING_BREAKOFF_STATE
3{
4 public byte breakOffState; // Estado de interrupção da soldagem
5 public byte weldArcState; // Estado de interrupção do arco de soldagem
6}
2.10. Tipo de estrutura de feedback do estado do robô
Novo na versão C#SDK-V1.1.4: Web-3.8.3
1/**
2* @brief Tipo de estrutura de feedback do estado do robô
3*/
4[StructLayout(LayoutKind.Sequential, Pack = 1)]
5public class ROBOT_STATE_PKG
6{
7 public UInt16 frame_head; // Cabeçalho do quadro 0x5A5A
8 public byte frame_cnt; // Contagem do quadro
9 public UInt16 data_len; // Comprimento dos dados 5
10 public byte program_state; // Estado de execução do programa, 1-parado; 2-em execução; 3-pausado;
11 public byte robot_state; // Estado de movimento do robô, 1-parado; 2-em execução; 3-pausado; 4-arrasto
12 public int main_code; // Código de falha principal
13 public int sub_code; // Código de falha secundário
14 public byte robot_mode; // Modo do robô, 1-modo manual; 0-modo automático;
15
16 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
17 public double[] jt_cur_pos; // Posições atuais das 6 juntas, unidade deg
18 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
19 public double[] tl_cur_pos; // Posição atual da ferramenta (TCP)
20 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
21 public double[] flange_cur_pos; // Posição atual da flange final
22 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
23 public double[] actual_qd; // Velocidades atuais das 6 juntas, unidade deg/s
24 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
25 public double[] actual_qdd; // Acelerações atuais das 6 juntas, unidade deg/s^2
26 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
27 public double[] target_TCP_CmpSpeed;// Velocidade de instrução composta TCP (posição, orientação)
28 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
29 public double[] target_TCP_Speed; // Velocidade de instrução TCP
30 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
31 public double[] actual_TCP_CmpSpeed;// Velocidade real composta TCP
32 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
33 public double[] actual_TCP_Speed; // Velocidade real TCP
34 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
35 public double[] jt_cur_tor; // Torques atuais das 6 juntas, unidade N·m
36
37 public int tool; // Número do sistema de coordenada da ferramenta aplicado
38 public int user; // Número do sistema de coordenada da peça aplicado
39 public byte cl_dgt_output_h; // Saída IO digital da caixa de controle 15-8
40 public byte cl_dgt_output_l; // Saída IO digital da caixa de controle 7-0
41 public byte tl_dgt_output_l; // Saída IO digital da ferramenta 7-0, apenas bits 0-1 válidos
42 public byte cl_dgt_input_h; // Entrada IO digital da caixa de controle 15-8
43 public byte cl_dgt_input_l; // Entrada IO digital da caixa de controle 7-0
44 public byte tl_dgt_input_l; // Entrada IO digital da ferramenta 7-0, apenas bits 0-1 válidos
45
46 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
47 public UInt16[] cl_analog_input; // Entradas analógicas da caixa de controle
48 public UInt16 tl_anglog_input; // Entrada analógica da ferramenta
49
50 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
51 public double[] ft_sensor_raw_data; // Dados brutos do sensor de torque
52 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
53 public double[] ft_sensor_data; // Dados do sensor de torque
54 public byte ft_sensor_active; // Estado de ativação do sensor de torque, 0-reset, 1-ativado
55
56 public byte EmergencyStop; // Flag de parada de emergência, 0-não pressionado, 1-pressionado
57 public int motion_done; // Sinal de movimento concluído, 1-concluído, 0-não concluído
58 public byte gripper_motiondone; // Sinal de conclusão de movimento da garra, 0-não concluído, 1-concluído (nenhum objeto detectado), 2-movimento concluído (objeto detectado)
59 public int mc_queue_len; // Comprimento da fila de comandos de movimento
60 public byte collisionState; // Detecção de colisão, 1-colisão, 0-sem colisão
61 public int trajectory_pnum; // Número do ponto da trajetória
62 public byte safety_stop0_state; // Sinal de parada de segurança SI0
63 public byte safety_stop1_state; // Sinal de parada de segurança SI1
64 public byte gripper_fault_id; // ID da garra com erro
65 public UInt16 gripper_fault; /* Falha da garra 0-sem falha 1-timeout 485 2-erro de comando 3-queda de peça Outro-código de falha da garra */
66 public UInt16 gripper_active; /* Estado de ativação da garra */
67 public byte gripper_position; // Posição da garra
68 public byte gripper_speed; /* Velocidade da garra */
69 public byte gripper_current; /* Corrente da garra */
70 public int gripper_temp; // Temperatura da garra
71 public int gripper_voltage; // Tensão da garra
72
73 public ROBOT_AUX_STATE auxState; // Estado do eixo de extensão 485
74
75 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
76 public EXT_AXIS_STATUS[] extAxisStatus; // Estado do eixo de extensão UDP
77
78 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
79 public UInt16[] extDIState; // Entradas DI estendidas
80 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
81 public UInt16[] extDOState; // Saídas DO estendidas
82 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
83 public UInt16[] extAIState; // Entradas AI estendidas
84 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
85 public UInt16[] extAOState; // Saídas AO estendidas
86
87 public int rbtEnableState; // Estado de habilitação do robô
88
89 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
90 public double[] jointDriverTorque; // Torques do driver da junta do robô
91 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
92 public double[] jointDriverTemperature; // Temperaturas do driver da junta do robô
93
94 public ROBOT_TIME robotTime; // Tempo do sistema do robô
95 public int softwareUpgradeState; // Estado de atualização de software do robô
96 public UInt16 endLuaErrCode; // Estado de execução LUA da extremidade
97
98 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
99 public UInt16[] cl_analog_output; // Saídas analógicas da caixa de controle
100 public UInt16 tl_analog_output; // Saída analógica da ferramenta
101
102 public float gripperRotNum; // Número atual de rotações da garra rotativa
103 public byte gripperRotSpeed; // Percentual de velocidade atual da garra rotativa
104 public byte gripperRotTorque; // Percentual de torque atual da garra rotativa
105
106 public WELDING_BREAKOFF_STATE weldingBreakOffState; // Estado de interrupção da soldagem
107
108 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
109 public double[] jt_tgt_tor; // Torques de instrução da junta
110 public int smartToolState; // Estado do botão do punho SmartTool
111 public float wideVoltageCtrlBoxTemp; // Temperatura da caixa de controle de ampla tensão
112 public UInt16 wideVoltageCtrlBoxFanVel; // Corrente do ventilador da caixa de controle de ampla tensão (mA)
113
114 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
115 public double[] toolCoord; // Valores atuais do sistema de coordenada da ferramenta; x,y,z,rx,ry,rz
116 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
117 public double[] wobjCoord; // Valores atuais do sistema de coordenada da peça; x,y,z,rx,ry,rz
118 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
119 public double[] extoolCoord; // Valores atuais do sistema de coordenada da ferramenta externa; x,y,z,rx,ry,rz
120 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
121 public double[] exAxisCoord; // Valores atuais do sistema de coordenada do eixo de extensão; x,y,z,rx,ry,rz
122
123 public double load; // Massa da carga
124 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
125 public double[] loadCog; // Centro de gravidade da carga
126 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
127 public double[] lastServoTarget; // Última posição alvo do ServoJ na fila
128 public int servoJCmdNum; // Contagem de comandos servoJ
129
130 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
131 public double[] targetJointPos; // Posições de instrução das 6 juntas, unidade °
132 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
133 public double[] targetJointVel; // Velocidades de instrução das 6 juntas, unidade °/s
134 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
135 public double[] targetJointAcc; // Acelerações de instrução das 6 juntas, unidade °/s²
136 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
137 public double[] targetJointCurrent; // Correntes de instrução das 6 juntas, unidade A
138 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
139 public double[] actualJointCurrent; // Correntes atuais das 6 juntas, unidade A
140 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
141 public double[] actualTCPForce; // Torque da extremidade do robô Nm; x,y,z,rx,ry,rz
142 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
143 public double[] targetTCPPos; // Posição de instrução TCP do robô mm; x,y,z,rx,ry,rz
144 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
145 public byte[] collisionLevel; // Níveis de colisão do robô
146
147 public double speedScaleManual; // Percentual de velocidade global no modo manual
148 public double speedScaleAuto; // Percentual de velocidade global no modo automático
149 public int luaLineNum; // Número da linha do programa lua atualmente em execução
150 public byte abnomalStop; // 0-sem anormalidade; 1-com anormalidade
151
152 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
153 public byte[] currentLuaFileName; // Nome do programa lua atualmente em execução
154 public byte programTotalLine; // Total de linhas do programa lua
155 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
156 public byte[] safetyBoxSingal; // Estado dos botões da caixa de botões do robô
157
158 public double weldVoltage; // Tensão de soldagem V
159 public double weldCurrent; // Corrente de soldagem
160 public double weldTrackVel; // Velocidade de rastreamento da solda mm/s
161
162 public byte tpdException; // Excesso de limite de carregamento de trajetórias TPD, 0-não excedido, 1-excedido
163 public byte alarmRebootRobot; // Aviso, 1-soltar botão de parada de emergência e reiniciar caixa de controle, 2-anomalia de comunicação da junta reiniciar caixa de controle
164 public byte modbusMasterConnect; // bits 0-7 correspondem ao estado de conexão do mestre 0-7 ModbusTCP 0-não conectado 1-conectado
165 public byte modbusSlaveConnect; // Estado de conexão do escravo ModbusTCP 0-não conectado; 1-conectado
166 public byte btnBoxStopSignal; // Sinal de parada de emergência da botoeira, 0-parada de emergência solta; 1-parada de emergência pressionada
167 public byte dragAlarm; // Aviso de arrasto, atualmente em modo automático, 0-sem alarme, 1-alarme, 2-anomalia de feedback de posição sem comutação
168 public byte safetyDoorAlarm; // Aviso de porta de segurança; 0-porta de segurança fechada; 1-porta de segurança aberta
169 public byte safetyPlaneAlarm; // Aviso de entrada no safety wall; 0-sem entrada no safety wall; 1-entrada no safety wall
170 public byte motonAlarm; // Aviso de movimento
171 public byte interfaceAlarm; // Aviso de entrada em área de interferência
172 public int udpCmdState; // Estado de conexão de comunicação UDP na porta 20007
173 public byte weldReadyState; // Estado de preparação da soldadora concluído
174 public byte alarmCheckEmergStopBtn; // 0-normal; 1-anomalia de comunicação, verificar se o botão de parada de emergência está solto
175 public byte tsTmCmdComError; // 0-normal; 1-falha de comunicação do comando de torque
176 public byte tsTmStateComError; // 0-normal; 1-falha de comunicação do estado de torque
177 public int ctrlBoxError; // Erro da caixa de controle
178 public byte safetyDataState; // Flag de estado dos dados de segurança, 0-normal, 1-anômalo
179 public byte forceSensorErrState; // Falha de timeout de conexão do sensor de força; bits 0-1 correspondem aos IDs do sensor de força ID1-ID2
180
181 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
182 public byte[] ctrlOpenLuaErrCode; // 4 códigos de erro de protocolo do periférico do controlador (código de erro 500)
183
184 public byte strangePosFlag; // Flag de posição singular atual; 0-normal; 1-posição singular
185 public byte alarm; // Aviso
186 public byte driverAlarm; // Número do eixo com alarme do driver
187 public byte aliveSlaveNumError; // Erro no número de escravos ativos, 0: normal; 1: erro no número
188
189 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
190 public byte[] slaveComError; // 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
191
192 public byte cmdPointError; // Erro no ponto de comando
193 public byte IOError; // Erro de IO
194 public byte gripperError; // Erro da garra
195 public byte fileError; // Erro de arquivo
196 public byte paraError; // Erro de parâmetro
197 public byte exaxisOutLimitError; // Erro de limite suave do eixo externo excedido
198
199 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
200 public byte[] driverComError; // Falha de comunicação com o driver
201 public byte driverError; // Número do eixo com falha de comunicação do driver
202 public byte outSoftLimitError; // Falha de limite suave excedido
203
204 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 130)]
205 public byte[] axleGenComData; // Dados de feedback de transmissão transparente da extremidade do robô
206
207 public byte socketConnTimeout; // Flag de timeout de conexão do socket
208 public byte socketReadTimeout; // Flag de timeout de leitura do socket
209 public byte tsWebStateComErr; // ts_web_state_com_err
210 public byte exaxisCoordID; // Número do sistema de coordenadas do eixo de extensão
211 public UInt16 check_sum; /* Checksum */
212
213 // Construtor: inicializa todos os campos de array
214 public ROBOT_STATE_PKG()
215 {
216 jt_cur_pos = new double[6];
217 tl_cur_pos = new double[6];
218 flange_cur_pos = new double[6];
219 actual_qd = new double[6];
220 actual_qdd = new double[6];
221 target_TCP_CmpSpeed = new double[2];
222 target_TCP_Speed = new double[6];
223 actual_TCP_CmpSpeed = new double[2];
224 actual_TCP_Speed = new double[6];
225 jt_cur_tor = new double[6];
226 cl_analog_input = new ushort[2];
227 ft_sensor_raw_data = new double[6];
228 ft_sensor_data = new double[6];
229 extAxisStatus = new EXT_AXIS_STATUS[4];
230 extDIState = new ushort[8];
231 extDOState = new ushort[8];
232 extAIState = new ushort[4];
233 extAOState = new ushort[4];
234 jointDriverTorque = new double[6];
235 jointDriverTemperature = new double[6];
236 cl_analog_output = new ushort[2];
237 jt_tgt_tor = new double[6];
238 toolCoord = new double[6];
239 wobjCoord = new double[6];
240 extoolCoord = new double[6];
241 exAxisCoord = new double[6];
242 loadCog = new double[3];
243 lastServoTarget = new double[6];
244 targetJointPos = new double[6];
245 targetJointVel = new double[6];
246 targetJointAcc = new double[6];
247 targetJointCurrent = new double[6];
248 actualJointCurrent = new double[6];
249 actualTCPForce = new double[6];
250 targetTCPPos = new double[6];
251 collisionLevel = new byte[6];
252 currentLuaFileName = new byte[256];
253 safetyBoxSingal = new byte[6];
254 ctrlOpenLuaErrCode = new byte[4];
255 slaveComError = new byte[8];
256 driverComError = new byte[6];
257 axleGenComData = new byte[130];
258 }
259}
2.11. Tipo de Enumeração da Configuração de Feedback de Estado do Robô
1/**
2* @brief Enumeração de estados configuráveis do robô, intervalo 0~132
3*/
4public enum RobotState
5{
6 FrameHead = 0,
7 FrameCnt = 1,
8 DataLen = 2,
9 ProgramState = 3,
10 RobotState = 4,
11 MainCode = 5,
12 SubCode = 6,
13 RobotMode = 7,
14 JointCurPos = 8,
15 ToolCurPos = 9,
16 FlangeCurPos = 10,
17 ActualJointVel = 11,
18 ActualJointAcc = 12,
19 TargetTCPCmpSpeed = 13,
20 TargetTCPSpeed = 14,
21 ActualTCPCmpSpeed = 15,
22 ActualTCPSpeed = 16,
23 ActualJointTorque = 17,
24 Tool = 18,
25 User = 19,
26 ClDgtOutputH = 20,
27 ClDgtOutputL = 21,
28 TlDgtOutputL = 22,
29 ClDgtInputH = 23,
30 ClDgtInputL = 24,
31 TlDgtInputL = 25,
32 ClAnalogInput = 26,
33 TlAnglogInput = 27,
34 FtSensorRawData = 28,
35 FtSensorData = 29,
36 FtSensorActive = 30,
37 EmergencyStop = 31,
38 MotionDone = 32,
39 GripperMotiondone = 33,
40 McQueueLen = 34,
41 CollisionState = 35,
42 TrajectoryPnum = 36,
43 SafetyStop0State = 37,
44 SafetyStop1State = 38,
45 GripperFaultId = 39,
46 GripperFault = 40,
47 GripperActive = 41,
48 GripperPosition = 42,
49 GripperSpeed = 43,
50 GripperCurrent = 44,
51 GripperTemp = 45,
52 GripperVoltage = 46,
53 AuxState = 47,
54 ExtAxisStatus = 48,
55 ExtDIState = 49,
56 ExtDOState = 50,
57 ExtAIState = 51,
58 ExtAOState = 52,
59 RbtEnableState = 53,
60 JointDriverTorque = 54,
61 JointDriverTemperature = 55,
62 RobotTime = 56,
63 SoftwareUpgradeState = 57,
64 EndLuaErrCode = 58,
65 ClAnalogOutput = 59,
66 TlAnalogOutput = 60,
67 GripperRotNum = 61,
68 GripperRotSpeed = 62,
69 GripperRotTorque = 63,
70 WeldingBreakOffState = 64,
71 TargetJointTorque = 65,
72 SmartToolState = 66,
73 WideVoltageCtrlBoxTemp = 67,
74 WideVoltageCtrlBoxFanCurrent = 68,
75 ToolCoord = 69,
76 WobjCoord = 70,
77 ExtoolCoord = 71,
78 ExAxisCoord = 72,
79 Load = 73,
80 LoadCog = 74,
81 LastServoTarget = 75,
82 ServoJCmdNum = 76,
83 TargetJointPos = 77,
84 TargetJointVel = 78,
85 TargetJointAcc = 79,
86 TargetJointCurrent = 80,
87 ActualJointCurrent = 81,
88 ActualTCPForce = 82,
89 TargetTCPPos = 83,
90 CollisionLevel = 84,
91 SpeedScaleManual = 85,
92 SpeedScaleAuto = 86,
93 LuaLineNum = 87,
94 AbnomalStop = 88,
95 CurrentLuaFileName = 89,
96 ProgramTotalLine = 90,
97 SafetyBoxSingal = 91,
98 WeldVoltage = 92,
99 WeldCurrent = 93,
100 WeldTrackVel = 94,
101 TpdException = 95,
102 AlarmRebootRobot = 96,
103 ModbusMasterConnect = 97,
104 ModbusSlaveConnect = 98,
105 BtnBoxStopSignal = 99,
106 DragAlarm = 100,
107 SafetyDoorAlarm = 101,
108 SafetyPlaneAlarm = 102,
109 MotonAlarm = 103,
110 InterfaceAlarm = 104,
111 UdpCmdState = 105,
112 WeldReadyState = 106,
113 AlarmCheckEmergStopBtn = 107,
114 TsTmCmdComError = 108,
115 TsTmStateComError = 109,
116 CtrlBoxError = 110,
117 SafetyDataState = 111,
118 ForceSensorErrState = 112,
119 CtrlOpenLuaErrCode = 113,
120 StrangePosFlag = 114,
121 Alarm = 115,
122 DriverAlarm = 116,
123 AliveSlaveNumError = 117,
124 SlaveComError = 118,
125 CmdPointError = 119,
126 IOError = 120,
127 GripperError = 121,
128 FileError = 122,
129 ParaError = 123,
130 ExaxisOutLimitError = 124,
131 DriverComError = 125,
132 DriverError = 126,
133 OutSoftLimitError = 127,
134 AxleGenComData = 128,
135 SocketConnTimeout = 129, // Timeout de conexão socket, bit0-bit4: socketID 1-4
136 SocketReadTimeout = 130, // Timeout de leitura socket, bit0-bit4: socketID 1-4
137 TsWebStateComErr = 131, // Falha de comunicação web-torque; 0-normal; 1-falha
138 ExaxisCoordID = 132 // Número do sistema de coordenadas do eixo de extensão
139}