Data Structures
1 xCoreSDK Error Code ErrorCode
int value_ # Error code value
String^ message_ # Error message
2 Robot Basic Information, Loaded After Establishing Robot Connection Info
String^ id # Robot uid, can be used to distinguish connected robots
String^ mac # Mac address
String^ version # Controller version
String^ type # Robot model name
Int32 joint_num # Number of axes
3 Coordinate System Frame
array<double>^ trans # Translation [X, Y, Z], unit: meters
array<double>^ rpy # Euler angles [Rx, Ry, Rz], unit: radians
array<double>^ quat # Quaternion [x, y, z, w], read-only
4 Cartesian Point CartesianPosition
Type type # Offset type
Frame^ frame # Offset relative to specified tool/workpiece coordinate system
double elbow # Elbow angle, applicable to 7-axis robots, unit: radians
List<int>^ confData # Axis configuration data, [cf1, cf2, cf3, cf4, cf5, cf6, cf7, cfx]
List<double>^ external # External joint values, unit: radians|meters. Rail unit is meters
5 Joint Point JointPosition
List<double>^ joints # Joint angle values, unit: radians
List<double>^ external # External joint values, unit: radians|meters. Rail unit is meters
6 Non-real-time Motion Command MoveCommand
CartesianPosition^ cartTarget # Target Cartesian point
JointPosition^ jointTarget # Target joint point
CartesianPosition^ auxPoint # Auxiliary point
double speed # Robot end maximum linear speed, unit mm/s. See setDefaultSpeed
double jointSpeed # Effective when >=0; when <0, still use joint speed percentage calculated from speed, used for joint type commands, range [0, 1].
double rotSpeed # Effective when >=0; when <0, rotation speed defaults to 200°/s spatial rotation speed, used for end type commands, unit rad/s.
double zone # Turn zone radius size, unit mm. See setDefaultZone
String^ customInfo # Custom information, can be returned in motion information feedback
List<double>^ args # Other motion command parameters
7 Load Information Load
double mass # Load mass, unit: kilograms
array<double>^ cog # Center of mass [x, y, z], unit: meters
array<double>^ inertia # Inertia [ix, iy, iz, ixy, ixz, iyz], unit: kg·m²
8 State List StateList
JointPosition^ jointPos # Joint position
CartesianPosition^ cartPos # Cartesian position
List<bool>^ di # Digital input signals
List<bool>^ do # Digital output signals
List<double>^ ai # Analog input signals
List<double>^ ao # Analog output signals
OperateMode opMode # Operation mode
PowerState pwrState # Power state
OperationState opState # Operation state
StopLevel stopLevel # Stop level
float speedRatio # Speed ratio
float curJntSpeed # Current joint speed
array<double>^ jointVel # Joint velocities
array<double>^ jointTorque # Joint torques
array<double>^ extJoints # External joint positions
array<double>^ extJointsVel # External joint velocities
array<double>^ extJointsTorque # External joint torques
9 Tool/Workpiece Set Toolset
WorkToolInfo^ tool # Tool information
WorkToolInfo^ wobj # Workpiece information
10 Coordinate System Calibration Result FrameCalibrationResult
Frame^ frame # Calibration result
array<double>^ error # Calibration error
11 Log Information LogInfo
initonly int id # Log ID
String^ timestamp # Date and time
String^ logText # Log content
String^ repairHint # Repair hint
12 RL Project Information RLProjectInfo
String^ name # Project name
List<String^>^ taskList # Task name list
13 Tool/Workpiece Information WorkToolInfo
String^ name # Name
String^ alias # Description
bool robotHeld # Whether held by robot
Frame^ pos # Pose
Load^ load # Load
14 Keypad State KeyPadState
bool key1_state ~ key7_state # End keypad keys 1~7
15 CAN Frame CANFrame
int frame_id # Frame ID
int frame_format # Frame format
int frame_type # Frame type
array<UInt16>^ data # Payload (interpreted as uint8/uint16 by data_type)
int frame_valid_length # Valid length
16 EtherCAT Slave Info SlaveInfo
UInt32 vendorId
UInt32 productCode
UInt32 reversionNumber
UInt16 slaveAddr
UInt32 slaveId
UInt16 alStatus
String^ slaveName
17 SDO Data SDOData
int index
int sub_index
int length
int over_time
int wait_time # ms, default 0
int print_data # 1 to print on controller, default 0
array<Byte>^ data # Payload up to 50 bytes