C# API

C#(发音为“C sharp)是由微软开发的一种编程语言,可以用于构建和运行在.NET Framework之上的各种应用程序。C#是简单、强大、类型安全、面向对象的高级程序设计语言。

本文将主要main section介绍RoboDK API配合通用计算机编程语言C# 进行机器人编程的优势。

面向C#RoboDK API 是一个RoboDK.cs 源文件,它包含了RoboDK类(类似于PythonRobolink),RoboDK.Item 类(类似于PythonRobolink.Item类的API),和其他机器人工具,例如用于进行姿态转向操作的矩阵类(RoboDK.Mat)

此处为面向C#RoboDK API提供了一个项目示例,如下图所示(包含完整的源代码)

RoboDK API - 图片 12

选择加载文件Load File选项打开RoboDK站或任何RoboDK支持的其他文件。如果你已成功加载机器人则相应机器人变量将会依次更新(与使用选择机器人Select Robot相同)

下面的视频展示了一个面向C#RoboDK API的项目示例https://www.youtube.com/watch?v=1hRRYr9bEsY

注意加载和运行项目示例时需要Microsoft Visual Studio软件。你可以到Visual Studio Community (Express)下载它的免费版本。

C# 仿真

当机器人使用此类命令时(MoveJMoveLsetDO)系统将默认在C#仿真下运行该程序。当C#示例项目启动时,系统也会默认设置C#为仿真模式。

RoboDK API - 图片 13

这意味着机器人的动作可以在RoboDK上进行仿真。例如,我们可以选择右边的按钮(+Tx -Tx,…),使得机器人位移10 mm的步长,或者我们可以选择运行测试程序Run Test Program按钮,机器人就会围绕当前位置做一个六边形的运动。

设置一些断点来调试应用程序并测试该机器人的目标范围。机器人的目标范围可以定义为关节坐标或Mat变量(4x4姿态矩阵),通过使用XYZWPR形式可以帮助排除一些程序问题。更多相关信息请参见参考坐标系Reference Frames部分。

RoboDK API - 图片 14

此外也可以将运行模式Run Mode切换为离线编程Offline Programming模式或在线编程Online Programming模式(Run on Robot)具体内容如下一节所示。

C# 离线编程

C#语言编程程序支持通过重复使用之前相同的C#代码离线生成Offline Programming程序。以下步骤将测试这一特性:

1.在运行模式部分选择离线编程Offline Programming

2.选择运行测试程序Run Test Program或任何其他动作组合。

3.选择生成程序Generate Prog来获取特定于供应商的机器人程序

基于这种操作,可以快速通过执行一个特定于机器人控制器的机器人程序获得相应结果,这个操作可以代替仿真程序。

一旦生成该程序,运行模式Run Mode将会切换为仿真Simulation状态。

RoboDK API - 图片 15

提示右键单击机器人然后点击选择后置处理器Select Post Processor这样就可以为离线编程指定一个后置处理器(如后置处理器Post Processor部分所示)

注意当离线编程Offline Programming模式处于活动状态时机器人不会移动因为这时已由RunMode模式切换RUNMODE_MAKE_ROBOTPROG模式相关内容请参见Python离线编程Python OLP部分。

C# 在线编程

C#程序支持直接在机器人上运行程序,通过重复使用之前相同的C#仿真代码。线上编程允许在一些特定的机器人控制器上使用机器人驱动Robot Drivers。以下步骤将以C#项目为例测试此特性:

1.在运行模式Run Mode部分选择Run on Robot

2.选择其他任何命令都会使机器人移动

你的运动指令将在真实的机器人上运行,并且对应的仿真器将与该机器人同步运动。

重要提示:使用机器人驱动程序需要连接PC和机器人 (右键单击机器人,然后选择Connect to robot)。更多相关信息请参见Robot Drivers section

RoboDK API - 图片 16

注意:此时RDK/Robolink下的运行模式RunMode将会切换RUNMODE_RUN_ROBOT模式机器人由此可以执行命令动作相关代码如下:

RDK = Robolink();

RDK.setRunMode(RUNMODE_RUN_ROBOT);

提示在线编程Python实例文档SampleOnlineProgramming.py位于路径C:/RoboDK/Library/Macros/ folder该文档为RoboDK GUI之外的在线编程方案提供了一个很好的Python案例

注意更多关于如何通过API使用机器人驱动的信息请参见Robot Drivers section