For information on the latest version, please have a look at GL013301.
app_weld_weave_cond_circular
Definition
DRFLEx.h within class CDRFLEx, public section (line 1006)
bool app_weld_weave_cond_circular(float fOffsetY, float fOffsetZ, float fGradient, float fwWdt[2], float fwT[2])
{
return _app_weld_weave_cond_circular(_rbtCtrl, fOffsetY, fOffsetZ, fGradient, fwWdt, fwT);
};
Features
This function sets the circular weaving conditions. These conditions are only valid within the welding section defined from weld activation (app_weld_enable_analog / app_weld_enable_digital) to deactivation ( app_weld_disable_digital), and executing it outside this section will result in an error.
Weaving conditions are defined in the weave coordinate system, where:
The direction of the weld path is the weave x-axis.
The direction of the vector product (cross-product) of the weave x-axis and the TCP-z direction is the weave y-axis.
Only one weaving condition is allowed within a single welding section. You can adjust the offset or weaving width during welding using app_weld_adj_welding_cond_analog / app_weld_set_weld_cond_digital commands, or modify voltage/current/speed and offset from the teaching pendant’s condition popup.
However, adjusting weaving conditions from the pendant is possible only when the adjustment state is RESET, i.e., when the condition was last set by app_weld_set_weld_cond_analog / app_weld_set_weld_cond_digital.
Arguments
Argument Name |
Data Type |
Default Value |
Description |
|---|---|---|---|
fOffsetY |
float |
0.0 |
Offset in the Y direction of the weave coordinate system (mm) |
fOffsetZ |
float |
0.0 |
Offset in the Z direction of the weave coordinate system (mm) |
fGradient |
float |
0.0 |
Rotation angle of the weaving plane with respect to the X-axis of the weave coordinate system (deg) |
fwWdt |
float[2] |
{3.0, 3.0} |
[0] Weaving width 1 (mm) |
fwT |
float[2] |
{0.3, 0.3} |
[0] Weaving cycle 1 (sec) |
Return
Value |
Description |
|---|---|
0 |
Error |
1 |
Success |
Example
float fOffsetY = 0.0;
float fOffsetZ = 0.0;
float fGradient = 0.0;
float fwWdt[2] = {3.0, 3.0}; // Weaving widths for circular motion
float fwT[2] = {0.3, 0.3}; // Corresponding weaving cycle times
Drfl.app_weld_weave_cond_circular(fOffsetY, fOffsetZ, fGradient, fwWdt, fwT);
This example defines a circular weave pattern with 3 mm radius oscillations and 0.3-second cycles, generating smooth circular motion ideal for corner welding or rotational symmetry joints where uniform heat distribution is required.