top of page

14. Robotic Welding

14.1. Setting the welding process parameters

/**
* @brief Sets the welding process curve parameters.
* @param [in] id Welding process number (1-99)
* @param [in] startCurrent startCurrent(A)
* @param [in] startVoltage startVoltage(V)
* @param [in] startTime startTime(ms)
* @param [in] weldCurrent weldCurrent(A)
* @param [in] weldVoltage Welding voltage (V)
* @param [in] endCurrent Welding current(A)
* @param [in] endVoltage weldVoltage(V)
* @param [in] endTime Arc recovery time (ms)
* @return Error code
*/
int WeldingSetProcessParam(int id, double startCurrent, double startVoltage, double startTime, double weldCurrent, double weldVoltage, double endCurrent, double endVoltage, double endTime);

14.2. Get weld process curve parameters

/**
* @brief Get weld process curve parameters.
* @param [in] id Welding process number (1-99)
* @param [out] startCurrent startCurrent (A)
* @param [out] startVoltage startVoltage(V)
* @param [out] startTime startTime(ms)
* @param [out] weldCurrent weldCurrent(A)
* @param [out] weldVoltage Welding voltage (V)
* @param [out] endCurrent Welding current(A)
* @param [out] endVoltage weldVoltage(V)
* @param [out] endTime Arc recovery time (ms)
* @return Error code
*/
int WeldingGetProcessParam(int id, ref double startCurrent, ref double startVoltage, ref double startTime, ref double weldCurrent, ref double weldVoltage, ref double endCurrent, ref double endVoltage, ref double endTime);

14.3. Setting the weld current in relation to the output analog

New in version C#SDK-v1.0.4.

/**
* @brief Set weld current to output analog.
* @param [in] currentMin Welding current-analog output linear relationship left point current value (A)
* @param [in] currentMax Welding current - analog output linear relationship right point current value (A)
* @param [in] outputVoltageMin Welding current - analog output linear relationship left point analog output voltage value (V)
* @param [in] outputVoltageMax Welding current - analog output linear relationship of the right point analog output voltage value (V)
* @return Error Code
*/
int WeldingSetCurrentRelation(double currentMin, double currentMax, double outputVoltageMin, double outputVoltageMax);

14.4. Set Welding Voltage and Output Analog Relation

New in version C#SDK-v1.0.4.

/**
* @brief Set weld voltage to output analog.
* @param [in] weldVoltageMin weldVoltageMin Welding voltage-analog output linear relationship between the left point weld voltage value (A)
* @param [in] weldVoltageMax Welding voltage - analog output linear relationship between the right point welding voltage value (A)
* @param [in] outputVoltageMin Welding voltage-analog output linear relationship left point analog output voltage value (V)
* @param [in] outputVoltageMax Welding voltage - analog output linear relationship of the right point analog output voltage value (V)
* @return Error Code
*/
int WeldingSetVoltageRelation(double weldVoltageMin, double weldVoltageMax, double outputVoltageMin, double outputVoltageMax);

14.5. Get the relationship between the welding current and the output analog

New in version C#SDK-v1.0.4.

/**
* @brief Get weld current to output analog.
* @param [out] currentMin Welding current-analog output linear relationship of the left point current value (A).
* @param [out] currentMax Welding current - analog output linear relationship right point current value (A)
* @param [out] outputVoltageMin Welding current - analog output linear relationship left point analog output voltage value (V)
* @param [out] outputVoltageMax Welding current - analog output linear relationship between the right point analog output voltage value (V)
* @return Error Code
*/
int WeldingGetCurrentRelation(ref double currentMin, ref double currentMax, ref double outputVoltageMin, ref double outputVoltageMax);

14.6. Get Welding Voltage Relation to Output Analog

New in version C#SDK-v1.0.4.

/**
* @brief Get weld voltage to output analog
* @param [out] weldVoltageMin Welding Voltage - Analog Output Linear Relationship Left Point Welding Voltage Value (A)
* @param [out] weldVoltageMax Welding Voltage - Analog Output Linear Relationship Welding Voltage Value (A) at the Right Point
* @param [out] outputVoltageMin Welding voltage-analog output linear relationship left point analog output voltage value (V)
* @param [out] outputVoltageMax Welding voltage - analog output linear relationship right point analog output voltage value (V)
* @return Error Code
*/
int WeldingGetVoltageRelation(ref double weldVoltageMin, ref double weldVoltageMax, ref double outputVoltageMin, ref double outputVoltageMax);

14.7. Set weld current

New in version C#SDK-v1.0.4.

/**
* @brief Set weld current.
* @param [in] ioType Control IO type 0-control box IO; 1-expansion IO
* @param [in] current Welding current value (A)
* @param [in] AOIndex Welding current control box analog output port (0-1)
* @return Error Code
*/
int WeldingSetCurrent(int ioType, double current, int AOIndex);

14.8. Set Welding Voltage

New in version C#SDK-v1.0.4.

/**
* @brief Set the solder voltage.
* @param [in] ioType Control IO type 0-Control box IO; 1-Extension IO
* @param [in] voltage Welding voltage value (A)
* @param [in] AOIndex Welding voltage control box analog output port (0-1)
* @return Error Code
*/
int WeldingSetVoltage(int ioType, double voltage, int AOIndex);

14.9. Set the swing parameter

New in version C#SDK-V1.1.3: Web-3.8.2

/**
* @brief Set the swing parameter
* @param [in] weaveNum The configuration number of the weave parameter.
* @param [in] weaveType Oscillation type 0-planar triangular oscillation; 1-vertical L-shaped triangular oscillation; 2-clockwise circular oscillation; 3-counterclockwise circular oscillation; 4-planar sinusoidal oscillation; 5-vertical L-shaped sinusoidal oscillation; 6-vertical triangular oscillation; 7-vertical sine wave oscillation
* @param [in] weaveFrequency swing frequency (Hz)
* @param [in] weaveIncStayTime wait mode 0-cycle without wait time; 1-cycle with wait time
* @param [in] weaveRange Weave range (mm)
* @param [in] weaveLeftRange vertical triangle swing left chord length (mm)
* @param [in] weaveRightRange the length of the right chord of the vertical triangle swing (mm)
* @param [in] additionalStayTime The stay time of the vertical triangle (mm).
* @param [in] weaveLeftStayTime weaveLeftStayTime (ms)
* @param [in] weaveRightStayTime weaveRightStayTime (ms)
* @param [in] weaveCircleRadio Circle swing-back ratio (0-100%)
* @param [in] weaveStationary swing position wait, 0 - wait time for position to continue moving; 1 - wait time for position to be stationary
* @param [in] weaveYawAngle swing direction azimuth (rotation around swing Z-axis), in °.
* @return Error code
*/
int WeaveSetPara(int weaveNum, int weaveType, double weaveFrequency, int weaveIncStayTime, double weaveRange, double weaveLeftRange, double weaveRightRange, int additionalStayTime, int weaveLeftStayTime, int weaveRightStayTime, int weaveCircleRadio, int weaveStationary, double weaveYawAngle, double weaveRotAngle=0);

14.10. Sample code for setting welding parameters

New in version C#SDK-V1.1.3: Web-3.8.2

private void button7_Click(object sender, EventArgs e)
{
   robot.WeldingSetProcessParam(1, 177, 27, 1000, 178, 28, 176, 26, 1000);
   robot.WeldingSetProcessParam(2, 188, 28, 555, 199, 29, 133, 23, 333);

   double startCurrent = 0;
   double startVoltage = 0;
   double startTime = 0;
   double weldCurrent = 0;
   double weldVoltage = 0;
   double endCurrent = 0;
   double endVoltage = 0;
   double endTime = 0;

   robot.WeldingGetProcessParam(1, ref startCurrent, ref startVoltage, ref startTime, ref weldCurrent, ref weldVoltage, ref endCurrent, ref endVoltage, ref endTime);
   Console.WriteLine("the Num 1 process param is " + startCurrent + " " + startVoltage + " " + startTime + " " + weldCurrent + " " + weldVoltage + " " + endCurrent + " " + endVoltage + " " + endTime);
   robot.WeldingGetProcessParam(2, ref startCurrent, ref startVoltage, ref startTime, ref weldCurrent, ref weldVoltage, ref endCurrent, ref endVoltage, ref endTime);
   Console.WriteLine("the Num 2 process param is " + startCurrent + " " + startVoltage + " " + startTime + " " + weldCurrent + " " + weldVoltage + " " + endCurrent + " " + endVoltage + " " + endTime);

   int rtn = robot.WeldingSetCurrentRelation(0, 400, 0, 10, 0);
   Console.WriteLine("WeldingSetCurrentRelation rtn is: " + rtn);

   rtn = robot.WeldingSetVoltageRelation(0, 40, 0, 10, 1);
   Console.WriteLine("WeldingSetVoltageRelation rtn is: " + rtn);

   double current_min = 0;
   double current_max = 0;
   double vol_min = 0;
   double vol_max = 0;
   double output_vmin = 0;
   double output_vmax = 0;
   int curIndex = 0;
   int volIndex = 0;
   rtn = robot.WeldingGetCurrentRelation(ref current_min, ref current_max, ref output_vmin, ref output_vmax, ref curIndex);
   Console.WriteLine("WeldingGetCurrentRelation rtn is: " + rtn);
   Console.WriteLine("current min " + current_min + " current max " + current_max + " output vol min " + output_vmin + " output vol max " + output_vmax);

   rtn = robot.WeldingGetVoltageRelation(ref vol_min, ref vol_max, ref output_vmin, ref output_vmax, ref volIndex);
   Console.WriteLine("WeldingGetVoltageRelation rtn is: " + rtn);
   Console.WriteLine("vol min " + vol_min + " vol max " + vol_max + " output vol min " + output_vmin + " output vol max " + output_vmax);

   rtn = robot.WeldingSetCurrent(1, 100, 0, 0);
   Console.WriteLine("WeldingSetCurrent rtn is: " + rtn);

   System.Threading.Thread.Sleep(3000);

   rtn = robot.WeldingSetVoltage(1, 10, 0, 0);
   Console.WriteLine("WeldingSetVoltage rtn is: " + rtn);

   rtn = robot.WeaveSetPara(0, 0, 2.000000, 0, 10.000000, 0.000000, 0.000000, 0, 0, 0, 0, 0, 60.000000);
   Console.WriteLine("rtn is: " + rtn);

   robot.WeaveOnlineSetPara(0, 0, 1, 0, 20, 0, 0, 0, 0);

   rtn = robot.WeldingSetCheckArcInterruptionParam(1, 200);
   Console.WriteLine("WeldingSetCheckArcInterruptionParam    " + rtn);
   rtn = robot.WeldingSetReWeldAfterBreakOffParam(1, 5.7, 98.2, 0);
   Console.WriteLine("WeldingSetReWeldAfterBreakOffParam    " + rtn);
   int enable = 0;
   double length = 0;
   double velocity = 0;
   int moveType = 0;
   int checkEnable = 0;
   int arcInterruptTimeLength = 0;
   rtn = robot.WeldingGetCheckArcInterruptionParam(ref checkEnable, ref arcInterruptTimeLength);
   Console.WriteLine("WeldingGetCheckArcInterruptionParam  checkEnable  " + checkEnable + "   arcInterruptTimeLength  " + arcInterruptTimeLength);
   rtn = robot.WeldingGetReWeldAfterBreakOffParam(ref enable, ref length, ref velocity, ref moveType);
   Console.WriteLine("WeldingGetReWeldAfterBreakOffParam  enable = " + enable + ", length = " + length + ", velocity = " + velocity + ", moveType = " + moveType);

   robot.SetWeldMachineCtrlModeExtDoNum(17);
   for (int i = 0; i < 5; i++)
   {
      robot.SetWeldMachineCtrlMode(0);
      Thread.Sleep(1000);
      robot.SetWeldMachineCtrlMode(1);
      Thread.Sleep(1000);
   }

}

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