RoboDK API for .NET

With the RoboDK API for .NET you can simulate and program any industrial robot using C# or Visual Basic. The RoboDK API allows you to program industrial robots without learning vendor-specific programming languages.

Requirements

  • RoboDK Software://m.sinclairbody.com/download
  • RoboDK API for C# (GitHub):https://github.com/RoboDK/RoboDK-API/tree/master/C%23
  • RoboDK API on GitHub (main page):https://github.com/RoboDK/RoboDK-API

Example

The following script shows an example that uses the RoboDK package for robot simulation and offline programming::

// retrieve the reference frame and the tool frame (TCP) Mat frame = ROBOT.PoseFrame(); Mat tool = ROBOT.PoseTool(); int runmode = RDK.RunMode(); // retrieve the run mode // Program start ROBOT.MoveJ(pose_ref); ROBOT.setPoseFrame(frame); // set the reference frame ROBOT.setPoseTool(tool); // set the tool frame: important for Online Programming ROBOT.setSpeed(100); // Set Speed to 100 mm/s ROBOT.setZoneData(5); // set the rounding instruction (C_DIS & APO_DIS / CNT / ZoneData / Blend Radius / ...) ROBOT.RunInstruction("CallOnStart"); for (int i = 0; i <= n_sides; i++) { double angle = ((double) i / n_sides) * 2.0 * Math.PI; Mat pose_i = pose_ref * Mat.rotz(angle) * Mat.transl(100, 0, 0) * Mat.rotz(-angle); ROBOT.RunInstruction("Moving to point " + i.ToString(), RoboDK.INSTRUCTION_COMMENT); double[] xyzwpr = pose_i.ToXYZRPW(); ROBOT.MoveL(pose_i); } ROBOT.RunInstruction("CallOnFinish"); ROBOT.MoveL(pose_ref);

The same script used for simulation can be used for offline programming, which means that the appropriate program can be generated for the robot being used. RoboDK supports a large number of robot controllers and it is easy to include compatibility for new robot controllers using Post Processors.

For more information about robot post processors:

  • //m.sinclairbody.com/help#PostProcessor
  • //m.sinclairbody.com/doc/en/Post-Processors.html
  • //m.sinclairbody.com/doc/en/PythonAPI/postprocessor.html

For more Examples:

  • //m.sinclairbody.com/doc/en/PythonAPI/examples.html

Video Overview

Introduction to the RoboDK API for C#

Other

A partial implementation of the RoboDK API for Visual Basic is also available, however, it is recommended to use the Nuget package in Visual Basic:

  • RoboDK API for VB .Net:https://github.com/RoboDK/RoboDK-API/tree/master/Visual%20Basic

The RoboDK API is also available in Python, C++ (based on Qt libraries) and Matlab

Supported robots

The following list includes the robot controllers supported by RoboDK:

  • ABB RAPID IRC5: for ABB IRC5 robot controllers
  • ABB RAPID S4C: for ABB S4C robot controllers
  • Adept Vplus: for Adept V+ programming language
  • Allen Bradley Logix5000: for Allen Bradley Logix5000 PCL
  • Comau C5G: for Comau C5G robot controllers
  • CLOOS: for CLOOS robot controllers
  • Denso PAC: for Denso RC7 (and older) robot controllers (PAC programming language)
  • Denso RC8: for Denso RC8 (and newer) robot controllers (PacScript programming language)
  • Dobot: for educational Dobot robots
  • Fanuc R30iA: for Fanuc R30iA and R30iB robot controllers
  • Fanuc R30iA Arc: for Fanuc Arc welding
  • Fanuc RJ3: for Fanuc RJ3 robot controllers
  • G-Code BnR: for B&R robot controllers
  • GSK: for GSK robots
  • HIWIN HRSS: for HIWIN robots
  • KAIRO: for Keba Kairo robot controllers
  • KUKA IIWA: for KUKA IIWA sunrise programming in Java
  • KUKA KRC2: for KUKA KRC2 robot controllers
  • KUKA KRC2 CamRob: for KUKA CamRob milling option
  • KUKA KRC2 DAT: for KUKA KRC2 robot controllers including DAT data files
  • KUKA KRC4: for KUKA KRC4 robot controllers
  • KUKA KRC4 Config: for KUKA KRC4 robot controllers with configuration data in each line
  • KUKA KRC4 DAT: for KUKA KRC4 robot controllers including DAT data files
  • Kawasaki: for Kawasaki AS robot controllers
  • Mecademic: for Mecademic Meca500 robot
  • Mitsubishi: for Mitsubishi robot controllers
  • Motoman: for Yaskawa/Motoman robot controllers (JBI Inform programming)
  • Nachi AX FD: for Nachi AX and FD robot controllers
  • Daihen OTC: for Daihen OTC robot controllers
  • Precise: for Precise Scara robots
  • Siemens Sinumerik: for Siemens Sinumerik ROBX robot controller
  • Staubli VAL3: for Staubli VAL3 robot programs (CS8 controllers and later)
  • Staubli VAL3 InlineMove: to generate Staubli VAL3 programs with inline movement data
  • Staubli S6: for Staubli S6 robot controllers
  • Toshiba: for Toshiba robots
  • Universal Robots: for UR robots, generates linear movements as pose targets
  • Universal Robots RobotiQ: for UR robots including support for RobotiQ gripper
  • 通用机器人关节:对于你的机器人,生成linear movements as joint targets
  • Yamaha: for Yamaha robots
  • Improve this Doc
In This Article
Back to topCopyright © 2015-RoboDK Inc.