RoboDK API——文档
RoboDK c++ API

介绍

这部分的文档介绍RoboDK c++ API。

RoboDK API允许创建为工业机器人模拟并生成特定于供应商的机器人程序。虽然RoboDK的图形用户界面可用于创建程序,它可以扩展机器人控制器限制使用通用编程语言如C + +。RoboDK API可以在c++, c#, Python, Matlab和Visual Basic。

RoboDK API可以模拟和程序使用你喜欢的任何工业机器人编程语言。这可以避免使用特定于供应商的编程语言。

注意:这个RoboDK API不是插件接口:

更多信息:插件接口与RoboDK API

RoboDK API的c++实现2文件(robodk_api.hrobodk_api.cpp)。这些文件定义下面的类。

RoboDK类

RoboDK RoboDK类定义了接口API。原始Python引用可用://www.jasonament.com/doc/en/RoboDK-API.html RoboDKAPI

关于RoboDK API的更多信息可以在这里:

项目类

项目类可用于操作在任何项目中可用RoboDK树。使用等功能类:IRoboDK:: getItem或类:IRoboDK: getItemList从RoboDK站树检索项。项是IItem指针。物品应该删除使用类:IItem::删除(不使用类的析构函数)。

了解更多的关于RoboDK项目类(基于Python API)是可用的:

RoboDK类型文件

RoboDK API定义了一组类型RoboDK所使用的API。包括:

  • 构成的垫类操作。
  • tJoints类来表示机器人关节变量
  • tMatrix2D数据结构来表示一个变量大小的二维矩阵(主要是用于内部目的)

插件接口与RoboDK API

RoboDK API是一组通用的命令,允许您与RoboDK和自动化任务。RoboDK API是在RoboDK默认情况下使用宏时使用。RoboDK插件库(DLL),可以加载RoboDK延长某些功能和定制RoboDK接口。RoboDK API的接口包括一个接口。

使用RoboDK API的主要优势通过一个插件Inteface如下:

  • RoboDK API加载更快,因为它作为一个库(RoboDK插件实际上是一个由RoboDK库加载)。
  • 您可以自定义的外观RoboDK的主窗口(包括菜单、工具栏和停靠窗口添加)。

你应该注意以下使用RoboDK API在插件时:

  • 项目(项目/ IItem)是指针,而不是对象。你可以检查是否一个项目是有效的通过检查如果是一个空指针(nullptr)。
  • 你必须调用类:IRoboDK::渲染每一次你想要更新屏幕(例如,如果您改变了一个机器人的位置使用类:IItem::关节)。Updading屏幕不自动完成。
  • 插件只能部署为c++代码使用Qt库。

需求

RoboDK API使用Qt库和提供一个例子使用Qt创建的创造者。推荐使用APIExample项目开始使用你的新项目(双击RoboDK-API-Cpp-Sample。职业与Qt Creator打开它)。

安装要求

要求让RoboDK插件工作:

raybet雷竞app下载离线编程示例

下面的代码(c++)显示了一个示例,它使用RoboDK API机器人离线仿真和编程::raybet雷竞app下载

/ /画一个半径为100.0毫米的圆内六角
intn_sides = 6;
浮动大小= 100.0;
/ /检索参考坐标系和工具坐标系(TCP)
垫pose_frame =机器人- > PoseFrame ();
垫pose_tool =机器人- > PoseTool ();
垫pose_ref =机器人- >姿势();
/ /程序开始
机器人- > MoveJ (pose_ref);
机器人- > setPoseFrame (pose_frame);/ /设置参考系
机器人- > setPoseTool (pose_tool);/ /设置工具框架:重要的在线编程
机器人- > setSpeed (100);/ /速度设置为100 mm / s
机器人- > setRounding (5);/ /设置舍入指令(C_DIS & APO_DIS / CNT / ZoneData /混合半径/…)
机器人- > RunInstruction (“CallOnStart”);/ /运行一个程序
(int我= 0;我< = n_sides;我+ +){
/ /计算角度:
角=((双)我/ n_sides) * 360.0;
/ /创建一个姿势pose_ref相对
垫pose_i (pose_ref);
pose_i.rotate(角,0,0,1.0);
pose_i。翻译(大小,0,0);
pose_i.rotate(角,0,0,1.0);
/ /添加一个评论(生成代码时)
机器人- > RunInstruction (“点动”+ QString:: (i), RoboDK: INSTRUCTION_COMMENT);
/ /实例检索冒充欧拉角(X, Y, Z, W, P, R)
xyzwpr [6];
pose_i.ToXYZRPW (xyzwpr);
机器人- > MoveL (pose_i);/ /移动机器人
}
机器人- > RunInstruction (“CallOnFinish”);
机器人- > MoveL (pose_ref);/ /移动回参考点

相同的脚本用于模拟可以用于离线编程,这意味着相应的程序可以生成的机器人控制器。raybet雷竞app下载RoboDK支持大量的机器人控制器和很容易包括兼容性的新机器人控制器使用Post处理器。

更多的例子:

关于机器人后处理器的更多信息:

支持机器人

下面的列表包含了机器人控制器由RoboDK支持:

  • ABB快速IRC5: ABB IRC5机器人控制器
  • ABB快速自己:ABB自己机器人控制器
  • 熟练Vplus:熟练V +编程语言
  • 艾伦布拉德利Logix5000:艾伦布拉德利Logix5000 PCL
  • cloo: cloo机器人控制器
  • Comau C5G: Comau C5G机器人控制器
  • 日本电装PAC:日本电装RC7(及以上)机器人控制器(PAC编程语言)
  • 日本电装RC8:日本电装RC8(新)机器人控制器(PacScript编程语言)
  • 教育Dobot Dobot:机器人
  • 发那科R30iA: Fanuc R30iA和R30iB机器人控制器
  • 发那科R30iA弧:Fanuc弧焊
  • 发那科RJ3: Fanuc RJ3机器人控制器
  • GCode方向:B&R机器人控制器
  • 葛兰素史克:葛兰素史克机器人
  • 美商小时:美商机器人
  • KAIRO: Keba KAIRO机器人控制器
  • 库卡IIWA:库卡IIWA日出在Java编程
  • 库卡KRC2:库卡KRC2机器人控制器
  • 库卡KRC2 CamRob:库卡CamRob铣选项
  • 库卡KRC2 DAT:库卡KRC2机器人控制器包括DAT数据文件
  • 库卡KRC4:库卡KRC4机器人控制器
  • 库卡KRC4配置:库卡KRC4机器人控制器配置数据在每一行
  • 库卡KRC4 DAT:库卡KRC4机器人控制器包括DAT数据文件
  • 川崎:为川崎机器人控制器
  • Mecademic: Mecademic Meca500机器人
  • Motoman /日本安川电气:Motoman机器人控制器(JBI二世和JBI三世编程)
  • 三菱:三菱机器人控制器
  • 那智AX FD:那智AX和FD机器人控制器
  • Daihen场外:Daihen场外机器人控制器
  • 准确:准确Scara机器人
  • 利用西门子:西门子,西门子利用西门子ROBX机器人控制器
  • 史陶比尔VAL3:史陶比尔VAL3机器人程序(密室第8章控制器和更高版本)
  • 史陶比尔VAL3 InlineMove:生成史陶比尔VAL3程序与内联运动数据
  • 史陶比尔S6:史陶比尔S6机器人控制器
  • 东芝:东芝机器人
  • 通用机器人:对于你的机器人,产生线性运动构成的目标
  • 通用机器人RobotiQ:你的机器人包括支持RobotiQ爪
  • 通用机器人关节:对于你的机器人,产生线性运动作为共同的目标
  • 雅马哈:雅马哈的机器人

Qt的技巧

c++版本的RoboDK API是基于Qt。Qt是一组有用的库c++和Qt Creator是默认为Qt开发环境(IDE)。

这个列表提供了一些有用的链接和小贴士与Qt编程:

  • 双击RoboDK-API-Cpp-Sample。箴文件打开使用Qt Creator示例项目。
  • 使用Qt的信号/插槽机制采取行动/按钮回调(http://doc.qt.io/qt-5/signalsandslots.html)。信号和槽是线程安全的。
  • 包装你的字符串使用tr(“字符串”)或QObject:: tr(“字符串”)允许翻译使用Qt的语言学家。更多信息:http://doc.qt.io/qt-5/qtlinguist-index.html
  • 如果您遇到奇怪的构建问题可能是有用的建立文件夹删除自动创建迫使一个新的构建。
  • 如果您遇到奇怪的插件加载问题RoboDK建议删除库和创建新构建的插件库。
  • 关于Qt的更多信息:https://www.qt.io/

有用的链接

的有用链接涉及RoboDK API:

Baidu
map