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