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 do movimento da garra, 1-concluído, 0-não concluído
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 */
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
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. Enum de estado configurável do robô
1/**
2* @brief Enum de estado configurável do robô, intervalo 3~131
3*/
4public enum RobotState
5{
6 ProgramState = 3,
7 RobotState = 4,
8 MainCode = 5,
9 SubCode = 6,
10 RobotMode = 7,
11 JointCurPos = 8,
12 ToolCurPos = 9,
13 FlangeCurPos = 10,
14 ActualJointVel = 11,
15 ActualJointAcc = 12,
16 TargetTCPCmpSpeed = 13,
17 TargetTCPSpeed = 14,
18 ActualTCPCmpSpeed = 15,
19 ActualTCPSpeed = 16,
20 ActualJointTorque = 17,
21 Tool = 18,
22 User = 19,
23 ClDgtOutputH = 20,
24 ClDgtOutputL = 21,
25 TlDgtOutputL = 22,
26 ClDgtInputH = 23,
27 ClDgtInputL = 24,
28 TlDgtInputL = 25,
29 ClAnalogInput = 26,
30 TlAnglogInput = 27,
31 FtSensorRawData = 28,
32 FtSensorData = 29,
33 FtSensorActive = 30,
34 EmergencyStop = 31,
35 MotionDone = 32,
36 GripperMotiondone = 33,
37 McQueueLen = 34,
38 CollisionState = 35,
39 TrajectoryPnum = 36,
40 SafetyStop0State = 37,
41 SafetyStop1State = 38,
42 GripperFaultId = 39,
43 GripperFault = 40,
44 GripperActive = 41,
45 GripperPosition = 42,
46 GripperSpeed = 43,
47 GripperCurrent = 44,
48 GripperTemp = 45,
49 GripperVoltage = 46,
50 AuxState = 47,
51 ExtAxisStatus = 48,
52 ExtDIState = 49,
53 ExtDOState = 50,
54 ExtAIState = 51,
55 ExtAOState = 52,
56 RbtEnableState = 53,
57 JointDriverTorque = 54,
58 JointDriverTemperature = 55,
59 RobotTime = 56,
60 SoftwareUpgradeState = 57,
61 EndLuaErrCode = 58,
62 ClAnalogOutput = 59,
63 TlAnalogOutput = 60,
64 GripperRotNum = 61,
65 GripperRotSpeed = 62,
66 GripperRotTorque = 63,
67 WeldingBreakOffState = 64,
68 TargetJointTorque = 65,
69 SmartToolState = 66,
70 WideVoltageCtrlBoxTemp = 67,
71 WideVoltageCtrlBoxFanCurrent = 68,
72 ToolCoord = 69,
73 WobjCoord = 70,
74 ExtoolCoord = 71,
75 ExAxisCoord = 72,
76 Load = 73,
77 LoadCog = 74,
78 LastServoTarget = 75,
79 ServoJCmdNum = 76,
80 TargetJointPos = 77,
81 TargetJointVel = 78,
82 TargetJointAcc = 79,
83 TargetJointCurrent = 80,
84 ActualJointCurrent = 81,
85 ActualTCPForce = 82,
86 TargetTCPPos = 83,
87 CollisionLevel = 84,
88 SpeedScaleManual = 85,
89 SpeedScaleAuto = 86,
90 LuaLineNum = 87,
91 AbnomalStop = 88,
92 CurrentLuaFileName = 89,
93 ProgramTotalLine = 90,
94 SafetyBoxSingal = 91,
95 WeldVoltage = 92,
96 WeldCurrent = 93,
97 WeldTrackVel = 94,
98 TpdException = 95,
99 AlarmRebootRobot = 96,
100 ModbusMasterConnect = 97,
101 ModbusSlaveConnect = 98,
102 BtnBoxStopSignal = 99,
103 DragAlarm = 100,
104 SafetyDoorAlarm = 101,
105 SafetyPlaneAlarm = 102,
106 MotonAlarm = 103,
107 InterfaceAlarm = 104,
108 UdpCmdState = 105,
109 WeldReadyState = 106,
110 AlarmCheckEmergStopBtn = 107,
111 TsTmCmdComError = 108,
112 TsTmStateComError = 109,
113 CtrlBoxError = 110,
114 SafetyDataState = 111,
115 ForceSensorErrState = 112,
116 CtrlOpenLuaErrCode = 113,
117 StrangePosFlag = 114,
118 Alarm = 115,
119 DriverAlarm = 116,
120 AliveSlaveNumError = 117,
121 SlaveComError = 118,
122 CmdPointError = 119,
123 IOError = 120,
124 GripperError = 121,
125 FileError = 122,
126 ParaError = 123,
127 ExaxisOutLimitError = 124,
128 DriverComError = 125,
129 DriverError = 126,
130 OutSoftLimitError = 127,
131 AxleGenComData = 128,
132 SocketConnTimeout = 129, // timeout de conexão do socket, bits 0-4: socketID 1-4
133 SocketReadTimeout = 130, // timeout de leitura do socket, bits 0-4: socketID 1-4
134 TsWebStateComErr = 131 // falha de comunicação web-torque; 0-normal; 1-falha
135}