Page 136 - Welding Robots Technology, System Issues, and Applications
P. 136

switch (decision_1)
                                         {                        Robotic Welding: System Issues  123
                                             case 0: call service_0; break;
                                             case 1: call service_1; break;
                                             case 2: call service_2; break;
                                             …
                                             case n: call service_n; break;
                                         }

                           This server runs  on the robot controller,  making the process  of adding a  new
                           service a very simple task. The programmer should build the procedure (routine)
                           that implements the new functionality, and include the call to that procedure in the
                           server cycle by identifying it with specific number of the control variable.

                           In fact this is not far from what is done with any RPC server; the svc_run function,
                           used in those programs is a SWITCH-CASE-DO cycle that implements calls to the
                           functions requested by the remote client.  With this  type of structure it is
                           straightforward to build complex and customer functions that can be offered to the
                           remote client. Furthermore, with this approach it’s still possible to use the
                           advanced capabilities offered by the robot controller, namely  the advanced
                           functions designed to control and setup the robot motion and operation.

                           Examples exploring this facility are presented and discussed in Chapter 5.


                           4.5.2 Using TCP/IP Sockets

                           One of the most interesting ways to  establish a  network connection between
                           computer systems is by using  TCP/IP sockets. This is a standard client-server
                           procedure, not dependent on the operating system technology used on any of the
                           computer systems, which only requires the definition of a proper messaging syntax
                           to be reliable and safe. The  user defined  messaging protocol should specify the
                           commands and data structures adapted to the practical situation under study.

                           To exemplify this procedure, this section presents a complete example applied to
                           robotic welding. The setup (Figure 4.11) is composed by an anthropomorphic robot
                           manipulator (ABB IRB1400 – M2005), the robot controller (ABB IRC5, running
                           version 5.06 of the controller operating system) and a MIG/MAG welding power
                           source (ESAB LUA 315R).

                           To command and monitor the welding application from the remote computer the
                           following services (implemented by the TCP/IP socket server) must be available at
                           the robot controller:

                               1.  Robot and robot program control and supervision services: the remote
                                  user must be able to change the robot operational state, start/stop selected
                                  robot programs (tasks), and read robot controller and  robot programs
   131   132   133   134   135   136   137   138   139   140   141