线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
在后置处理器中增加Dobot末端效应器功能
# 1
我试图修改Dobot后处理器来运行Dobot末端效应器,但没有多大成功。后这篇我复制了Dobot Post处理器,并添加了两个功能来打开和关闭吸盘,并将其设置为我的程序Post处理器。然后我使用程序调用指令来调用该函数。然而,它只是说没有找到函数并跳过它。

当我生成代码时,函数定义和调用都在那里,但RoboDK仍然跳过函数调用。

我在函数中使用的代码直接来自Dobot Studios Python生成器/Dobot API所以应该是正确的代码。

“Move and Suck”是我右键点击程序时生成的代码
“DobotwTools”是我编辑的后置处理器
我还附上了RoboDK的截图

任何帮助将不胜感激!


附加文件 缩略图(s)


. py Move and Suck.py(大小:4.14 KB /下载:92022世界杯国家队名单,662)
. py DobotwTools.py(大小:21.45 KB /下载:82022世界杯国家队名单35)
# 2
后置处理器和结果看起来不错。我看到你在头文件中添加了程序调用,所以如果你生成程序(F6),你应该能够运行它。
它在哪里失败了?

另一方面,如果您正在使用驱动程序(“Run On robot”选项),它可能会失败,因为该命令没有集成在驱动程序中。这就是你要找的吗?

另一个细节是:使用Dobot,您可以缓冲命令,以便在一步中执行所有命令,避免突然移动。此行为可以使用isQueued标志进行更改。
# 3
它运行,但是当它到达吸吮()函数调用时,它只是打印“Program suctionOn()不存在”。跳过函数调用。”

当我生成程序时,它生成得很好,甚至在应该的地方有函数调用。机器人会做所有的关节运动,但会跳过呼叫。

更清楚地说,当我选择“在机器人上运行”(但跳过函数调用)时,它会移动。当我生成并发送程序(ctrl +F6)时,它根本不移动。
驱动程序不实现吸气,因此该命令被跳过。后处理器生成的程序(ctrl +F6)根本没有移动机器人,这意味着脚本没有正确运行。运行的程序的控制台输出通常对程序不工作的原因有有用的见解。
例如,python的dobot库需要python 3.6.0或更高版本。
# 5
这条巨蟒绝对是最新的。至于控制台输出,当我通过“run on robot”运行它时,唯一的输出是它跳过了函数。当我生成和发送(ctrl +F6)我没有得到任何输出。控制台窗口弹出并迅速关闭,然后什么也没有。我能打开错误日志吗?
# 6
当你选择这个选项生成一个机器人程序作为…(Shift+F6)你可以选择一个目录来生成程序。然后,您可以查看生成的文件并在RoboDK之外运行它们。运行程序可能需要“DobotDll.dll”与您正在运行的程序位于同一目录中。您可以在RoboDK安装文件夹的“bin”文件夹中找到它。
# 7
好的,我尝试了那个方法,这是我的迷你目录的图片。当我运行MoveAndSuck文件时,控制台窗口只是闪烁并消失,机器人不做任何事情。

生成程序和发送程序(ctrl +F6)和检查“在机器人上运行”然后点击“运行”之间究竟有什么区别?既然第二种方法是Dobot唯一的回应方式,也许这能让我知道缺失了什么。是否只有第一种方法使用后处理器?

这次我通过IDLE运行它,实际上得到了一些错误日志!

Python 3.7.3 (v3.7.3:ef4ec6ed12, 2019年3月25日,22:22:05)[MSC v.1916 64位(AMD64)
输入“帮助”、“版权”、“信用”或“许可()”获取更多信息。
>>>
=== RESTART: C:\Users\amber.saffen\Documents\RoboDK\Tester\ moveandsucks .py ===
回溯(最近一次调用):
文件“C:\Users\amber.saffen\Documents\RoboDK\Tester\ moveandsucks .py”,第5行,在
从打包导入版本
ModuleNotFoundError:没有名为“packaging”的模块
>>>


附加文件 缩略图(s)

# 8
澄清一下,“run and robot”和“generate program”的区别在于,当使用“run on robot”时,robodk直接向机器人发送命令,因为程序是在robodk中模拟的,用户一般不容易修改。“生成程序”使用python生成机器人执行的脚本。由于dobot没有本地脚本语言,robodk post处理器生成一个python脚本,向dobot发送命令。生成程序并发送它只是在生成后自动运行该脚本。

后处理程序是一个python脚本,因此您可以像独特的工具一样向其添加新功能。您运行脚本的问题似乎是您没有安装python模块“打包”。您可以使用像"pip install packaging"这样的命令从命令行安装python模块
# 9
我终于找到了python包的问题,并解决了这个错误(即使我下载了新的python, pip仍然没有更新)。2022世界杯国家队名单现在它在导入DobotDll时遇到了问题。当我试着运行MoveandSuck程序时,我得到

PS C:\Users\amber.C:/ Users/amber.saffen/Documents/RoboDK/MoveandSuck.py . C:/RoboDK/Python37/python.exe
连接到:COM10
回溯(最近一次调用):
文件"c:/Users/amber.saffen/Documents/RoboDK/ moveandsucks .py",第25行,在
dType.DobotConnect。DobotConnect_NoError:“DobotConnect_NoError”,
NameError:名称'dType'没有定义
所需的DLL在这里:
C: / RoboDK / bin / DobotDLL.dll

你安装的RoboDK是64位还是32位?
您能提供要运行的Python文件吗?




浏览此主题的用户:
1客人(年代)