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