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.