2. Descrição das Estruturas de Dados

2.1. Tipo de Estrutura de Feedback de Estado do Robô

  1class ROBOT_AUX_STATE(Structure):
  2    _pack_ = 1
  3    _fields_ = [
  4        ("servoId", c_uint8),         # Número de ID do driver servo
  5        ("servoErrCode", c_int),     # Código de falha do driver servo
  6        ("servoState", c_int),       # Estado do driver servo
  7        ("servoPos", c_double),      # Posição atual do servo
  8        ("servoVel", c_float),       # Velocidade atual do servo
  9        ("servoTorque", c_float),    # Torque atual do servo
 10    ]
 11
 12class EXT_AXIS_STATUS(Structure):
 13    _pack_ = 1
 14    _fields_ = [
 15        ("pos", c_double),        # Posição do eixo de extensão
 16        ("vel", c_double),        # Velocidade do eixo de extensão
 17        ("errorCode", c_int),     # Código de falha do eixo de extensão
 18        ("ready", c_uint8),        # Servo pronto
 19        ("inPos", c_uint8),        # Servo na posição
 20        ("alarm", c_uint8),        # Alarme do servo
 21        ("flerr", c_uint8),        # Erro de seguimento
 22        ("nlimit", c_uint8),       # Limite negativo atingido
 23        ("pLimit", c_uint8),       # Limite positivo atingido
 24        ("mdbsOffLine", c_uint8),  # Barramento 485 do driver offline
 25        ("mdbsTimeout", c_uint8),  # Timeout de comunicação 485 entre placa de controle e caixa de controle
 26        ("homingStatus", c_uint8), # Status de homing do eixo de extensão
 27    ]
 28
 29class WELDING_BREAKOFF_STATE(Structure):
 30    _pack_ = 1
 31    _fields_ = [
 32        ("breakOffState", c_uint8),        # Estado de interrupção da soldagem
 33        ("weldArcState", c_uint8),        # Estado de interrupção do arco de soldagem
 34    ]
 35
 36# ==================== Estrutura Completa de Estado do Robô ====================
 37class RobotStatePkg(Structure):
 38    """
 39    Pacote de dados de feedback de estado do robô
 40    """
 41    _pack_ = 1
 42    _fields_ = [
 43        # Informações do cabeçalho do quadro
 44        ("frame_head", c_uint16),           # Cabeçalho do quadro, acordado como 0x5A5A
 45        ("frame_cnt", c_uint8),             # Contagem de quadros, contagem cíclica 0-255
 46        ("data_len", c_uint16),             # Comprimento do conteúdo dos dados
 47        ("program_state", c_uint8),         # Estado de execução do programa, 1-parado; 2-em execução; 3-pausado
 48        ("robot_state", c_uint8),             # Estado de movimento do robô, 1-parado; 2-em movimento; 3-pausado; 4-arrastando
 49        ("main_code", c_int),               # Código de falha principal
 50        ("sub_code", c_int),                # Código de falha secundário
 51        ("robot_mode", c_uint8),            # Modo do robô, 1-manual; 0-automático
 52
 53        # Posições e velocidades das juntas
 54        ("jt_cur_pos", c_double * 6),       # Posições atuais das juntas de 6 eixos, unidade deg
 55        ("tl_cur_pos", c_double * 6),       # Posição atual da ferramenta [x,y,z,rx,ry,rz]
 56        ("flange_cur_pos", c_double * 6),   # Posição atual da flange final [x,y,z,rx,ry,rz]
 57        ("actual_qd", c_double * 6),        # Velocidades atuais de 6 juntas, unidade deg/s
 58        ("actual_qdd", c_double * 6),       # Acelerações atuais de 6 juntas, unidade deg/s^2
 59        ("target_TCP_CmpSpeed", c_double * 2),  # Velocidade de comando composta TCP [posição mm/s, orientação deg/s]
 60        ("target_TCP_Speed", c_double * 6), # Velocidade de comando TCP [x,y,z,rx,ry,rz]
 61        ("actual_TCP_CmpSpeed", c_double * 2),  # Velocidade efetiva composta TCP [posição mm/s, orientação deg/s]
 62        ("actual_TCP_Speed", c_double * 6), # Velocidade efetiva TCP [x,y,z,rx,ry,rz]
 63        ("jt_cur_tor", c_double * 6),       # Torques atuais de 6 eixos, unidade N·m
 64
 65        # Sistemas de coordenadas da ferramenta e peça
 66        ("tool", c_int),                    # Número do sistema de coordenadas da ferramenta aplicado
 67        ("user", c_int),                    # Número do sistema de coordenadas da peça aplicado
 68
 69        # I/O digital
 70        ("cl_dgt_output_h", c_uint8),       # Saída IO digital da caixa de controle 15-8
 71        ("cl_dgt_output_l", c_uint8),       # Saída IO digital da caixa de controle 7-0
 72        ("tl_dgt_output_l", c_uint8),       # Saída IO digital da ferramenta 7-0, apenas bit0-bit1 válidos
 73        ("cl_dgt_input_h", c_uint8),        # Entrada IO digital da caixa de controle 15-8
 74        ("cl_dgt_input_l", c_uint8),        # Entrada IO digital da caixa de controle 7-0
 75        ("tl_dgt_input_l", c_uint8),        # Entrada IO digital da ferramenta 7-0, apenas bit0-bit1 válidos
 76
 77        # I/O analógico
 78        ("cl_analog_input", c_uint16 * 2),  # Entrada analógica da caixa de controle [0],[1]
 79        ("tl_anglog_input", c_uint16),      # Entrada analógica da ferramenta
 80
 81        # Sensor de força/torque
 82        ("ft_sensor_raw_data", c_double * 6),   # Dados brutos do sensor de força/torque
 83        ("ft_sensor_data", c_double * 6),      # Dados do sensor de força/torque
 84        ("ft_sensor_active", c_uint8),          # Estado de ativação do sensor de força/torque
 85
 86        # Sinais de estado
 87        ("EmergencyStop", c_uint8),         # Flag de parada de emergência, 0-não pressionada, 1-pressionada
 88        ("motion_done", c_int),             # Sinal de movimento concluído, 1-concluído, 0-não concluído
 89        ("gripper_motiondone", c_uint8),    # 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)
 90        ("mc_queue_len", c_int),            # Comprimento da fila de comandos de movimento
 91        ("collisionState", c_uint8),        # Detecção de colisão, 1-colisão, 0-sem colisão
 92        ("trajectory_pnum", c_int),         # Número do ponto de trajetória
 93        ("safety_stop0_state", c_uint8),    # Sinal de parada de segurança SI0
 94        ("safety_stop1_state", c_uint8),    # Sinal de parada de segurança SI1
 95
 96        # Informações da garra
 97        ("gripper_fault_id", c_uint8),      # Número da garra com falha
 98        ("gripper_fault", c_uint16),        # 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
 99        ("gripper_active", c_uint16),      # Estado de ativação da garra
100        ("gripper_position", c_uint8),      # Posição da garra
101        ("gripper_speed", c_int8),          # Velocidade da garra
102        ("gripper_current", c_int8),        # Corrente da garra
103        ("gripper_temp", c_int),            # Temperatura da garra
104        ("gripper_voltage", c_int),         # Tensão da garra
105
106        # Estado dos eixos de extensão
107        ("aux_axis_state", ROBOT_AUX_STATE * 25),    # Estado dos eixos de extensão 485 (25)
108        ("extAxisStatus", EXT_AXIS_STATUS * 4), # Estado dos eixos de extensão UDP (4)
109
110        # Estado de I/O estendido
111        ("extDIState", c_uint16 * 8),       # Entrada DI estendida
112        ("extDOState", c_uint16 * 8),       # Saída DO estendida
113        ("extAIState", c_uint16 * 4),        # Entrada AI estendida
114        ("extAOState", c_uint16 * 4),        # Saída AO estendida
115
116        # Estado do robô e das juntas
117        ("rbtEnableState", c_int),                  # Estado de habilitação do robô
118        ("jointDriverTorque", c_double * 6),        # Torque do driver das juntas do robô
119        ("jointDriverTemperature", c_double * 6),   # Temperatura do driver das juntas do robô
120
121        # Tempo do robô
122        #("robotTime", c_int * 7),             # Tempo do sistema do robô [ano,mês,dia,hora,minuto,segundo,milissegundo]
123        ("year", ctypes.c_uint16),  # Ano
124        ("mouth", ctypes.c_uint8),  # Mês
125        ("day", ctypes.c_uint8),   # Dia
126        ("hour", ctypes.c_uint8),   # Hora
127        ("minute", ctypes.c_uint8), # Minuto
128        ("second", ctypes.c_uint8), # Segundo
129        ("millisecond", ctypes.c_uint16), # Milissegundo
130
131        ("softwareUpgradeState", c_int),      # Estado de atualização do software do robô
132        ("endLuaErrCode", c_uint16),          # Estado de execução Lua da extremidade
133
134        # Saída analógica
135        ("cl_analog_output", c_uint16 * 2), # Saída analógica da caixa de controle [0],[1]
136        ("tl_analog_output", c_uint16),       # Saída analógica da ferramenta
137
138        # Garra rotativa
139        ("gripperRotNum", c_float),         # Número de rotações atual da garra rotativa
140        ("gripperRotSpeed", c_uint8),       # Porcentagem de velocidade de rotação atual da garra rotativa
141        ("gripperRotTorque", c_uint8),      # Porcentagem de torque de rotação atual da garra rotativa
142
143        # Estado de interrupção da soldagem - usando estrutura
144        ("weldingBreakOffState", WELDING_BREAKOFF_STATE),  # Estado de interrupção da soldagem
145
146        # Torque da junta alvo
147        ("jt_tgt_tor", c_double * 6),       # Torque de comando da junta
148
149        ("smartToolState", c_int),          # Estado do botão da manopla SmartTool
150        ("wideVoltageCtrlBoxTemp", c_float),        # Temperatura da caixa de controle de ampla tensão
151        ("wideVoltageCtrlBoxFanCurrent", c_uint16), # Corrente do ventilador da caixa de controle de ampla tensão (mA)
152
153        # Valores do sistema de coordenadas
154        ("toolCoord", c_double * 6),        # Valores atuais do sistema de coordenadas da ferramenta; x,y,z,rx,ry,rz
155        ("wobjCoord", c_double * 6),        # Valores atuais do sistema de coordenadas da peça; x,y,z,rx,ry,rz
156        ("extoolCoord", c_double * 6),      # Valores atuais do sistema de coordenadas da ferramenta externa; x,y,z,rx,ry,rz
157        ("exAxisCoord", c_double * 6),      # Valores atuais do sistema de coordenadas dos eixos de extensão; x,y,z,rx,ry,rz
158
159        # Carga
160        ("load", c_double),                 # Massa da carga
161        ("loadCog", c_double * 3),            # Centro de gravidade da carga
162
163        # Comandos servo
164        ("lastServoTarget", c_double * 6),  # Última posição alvo ServoJ na fila
165        ("servoJCmdNum", c_int),            # Contagem de comandos ServoJ
166
167        # Dados da junta alvo
168        ("targetJointPos", c_double * 6),   # Posição de comando de 6 juntas, unidade °
169        ("targetJointVel", c_double * 6),   # Velocidade de comando de 6 juntas, unidade °/s
170        ("targetJointAcc", c_double * 6),   # Aceleração de comando de 6 juntas, unidade °/s2
171        ("targetJointCurrent", c_double * 6), # Corrente de comando de 6 juntas, unidade A
172        ("actualJointCurrent", c_double * 6), # Corrente atual de 6 juntas, unidade A
173        ("actualTCPForce", c_double * 6),   # Torque do end-effector do robô Nm; x,y,z,rx,ry,rz
174        ("targetTCPPos", c_double * 6),     # Posição de comando TCP do robô mm; x,y,z,rx,ry,rz
175
176        ("collisionLevel", c_uint8 * 6),    # Nível de colisão do robô
177        ("speedScaleManual", c_double),     # Porcentagem de velocidade global no modo manual
178        ("speedScaleAuto", c_double),       # Porcentagem de velocidade global no modo automático
179        ("luaLineNum", c_int),              # Número da linha atual do programa Lua em execução
180        ("abnomalStop", c_uint8),           # 0-sem anormalidade; 1-anormalidade presente
181        ("currentLuaFileName", c_uint8 * 256),  # Nome do programa Lua atualmente em execução
182        ("programTotalLine", c_uint8),      # Número total de linhas do programa Lua
183        ("safetyBoxSingal", c_uint8 * 6),   # Estado dos botões da caixa de botões do robô
184
185        # Dados de soldagem
186        ("weldVoltage", c_double),          # Tensão de soldagem V
187        ("weldCurrent", c_double),          # Corrente de soldagem
188        ("weldTrackVel", c_double),         # Velocidade de rastreamento da junta de solda mm/s
189
190        ("tpdException", c_uint8),            # Contagem de carregamento de trajetória TPD excedida, 0-não excedida, 1-excedida
191        ("alarmRebootRobot", c_uint8),      # Aviso, 1-solte o botão de parada de emergência e reinicie a caixa de controle, 2-anomalia de comunicação da junta, reinicie a caixa de controle
192        ("modbusMasterConnect", c_uint8),   # bit0-7 correspondem ao estado de conexão dos mestres ModbusTCP 0-7
193        ("modbusSlaveConnect", c_uint8),    # Estado de conexão escrava ModbusTCP
194        ("btnBoxStopSignal", c_uint8),      # Sinal de parada de emergência da caixa de botões
195        ("dragAlarm", c_uint8),             # Aviso de arrasto
196        ("safetyDoorAlarm", c_uint8),       # Aviso de porta de segurança
197        ("safetyPlaneAlarm", c_uint8),      # Aviso de entrada na parede de segurança
198        ("motonAlarm", c_uint8),            # Aviso de movimento
199        ("interfaceAlarm", c_uint8),        # Aviso de entrada na área de interferência
200        ("udpCmdState", c_int),             # Estado de conexão de comunicação UDP da porta 20007
201        ("weldReadyState", c_uint8),        # Estado de prontidão da máquina de solda
202        ("alarmCheckEmergStopBtn", c_uint8),    # 0-normal; 1-anomalia de comunicação, verifique se o botão de parada de emergência está liberado
203        ("tsTmCmdComError", c_uint8),       # 0-normal; 1-falha de comunicação do comando de torque
204        ("tsTmStateComError", c_uint8),     # 0-normal; 1-falha de comunicação do estado de torque
205        ("ctrlBoxError", c_int),            # Erro da caixa de controle
206        ("safetyDataState", c_uint8),       # Flag de estado dos dados de segurança
207        ("forceSensorErrState", c_uint8),   # Falha de tempo limite de conexão do sensor de força
208        ("ctrlOpenLuaErrCode", c_uint8 * 4),  # 4 códigos de erro do protocolo aberto do controlador periférico
209        ("strangePosFlag", c_uint8),        # Flag de postura singular atual
210        ("alarm", c_uint8),                 # Aviso
211        ("driverAlarm", c_uint8),           # Número do eixo com alarme do driver
212        ("aliveSlaveNumError", c_uint8),    # Erro de contagem de escravos ativos
213        ("slaveComError", c_uint8 * 8),     # Estado de erro do escravo
214        ("cmdPointError", c_uint8),         # Erro de ponto de comando
215        ("IOError", c_uint8),               # Erro de IO
216        ("gripperError", c_uint8),          # Erro da garra
217        ("fileError", c_uint8),             # Erro de arquivo
218        ("paraError", c_uint8),             # Erro de parâmetro
219        ("exaxisOutLimitError", c_uint8),   # Erro de limite suave do eixo externo excedido
220        ("driverComError", c_uint8 * 6),    # Falha de comunicação do driver
221        ("driverError", c_uint8),           # Número do eixo com falha de comunicação do driver
222        ("outSoftLimitError", c_uint8),     # Falha de limite suave excedido
223        ("axleGenComData", c_uint8 * 130),   # Dados de comunicação geral de eixos não periódicos
224        ("socketConnTimeout", c_uint8),     # Timeout de conexão do socket
225        ("socketReadTimeout", c_uint8),     # Timeout de leitura do socket
226        ("tsWebStateComErr", c_uint8),      # Erro de comunicação de estado TS_WEB
227        ("exaxisCoordID", c_uint8),         # ID do eixo estendido externo
228        ("check_sum", c_uint16)          # Checksum
229    ]

2.2. Pacote de Dados de Retroalimentação de Estado do Controlador

Novo na versão python: SDK-v2.1.7

Variável

Significado

program_state

Estado de execução do programa, 1-parado; 2-em execução; 3-pausado

robot_state

Estado de movimento do robô, 1-parado; 2-em movimento; 3-pausado; 4-arrasto

main_code

Código de falha principal

sub_code

Código de falha secundário

robot_mode

Modo do robô, 0-modo automático; 1-modo manual

jt_cur_pos[i]

Posições atuais das juntas, em graus, i:0~5

tl_cur_pos[i]

Pose atual da ferramenta, em graus e mm, i:0~5

flange_cur_pos[i]

Pose atual do flange da extremidade, em graus e mm, i:0~5

actual_qd[i]

Velocidades atuais das juntas do robô, em graus/s, i:0~5

actual_qdd[i]

Acelerações atuais das juntas do robô, em graus/s², i:0~5

target_TCP_CmpSpeed[i]

Velocidade de comando sintética do TCP do robô, em mm/s e graus/s, i:0~1

target_TCP_Speed[i]

Velocidade de comando do TCP do robô, em mm/s e graus/s, i:0~5

actual_TCP_CmpSpeed[i]

Velocidade real sintética do TCP do robô, em mm/s e graus/s, i:0~1

actual_TCP_Speed[i]

Velocidade real do TCP do robô, em mm/s e graus/s, i:0~5

jt_cur_tor[i]

Torques atuais, em N·m, i:0~5

tool

Número do sistema de coordenadas da ferramenta aplicado

user

Número do sistema de coordenadas da peça aplicado

cl_dgt_output_h

Saída digital da caixa de controle 15-8

cl_dgt_output_l

Saída digital da caixa de controle 7-0

tl_dgt_output_l

Saída digital da ferramenta 7-0, apenas bits 0-1 são válidos

dgt_input_h

Entrada digital da caixa de controle 15-8

cl_dgt_input_l

Entrada digital da caixa de controle 7-0

tl_dgt_input_l

Entrada digital da ferramenta 7-0, apenas bits 0-1 são válidos

cl_analog_input[i]

Entrada analógica da caixa de controle, i:0~2

tl_anglog_input

Entrada analógica da ferramenta

ft_sensor_raw_data

Dados brutos do sensor de torque, em N e Nm, i:0~5

ft_sensor_data

Dados do sensor de torque, em N e Nm, i:0~5

ft_sensor_active

Estado de ativação do sensor de torque, 0-reset, 1-ativado

EmergencyStop

Sinalizador de parada de emergência, 0-parada de emergência não pressionada, 1-parada de emergência pressionada

motion_done

Sinal de movimento concluído, 1-concluído, 0-não concluído

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)

mc_queue_len

Comprimento da fila de instruções de movimento

collisionState

Detecção de colisão, 1-colisão, 0-sem colisão

trajectory_pnum

Número do ponto de trajetória

safety_stop0_state

Sinal de parada de segurança SI0

safety_stop1_state

Sinal de parada de segurança SI1

gripper_fault_id

Número da garra com falha

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

gripper_active

Estado de ativação da garra, 0-não ativada, 1-ativada

gripper_position

Posição da garra (percentagem)

gripper_speed

Velocidade da garra (percentagem)

gripper_current

Corrente da garra (percentagem)

gripper_tmp

Temperatura da garra, em °C

gripper_voltage

Tensão da garra, em V

auxState.servoId

Eixo estendido 485, número de ID do servo driver, i:0~3

auxState.servoErrCode

Eixo estendido 485, código de falha do servo driver, i:0~3

auxState.servoState

Eixo estendido 485, estado do servo driver, i:0~3

auxState.servoPos

Eixo estendido 485, posição atual do servo, i:0~3

auxState.servoVel

Eixo estendido 485, velocidade atual do servo, i:0~3

auxState.servoTorque

Eixo estendido 485, torque atual do servo, i:0~3

extAxisStatus[i].pos

Eixo estendido UDP, posição, i:0~3

extAxisStatus[i].vel

Eixo estendido UDP, velocidade, i:0~3

extAxisStatus[i].errorCode

Eixo estendido UDP, código de falha, i:0~3

extAxisStatus[i].ready

Eixo estendido UDP, servo pronto, i:0~3

extAxisStatus[i].inPos

Eixo estendido UDP, servo no lugar, i:0~3

extAxisStatus[i].alarm

Eixo estendido UDP, alarme do servo, i:0~3

extAxisStatus[i].flerr

Eixo estendido UDP, erro de seguimento, i:0~3

extAxisStatus[i].nlimit

Eixo estendido UDP, limite negativo atingido, i:0~3

extAxisStatus[i].pLimit

Eixo estendido UDP, limite positivo atingido, i:0~3

extAxisStatus[i].mdbsOffLine

Eixo estendido UDP, driver offline no barramento 485

extAxisStatus[i].mdbsTimeout

Eixo estendido UDP, tempo limite de comunicação 485 entre placa de controle e caixa de controle

extAxisStatus[i].homingStatus

Eixo estendido UDP, estado de retorno à origem

extDIState

Estado de entrada digital estendida

extDOState

Estado de saída digital estendida

extAIState

Estado de entrada analógica estendida

extAOState

Estado de saída analógica estendida

rbtEnableState

Estado de habilitação do robô

jointDriverTorque

Torque atual do driver articular

jointDriverTemperature

Temperatura atual do driver articular

year

Ano

mouth

Mês

day

Dia

hour

Hora

minute

Minuto

second

Segundo

millisecond

Milissegundo

softwareUpgradeState

Estado de atualização de software do robô

endLuaErrCode

Estado de execução do LUA da extremidade

cl_analog_output[i]

Saída analógica da caixa de controle, i:0~1

tl_analog_output

Saída analógica da ferramenta

gripperRotNum

Número atual de rotações da garra rotativa

gripperRotSpeed

Percentagem da velocidade atual de rotação da garra rotativa

gripperRotTorque

Percentagem do torque atual de rotação da garra rotativa

weldingBreakOffState

Estado de interrupção da soldagem

jt_tgt_tor

Torque de comando das juntas

smartToolState

Estado do botão do SmartTool

wideVoltageCtrlBoxTemp

Temperatura da caixa de controle de larga tensão

wideVoltageCtrlBoxFanCurrent

Corrente da ventoinha da caixa de controle de larga tensão (mA)

toolCoord[i]

Sistema de coordenadas da ferramenta, i:0~5

wobjCoord[i]

Sistema de coordenadas da peça, i:0~5

extoolCoord[i]

Sistema de coordenadas da ferramenta externa, i:0~5

exAxisCoord[i]

Sistema de coordenadas do eixo estendido, i:0~5

load

Massa da carga

loadCog[i]

Centro de massa da carga, i:0~2

lastServoTarget[i]

Última posição alvo do ServoJ na fila, i:0~5

servoJCmdNum

Contagem de instruções ServoJ

2.3. Estado do Controlador Servo

Novo na versão python: SDK-v2.1.3

Variável

Significado

servoId

Número de ID do servo driver

servoErrCode

Código de falha do servo driver

servoState

Estado do servo driver

servoPos

Posição atual do servo

servoVel

Velocidade atual do servo

servoTorque

Torque atual do servo

2.4. Estado do Eixo Estendido

Novo na versão python: SDK-v2.1.3

Variável

Significado

pos

Posição do eixo estendido

vel

Velocidade do eixo estendido

errorCode

Código de falha do eixo estendido

ready

Servo pronto

inPos

Servo no lugar

alarm

Alarme do servo

flerr

Erro de seguimento

nlimit

Limite negativo atingido

pLimit

Limite positivo atingido

mdbsOffLine

Driver offline no barramento 485

mdbsTimeout

Tempo limite de comunicação 485 entre placa de controle e caixa de controle

homingStatus

Estado de retorno à origem do eixo estendido

2.5. Estado de Interrupção da Soldagem

Novo na versão python: SDK-v2.1.3

Variável

Significado

breakOffState

Estado de interrupção da soldagem

weldArcState

Estado de interrupção do arco de soldagem

2.6. Exemplo de Código

  1from fairino import Robot
  2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
  3robot = Robot.RPC('192.168.58.2')
  4print("program_state:", robot.robot_state_pkg.program_state)
  5print("robot_state:", robot.robot_state_pkg.robot_state)
  6print("main_code:", robot.robot_state_pkg.main_code)
  7print("sub_code:", robot.robot_state_pkg.sub_code)
  8print("robot_mode:", robot.robot_state_pkg.robot_mode)
  9print("jt_cur_pos0:", robot.robot_state_pkg.jt_cur_pos[0])
 10print("jt_cur_pos1:", robot.robot_state_pkg.jt_cur_pos[1])
 11print("jt_cur_pos2:", robot.robot_state_pkg.jt_cur_pos[2])
 12print("jt_cur_pos3:", robot.robot_state_pkg.jt_cur_pos[3])
 13print("jt_cur_pos4:", robot.robot_state_pkg.jt_cur_pos[4])
 14print("jt_cur_pos5:", robot.robot_state_pkg.jt_cur_pos[5])
 15print("tl_cur_pos0:", robot.robot_state_pkg.tl_cur_pos[0])
 16print("tl_cur_pos1:", robot.robot_state_pkg.tl_cur_pos[1])
 17print("tl_cur_pos2:", robot.robot_state_pkg.tl_cur_pos[2])
 18print("tl_cur_pos3:", robot.robot_state_pkg.tl_cur_pos[3])
 19print("tl_cur_pos4:", robot.robot_state_pkg.tl_cur_pos[4])
 20print("tl_cur_pos5:", robot.robot_state_pkg.tl_cur_pos[5])
 21print("flange_cur_pos0:", robot.robot_state_pkg.flange_cur_pos[0])
 22print("flange_cur_pos1:", robot.robot_state_pkg.flange_cur_pos[1])
 23print("flange_cur_pos2:", robot.robot_state_pkg.flange_cur_pos[2])
 24print("flange_cur_pos3:", robot.robot_state_pkg.flange_cur_pos[3])
 25print("flange_cur_pos4:", robot.robot_state_pkg.flange_cur_pos[4])
 26print("flange_cur_pos5:", robot.robot_state_pkg.flange_cur_pos[5])
 27print("actual_qd0:", robot.robot_state_pkg.actual_qd[0])
 28print("actual_qd1:", robot.robot_state_pkg.actual_qd[1])
 29print("actual_qd2:", robot.robot_state_pkg.actual_qd[2])
 30print("actual_qd3:", robot.robot_state_pkg.actual_qd[3])
 31print("actual_qd4:", robot.robot_state_pkg.actual_qd[4])
 32print("actual_qd5:", robot.robot_state_pkg.actual_qd[5])
 33print("actual_qdd0:", robot.robot_state_pkg.actual_qdd[0])
 34print("actual_qdd1:", robot.robot_state_pkg.actual_qdd[1])
 35print("actual_qdd2:", robot.robot_state_pkg.actual_qdd[2])
 36print("actual_qdd3:", robot.robot_state_pkg.actual_qdd[3])
 37print("actual_qdd4:", robot.robot_state_pkg.actual_qdd[4])
 38print("actual_qdd5:", robot.robot_state_pkg.actual_qdd[5])
 39print("target_TCP_CmpSpeed0:", robot.robot_state_pkg.target_TCP_CmpSpeed[0])
 40print("target_TCP_CmpSpeed1:", robot.robot_state_pkg.target_TCP_CmpSpeed[1])
 41print("target_TCP_Speed0:", robot.robot_state_pkg.target_TCP_Speed[0])
 42print("target_TCP_Speed1:", robot.robot_state_pkg.target_TCP_Speed[1])
 43print("target_TCP_Speed2:", robot.robot_state_pkg.target_TCP_Speed[2])
 44print("target_TCP_Speed3:", robot.robot_state_pkg.target_TCP_Speed[3])
 45print("target_TCP_Speed4:", robot.robot_state_pkg.target_TCP_Speed[4])
 46print("target_TCP_Speed5:", robot.robot_state_pkg.target_TCP_Speed[5])
 47print("actual_TCP_CmpSpeed0:", robot.robot_state_pkg.actual_TCP_CmpSpeed[0])
 48print("actual_TCP_CmpSpeed1:", robot.robot_state_pkg.actual_TCP_CmpSpeed[1])
 49print("actual_TCP_Speed0:", robot.robot_state_pkg.actual_TCP_Speed[0])
 50print("actual_TCP_Speed1:", robot.robot_state_pkg.actual_TCP_Speed[1])
 51print("actual_TCP_Speed2:", robot.robot_state_pkg.actual_TCP_Speed[2])
 52print("actual_TCP_Speed3:", robot.robot_state_pkg.actual_TCP_Speed[3])
 53print("actual_TCP_Speed4:", robot.robot_state_pkg.actual_TCP_Speed[4])
 54print("actual_TCP_Speed5:", robot.robot_state_pkg.actual_TCP_Speed[5])
 55print("jt_cur_tor0:", robot.robot_state_pkg.jt_cur_tor[0])
 56print("jt_cur_tor1:", robot.robot_state_pkg.jt_cur_tor[1])
 57print("jt_cur_tor2:", robot.robot_state_pkg.jt_cur_tor[2])
 58print("jt_cur_tor3:", robot.robot_state_pkg.jt_cur_tor[3])
 59print("jt_cur_tor4:", robot.robot_state_pkg.jt_cur_tor[4])
 60print("jt_cur_tor5:", robot.robot_state_pkg.jt_cur_tor[5])
 61print("tool:", robot.robot_state_pkg.tool)
 62print("user:", robot.robot_state_pkg.user)
 63print("cl_dgt_output_h:", robot.robot_state_pkg.cl_dgt_output_h)
 64print("cl_dgt_output_l:", robot.robot_state_pkg.cl_dgt_output_l)
 65print("tl_dgt_output_l:", robot.robot_state_pkg.tl_dgt_output_l)
 66print("cl_dgt_input_h:", robot.robot_state_pkg.cl_dgt_input_h)
 67print("cl_dgt_input_l:", robot.robot_state_pkg.cl_dgt_input_l)
 68print("tl_dgt_input_l:", robot.robot_state_pkg.tl_dgt_input_l)
 69print("cl_analog_input0:", robot.robot_state_pkg.cl_analog_input[0])
 70print("cl_analog_input1:", robot.robot_state_pkg.cl_analog_input[1])
 71print("tl_anglog_input:", robot.robot_state_pkg.tl_anglog_input)
 72print("ft_sensor_raw_data0:", robot.robot_state_pkg.ft_sensor_raw_data[0])
 73print("ft_sensor_raw_data1:", robot.robot_state_pkg.ft_sensor_raw_data[1])
 74print("ft_sensor_raw_data2:", robot.robot_state_pkg.ft_sensor_raw_data[2])
 75print("ft_sensor_raw_data3:", robot.robot_state_pkg.ft_sensor_raw_data[3])
 76print("ft_sensor_raw_data4:", robot.robot_state_pkg.ft_sensor_raw_data[4])
 77print("ft_sensor_raw_data5:", robot.robot_state_pkg.ft_sensor_raw_data[5])
 78print("ft_sensor_data0:", robot.robot_state_pkg.ft_sensor_data[0])
 79print("ft_sensor_data1:", robot.robot_state_pkg.ft_sensor_data[1])
 80print("ft_sensor_data2:", robot.robot_state_pkg.ft_sensor_data[2])
 81print("ft_sensor_data3:", robot.robot_state_pkg.ft_sensor_data[3])
 82print("ft_sensor_data4:", robot.robot_state_pkg.ft_sensor_data[4])
 83print("ft_sensor_data5:", robot.robot_state_pkg.ft_sensor_data[5])
 84print("ft_sensor_active:", robot.robot_state_pkg.ft_sensor_active)
 85print("EmergencyStop:", robot.robot_state_pkg.EmergencyStop)
 86print("motion_done:", robot.robot_state_pkg.motion_done)
 87print("gripper_motiondone:", robot.robot_state_pkg.gripper_motiondone)
 88print("mc_queue_len:", robot.robot_state_pkg.mc_queue_len)
 89print("collisionState:", robot.robot_state_pkg.collisionState)
 90print("trajectory_pnum:", robot.robot_state_pkg.trajectory_pnum)
 91print("safety_stop0_state:", robot.robot_state_pkg.safety_stop0_state)
 92print("safety_stop1_state:", robot.robot_state_pkg.safety_stop1_state)
 93print("gripper_fault_id:", robot.robot_state_pkg.gripper_fault_id)
 94print("gripper_fault:", robot.robot_state_pkg.gripper_fault)
 95print("gripper_active:", robot.robot_state_pkg.gripper_active)
 96print("gripper_position:", robot.robot_state_pkg.gripper_position)
 97print("gripper_speed:", robot.robot_state_pkg.gripper_speed)
 98print("gripper_current:", robot.robot_state_pkg.gripper_current)
 99print("gripper_tmp:", robot.robot_state_pkg.gripper_tmp)
100print("gripper_voltage:", robot.robot_state_pkg.gripper_voltage)
101print("auxState.servoId:", robot.robot_state_pkg.auxState.servoId)
102print("auxState.servoErrCode:", robot.robot_state_pkg.auxState.servoErrCode)
103print("auxState.servoState:", robot.robot_state_pkg.auxState.servoState)
104print("auxState.servoPos:", robot.robot_state_pkg.auxState.servoPos)
105print("auxState.servoVel:", robot.robot_state_pkg.auxState.servoVel)
106print("auxState.servoTorque:", robot.robot_state_pkg.auxState.servoTorque)
107for i in range(4):
108    print("extAxisStatus.pos:", i, robot.robot_state_pkg.extAxisStatus[i].pos)
109    print("extAxisStatus.vel:", i, robot.robot_state_pkg.extAxisStatus[i].vel)
110    print("extAxisStatus.errorCode:", i, robot.robot_state_pkg.extAxisStatus[i].errorCode)
111    print("extAxisStatus.ready:", i, robot.robot_state_pkg.extAxisStatus[i].ready)
112    print("extAxisStatus.inPos:", i, robot.robot_state_pkg.extAxisStatus[i].inPos)
113    print("extAxisStatus.alarm:", i, robot.robot_state_pkg.extAxisStatus[i].alarm)
114    print("extAxisStatus.flerr:", i, robot.robot_state_pkg.extAxisStatus[i].flerr)
115    print("extAxisStatus.nlimit:", i, robot.robot_state_pkg.extAxisStatus[i].nlimit)
116    print("extAxisStatus.pLimit:", i, robot.robot_state_pkg.extAxisStatus[i].pLimit)
117    print("extAxisStatus.mdbsOffLine:", i, robot.robot_state_pkg.extAxisStatus[i].mdbsOffLine)
118    print("extAxisStatus.mdbsTimeout:", i, robot.robot_state_pkg.extAxisStatus[i].mdbsTimeout)
119    print("extAxisStatus.homingStatus:", i, robot.robot_state_pkg.extAxisStatus[i].homingStatus)
120for i in range(8):
121    print("extDIState:", i, robot.robot_state_pkg.extDIState[i])
122    print("extDOState:", i, robot.robot_state_pkg.extDOState[i])
123for i in range(4):
124    print("extAIState:", i, robot.robot_state_pkg.extAIState[i])
125    print("extAOState:", robot.robot_state_pkg.extAOState[i])
126print("rbtEnableState:", robot.robot_state_pkg.rbtEnableState)
127print("jointDriverTorque0:", robot.robot_state_pkg.jointDriverTorque[0])
128print("jointDriverTorque1:", robot.robot_state_pkg.jointDriverTorque[1])
129print("jointDriverTorque2:", robot.robot_state_pkg.jointDriverTorque[2])
130print("jointDriverTorque3:", robot.robot_state_pkg.jointDriverTorque[3])
131print("jointDriverTorque4:", robot.robot_state_pkg.jointDriverTorque[4])
132print("jointDriverTorque5:", robot.robot_state_pkg.jointDriverTorque[5])
133print("jointDriverTemperature:", robot.robot_state_pkg.jointDriverTemperature[0])
134print("jointDriverTemperature:", robot.robot_state_pkg.jointDriverTemperature[1])
135print("jointDriverTemperature:", robot.robot_state_pkg.jointDriverTemperature[2])
136print("jointDriverTemperature:", robot.robot_state_pkg.jointDriverTemperature[3])
137print("jointDriverTemperature:", robot.robot_state_pkg.jointDriverTemperature[4])
138print("jointDriverTemperature:", robot.robot_state_pkg.jointDriverTemperature[5])
139print("year:", robot.robot_state_pkg.year)
140print("mouth:", robot.robot_state_pkg.mouth)
141print("day:", robot.robot_state_pkg.day)
142print("hour:", robot.robot_state_pkg.hour)
143print("minute:", robot.robot_state_pkg.minute)
144print("second:", robot.robot_state_pkg.second)
145print("millisecond:", robot.robot_state_pkg.millisecond)
146print("softwareUpgradeState:", robot.robot_state_pkg.softwareUpgradeState)
147print("endLuaErrCode:", robot.robot_state_pkg.endLuaErrCode)
148print("cl_analog_output[0]:", robot.robot_state_pkg.cl_analog_output[0])
149print("cl_analog_output[1]:", robot.robot_state_pkg.cl_analog_output[1])
150print("tl_analog_output:", robot.robot_state_pkg.tl_analog_output)
151print("gripperRotNum:", robot.robot_state_pkg.gripperRotNum)
152print("gripperRotSpeed:", robot.robot_state_pkg.gripperRotSpeed)
153print("gripperRotTorque:", robot.robot_state_pkg.gripperRotTorque)
154print("jt_tgt_tor:", robot.robot_state_pkg.jt_tgt_tor)
155print("smartToolState:", robot.robot_state_pkg.smartToolState)
156print("wideVoltageCtrlBoxTemp:", robot.robot_state_pkg.wideVoltageCtrlBoxTemp)
157print("wideVoltageCtrlBoxFanCurrent:", robot.robot_state_pkg.wideVoltageCtrlBoxFanCurrent)
158print("toolCoord0:", robot.robot_state_pkg.toolCoord[0])
159print("toolCoord1:", robot.robot_state_pkg.toolCoord[1])
160print("toolCoord2:", robot.robot_state_pkg.toolCoord[2])
161print("toolCoord3:", robot.robot_state_pkg.toolCoord[3])
162print("toolCoord4:", robot.robot_state_pkg.toolCoord[4])
163print("toolCoord5:", robot.robot_state_pkg.toolCoord[5])
164print("wobjCoord0:", robot.robot_state_pkg.wobjCoord[0])
165print("wobjCoord1:", robot.robot_state_pkg.wobjCoord[1])
166print("wobjCoord2:", robot.robot_state_pkg.wobjCoord[2])
167print("wobjCoord3:", robot.robot_state_pkg.wobjCoord[3])
168print("wobjCoord4:", robot.robot_state_pkg.wobjCoord[4])
169print("wobjCoord5:", robot.robot_state_pkg.wobjCoord[5])
170print("extoolCoord0:", robot.robot_state_pkg.extoolCoord[0])
171print("extoolCoord1:", robot.robot_state_pkg.extoolCoord[1])
172print("extoolCoord2:", robot.robot_state_pkg.extoolCoord[2])
173print("extoolCoord3:", robot.robot_state_pkg.extoolCoord[3])
174print("extoolCoord4:", robot.robot_state_pkg.extoolCoord[4])
175print("extoolCoord5:", robot.robot_state_pkg.extoolCoord[5])
176print("exAxisCoord0:", robot.robot_state_pkg.exAxisCoord[0])
177print("exAxisCoord1:", robot.robot_state_pkg.exAxisCoord[1])
178print("exAxisCoord2:", robot.robot_state_pkg.exAxisCoord[2])
179print("exAxisCoord3:", robot.robot_state_pkg.exAxisCoord[3])
180print("exAxisCoord4:", robot.robot_state_pkg.exAxisCoord[4])
181print("exAxisCoord5:", robot.robot_state_pkg.exAxisCoord[5])
182print("load:", robot.robot_state_pkg.load)
183print("loadCog0:", robot.robot_state_pkg.loadCog[0])
184print("loadCog1:", robot.robot_state_pkg.loadCog[1])
185print("loadCog2:", robot.robot_state_pkg.loadCog[2])
186print("lastServoTarget0:", robot.robot_state_pkg.lastServoTarget[0])
187print("lastServoTarget1:", robot.robot_state_pkg.lastServoTarget[1])
188print("lastServoTarget2:", robot.robot_state_pkg.lastServoTarget[2])
189print("lastServoTarget3:", robot.robot_state_pkg.lastServoTarget[3])
190print("lastServoTarget4:", robot.robot_state_pkg.lastServoTarget[4])
191print("lastServoTarget5:", robot.robot_state_pkg.lastServoTarget[5])
192print("servoJCmdNum:", robot.robot_state_pkg.servoJCmdNum)

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

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