UnderAutomation
¿Una pregunta?

[email protected]

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

High Speed Ethernet Server overview

The High Speed Ethernet Server of Motoman controllers, what the SDK does with it, the units, the controllers and the list of topics.

  • What is the High Speed Ethernet Server
  • Topics
  • Units
  • Read in any mode, command in remote mode
  • Requests and timing
  • What to read next

This page gives an overview of the High Speed Ethernet Server of Yaskawa Motoman controllers, and of what the SDK does with it. Each topic has its own page, listed below.

What is the High Speed Ethernet Server

The High Speed Ethernet Server is a function of the Motoman controllers that answers requests of a PC over UDP. MotoSim EG-VRC uses it for its online functions. The SDK uses the same function, so nothing is installed on the controller and no job 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 build UDP messages. One API covers these controllers: YRC1000 (micro), MOTOMAN NEXT, DX100 / DX200, FS100, ERC / XRC / MRC.

static void Main()
{
var robot = new YaskawaRobot();
robot.Connect("192.168.0.1");
// Status of the controller
RobotStatusData status = robot.HighSpeedEServer.GetStatusInformation();
Console.WriteLine($"Play: {status.Play}, running: {status.Running}, alarm: {status.Alarming}");
// Position of the tool, in mm and degrees
RobotPositionCartesianData position = robot.HighSpeedEServer.GetRobotCartesianPosition();
Console.WriteLine($"X={position.X} Y={position.Y} Z={position.Z}");
// Job that the controller executes
RobotJobData job = robot.HighSpeedEServer.GetExecutingJobInformation();
Console.WriteLine($"{job.Name}, line {job.Line}");
// Integer variables I000 to I004
short[] values = robot.HighSpeedEServer.ReadInteger(0, 5).Value;
Console.WriteLine(string.Join(", ", values));
robot.Disconnect();
}
}
Click to see the full code

Topics

PageWhat you can do
Status and servoRead the mode and the state, switch the servo, hold, cycle mode, pendant message
AlarmsRead up to 4 alarms and their sub codes, reset them
System information and parametersSoftware version, axis names, operating times, system parameters
PositionsCartesian position, joint pulses, position error and torque, stations and base axes
MotionLinear and joint moves, absolute and relative, in mm or in pulses
JobsList, select and start jobs, read the executing job and the call stack
Variables and registersB, I, D, R and S variables, P, BP and EX position variables, M registers
Inputs and outputsRead the I/O groups, write the network inputs
Files and backupList, download, upload and delete files, CMOS backup

All these functions are methods of robot.HighSpeedEServer (robot.high_speed_e_server in Python), after the connection.

Units

ValueUnit
Cartesian X, Y, Z (current position, motion)mm
Cartesian Rx, Ry, Rz (current position, motion)degrees
Joint positions and joint movesencoder pulses
Position errorencoder pulses
Torquepercent of the rated torque
Cartesian P variablesmicrometers and 1/10000 degree
Motion speedpercent, mm/s or degrees/s, set by PositionCommandClassification

The number of pulses per degree depends on the axis and on the robot model. It is a parameter of the controller.

Read in any mode, command in remote mode

The read methods work in teach mode and in play mode. The methods that change the state of the controller (servo, hold, job select and start, motion, file writes) need the remote mode and the settings described in Connect to your robot. When a setting is missing, the controller refuses the command and the SDK throws an InvalidDataAnswerException with the reason.

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. Variables and I/O are read in blocks: one call reads several values (ReadInteger(0, 10)) faster than ten calls.

The SDK sends one request at a time on each socket. File transfers use their own socket and their own port, so a file transfer does not block the data requests of another thread.

What to read next

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

Integre fácilmente robots Universal Robots, Fanuc, Yaskawa, ABB o Staubli en sus aplicaciones .NET, Python, LabVIEW o Matlab

UnderAutomation
ContactosLegal

© All rights reserved.