Page 180 - Welding Robots Technology, System Issues, and Applications
P. 180
5.3.3.1 Parameterization Approach
168 Welding Robots
With this approach, the welding information, extracted from the CAD model, is
used to parameterize a generic already existent robot program, i.e., the welding
routines are implemented as general as possible enabling the accommodation of the
planned welding tasks (Figure 5.16). In the case presented here the information
extracted from the CAD file, and adjusted using the presented software tools, is
stored in a “.wdf” file and sent to the robot controller using the option “Send to
Robot” of the “WeldPanel” software tool. The information is sent in the form of
single column matrices serialized by the sequence that must be followed, i.e., each
line of any matrix contains the information correspondent to a certain welding
point. As already mentioned, the robot controller is organized as a server, offering
a collection of services to the remote computer. Therefore, the following are
examples of services implemented in the welding server.
Service 9100 (Move_CRobot): this service is used to move the robot in the
Cartesian space with the specified TOOL frame, in accordance with the
commanded offsets: x, y, z, rx, ry and rz. Where (x, y, z) are the Cartesian offsets
and (rx, ry, rz) are the rotation offsets about the tool axis x, y and z, respectively.
Service 9401 (Welding): this service is used to execute the welding sequence
commanded to the robot.
Service 9301 (Simulation): this service is used to execute the welding sequence
without igniting the arc, i.e., the welding power source is not activated.
Service 9101 (Move_JRobot): this service is used to move the robot in the joint
space in accordance with absolute joint angles commanded from the remote
computer.
Consequently, the main routine of the welding server may be implemented as a
simple SWITCH-CASE-DO cycle, driven by a variable controlled from the remote
computer (Figure 5.17).
Looking into the code in more detail it’s easy to find out how it works and how it
can be explored, but also how new functionalities can be added into the system.
Let’s consider for example the Move_CRobot service (Figure 5.17) that
corresponds to the value 9100 of the variable decision1. To move the robot in the
Cartesian space the following must be commanded from the remote computer.
1. Enter the service routine: to do that the user must write the value 9100 to the
numeric variable decision1. The method from the PCROBNET2003 software
component used to command that task is
pcrob.WriteNum(“decision1”, 9100, channel);