top of page

Java 13. Extended Axis

13.1. Set 485 Extended Axis Parameters

/**
* @brief Set 485 extended axis parameters
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [in] param 485 extended axis parameters
* @return Error code
*/
int AuxServoSetParam(int servoId, Axis485Param param)

13.2. Get 485 Extended Axis Parameters

/**
* @brief Get 485 extended axis configuration parameters
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [out] param 485 extended axis parameters
* @return Error code
*/
int AuxServoGetParam(int servoId, Axis485Param param);

13.3. Set 485 Extended Axis Enable/Disable

/**
* @brief Set 485 extended axis enable/disable
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [in] status Enable status, 0-disable, 1-enable
* @return Error code
*/
int AuxServoEnable(int servoId, int status);

13.4. Set 485 Extended Axis Control Mode

/**
* @brief Set 485 extended axis control mode
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [in] mode Control mode, 0-position mode, 1-speed mode
* @return Error code
*/
int AuxServoSetControlMode(int servoId, int mode);

13.5. Set 485 Extended Axis Target Position (Position Mode)

/**
* @brief Set 485 extended axis target position (position mode)
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [in] pos Target position, mm or °
* @param [in] speed Target speed, mm/s or °/s
* @param [in] acc Acceleration percentage [0-100]
* @return Error code
*/
int AuxServoSetTargetPos(int servoId, double pos, double speed, double acc);

13.6. Set 485 Extended Axis Target Torque (Torque Mode) - Not Yet Available

/**
* @brief Set 485 extended axis target torque (torque mode) - Not yet available
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [in] torque Target torque, Nm
* @return Error code
*/
int AuxServoSetTargetTorque(int servoId, double torque);

13.7. Set 485 Extended Axis

/**
* @brief Set 485 extended axis homing
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [in] mode Homing mode, 1-current position homing; 2-negative limit homing; 3-positive limit homing
* @param [in] searchVel Homing speed, mm/s or °/s
* @param [in] latchVel Latch speed, mm/s or °/s
* @param [in] acc Acceleration percentage [0-100]
* @return Error code
*/
int AuxServoHoming(int servoId, int mode, double searchVel, double latchVel);

13.8. Clear 485 Extended Axis Error Information

/**
* @brief Clear 485 extended axis error information
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @return Error code
*/
int AuxServoClearError(int servoId);

13.9. Get 485 Extended Axis Servo Status

/**
* @brief Get 485 extended axis servo status
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [in] servoErrCode Servo driver error code
* @param [in] servoState Servo driver status bit0:0-disabled; 1-enabled; bit1:0-not moving; 1-moving; bit4 0-positioning not completed; 1-positioning completed; bit5:0-homing not completed; 1-homing completed
* @param [in] servoPos Servo current position mm or °
* @param [in] servoSpeed Servo current speed mm/s or °/s
* @param [in] servoTorque Servo current torque Nm
* @return Error code
*/
int AuxServoGetStatus(int servoId, int[] servoErrCode, int[] servoState, double[] servoPos, double[] servoSpeed, double[] servoTorque)

13.10. Set 485 Extended Axis Target Speed (Speed Mode)

/**
* @brief Set 485 extended axis target speed (speed mode)
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @param [in] speed Target speed, mm/s or °/s
* @param [in] acc Acceleration percentage [0-100]
* @return Error code
*/
int AuxServoSetTargetSpeed(int servoId, double speed, double acc);

13.11. Set Axis Number for Status Feedback of 485 Extended Axis

/**
* @brief Set axis number for status feedback of 485 extended axis
* @param [in] servoId Servo driver ID, range [1-16], corresponding to slave ID
* @return Error code
*/
int AuxServosetStatusID(int servoId);

13.12. Set 485 Extended Axis Motion Acceleration/Deceleration

/**
* @brief Set 485 extended axis motion acceleration/deceleration
* @param [in] acc 485 extended axis motion acceleration
* @param [in] dec 485 extended axis motion deceleration
* @return Error code
*/
int AuxServoSetAcc(double acc, double dec)

13.13. Set 485 Extended Axis Emergency Stop Acceleration/Deceleration

/**
* @brief Set 485 extended axis emergency stop acceleration/deceleration
* @param [in] acc 485 extended axis emergency stop acceleration
* @param [in] dec 485 extended axis emergency stop deceleration
* @return Error code
*/
int AuxServoSetEmergencyStopAcc(double acc, double dec)

13.14. Get 485 Extended Axis Motion Acceleration/Deceleration

/**
* @brief Get 485 extended axis motion acceleration/deceleration
* @return List[0]: Error code; List[1]: 485 extended axis motion acceleration; List[2]: 485 extended axis motion deceleration
*/
List<Number> AuxServoGetAcc()

13.15. Get 485 Extended Axis Emergency Stop Acceleration/Deceleration

/**
* @brief Get 485 extended axis emergency stop acceleration/deceleration
* @return List[0]: Error code; List[1]: 485 extended axis emergency stop acceleration; List[2]: 485 extended axis emergency stop deceleration
*/
List<Number> AuxServoGetEmergencyStopAcc()

13.16. Extended Axis Control Code Example

public static int Test485Auxservo(Robot robot)
{
    Axis485Param ax=new Axis485Param(1, 1, 1, 131072, 15.45);
    int retval = robot.AuxServoSetParam(1, ax);

    Axis485Param ax2=new Axis485Param();
    retval = robot.AuxServoGetParam(1, ax2);

    ax.servoCompany=10;
    ax.servoModel=11;
    ax.servoSoftVersion=12;
    ax.servoResolution=13;
    ax.axisMechTransRatio=14;

    retval = robot.AuxServoSetParam(1, ax);

    retval = robot.AuxServoGetParam(1,ax2);

    ax.servoCompany=1;
    ax.servoModel=1;
    ax.servoSoftVersion=1;
    ax.servoResolution=131072;
    ax.axisMechTransRatio=36;

    retval = robot.AuxServoSetParam(1, ax);
    robot.Sleep(3000);

    robot.AuxServoSetAcc(3000, 3000);
    robot.AuxServoSetEmergencyStopAcc(5000, 5000);
    robot.Sleep(1000);
    double emagacc = 0, acc = 0;
    double emagdec = 0, dec = 0;

    List<Number> aux=new ArrayList<>();

    aux=robot.AuxServoGetEmergencyStopAcc();
    aux=robot.AuxServoGetAcc();

    robot.AuxServoSetControlMode(1, 0);
    robot.Sleep(2000);

    retval = robot.AuxServoEnable(1, 0);
    robot.Sleep(1000);
    int[] servoerrcode =new int[]{0};
    int[] servoErrCode=new int[]{0};
    int[] servoState=new int[]{0};
    double[] servoPos=new double[]{0};
    double[] servoSpeed=new double[]{0};
    double[] servoTorque=new double[]{0};
    retval = robot.AuxServoGetStatus(1, servoErrCode, servoState, servoPos, servoSpeed, servoTorque);
    robot.Sleep(1000);;

    retval = robot.AuxServoEnable(1, 1);
    robot.Sleep(1000);
    retval = robot.AuxServoGetStatus(1, servoErrCode, servoState, servoPos, servoSpeed, servoTorque);
    robot.Sleep(1000);

    retval = robot.AuxServoHoming(1, 1, 5, 1,100);
    robot.Sleep(3000);

    retval = robot.AuxServoSetTargetPos(1, 200, 30,100);
    robot.Sleep(1000);
    retval = robot.AuxServoGetStatus(1, servoErrCode, servoState, servoPos, servoSpeed, servoTorque);
    robot.Sleep(8000);


    robot.AuxServoSetControlMode(1, 1);
    robot.Sleep(2000);

    robot.AuxServoEnable(1, 0);
    robot.Sleep(1000);
    robot.AuxServoEnable(1, 1);
    robot.Sleep(1000);
    robot.AuxServoSetTargetSpeed(1, 100, 80);

    robot.Sleep(5000);
    robot.AuxServoSetTargetSpeed(1, 0, 80);

    robot.CloseRPC();
    return 0;
}

robotic arm
FAIRINO ROBOTIC ARMS

Contact

Location: 10637 Scripps Summit Court,

San Diego, CA. 92131
Phone: (619) 333-FAIR
Email: hello@fairino.us

© 2023 Fairino US official site Proudly created By G2T

bottom of page