此帮助文档是为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(服务器和客户端示例)。
双击emplineXample.pro文件以使用QT启动项目。确保遵循“安装要求”部分(安装要求)将QT作为C ++开发环境安装。
每个插件必须实现iapprobodk班级。这iapprobodk定义Robodk应用程序的接口。
与标准API相反,插件接口允许您与Robodk的主窗口进行交互,并通过该机器人的外观来自定义Robodk的外观iapprobodk班级。工具栏,菜单栏和窗口可以通过使用iapprobodk班级。
您可以通过选择以下方式加载示例插件之一:
这irobodk类(或Robodk)定义了Robodk API的接口。默认情况下,此Robodk API是相同的(//www.hi-ks.com/doc/en/robodk-api.html#robodkapi)。但是,当您在Robodk插件中使用它时,Robodk API速度更快:定时测试。当使用类加载插件时:iApprobodk :: Pluginload它通过指针irobodk这是Robodk API的接口。
Robodk和irobodk完全是相同类型的类。Robodk用于默认示例中,以使其与标准C ++ Robodk API兼容。
有关Robodk API的更多信息,请参见此处:
这IITEM类(或项目)可用于在Robodk树中可用的任何项目上操作。使用诸如类之类的功能:irobodk :: getitem或班级:iRobodk :: getitemlist从Robodk站树检索项目。项目是指向IITEM。应该使用类删除项目:IITEM :: DELETE(不使用类破坏者)。
有关Robodk项目类(基于Python API)的更多信息,请参见此处:
这robodktypes.h文件定义了Robodk API使用的一组类型。包含:
Robodk API是一组通用命令集,可让您与Robodk进行交互并自动化任务。Robodk在Robodk中使用宏时,默认使用了Robodk API。Robodk插件接口包括Robodk API的接口。
通过插件插件使用Robodk API的主要优点是:
在插件内使用Robodk API时,您应该注意以下内容:
这插件应用程序显示了如何实现基本插件。除其他外,它执行了一些计时测试,以计算特定计算机上的Robodk的速度。通过选择“插件速度信息”按钮,您将获得定时统计信息。
这些统计数据是由类生成的:插件:: callback_information。例如,正向运动学和反向运动学通常分别低于2微秒和10微秒(1个微秒= 1E-6秒)。
每个Robodk插件都必须使用QT创建者开发,并遵循QT的项目指南。建议使用插件项目开始使用您的新Robodk插件(双击emplineXample.pro以使用QT Creator打开它)。
必须安装Robodk来开发插件。Robodk的免费版本足以开发插件作为概念证明。
使Robodk Plugins起作用的要求:
Robodk插件的默认位置是C:/Robodk/bin/插件
您的插件发布和调试二进制文件不应与Robodk的发行版和调试二进制文件混合。默认情况下未提供Robodk调试二进制文件。
要在调试模式下正确运行插件,您应该使用Robodk调试二进制文件:
重要的是:将调试DLL与发行版DLL混合不起作用(将作为控制台输出提供消息)。确保每次切换调试和发布模式时都更新此设置。
重要的是:如果您遇到奇怪的插件加载问题,请尝试删除所有插件并再次构建它们(C:/robodk/bin/plugins和c:/robodk/bind/bind/插件中的所有文件)。
必须使用QT插件框架创建Robodk插件。QT基于C ++,因此,需要编程C ++中的Robodk插件。
QT是C ++的一组有用的库,QT创建者是QT的默认开发环境(IDE)。我们建议使用QT Creator作为编程Robodk插件的开发环境。
此列表提供了一些有用的链接和提示,用于使用QT:
涉及Robodk API的有用链接: