top of page

Java 14.43. Extension IO - Configure welding interruption recovery signal

/**
* @brief Extension IO - Configure welding interruption recovery signal
* @param [in] reWeldDINum Resume welding after interruption signal extension DI number
* @param [in] abortWeldDINum Abort welding after interruption signal extension DI number
* @return Error code
*/
int SetExtDIWeldBreakOffRecover(int reWeldDINum, int abortWeldDINum);

14.44. Set extension IO welding signal code example

public static int TestExtDIConfig(Robot robot)
{
    robot.SetArcStartExtDoNum(10);
    robot.SetAirControlExtDoNum(20);
    robot.SetWireForwardFeedExtDoNum(30);
    robot.SetWireReverseFeedExtDoNum(40);

    robot.SetWeldReadyExtDiNum(50);
    robot.SetArcDoneExtDiNum(60);
    robot.SetExtDIWeldBreakOffRecover(70, 80);
    robot.SetWireSearchExtDIONum(0, 1);

    return 0;
}

14.45. Arc tracking control

Changed in version Java: SDK-v1.0.2-3.7.9

/**
* @brief Arc tracking control
* @param [in] flag Switch: 0-Off; 1-On
* @param [in] delaytime Lag time in ms
* @param [in] isLeftRight Left/right deviation compensation
* @param [in] klr Left/right adjustment coefficient (sensitivity)
* @param [in] tStartLr Left/right start compensation time in cycles
* @param [in] stepMaxLr Left/right maximum compensation per step in mm
* @param [in] sumMaxLr Left/right total maximum compensation in mm
* @param [in] isUpLow Up/down deviation compensation
* @param [in] kud Up/down adjustment coefficient (sensitivity)
* @param [in] tStartUd Up/down start compensation time in cycles
* @param [in] stepMaxUd Up/down maximum compensation per step in mm
* @param [in] sumMaxUd Up/down total maximum compensation in mm
* @param [in] axisSelect Up/down coordinate system selection: 0-Weaving; 1-Tool; 2-Base
* @param [in] referenceType Up/down reference current setting method: 0-Feedback; 1-Constant
* @param [in] referSampleStartUd Up/down reference current sampling start count (feedback) in cycles
* @param [in] referSampleCountUd Up/down reference current sampling cycle count (feedback) in cycles
* @param [in] referenceCurrent Up/down reference current in mA
* @param [in] offsetType Offset tracking type: 0-No offset; 1-Sampling; 2-Percentage
* @param [in] offsetParameter Offset parameters:
*   Sampling (offset sampling start time, default one cycle)
*   Percentage (offset percentage (-100 ~ 100))
* @return Error code
*/
int ArcWeldTraceControl(int flag, double delaytime, int isLeftRight, double klr, double tStartLr, double stepMaxLr, double sumMaxLr, int isUpLow, double kud, double tStartUd, double stepMaxUd, double sumMaxUd, int axisSelect, int referenceType, double referSampleStartUd, double referSampleCountUd, double referenceCurrent, int offsetType, int offsetParameter);

14.46. Arc tracking AI channel selection

/**
* @brief Arc tracking AI channel selection
* @param channel Arc tracking AI channel selection [0-3]
* @return Error code
*/
public int ArcWeldTraceExtAIChannelConfig(int channel);

14.47. Arc tracking + multi-layer multi-pass compensation start

/**
* @brief Arc tracking + multi-layer multi-pass compensation start
* @return Error code
*/
public int ArcWeldTraceReplayStart();

14.48. Arc tracking + multi-layer multi-pass compensation end

/**
* @brief Arc tracking + multi-layer multi-pass compensation end
* @return Error code
*/
public int ArcWeldTraceReplayEnd();

14.49. Offset coordinate transformation - multi-layer multi-pass welding

/**
* @brief Offset coordinate transformation - multi-layer multi-pass welding
* @param pointO Reference point Cartesian pose
* @param pointX Reference point X-direction offset point Cartesian pose
* @param pointZ Reference point Z-direction offset point Cartesian pose
* @param dx X-direction offset (mm)
* @param dz Z-direction offset (mm)
* @param dry Rotation around Y-axis offset (°)
* @param offset Calculated offset
* @return Error code
*/
public int MultilayerOffsetTrsfToBase(DescTran pointO, DescTran pointX, DescTran pointZ, double dx, double dz, double dry, DescPose offset);

14.50. Multi-layer multi-pass welding arc tracking code example

public static int TestArcWeldTrace(Robot robot)
{
    JointPos mulitilineorigin1_joint = new JointPos(-24.090, -63.501, 84.288, -111.940, -93.426, 57.669);
    DescPose mulitilineorigin1_desc = new DescPose(-677.559, 190.951, -1.205, 1.144, -41.482, -82.577);

    DescTran mulitilineX1_desc = new DescTran(0, 0, 0);
    mulitilineX1_desc.x = -677.556;
    mulitilineX1_desc.y = 211.949;
    mulitilineX1_desc.z = -1.206;

    DescTran mulitilineZ1_desc = new DescTran(0, 0, 0);
    mulitilineZ1_desc.x = -677.564;
    mulitilineZ1_desc.y = 190.956;
    mulitilineZ1_desc.z = 19.817;

    JointPos mulitilinesafe_joint = new JointPos(-25.734, -63.778, 81.502, -108.975, -93.392, 56.021);
    DescPose mulitilinesafe_desc = new DescPose(-677.561, 211.950, 19.812, 1.144, -41.482, -82.577);
    JointPos mulitilineorigin2_joint = new JointPos(-29.743, -75.623, 101.241, -116.354, -94.928, 55.735);
    DescPose mulitilineorigin2_desc = new DescPose(-563.961, 215.359, -0.681, 2.845, -40.476, -87.443);

    DescTran mulitilineX2_desc = new DescTran(0, 0, 0);
    mulitilineX2_desc.x = -563.965;
    mulitilineX2_desc.y = 220.355;
    mulitilineX2_desc.z = -0.680;

    DescTran mulitilineZ2_desc = new DescTran(0, 0, 0);
    mulitilineZ2_desc.x = -563.968;
    mulitilineZ2_desc.y = 215.362;
    mulitilineZ2_desc.z = 4.331;

    ExaxisPos epos = new ExaxisPos(0, 0, 0, 0);
    DescPose offset = new DescPose(0, 0, 0, 0, 0, 0);

    robot.Sleep(10);
    int error = robot.MoveJ(mulitilinesafe_joint, mulitilinesafe_desc, 13, 0, 10, 100, 100, epos, -1, 0, offset);

    error = robot.MoveL(mulitilineorigin1_joint, mulitilineorigin1_desc, 13, 0, 10, 100, 100, -1, 0, epos, 0, 0, offset, 0, 100);

    error = robot.MoveJ(mulitilinesafe_joint, mulitilinesafe_desc, 13, 0, 10, 100, 100, epos, -1, 0, offset);

    error = robot.MoveL(mulitilineorigin2_joint, mulitilineorigin2_desc, 13, 0, 10, 100, 100, -1, 0, epos, 0, 0, offset, 0, 100);

    error = robot.MoveJ(mulitilinesafe_joint, mulitilinesafe_desc, 13, 0, 10, 100, 100, epos, -1, 0, offset);

    error = robot.MoveL(mulitilineorigin1_joint, mulitilineorigin1_desc, 13, 0, 10, 100, 100, -1, 0, epos, 0, 0, offset, 0, 100);

    error = robot.ARCStart(1, 0, 3000);

    error = robot.WeaveStart(0);

    error = robot.ArcWeldTraceControl(1, 0, 1, 0.06, 5, 5, 50, 1, 0.06, 5, 5, 55, 0, 0, 4, 1, 10, 0, 0);

    error = robot.MoveL(mulitilineorigin2_joint, mulitilineorigin2_desc, 13, 0, 1, 100, 100, -1, 0, epos, 0, 0, offset, 0, 100);

    error = robot.ArcWeldTraceControl(0, 0, 1, 0.06, 5, 5, 50, 1, 0.06, 5, 5, 55, 0, 0, 4, 1, 10, 0, 0);

    error = robot.WeaveEnd(0);

    error = robot.ARCEnd(1, 0, 10000);

    error = robot.MoveJ(mulitilinesafe_joint, mulitilinesafe_desc, 13, 0, 10, 100, 100, epos, -1, 0, offset);

    error = robot.MultilayerOffsetTrsfToBase(mulitilineorigin1_desc.tran, mulitilineX1_desc, mulitilineZ1_desc, 10.0, 0.0, 0.0, offset);

    error = robot.MoveL(mulitilineorigin1_joint, mulitilineorigin1_desc, 13, 0, 10, 100, 100, -1, 0, epos, 0, 1, offset, 0, 100);

    error = robot.ARCStart(1, 0, 3000);

    error = robot.MultilayerOffsetTrsfToBase(mulitilineorigin2_desc.tran, mulitilineX2_desc, mulitilineZ2_desc, 10, 0, 0, offset);

    error = robot.ArcWeldTraceReplayStart();

    error = robot.MoveL(mulitilineorigin2_joint, mulitilineorigin2_desc, 13, 0, 2, 100, 100, -1, 0, epos, 0, 1, offset, 0, 100);

    error = robot.ArcWeldTraceReplayEnd();

    error = robot.ARCEnd(1, 0, 10000);

    error = robot.MoveJ(mulitilinesafe_joint, mulitilinesafe_desc, 13, 0, 10, 100, 100, epos, -1, 0, offset);

    error = robot.MultilayerOffsetTrsfToBase(mulitilineorigin1_desc.tran, mulitilineX1_desc, mulitilineZ1_desc, 0, 10, 0, offset);

    error = robot.MoveL(mulitilineorigin1_joint, mulitilineorigin1_desc, 13, 0, 10, 100, 100, -1, 0, epos, 0, 1, offset, 0, 100);

    error = robot.ARCStart(1, 0, 3000);

    error = robot.MultilayerOffsetTrsfToBase(mulitilineorigin2_desc.tran, mulitilineX2_desc, mulitilineZ2_desc, 0, 10, 0, offset);

    error = robot.ArcWeldTraceReplayStart();

    error = robot.MoveL(mulitilineorigin2_joint, mulitilineorigin2_desc, 13, 0, 2, 100, 100, -1, 0, epos, 0, 1, offset, 0, 100);

    error = robot.ArcWeldTraceReplayEnd();

    error = robot.ARCEnd(1, 0, 3000);

    error = robot.MoveJ(mulitilinesafe_joint, mulitilinesafe_desc, 13, 0, 10, 100, 100, epos, -1, 0, offset);

    robot.CloseRPC();
    return 0;
}

14.51. Arc tracking welder current feedback AI channel selection

New in version Java: SDK-v1.0.5-3.8.2

/**
* @brief Arc tracking welder current feedback AI channel selection
* @param [in] channel Channel:
*   0-Extension AI0
*   1-Extension AI1
*   2-Extension AI2
*   3-Extension AI3
*   4-Controller AI0
*   5-Controller AI1
* @return Error code
*/
int ArcWeldTraceAIChannelCurrent(int channel);

14.52. Arc tracking welder voltage feedback AI channel selection

New in version Java: SDK-v1.0.5-3.8.2

/**
* @brief Arc tracking welder voltage feedback AI channel selection
* @param [in] channel Channel:
*   0-Extension AI0
*   1-Extension AI1
*   2-Extension AI2
*   3-Extension AI3
*   4-Controller AI0
*   5-Controller AI1
* @return Error code
*/
int ArcWeldTraceAIChannelVoltage(int channel);

14.53. Arc tracking welder current feedback conversion parameters

New in version Java: SDK-v1.0.5-3.8.2

/**
* @brief Arc tracking welder current feedback conversion parameters
* @param [in] AILow AI channel lower limit (default 0V, range [0-10V])
* @param [in] AIHigh AI channel upper limit (default 10V, range [0-10V])
* @param [in] currentLow AI channel lower limit corresponding welder current (default 0V, range [0-200V])
* @param [in] currentHigh AI channel upper limit corresponding welder current (default 100V, range [0-200V])
* @return Error code
*/
int ArcWeldTraceCurrentPara(double AILow, double AIHigh, double currentLow, double currentHigh);

14.54. Arc tracking welder voltage feedback conversion parameters

New in version Java: SDK-v1.0.5-3.8.2

/**
* @brief Arc tracking welder voltage feedback conversion parameters
* @param [in] AILow AI channel lower limit (default 0V, range [0-10V])
* @param [in] AIHigh AI channel upper limit (default 10V, range [0-10V])
* @param [in] voltageLow AI channel lower limit corresponding welder voltage (default 0V, range [0-200V])
* @param [in] voltageHigh AI channel upper limit corresponding welder voltage (default 100V, range [0-200V])
* @return Error code
*/
int ArcWeldTraceVoltagePara(double AILow, double AIHigh, double voltageLow, double voltageHigh);

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