Introduction
|
|
The Daihen arc welding downloader is derived from Daihen downloader.
|
|
|
|
|
|
Both the Daihen and the Daihen arc welding translator are delivered with the FASTSUITE Edition 2 installation.
|
|
The Daihen Arc Welding downloader complements the Daihen Vendor Downloader with a technology-specific implementation. In addition to arc on/off, measurement methods such as touch sensing are also supported. Below an overview about the supported functions of the Daihen Arc Welding Python Downloader:
|
|
Base arc commands like arc on/off
|
Yes
|
Touch sensing in base frame direction
|
No
|
Touch sensing in surface direction
|
Yes
|
Touch sensing with wire
|
Yes
|
Wire check for touch with wire
|
No
|
Touch sensing with nozzle
|
Yes
|
Seam search in surface direction
|
No
|
Seam finding
|
No
|
Seam tracking
|
No
|
Robot team/synchronized multiple robot motions
|
No
|
|
|
|
Arc welding cell configuration
|
|
A CSV file is being used to define some important default values of the current cell and unit: .\E2Plugin\Technologies\ArcWeldingTechnology\DAIHEN\Standard\TechTabs\CellDefaults.csv
A customer would configure his own CSV file to represent only the cells/units available.
|
|
CELL-UNIT
|
ARC_ON_CODE
|
ARC_OFF_CODE
|
UNIT_NAME
|
WELD_WIRE_FEED
|
WELD_CURRENT
|
WELD_VOLTAGE
|
WELD_CHARACTERISTIC
|
UNIT_MECHS
|
EASY_ARC
|
ASDP
|
AEDP
|
UNIT1-A
|
20
|
150
|
27
|
4
|
1
|
COMPACT-ARC-PRO
|
ASDP
|
AEDP
|
UNIT1-A
|
20
|
150
|
27
|
4
|
1,2
|
COMPACT-ARC-STD
|
ASDP
|
AEDP
|
UNIT1-A
|
20
|
150
|
27
|
4
|
1
|
CUBE1-5_ST_1
|
ASWBPL
|
AEWBPL
|
ST_1-A
|
22
|
160
|
28
|
4
|
1,2
|
CUBE1-5_ST_2
|
ASWBPL
|
AEWBPL
|
ST_2-A
|
22
|
160
|
28
|
4
|
1,3
|
CUBE6_ST_1
|
ASWBPL
|
AEWBPL
|
ST_1-A
|
22
|
160
|
28
|
4
|
1,2,3
|
CUBE6_ST_2
|
ASWBPL
|
AEWBPL
|
ST_2-A
|
22
|
160
|
28
|
4
|
1,2,4
|
CPLX-RPG
|
ASWBPL
|
AEWBPL
|
RPG-A
|
22
|
160
|
28
|
4
|
1,2,3
|
CPLX-RG
|
ASWBPL
|
AEWBPL
|
RG-A
|
22
|
160
|
28
|
4
|
1,2
|
CPLX-RP
|
ASWBPL
|
AEWBPL
|
RP-A
|
22
|
160
|
28
|
4
|
1,3
|
CPLX-R
|
ASWBPL
|
AEWBPL
|
R-A
|
22
|
160
|
28
|
4
|
1
|
|
|
The desired cell/unit can be selected at the Program level. The selection defines:
Power Source type connected to the robot (ARC_ON_CODE, ARC_OFF_CODE)
Unit name to define base name of the OLP ASCII file
Additional ArcOn and ArcOff attributes in case Welding Prog. # = 0 is selected (WELD_WIRE_FEED, WELD_CURRENT, WELD_VOLTAGE, WELD_CHARACTERISTIC). After consulting with OTC Europe only the program # is being used in the current downloader. Due to the very tight integration of OTC's own power sources, there are dozens of different weld parameters which are impossible to replicate in an OLP system.
|
|
|
|
The mechanisms that are being used in the selected unit separated by a comma (UNIT_MECHS). Mechanism 1 is usually the robot, the other mechanisms are EOA-tooling, rail/gantry and workpiece positioners use number 2 and greater. For details see the Layout preparation. As a result the downloader outputs only the joints of mechanisms assigned to the current unit even though all the cells mechanisms are connected in the layout.
|
|
|
Arc on
|
|
In addition to the welding program number, weaving can also be switched on as an option. During the computation, the operation attributes are transferred to the event (see event sheet field at the first welding point).
|
|
|
|
During post-processing, the event attributes are then translated into robot language. After consulting with OTC Europe only the welding and weaving program numbers are being used in the current downloader (see explanation above).
|
|
|
|
The arc on event is managed in the HandleEvent() function.
The selected welding program number is called in the ArcStart command. Which ASxxx command is being called depends on the type of the power source selected in the Arc welding cell configuration. The welding program needs to exist on the FD19 controller.
If weaving is activated the WFP command calls the selected weaving program number. This weaving program needs to exist on the FD19 controller.
|
|
|
|
|
Arc off
|
|
The Arc Off command has no further attributes. The last issued welding program # is used to turn the arc back off.
If the weaving was turned on before, an additional WE 1 command is given to turn off the weaving right before the Arc Off command.
|
|
|
|
The arc off event is managed in the HandleEvent() function.
|
|
|
|
|
Touch sensing
|
|
Touch Sensing is a tactile method for live calibration of a weld seam. The Daihen robot moves from a starting position to the nominal collision point. When the wire makes physical contact with the part, the robot stops and determines the offset to the nominal collision position. It then stores the offset in a deviation file. Up to three individual touches can be combined into one deviation file to compensate for shift in up to three directions.
|
|
|
|
|
Touch cycle output
|
|
The touch sensing cycle consists of a reference point and cycle points. The reference point is used here only as a "holder" for the cycle points (normally the point directly on the surface.). The touch sensing cycle points are created and marked by an event. This event is automatically placed in the background on the reference point. The TouchSensingEvent is managed in the HandleEvent() function.
|
|
|
|
For the Daihen Touch Sensing event, only the start approach point, the collision point and the start retract point were implemented. The end point is determined by the controller via a distance attribute from the theoretical collision point.
|
|
|
|
|
|
|
All five lines are handled in the OutputTouchSensingE2 function.
|
|
|
|
The touch cycle starts with the approach point. The distance to the collision point is determined by the Start offset from touch attribute.
|
|
|
|
The SF1 statement represents the actual touch move. The attribute Storage No. represents the first deviation file number in a program for SF1 statements, meaning for individual touches. the other SF1 Search Options are being output right before the MOVEX,M1X which is followed by the collision point's cartesian coordinates.
|
|
|
|
|
|
The SF4 statements represent the composition of up to three SF1 deviation results (usually offsets in X,Y and Z) into one deviation file. Those SF4 deviation file numbers start with 501 by default.
|
|
|
|
|
|
The SF3 statement turns on the offset stored in composted SF4 deviation file. That means that the SF1 touches that gets combined into an SF4 offset are immediately activated before the next SF1 is executed.
|
|
|
|
|
|
The retract point is identical to the approach point. The touch cycle is now complete.
|
|
|
|
|
Activate the calibration offset for welding
|
|
The result of each connected touch-sensing sequence is stored in an SF4 deviation file or combined offset. The SF4 deviation number is the same as the Touch ID attribute of the associated touch operation(s). The start of the numbering can be set using Register Offset attribute. The default value is 501.
|
|
|
|
During computing, the Touch ID is automatically incremented and written to the touch operation. The information on the touch operation is transferred to various places in the robot program.
|
|
|
|
The ConnectTouchProcessPoints event establishes the connection between the touch sensing operation and the weld. The events are automatically applied to the appropriate toolpath elements according to the connection type setting and are tagged with the appropriate Touch connect ID.
|
|
|
|
This event is then translated into robot code by the compiler before the welding seam begins. The ConnectTouchProcessPoints event is managed in the HandleEvent() function.
|
|
|
|