本帮助文档介绍了如何为RoboDK开发插件。RoboDK插件允许通过使用RoboDK接口和RoboDK API扩展RoboDK。与默认的RoboDK API(在Python, c#, c++, Matlab等中提供)相反,这个RoboDK插件接口本地链接到RoboDK的核心。因此,当在插件接口(Plugin Interface)内部使用RoboDK API时(使用IItem和IRoboDK),速度比使用默认API快时间测试。但是,所有RoboDK插件应用程序必须存在于RoboDK的环境中。
以下是一些RoboDK示例插件:
每个示例包括robodk_interface文件夹中。每个插件都需要这个文件夹,它定义了到RoboDK的接口。
这些示例包括应用机器人正逆运动学的定制机器人面板、实时示例、模拟重力的插件和基于OPC-UA的OPC-UA接口Open62541(服务器和客户端示例)。
双击PluginExample。请确保遵循安装需求部分(安装要求)来安装Qt作为c++开发环境。
每个插件必须实现IAppRoboDK类。的IAppRoboDK定义到RoboDK应用程序的接口。
与标准API相反,插件接口允许您与RoboDK的主窗口进行交互,并通过自定义RoboDK的外观IAppRoboDK类。工具栏、菜单栏和窗口都可以使用IAppRoboDK类。
您可以通过选择以下选项来加载其中一个示例插件:
的IRoboDK类(或RoboDK)定义了到RoboDK API的接口。默认情况下,这个RoboDK API是相同的(//www.sinclairbody.com/doc/en/RoboDK-API.html#RoboDKAPI).然而,当你在RoboDK插件中使用它时,RoboDK API会更快:时间测试。当插件使用class加载时:IAppRoboDK: PluginLoad它传递一个指针IRoboDK它是RoboDK API的接口。
RoboDK和IRoboDK是完全相同类型的类。在默认示例中使用RoboDK是为了使其与标准的c++ RoboDK API兼容。
关于RoboDK API的更多信息可以在这里找到:
的IItem类(或Item)可用于操作RoboDK树中可用的任何项。使用类这样的函数:IRoboDK: getItem或类:IRoboDK: getItemList从RoboDK工作站树中取回物品。对象的指针IItem。应该使用class来删除项:IItem:删除(不使用类析构函数)。
关于RoboDK Item类(基于Python API)的更多信息可以在这里获得:
的robodktypes.h文件定义了RoboDK API使用的一组类型。包括:
RoboDK API是一个通用的命令集,允许您与RoboDK交互并自动执行任务。在RoboDK中使用宏时,默认使用RoboDK API。RoboDK Plug-In接口包含一个RoboDK API接口。
通过插件接口使用RoboDK API的主要优点如下:
在插件内部使用RoboDK API时,需要注意以下事项:
的PluginExample应用程序展示了如何实现一个基本的插件。在其他事情中,它执行一些时间测试来计算RoboDK在特定计算机上的速度。通过选择“插件速度信息”按钮,您将获得时间统计信息。
这些统计数据是由类生成的:PluginExample: callback_information。例如,正运动学和逆运动学通常分别在2微秒和10微秒以下(1微秒= 1e-6秒)。
每个RoboDK插件必须使用Qt Creator开发,并遵循Qt的项目指导方针。建议使用PluginExample项目开始使用新的RoboDK插件(双击PluginExample)。pro用Qt Creator打开它)。
开发插件必须安装RoboDK。RoboDK的免费版本足以开发一个插件作为概念的证明。
使RoboDK插件工作的要求:
RoboDK插件的默认位置为:C:/RoboDK/bin/plugins
您的插件发布和调试二进制文件不应该与RoboDK的发布和调试二进制文件混在一起。默认情况下不提供RoboDK调试二进制文件。
要在调试模式下正确运行插件,你应该使用RoboDK调试二进制文件:
重要:将调试DLL与发布DLL混合将不起作用(将提供一条消息作为控制台输出)。确保在每次切换调试和发布模式时更新此设置。
重要提示:如果您遇到奇怪的插件加载问题,请尝试删除所有插件并重新构建它们(C:/RoboDK/bin/plugins和C:/RoboDK/bind/plugins中的所有文件)。
RoboDK插件必须使用Qt插件框架创建。Qt是基于c++的,所以RoboDK插件需要用c++编程。
Qt是一组有用的c++库,Qt Creator是Qt的默认开发环境(IDE),我们推荐使用Qt Creator作为RoboDK插件编程的开发环境。
下面的列表提供了一些有用的Qt编程链接和技巧:
涉及RoboDK API的有用链接: