top of page
/**
* @brief Spiral parameter data type
*/
public class SpiralParam
{
public int circle_num; /* Number of spiral turns */
public double circle_angle; /* Spiral pitch angle */
public double rad_init; /* Initial spiral radius, in mm */
public double rad_add; /* Radius increment */
public double rotaxis_add; /* Rotation axis increment */
public int rot_direction; /* Rotation direction: 0-clockwise, 1-counterclockwise */
public int velAccMode; /* Velocity acceleration parameter mode: 0-constant angular velocity; 1- Constant linear velocity */
public SpiralParam(int circleNum, double circleAngle, double radInit, double radAdd, double rotaxisAdd, int rotDirection, int vel_AccMode)
{
circle_num = circleNum;
circle_angle = circleAngle;
rad_init = radInit;
rad_add = radAdd;
rotaxis_add = rotaxisAdd;
rot_direction = rotDirection;
velAccMode=vel_AccMode;
}
}
2.8. Extended Axis Status Type
/**
* @brief Extended axis status type
*/
public class EXT_AXIS_STATUS
{
public double pos = 0; // Extended axis position
public double vel = 0; // Extended axis velocity
public int errorCode = 0; // Extended axis error code
public int ready = 0; // Servo ready
public int inPos = 0; // Servo in position
public int alarm = 0; // Servo alarm
public int flerr = 0; // Following error
public int nlimit = 0; // Negative limit reached
public int pLimit = 0; // Positive limit reached
public int mdbsOffLine = 0; // Driver 485 bus offline
public int mdbsTimeout = 0; // Communication timeout between control card and control box via 485
public int homingStatus = 0; // Extended axis homing status
}
2.9. Sensor Type
/**
* @brief Sensor type
*/
public class DeviceConfig
{
int company = 0; // Manufacturer
int device = 0; // Type/device number
int softwareVersion = 0; // Software version
int bus = 0; // Mounting location
public DeviceConfig()
{
}
public DeviceConfig(int company, int device, int softwareVersion, int bus)
{
this.company = company;
this.device = device;
this.softwareVersion = softwareVersion;
this.bus = bus;
}
}
2.10. 485 Extended Axis Configuration
/**
* @brief 485 extended axis configuration
*/
public class Axis485Param
{
int servoCompany; // Servo driver manufacturer, 1-DynaTech
int servoModel; // Servo driver model, 1-FD100-750C
int servoSoftVersion; // Servo driver software version, 1-V1.0
int servoResolution; // Encoder resolution
double axisMechTransRatio; // Mechanical transmission ratio
public Axis485Param(int company, int model, int softVersion, int resolution, double mechTransRatio)
{
servoCompany = company;
servoModel = model;
servoSoftVersion = softVersion;
servoResolution = resolution;
axisMechTransRatio = mechTransRatio;
}
public Axis485Param()
{
}
}
2.11. Servo Controller Status
/**
* @brief Servo controller status
*/
public class ROBOT_AUX_STATE
{
public int servoId = 0; // Servo driver ID
public int servoErrCode = 0; // Servo driver error code
public int servoState = 0; // Servo driver status
public double servoPos = 0; // Current servo position
public float servoVel = 0; // Current servo velocity
public float servoTorque = 0; // Current servo torque
}
2.12. Welding Breakoff Status
/**
* @brief Welding breakoff status
*/
public class WELDING_BREAKOFF_STATE
{
public int breakOffState = 0; // Welding breakoff status
public int weldArcState = 0; // Welding arc breakoff status
}
2.13. UDP Extended Axis Communication Parameters
/**
* @brief UDP extended axis communication parameters
*/
public class UDP_EXT_AXIS_PARAM
{
public String ip = "192.168.58.88"; // IP address
public int port = 2021; // Port number
public int period = 2; // Communication period (ms, default is 2, do not modify this parameter)
public int lossPkgTime = 50; // Packet loss detection time (ms)
public int lossPkgNum = 2; // Number of packet losses
public int disconnectTime = 100; // Communication disconnection confirmation duration
public int reconnectEnable = 0; // Communication disconnection auto-reconnect enable 0-disable 1-enable
public int reconnectPeriod = 100; // Reconnection interval (ms)
public int reconnectNum = 3; // Number of reconnection attempts
public int selfConnect = 0; // Whether to automatically establish connection after power restart; 0-do not establish connection; 1-establish connection
}
2.14. Robot State Feedback Structure Type
/**
* @brief Robot state feedback structure type
*/
public class ROBOT_STATE_PKG
{
public short frame_head = 0; // Frame header 0x5A5A
public byte frame_cnt = 0; // Frame count
public short data_len = 0; // Data length
public int program_state = 0; // Program running state, 1-stop; 2-run; 3-pause
public int robot_state = 0; // Robot motion state, 1-stop; 2-run; 3-pause; 4-drag
public int main_code = 0; // Main error code
public int sub_code = 0; // Sub error code
public int robot_mode = 0; // Robot mode, 0-auto mode; 1-manual mode
public double[] jt_cur_pos = new double[6]; // Joint current position
public double[] tl_cur_pos = new double[6]; // Tool current pose
public double[] flange_cur_pos = new double[6]; // End flange current pose
public double[] actual_qd = new double[6]; // Robot current joint velocity
public double[] actual_qdd = new double[6]; // Robot current joint acceleration
public double[] target_TCP_CmpSpeed = new double[2]; // Robot TCP composite command velocity
public double[] target_TCP_Speed = new double[6]; // Robot TCP command velocity
public double[] actual_TCP_CmpSpeed = new double[2]; // Robot TCP composite actual velocity
public double[] actual_TCP_Speed = new double[6]; // Robot TCP actual velocity
public double[] jt_cur_tor = new double[6]; // Current torque
public int tool = 0; // Tool number
public int user = 0; // Workpiece number
public int cl_dgt_output_h = 0; // Digital output 15-8
public int cl_dgt_output_l = 0; // Digital output 7-0
public int tl_dgt_output_l = 0; // Tool digital output 7-0 (only bit0-bit1 valid)
public int cl_dgt_input_h = 0; // Digital input 15-8
public int cl_dgt_input_l = 0; // Digital input 7-0
public int tl_dgt_input_l = 0; // Tool digital input 7-0 (only bit0-bit1 valid)
public short[] cl_analog_input = new short[2]; // Control box analog input
public short tl_anglog_input = 0; // Tool analog input
public double[] ft_sensor_raw_data = new double[6]; // Force/torque sensor raw data
public double[] ft_sensor_data = new double[6]; // Reference coordinate system force/torque sensor data
public int ft_sensor_active = 0; // Force/torque sensor activation state, 0-reset, 1-active
public int EmergencyStop = 0; // Emergency stop flag
public int motion_done = 0; // In-position signal
public int gripper_motiondone = 0; // Gripper motion completion signal
public int mc_queue_len = 0; // Motion queue length
public int collisionState = 0; // Collision detection, 1-collision; 0-no collision
public int trajectory_pnum = 0; // Trajectory point number
public int safety_stop0_state = 0; /* Safety stop signal SI0 */
public int safety_stop1_state = 0; /* Safety stop signal SI1 */
public int gripper_fault_id = 0; /* Error gripper number */
public short gripper_fault = 0; /* Gripper fault */
public short gripper_active = 0; /* Gripper activation state */
public int gripper_position = 0; /* Gripper position */
public int gripper_speed = 0; /* Gripper speed */
public int gripper_current = 0; /* Gripper current */
public int gripper_tmp = 0; /* Gripper temperature */
public int gripper_voltage = 0; /* Gripper voltage */
public ROBOT_AUX_STATE auxState = new ROBOT_AUX_STATE(); /* 485 extended axis status */
public EXT_AXIS_STATUS extAxisStatus0 = new EXT_AXIS_STATUS();
public EXT_AXIS_STATUS extAxisStatus1 = new EXT_AXIS_STATUS();
public EXT_AXIS_STATUS extAxisStatus2 = new EXT_AXIS_STATUS();
public EXT_AXIS_STATUS extAxisStatus3 = new EXT_AXIS_STATUS();
public short[] extDIState = new short[8]; // Extended DI input
public short[] extDOState = new short[8]; // Extended DO output
public short[] extAIState = new short[4]; // Extended AI input
public short[] extAOState = new short[4]; // Extended AO output
public int rbtEnableState = 0; // Robot enable state
public double[] jointDriverTorque = new double[6]; // Joint driver current torque
public double[] jointDriverTemperature = new double[6]; // Joint driver current temperature
public ROBOT_TIME robotTime = new ROBOT_TIME();
public int softwareUpgradeState = 0; // Robot software upgrade state 0-idle or uploading upgrade package; 1~100: upgrade completion percentage; -1: upgrade software failed; -2: verification failed; -3: version verification failed; -4: decompression failed; -5: user configuration upgrade failed; -6: peripheral configuration upgrade failed; -7: extended axis configuration upgrade failed; -8: robot configuration upgrade failed; -9: DH parameter configuration upgrade failed
public int endLuaErrCode; // End LUA running state
public int[] cl_analog_output = new int[2]; // Control box analog output
public int tl_analog_output; // Tool analog output
public float gripperRotNum; // Rotary gripper current rotation number
public int gripperRotSpeed; // Rotary gripper current rotation speed percentage
public int gripperRotTorque; // Rotary gripper current rotation torque percentage
public WELDING_BREAKOFF_STATE weldingBreakOffstate = new WELDING_BREAKOFF_STATE(); // Welding breakoff state
public double[] jt_tgt_tor = new double[6]; // Joint command torque
public int smartToolState; // SmartTool handle button state
public float wideVoltageCtrlBoxTemp; // Wide voltage control box temperature
public int wideVoltageCtrlBoxFanVel; // Wide voltage control box fan speed (mA)
public double[] toolCoord=new double[6]; // Tool coordinate system
public double[] wobjCoord=new double[6]; // Work object coordinate system
public double[] extoolCoord=new double[6]; // External tool coordinate system
public double[] exAxisCoord=new double[6]; // Extended axis coordinate system
public double load; // Payload mass
public double[] loadCog=new double[3]; // Payload center of gravity
public double[] lastServoTarget = new double[6]; // Last servo target position in the queue
public int servoJCmdNum; // Servo command count
public short check_sum = 0; /* Checksum */
public ROBOT_STATE_PKG()
{
}
}
bottom of page