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

executed. There are several aspects of the presented implementation that are worth
                           discussing in more detail.       Robotic Welding: Application Examples  163

                           5.4.1 IO and Memory Remote Access
                           To be able to run a robotic welding application with commanding and monitoring
                           functions on a remote computer, the system should be able to:

                               1.  Have IO control capabilities accessible from the remote computer.
                               2.  Have robot memory access capabilities from the remote computer, namely
                                  to access program and system variables and data structures.

                           These features, offered as remote services, are fundamental and must be available.
                           Section 4.5 demonstrates two different examples about how to implement and use
                           those type of services using RPC and TCP/IP sockets. The solution used in this
                           chapter is based on RPC services available from the specific robot controller used
                           (ABB S4CPlus M98). A software component to access those services was designed
                           and used with the examples presented in this chapter, which exposes the complete
                           collection  of services available the  robot  controller  just by  giving the user the
                           appropriated methods, properties and data structures. For example, admitting that
                           the object is included  on a Microsoft Visual C++ .NET 2003 application, the
                           following are possible commands to access  IO signals, program  variables or
                           system variables.

                           Write to a digital output named “doGAS”:

                               pcrob.WriteDigital(“doGAS”, value, channel);

                           where “doGAS” is a digital output signal of the robot  IO system,  value is the
                           digital value to write, and  channel identifies the RPC socket open with the
                           specified robot controller (the software is able to communicate with any robot on
                           the network through 20 channels for each robot).

                           Read from the analog input “aiCurrentFeedb”:

                               pcrob.ReadAnalog(“aiCurrentFeedb”, result, channel);

                           where the returned value is stored in the variable result.

                           Write to a numeric variable “decision1”:

                               pcrob.WriteNum(“decision1”, value, channel);

                           where “decision1” is the numeric variable to write and value is the desired value.
   170   171   172   173   174   175   176   177   178   179   180