This page is a guide to help users understand the requirements of setting up a Yaskawa Motoman robotic welding system for use with Verbotics Weld. Verbotics also offer consulting and training services to assist with the calibration and setup of a welding system - please contact us for pricing.
Work Cell File
Currently there are no facilities for end users or system integrators to create work cell files (
.vbmodel files). Please contact Verbotics to obtain pricing to create a customised work cell file, or utilise a sample work cell file for evaluation purposes. Sample work cells can be downloaded from our website.
Installation / Calibration
Programs generated using offline programming require additional calibration steps to minimise any errors between the installed system and the work cell definition in Verbotics Weld. Very small errors can accumulate to create large errors that cannot be resolved using touch sensing and can result in suboptimal performance of the exported programs and/or robot collision.
Please see calibration for more details.
Misalignment of the robot mount can cause error of where external axes are used. For example, a small error of 0.2 degrees in the robot mounting will result in a +/-7mm error for a robot reaching 2m in front compared to reaching behind. We understand that it may be difficult to mount and align a robot with exact accuracy, so our system can compensate for these errors if known.
The real world TCP should be calibrated using the Yaskawa tool calibration. After calibration, it is then suggested that the rotational values are overwritten with theoretical values (that can be supplied by Verbotics) as rotational values are difficult to calibrate using this method.
Care should be taken to ensure that the axes directions follow the expected directions for Verbotics Weld:
Z - Pointing out in the wire direction.
X - Pointing up from the robot when the robot is at position
[0, 0, 0, 0, 0, 0]. (This will be pointing out for the MH50-20).
Y - Orthogonal to X and Z with a right hand rule.
The TCP calibration should use the expected stickout specified in the workcell model file supplied by Verbotics for the cell and the wirecut routine should be written to cut the wire to this length prior to touch sensing.
Workpiece Positioner Calibration
Headstock Tailstock Axis
The headstock and tailstock position should be known such that the axis direction between the headstock and tailstock can be calculated. Depending on the setup, the inbuilt ‘Robot Calibration’ function on the Yaskawa controller may be able to calibrate these positions with high enough accuracy for the purpose of offline programming with Verbotics Weld. In some cases this may require a slightly different calibration method. Verbotics may also supply these values to overwrite any existing values in the robot.
Verbotics Weld requires the following options to be enabled on your controller:
Master Tool Frame (for synchronised positioner and tool movements).
Welding functionality created using Arc Start Files and Arc End Files.
Weaving functionality created using Weaving Files.
This list is not exhaustive.
It is also suggested that the P-variables space is maximised (including Base and External Axis) to allow large programs to be created with Verbotics Weld.
Verbotics Weld is capable of creating a Yaskawa / Motoman Job file(s) (.jbi) that can be loaded and executed by your robot. The code output consists of the following parts:
The output created by the software for the specific Verbotics Weld project.
Routines (Jobs) supplied by Verbotics to perform specific functions. These should not be changed by the end user or system integrator .
Placeholder routines that are called at certain events (e.g. torch-clean). These are required and can be supplied blank by Verbotics. These should contain specific code to perform certain functions, and allow the system integrator (or end user) to create customised functions.
The structure of the output is:
Initialisation of P-variables.
The touch sense code has the following structure:
SET P28 P1 ' Initialise the result to zero. SETE P31 (1) -999 ' Set the required TS constants. SETE P31 (2) -5 SETE P31 (3) 0 SETE P31 (4) 200000 SETE P31 (5) -2147483648 MOVJ C153 BC153 VJ=25 +MOVJ EC140 VJ=25 ' Move into position. MOVJ C154 BC154 VJ=25 +MOVJ EC141 VJ=25 SMOVL C155 BC155 V=50 +MOVJ EC142 REFP 8 RB1 C156 BC156 ' Set the TS point into the reference. CALL JOB:VBSEARCH ARGF P31 ARGF P28 ' Perform the touch sense. GETS LD0 $RV ' Save the error value. SETE P31 (5) LD0 SMOVL C157 BC157 V=50 +MOVJ EC143 ' Move back to the approach point. CALL JOB:VBOFFS ARGF P28 ARGF P31 ARGF LD0 ' Offset touch sense data modified by this action. SET P28 P1
The weld(s) will follow this format (with touch sense active):
' Move into position for the weld. MOVJ C355 BC355 VJ=25 +MOVJ EC315 VJ=25 MOVJ C356 BC356 VJ=25 +MOVJ EC316 VJ=25 MSG "Welding '12972 - 12978 #1'" ' Set the manual weld offset (if required) 'SHIFT XYZ in uM SETE P3 (1) 0 SETE P3 (2) 0 SETE P3 (3) 0 GETS LPX001 $PX000 CONVSFT P004 P003 LPX001 MTF SSFTON P004 ' Move to approach position. SMOVL C357 BC357 V=50 +MOVJ EC317 ' Set the weld point as a reference (REFP 8) and calculate and apply the shift ' for that point. SREFP 8 C358 BC358 +REFP EC318 CALL JOB:VBSSFT ARGF 0 ARGF P64 ARGF P65 ARGF P3 ' Move to the weld point (from REFP 8). GETS LPX001 $PX028 SMOVL LP1 LBP1 V=50 +MOVJ LEX1 ' Turn on welding. ARCON ASF#(1) ' Move through all weld points. SREFP 8 C359 BC359 +REFP EC319 CALL JOB:VBSSFT ARGF 318 ARGF P65 ARGF P66 ARGF P3 GETS LPX001 $PX028 SMOVL LP1 LBP1 +MOVJ LEX1 ' Repeat for all weld points ... ' Turn off welding. ARCOF ' Move back to approach point and remove the shift. SMOVL C363 BC363 V=50 +MOVJ EC323 SSFTOF
The code output is supported by other routines that are supplied with the software. Typically these should not be modified:
VBSEARCH- Performs a touch sense search action based on the touch sense data output into the program.
VBOFFS- Offsets a point by a supplied distance in the direction of a supplied vector.
VBSFT- Creates a robot shift using the
VBSSFT- Creates a robot shift using the
The code output will call these routines at certain events in the code output. All routines are required, but can be empty and simply return upon executing. These should be modified as required by the system integrator to perform the required customised functions.
The following routine events are created:
VBCUTWIRE- Called when a wire-cut is to be performed. This is usually before a group of touch sense operations. This should start and end with the robot in the home position (excluding external axes).
VBTORCHCLEAN- Called when a torch-clean is to be performed. Should also include a wire cut. This should start and end with the robot in the home position (excluding external axes).
VBBEFORESEARCH- Called before a search is initiated.
VBAFTERSEARCH- Called when a search is completed.
VBBEFOREWELD- Called before a weld is started.
VBAFTERWELD- Called when a weld is completed.
For example, if your welding torch had a wire brake to assist with touch sensing. The
VBCUTWIRE routine could be used to switch on the wire brake, and the
VBBEFOREWELD routine could be used to switch off the wire brake.
During commissioning, the output program points modified like any other program created on the teach pendant. Transition motions use
MOVJ command and can be modified, or additional points added.
Where touch sensing is active, Verbotics Weld uses reference points (
SREFP) to pass some points to other routines.
REFP8is used to pass the touch sense points to
SREFP8) is used as the weld targets where touch sense is enabled. These points should be modified if required.
The reference points in the touch sense direction also have information regarding the expected distance to the touch such that the positional difference can be compensated for. If modifying these points care should be taken to only adjust the position perpendicular to the touch direction. The modified point should still touch the intended feature, if unsure please review the simulation for that weld.