UnderAutomation
¿Una pregunta?

[email protected]

Contactos
UnderAutomation
⌘Q
Esta página solo está disponible en inglés.

SOAP overview

The SOAP server of CS8 and CS9 controllers, what the SDK does with it, the units, and the list of topics: robots, position, kinematics, motion, I/O, applications and tasks.

  • What is the SOAP server
  • Topics
  • Units
  • The robot argument
  • Requests and timing
  • What to read next

This page gives an overview of the SOAP interface of Staubli CS8 and CS9 controllers, and of what the SDK does with it. Each topic has its own page, listed below.

What is the SOAP server

Staubli controllers run a SOAP server: a web service that external programs call over TCP/IP. Staubli Robotics Suite uses it to talk to the controller. The SDK uses the same server, so nothing is installed on the controller and no VAL 3 program has to run for the SDK to work.

The SDK sends the requests, reads the answers and gives you .NET objects. You do not have to write SOAP messages. One API covers CS8 and CS9 controllers.

static void Main()
{
var controller = new StaubliController();
controller.Connect("192.168.0.254");
// Controller and robots
Robot[] robots = controller.Soap.GetRobots();
// Position of the first robot
CartesianJointPosition position = controller.Soap.GetCurrentCartesianJointPosition(robot: 0);
// Inputs and outputs
PhysicalIo[] ios = controller.Soap.GetAllPhysicalIos();
// VAL 3 applications and tasks
ValApplication[] applications = controller.Soap.GetValApplications();
ControllerTask[] tasks = controller.Soap.GetTasks();
controller.Disconnect();
}
}
Click to see the full code

Topics

PageWhat you can do
Controller and robotsList the robots, read the controller parameters, the DH parameters and the joint ranges
PositionRead the joints and the Cartesian position, with a tool and a frame
KinematicsCompute the forward and inverse kinematics on the controller
MotionPower the arm, send joint, linear and circular moves, stop and restart
Inputs and outputsList, read and write the physical I/O
VAL 3 applicationsLoad, start, stop and unload VAL 3 applications
VAL 3 tasksList the tasks and their state, suspend, resume and kill them

All these functions are methods of controller.Soap (controller.soap in Python), after the connection.

Units

ValueUnit
Joint positions and joint rangesradians
Cartesian X, Y, Z and frame originsmeters
Cartesian Rx, Ry, Rzradians

Convert in your code if your application works in millimeters and degrees. The examples of this documentation do it where they print values.

The robot argument

A controller can drive more than one arm. The methods that concern an arm take a robot argument: 0 is the first robot returned by GetRobots(). With one arm, pass 0.

Requests and timing

Each method call is one request to the controller, and waits for its answer. The time of a call depends on the network and on the load of the controller: measure it on your cell before you choose a polling period. Several values that are read together, like the joints and the Cartesian position, are cheaper in one call (GetCurrentCartesianJointPosition) than in two.

What to read next

  • Connect to your robot: parameters and errors.
  • How-to articles: complete programs for the frequent tasks.