本帮助文档是为RoboDK开发插件的介绍。RoboDK插件允许通过使用RoboDK接口和RoboDK API扩展RoboDK。与默认的RoboDK API(在Python, c#, c++, Matlab等中提供)相反,这个RoboDK插件接口本机链接到RoboDK的核心。因此,当在插件接口中使用RoboDK API时(使用IItem而且IRoboDK)速度比使用默认API快时间测试.但是,所有的RoboDK插件应用程序必须存在于RoboDK的环境中。
一些RoboDK示例插件可在这里:
每个示例都包含robodk_interface文件夹中。每个插件都需要这个文件夹,并定义RoboDK的接口。
这些示例包括一个应用机器人正逆运动学的定制机器人面板,一个实时示例,一个模拟重力的插件和基于OPC-UA的接口Open62541(服务器和客户端示例)。
双击PluginExample。使用Qt启动项目。请确保遵循安装要求部分(安装要求)以安装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类(或项目)可以用于操作RoboDK树中任何可用的项目。使用函数,如class:IRoboDK: getItem或类:IRoboDK: getItemList从RoboDK站树中检索项目。Item是指向的指针IItem.应该使用class删除项:IItem:删除(不使用类析构函数)。
关于RoboDK Item类(基于Python API)的更多信息可在这里:
的robodktypes.h文件定义了RoboDK API使用的一组类型。包括:
RoboDK API是一组通用命令,允许您与RoboDK交互并自动化任务。在RoboDK中使用宏时,默认使用RoboDK API。RoboDK插件接口包括一个RoboDK API接口。
通过插件接口使用RoboDK API的主要优点如下:
在插件中使用RoboDK API时,需要注意以下几点:
的PluginExample应用程序展示了如何实现一个基本的插件。除此之外,它还执行一些定时测试,以计算RoboDK在特定计算机上的速度。通过选择“插件速度信息”按钮,您将获得定时统计数据。
这些统计数据是按类别生成的:PluginExample: callback_information.例如,正运动学和逆运动学通常分别小于2微秒和10微秒(1微秒= 1e-6秒)。
每个RoboDK插件必须使用Qt Creator开发,并遵循Qt的项目指南。建议使用PluginExample项目开始使用新的RoboDK插件(双击PluginExample. exe)。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++的,因此需要用c++编写RoboDK插件。
Qt是一组有用的c++库,Qt Creator是Qt的默认开发环境(IDE),我们推荐使用Qt Creator作为开发环境来编程RoboDK插件。
这个列表提供了一些使用Qt编程的有用链接和技巧:
RoboDK API的有用链接: