SkillAgentSearch skills...

Yaskawa.NET

๐ŸŸฆ .NET SDK for communicating with Yaskawa Motoman robots Control, monitor, and automate Yaskawa robots via High-Speed Ethernet Server (HSES). โœ… Real-time motion control, IO/register access, alarm handling, job management & more. ๐Ÿš€ Compatible with .NET Framework, .NET Core, .NET Standard โ€” cross-platform (Windows/Linux).

Install / Use

/learn @underautomation/Yaskawa.NET
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Yaskawa Communication SDK

UnderAutomation Yaskawa communication SDK

NuGet .NET Framework .NET Standard .NET Core .NET Versions

๐Ÿค– Effortlessly Communicate with Yaskawa robots

The Yaskawa SDK enables seamless integration with Yaskawa robots for automation, data exchange, and remote control. Ideal for industrial automation, research, and advanced robotics applications.

๐Ÿ”— More Information: https://underautomation.com/yaskawa
๐Ÿ”— Also available for ๐ŸŸจ LabVIEW & ๐Ÿ Python


โญ Star if you like it !

๐Ÿ‘๏ธ Watch to be notified of latest updates !


๐Ÿš€ TL;DR (Too Long; Didnโ€™t Read)

A powerful and efficient .NET library for communicating with Yaskawa Motoman industrial robots using the High-Speed Ethernet Server (HSES) protocol. Enables seamless connectivity, motion control, and data acquisition.

โœ… No additional installations or Yaskawa options are required to use this SDK.

Key Benefits:

  • ๐Ÿ“ก Fast & Reliable: Leverage high-speed UDP communication for real-time control.
  • ๐Ÿ› ๏ธ Easy Integration: Works with .NET projects, compatible with VB.NET and C#.
  • ๐Ÿค– Advanced Features: Supports status monitoring, alarm handling, job selection, and more.
  • ๐ŸŒŽ Cross-Platform: Works with Windows/Linux using .NET Core.

๐Ÿ“ฅ Download Example Applications

Explore the Yaskawa SDK with fully functional example applications and precompiled binaries for various platforms. See Github releases

๐Ÿ”น Windows Forms Application (Full Feature Showcase)

A Windows Forms application demonstrating all the features of the library.

๐Ÿ“Œ Download: ๐Ÿ“ฅ UnderAutomation.Yaskawa.Showcase.Forms.exe


Features โœจ

Connect to the Robot

// Connect to the robot
var robot = new YaskawaRobot();
robot.Connect("192.168.0.1");

// Ensure robot is connected
bool isConnected = robot.HighSpeedEServer.Connected;

Move robot

To move the robot, your robot must be correctly configured, see the section below.

Move Cartesian

robot.HighSpeedEServer.MoveCartesian(
    x: 1000,
    y: 10,
    z: 0,
    rx: 0,
    ry: 0,
    rz: 0,
    PositionCommandClassification.Cartesian_MM_S,
    speed:10,
    PositionCommandOperationCoordinate.Robot
);

| Argument name | Argument type | Optional | Description | | ------------------- | ---------------------------------- | -------- | ---------------------------------------------------------------------- | | x | Double | | X coordinate in millimeter | | y | Double | | Y coordinate in millimeter | | z | Double | | Z coordinate in millimeter | | rx | Double | | Rx coordinate in degrees | | ry | Double | | Ry coordinate in degrees | | rz | Double | | Rz coordinate in degrees | | classification | PositionCommandClassification | | Unit for speed (LinkPercent, Cartesian_MM_S, Cartesian_DEG_S) | | speed | Double | | Move speed | | coordinate | PositionCommandOperationCoordinate | | Frame coordinate (Base, Robot, User, Tool) | | posture | RobotPosture | โœ… | Robot target posture (RCONF) | | commandtype | PositionCommandType | โœ… | Command type (LinkAbsolute, StraightAbsolute, StraightIncrement) | | RobotControlGroup | Integer | โœ… | Control group (default: 1) | | StationControlGroup | Integer | โœ… | Station control group (default: 0) | | tool | Integer | โœ… | Selected TCP (default: 0) | | userCoordinate | Integer | โœ… | User coordinate for User coordinate (default: 0) |

Move joint

robot.HighSpeedEServer.MoveJoints(new int[] { 1000, 0, 0, 0, 0, 0 }, PositionCommandClassification.LinkPercent, 10);

| Argument name | Argument type | Optional | Description | | ------------------- | ----------------------------- | -------- | ----------------------------------------------------------------------------------------------------- | | axesPulse | Integer[] | | Axes position in degrees | | classification | PositionCommandClassification | | Classification (LinkPercent, Cartesian_MM_S, Cartesian_DEG_S) | | speed | Double | | Movement speed in degrees/s | | commandtype | PositionCommandType | โœ… | Command type (LinkAbsolute, StraightAbsolute, StraightIncrement) (default: StraightIncrement) | | RobotControlGroup | Integer | โœ… | Robot control group (default: 1) | | StationControlGroup | Integer | โœ… | Station control group (default: 1) | | tool | Integer | โœ… | Selected TCP (default: 0) |

Robot position

Get cartesian position

RobotPositionCartesianData position = robot.HighSpeedEServer.GetRobotCartesianPosition();

Properties of class RobotPositionCartesianData :

| Property | Type | | -------------------- | --------------------- | | Form | RobotPosture | | DataType | RobotPositionDataType | | ToolNumber | Integer | | UserCoordinateNumber | Integer | | X | Double | | Y | Double | | Z | Double | | Rx | Double | | Ry | Double | | Rz | Double |

Get joint position, error and torque

// Get position pulses of each axes
RobotPositionData(Of Integer) position = robot.HighSpeedEServer.GetRobotJointPosition();

// Get position error of each axes in pulses
RobotPositionData(Of Integer) error = robot.HighSpeedEServer.GetPositionError();

// Get torque in mNm of each axes
RobotPositionData(Of Integer) torque = robot.HighSpeedEServer.GetTorque();

Properties of class RobotPositionData(Of Integer) :

| Property | Type | | -------------------- | --------------------- | | Form | RobotPosture | | DataType | RobotPositionDataType | | ToolNumber | Integer | | UserCoordinateNumber | Integer | | Axes | Integer[] |

Alarms

Reset Alarms

robot.HighSpeedEServer.AlarmReset(AlarmResetType.Reset);

Get Alarms

RobotAlarmData alarm = robot.HighSpeedEServer.GetAlarm(RobotRecentAlarm.Latest);

Members of enum RobotRecentAlarm :

| RobotRecentAlarm | Value | | ---------------- | ----- | | Latest | 1 | | SecondLatest | 2 | | ThirdLatest | 3 | | FourthLatest | 4 |

Properties of class RobotAlarmData :

| Property | Type | | ------------- | ------- | | Code | Integer | | Data | Integer | | Type | Integer | | OccurringTime | String | | Text | String |

Robot Status

RobotStatusData statusData = robot.HighSpeedEServer.GetStatusInformation();

Properties of class RobotStatusData :

| Property | Type | | ---------------------- | ------- | | Step | Boolean | | Cycle | Boolean | | Automatic | Boolean | | Running

Related Skills

View on GitHub
GitHub Stars6
CategoryDevelopment
Updated5d ago
Forks2

Languages

C#

Security Score

75/100

Audited on Mar 31, 2026

No findings