2. Data structure description
2.1. Robot Status Feedback Structure Type
1class ROBOT_AUX_STATE(Structure):
2 _pack_ = 1
3 _fields_ = [
4 ("servoId", c_uint8), # Servo driver ID number
5 ("servoErrCode", c_int), # Servo driver fault code
6 ("servoState", c_int), # Servo driver status
7 ("servoPos", c_double), # Servo current position
8 ("servoVel", c_float), # Servo current speed
9 ("servoTorque", c_float), # Servo current torque
10 ]
11
12class EXT_AXIS_STATUS(Structure):
13 _pack_ = 1
14 _fields_ = [
15 ("pos", c_double), # Extension axis position
16 ("vel", c_double), # Extension axis speed
17 ("errorCode", c_int), # Extension axis fault code
18 ("ready", c_uint8), # Servo ready
19 ("inPos", c_uint8), # Servo in position
20 ("alarm", c_uint8), # Servo alarm
21 ("flerr", c_uint8), # Following error
22 ("nlimit", c_uint8), # Negative limit reached
23 ("pLimit", c_uint8), # Positive limit reached
24 ("mdbsOffLine", c_uint8), # Driver 485 bus offline
25 ("mdbsTimeout", c_uint8), # Control card to control box 485 communication timeout
26 ("homingStatus", c_uint8), # Extension axis homing status
27 ]
28
29class WELDING_BREAKOFF_STATE(Structure):
30 _pack_ = 1
31 _fields_ = [
32 ("breakOffState", c_uint8), # Welding interruption status
33 ("weldArcState", c_uint8), # Welding arc interruption status
34 ]
35
36# ==================== Complete Robot State Structure ====================
37class RobotStatePkg(Structure):
38 """
39 Robot status feedback data packet
40 """
41 _pack_ = 1
42 _fields_ = [
43 # Frame header information
44 ("frame_head", c_uint16), # Frame header, preset to 0x5A5A
45 ("frame_cnt", c_uint8), # Frame count, cyclic count 0-255
46 ("data_len", c_uint16), # Length of data content
47 ("program_state", c_uint8), # Program running status, 1-stopped; 2-running; 3-paused
48 ("robot_state", c_uint8), # Robot motion status, 1-stopped; 2-running; 3-paused; 4-dragging
49 ("main_code", c_int), # Main fault code
50 ("sub_code", c_int), # Sub fault code
51 ("robot_mode", c_uint8), # Robot mode, 1-manual mode; 0-automatic mode
52
53 # Joint positions and velocities
54 ("jt_cur_pos", c_double * 6), # Current joint positions of 6 axes, unit deg
55 ("tl_cur_pos", c_double * 6), # Current tool position [x,y,z,rx,ry,rz]
56 ("flange_cur_pos", c_double * 6), # Current end flange position [x,y,z,rx,ry,rz]
57 ("actual_qd", c_double * 6), # Current velocities of 6 joints, unit deg/s
58 ("actual_qdd", c_double * 6), # Current accelerations of 6 joints, unit deg/s^2
59 ("target_TCP_CmpSpeed", c_double * 2), # TCP composite command speed [position mm/s, orientation deg/s]
60 ("target_TCP_Speed", c_double * 6), # TCP command speed [x,y,z,rx,ry,rz]
61 ("actual_TCP_CmpSpeed", c_double * 2), # TCP composite actual speed [position mm/s, orientation deg/s]
62 ("actual_TCP_Speed", c_double * 6), # TCP actual speed [x,y,z,rx,ry,rz]
63 ("jt_cur_tor", c_double * 6), # Current torques of 6 axes, unit N·m
64
65 # Tool and user coordinate systems
66 ("tool", c_int), # Applied tool coordinate system number
67 ("user", c_int), # Applied workpiece coordinate system number
68
69 # Digital I/O
70 ("cl_dgt_output_h", c_uint8), # Control box digital IO output 15-8
71 ("cl_dgt_output_l", c_uint8), # Control box digital IO output 7-0
72 ("tl_dgt_output_l", c_uint8), # Tool digital IO output 7-0, only bit0-bit1 valid
73 ("cl_dgt_input_h", c_uint8), # Control box digital IO input 15-8
74 ("cl_dgt_input_l", c_uint8), # Control box digital IO input 7-0
75 ("tl_dgt_input_l", c_uint8), # Tool digital IO input 7-0, only bit0-bit1 valid
76
77 # Analog I/O
78 ("cl_analog_input", c_uint16 * 2), # Control box analog input [0],[1]
79 ("tl_anglog_input", c_uint16), # Tool analog input
80
81 # Force/torque sensor
82 ("ft_sensor_raw_data", c_double * 6), # Force/torque sensor raw data
83 ("ft_sensor_data", c_double * 6), # Force/torque sensor data
84 ("ft_sensor_active", c_uint8), # Force/torque sensor activation status
85
86 # Status signals
87 ("EmergencyStop", c_uint8), # Emergency stop flag, 0-not pressed, 1-pressed
88 ("motion_done", c_int), # Motion completion signal, 1-completed, 0-not completed
89 ("gripper_motiondone", c_uint8), # Gripper motion completion signal, 1-completed, 0-not completed
90 ("mc_queue_len", c_int), # Motion command queue length
91 ("collisionState", c_uint8), # Collision detection, 1-collision, 0-no collision
92 ("trajectory_pnum", c_int), # Trajectory point number
93 ("safety_stop0_state", c_uint8), # Safety stop signal SI0
94 ("safety_stop1_state", c_uint8), # Safety stop signal SI1
95
96 # Gripper information
97 ("gripper_fault_id", c_uint8), # Faulty gripper number
98 ("gripper_fault", c_uint16), # Gripper fault
99 ("gripper_active", c_uint16), # Gripper activation status
100 ("gripper_position", c_uint8), # Gripper position
101 ("gripper_speed", c_int8), # Gripper speed
102 ("gripper_current", c_int8), # Gripper current
103 ("gripper_temp", c_int), # Gripper temperature
104 ("gripper_voltage", c_int), # Gripper voltage
105
106 # Extension axis status
107 ("aux_axis_state", ROBOT_AUX_STATE * 25), # 485 extension axis status (25)
108 ("extAxisStatus", EXT_AXIS_STATUS * 4), # UDP extension axis status (4)
109
110 # Extension I/O status
111 ("extDIState", c_uint16 * 8), # Extension DI input
112 ("extDOState", c_uint16 * 8), # Extension DO output
113 ("extAIState", c_uint16 * 4), # Extension AI input
114 ("extAOState", c_uint16 * 4), # Extension AO output
115
116 # Robot and joint status
117 ("rbtEnableState", c_int), # Robot enable status
118 ("jointDriverTorque", c_double * 6), # Robot joint driver torque
119 ("jointDriverTemperature", c_double * 6), # Robot joint driver temperature
120
121 # Robot time
122 #("robotTime", c_int * 7), # Robot system time [year,month,day,hour,min,sec,ms]
123 ("year", ctypes.c_uint16), # Year
124 ("mouth", ctypes.c_uint8), # Month
125 ("day", ctypes.c_uint8), # Day
126 ("hour", ctypes.c_uint8), # Hour
127 ("minute", ctypes.c_uint8), # Minute
128 ("second", ctypes.c_uint8), # Second
129 ("millisecond", ctypes.c_uint16), # Millisecond
130
131 ("softwareUpgradeState", c_int), # Robot software upgrade status
132 ("endLuaErrCode", c_uint16), # End Lua running status
133
134 # Analog output
135 ("cl_analog_output", c_uint16 * 2), # Control box analog output [0],[1]
136 ("tl_analog_output", c_uint16), # Tool analog output
137
138 # Rotating gripper
139 ("gripperRotNum", c_float), # Current rotation count of rotating gripper
140 ("gripperRotSpeed", c_uint8), # Current rotation speed percentage of rotating gripper
141 ("gripperRotTorque", c_uint8), # Current rotation torque percentage of rotating gripper
142
143 # Welding interruption status - using structure
144 ("weldingBreakOffState", WELDING_BREAKOFF_STATE), # Welding interruption status
145
146 # Target joint torque
147 ("jt_tgt_tor", c_double * 6), # Joint command torque
148
149 ("smartToolState", c_int), # SmartTool handle button status
150 ("wideVoltageCtrlBoxTemp", c_float), # Wide voltage control box temperature
151 ("wideVoltageCtrlBoxFanCurrent", c_uint16), # Wide voltage control box fan current (mA)
152
153 # Coordinate system values
154 ("toolCoord", c_double * 6), # Current tool coordinate system values; x,y,z,rx,ry,rz
155 ("wobjCoord", c_double * 6), # Current workpiece coordinate system values; x,y,z,rx,ry,rz
156 ("extoolCoord", c_double * 6), # Current external tool coordinate system values; x,y,z,rx,ry,rz
157 ("exAxisCoord", c_double * 6), # Current extension axis coordinate system values; x,y,z,rx,ry,rz
158
159 # Load
160 ("load", c_double), # Load mass
161 ("loadCog", c_double * 3), # Load center of gravity
162
163 # Servo commands
164 ("lastServoTarget", c_double * 6), # Last ServoJ target position in the queue
165 ("servoJCmdNum", c_int), # ServoJ command count
166
167 # Target joint data
168 ("targetJointPos", c_double * 6), # 6 joints command position, unit °
169 ("targetJointVel", c_double * 6), # 6 joints command velocity, unit °/s
170 ("targetJointAcc", c_double * 6), # 6 joints command acceleration, unit °/s2
171 ("targetJointCurrent", c_double * 6), # 6 joints command current, unit A
172 ("actualJointCurrent", c_double * 6), # 6 joints current current, unit A
173 ("actualTCPForce", c_double * 6), # Robot end-effector torque Nm; x,y,z,rx,ry,rz
174 ("targetTCPPos", c_double * 6), # Robot TCP command position mm; x,y,z,rx,ry,rz
175
176 ("collisionLevel", c_uint8 * 6), # Robot collision level
177 ("speedScaleManual", c_double), # Manual mode global speed percentage
178 ("speedScaleAuto", c_double), # Automatic mode global speed percentage
179 ("luaLineNum", c_int), # Current Lua program running line number
180 ("abnomalStop", c_uint8), # 0-no abnormality; 1-abnormality present
181 ("currentLuaFileName", c_uint8 * 256), # Name of currently running Lua program
182 ("programTotalLine", c_uint8), # Total lines of Lua program
183 ("safetyBoxSingal", c_uint8 * 6), # Robot button box button status
184
185 # Welding data
186 ("weldVoltage", c_double), # Welding voltage V
187 ("weldCurrent", c_double), # Welding current
188 ("weldTrackVel", c_double), # Seam tracking speed mm/s
189
190 ("tpdException", c_uint8), # TPD trajectory load count exceeded, 0-not exceeded, 1-exceeded
191 ("alarmRebootRobot", c_uint8), # Warning, 1-release emergency stop button and power cycle the control box, 2-joint communication abnormality, power cycle the control box
192 ("modbusMasterConnect", c_uint8), # bit0-bit7 correspond to ModbusTCP master 0-7 connection status
193 ("modbusSlaveConnect", c_uint8), # ModbusTCP slave connection status
194 ("btnBoxStopSignal", c_uint8), # Button box emergency stop signal
195 ("dragAlarm", c_uint8), # Drag warning
196 ("safetyDoorAlarm", c_uint8), # Safety door warning
197 ("safetyPlaneAlarm", c_uint8), # Entering safety wall warning
198 ("motonAlarm", c_uint8), # Motion warning
199 ("interfaceAlarm", c_uint8), # Entering interference area warning
200 ("udpCmdState", c_int), # Port 20007 UDP communication connection status
201 ("weldReadyState", c_uint8), # Welder ready status
202 ("alarmCheckEmergStopBtn", c_uint8), # 0-normal; 1-communication abnormality, check if emergency stop button is released
203 ("tsTmCmdComError", c_uint8), # 0-normal; 1-torque command communication failure
204 ("tsTmStateComError", c_uint8), # 0-normal; 1-torque status communication failure
205 ("ctrlBoxError", c_int), # Control box error
206 ("safetyDataState", c_uint8), # Safety data status flag
207 ("forceSensorErrState", c_uint8), # Force sensor connection timeout fault
208 ("ctrlOpenLuaErrCode", c_uint8 * 4), # 4 controller peripheral protocol error codes
209 ("strangePosFlag", c_uint8), # Currently in singular posture flag
210 ("alarm", c_uint8), # Warning
211 ("driverAlarm", c_uint8), # Driver alarm axis number
212 ("aliveSlaveNumError", c_uint8), # Active slave count error
213 ("slaveComError", c_uint8 * 8), # Slave error status
214 ("cmdPointError", c_uint8), # Command point error
215 ("IOError", c_uint8), # IO error
216 ("gripperError", c_uint8), # Gripper error
217 ("fileError", c_uint8), # File error
218 ("paraError", c_uint8), # Parameter error
219 ("exaxisOutLimitError", c_uint8), # External axis soft limit exceeded error
220 ("driverComError", c_uint8 * 6), # Driver communication fault
221 ("driverError", c_uint8), # Driver communication fault axis number
222 ("outSoftLimitError", c_uint8), # Soft limit exceeded fault
223 ("axleGenComData", c_uint8 * 130), # Axle general communication non-periodic data
224 ("socketConnTimeout", c_uint8), # Socket connection timeout
225 ("socketReadTimeout", c_uint8), # Socket read timeout
226 ("tsWebStateComErr", c_uint8), # TS_WEB status communication error
227 ("check_sum", c_uint16) # Checksum
228 ]
2.2. Controller status feedback data packet
New in version python: SDK-v2.1.7
Variable |
Meaning |
|---|---|
program_state |
program_running_state, 1-stop; 2-run; 3-pause |
robot_state |
robot_motion_state, 1-stop; 2-run; 3-pause; 4-drag |
main_code |
main_fault_code |
sub_code |
sub_code” |
robot_mode |
robot_mode, 0-automatic mode; 1-manual mode |
jt_cur_pos[i] |
Current position of joint, in deg, i:0~5 |
tl_cur_pos[i] |
Tool current position in deg&mm,i:0~5 |
flange_cur_pos[i] |
The end flange is in its current position, in degrees and millimeters. i: 0~5 |
actual_qd[i] |
Robot’s current joint velocity in deg/s,i:0~5 |
actual_qdd[i] |
Current joint acceleration of the robot, in deg/s^2, i:0~5 |
target_TCP_CmpSpeed[i] |
Robot TCP synthesis command speed in mm/s & deg/s,i:0~1 |
target_TCP_Speed[i] |
Robot TCP command speed in mm/s & deg/s,i:0~5 |
actual_TCP_CmpSpeed[i] |
Robot TCP synthesized actual speed in mm/s & deg/s, i:0~1 |
actual_TCP_Speed[i] |
Robot TCP actual speed in mm/s & deg/s,i:0~5 |
jt_cur_tor[i] |
Current torque, unit N-m ,i:0~5 |
tool |
Applied tool coordinate system number |
user |
Applied workpiece coordinate system number |
cl_dgt_output_h |
Control Box Digital IO Output 15-8 |
cl_dgt_output_l |
Control Box Digital IO Output 7-0 |
tl_dgt_output_l |
Tool Digital IO Output 7-0, only bit0-bit1 valid |
dgt_input_h |
Control Box Digital IO Input 15-8 |
cl_dgt_input_l |
Control Box Digital IO Input 7-0 |
tl_dgt_input_l |
Tool digital IO input 7-0, only bit0-bit1 valid |
cl_analog_input[i] |
Control box analog input,i:0~2 |
tl_anglog_input |
tool_analog_input |
ft_sensor_raw_data |
torque sensor raw data, unit N&Nm, i:0~5 |
ft_sensor_data |
torque sensor data, unit N&Nm, i:0~5 |
ft_sensor_active |
torque sensor active status, 0-reset, 1-active |
EmergencyStop |
Emergency stop sign, 0 - emergency stop not pressed, 1 - emergency stop pressed |
motion_done |
motion_in_place signal,1-in place, 0-not in place |
gripper_motiondone |
Gripper motion done signal,1-done, 0-not done |
mc_queue_len |
motion command queue length |
collisionState |
Collision detection, 1-collision, 0-no collision |
trajectory_pnum |
trajectory point number |
safety_stop0_state |
safety stop signal SI0 |
safety_stop1_state |
safety stop signal SI1 |
gripper_fault_id |
error_claw_number |
gripper_fault |
gripper_fault |
gripper_active |
gripper_jaw_activity_status, 0-unactivated, 1-activated |
gripper_position |
Gripper position (percentage) |
gripper_speed |
Gripper speed (percentage) |
gripper_current |
gripper_current (percentage) |
gripper_tmp |
Gripper temperature in °C |
gripper_voltage |
gripper_voltage in V |
auxState.servoId |
485 extended axis, servo drive ID number, i:0~3 |
auxState.servoErrCode |
485 Extended Axis, Servo Drive Error Code, i:0~3 |
auxState.servoState |
485 Extended Axis, Servo Drive State, i:0~3 |
auxState.servoPos |
485 extended axis, servo current position, i:0~3 |
auxState.servoVel |
485 extended axis, servo current speed, i:0~3 |
auxState.servoTorque |
485 Extended axis, servo current torque, i:0~3 |
extAxisStatus[i].pos |
UDP Extension Axis, Position, i:0~3 |
extAxisStatus[i].vel |
UDP Extended Axis,velocity,i:0~3 |
extAxisStatus[i].errorCode |
UDP Extended Axis, Error Code, i:0~3 |
extAxisStatus[i].ready |
UDP extension axis, servo ready, i:0~3 |
extAxisStatus[i].inPos |
UDP Extended Axis, servo in place, i:0~3 |
extAxisStatus[i].alarm |
UDP Extended Axis, Servo Alarm, i:0~3 |
extAxisStatus[i].flerr |
UDP Extended Axis, Follow Error, i:0~3 |
extAxisStatus[i].nlimit |
UDP extension axis, to negative limit, i:0~3 |
extAxisStatus[i].pLimit |
UDP extension axis, to positive limit, i:0~3 |
extAxisStatus[i].mdbsOffLine |
UDP Extension Axis, Drive 485 Bus Offline |
extAxisStatus[i].mdbsTimeout |
UDP Extension Axis, Control Card and Control Box 485 Communication Timeout |
extAxisStatus[i].homingStatus |
UDP extension axis, back to zero status |
extDIState |
Extended Digital Input State |
extDOState |
Extended Digital Output State |
extAIState |
Extended Analog Input State |
extAOState |
Extended Analog Output State |
rbtEnableState |
robotEnableState |
jointDriverTorque |
Joint Driver Current Torque |
jointDriverTemperature |
Joint Driver Current Temperature |
year |
year |
mouth |
moon |
day |
day |
hour |
hours |
minute |
minutes |
second |
seconds |
millisecond |
milliseconds |
softwareUpgradeState |
Robot Software Upgrade State |
endLuaErrCode |
endLUARunningStatus |
cl_analog_output[i] |
Control box analog output,i:0~1 |
tl_analog_output |
Tool analog output |
gripperRotNum |
Rotation gripper current rotation number |
gripperRotSpeed |
Rotation gripper current rotation speed percentage |
gripperRotTorque |
Rotation gripper current rotation torque percentage |
weldingBreakOffState |
Welding interruption state |
jt_tgt_tor |
Joint command torque |
smartToolState |
The status of the SmartTool handle buttons |
wideVoltageCtrlBoxTemp |
Wide voltage control box temperature |
wideVoltageCtrlBoxFanCurrent |
Wide voltage control box fan current(ma) |
toolCoord[i] |
Tool coordinate system,i:0~5 |
wobjCoord[i] |
Workpiece coordinate system,i:0~5 |
extoolCoord[i] |
External tool coordinate system,i:0~5 |
exAxisCoord[i] |
Extended axis coordinate system,i:0~5 |
load |
Quality of load |
loadCog[i] |
Center of mass of load,i:0~2 |
lastServoTarget[i] |
The last ServoJ target position in the queue,i:0 to 5 |
servoJCmdNum |
ServoJ instruction count |
2.3. Status of the servo controller
New in version python: SDK-v2.1.3
Variable |
Meaning |
|---|---|
servoId |
Servo driver ID number |
servoErrCode |
Servo driver fault code |
servoState |
Status of the servo driver |
servoPos |
Current position of the servo |
servoVel |
Current speed of the servo |
servoTorque |
Current torque of the servo |
2.4. Extended axis status
New in version python: SDK-v2.1.3
Variable |
Meaning |
|---|---|
pos |
Extended axis position |
vel |
Extended axis speed |
errorCode |
Extended shaft fault code |
ready |
The servo is ready |
inPos |
Servo in place |
alarm |
Servo alarm |
flerr |
Following error |
nlimit |
To the negative limit |
pLimit |
To the positive limit position |
mdbsOffLine |
The 485 bus of the driver is disconnected |
mdbsTimeout |
The 485 communication between the control card and the control box has timed out |
homingStatus |
The expansion axis returns to the zero state |
2.5. Welding interruption state
New in version python: SDK-v2.1.3
Variable |
Meaning |
|---|---|
breakOffState |
Welding interruption state |
weldArcState |
Welding arc interruption state |
2.6. code example
1from fairino import Robot
2# Establish a connection with the robot controller and return a robot object if the connection is successful
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. Robot Status Feedback Configuration List Enumeration Type
1# ==================== RobotState Configuration List Enumeration ====================
2class RobotState(enum.Enum):
3 """CNDE status type enumeration"""
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 CheckSum = 132