线程评级:
在Run On Robot模式下插入未发送的指令代码
# 1
感叹
问候,

我需要通过在线机器人驱动程序接口发送一个自定义命令,但是当我将包含该指令的程序设置为“在机器人上运行”模式,然后右键单击指令,然后“执行指令”(当然是在连接到驱动程序之后),什么都没有发送-可以在日志窗口中看到。这与指令代码的实际内容无关。

任何内置指令都使用相同的方法工作(我可以在日志窗口中看到它们,它们由驱动程序正确处理)。

我在LUbuntu上运行RoboDK,但我的一个同事在Windows上也有同样的问题。发生了什么?

先谢谢你,

问候
你好,

能告诉我们你们用的是什么牌子的机器人吗?不同的机器人品牌使用不同的驱动程序(Run on robot)。

杰里米
# 3
感谢发帖。万能机器人——我的理解是品牌对于后处理(如果我理解正确的话,这里没有使用)和在线机器人驱动程序(我的理解是在命令行写入日志后才开始)很重要,在这个链上还有其他依赖品牌的东西吗?
在我们的自定义驱动程序处理标准命令之前,它们确实会出现在日志中,但这些指令什么都不做(即使使用内置的apiur在线机器人驱动程序)。
# 4
你是对的,我错过了你帖子中的“日志窗口”部分。(你提了两次,真不知道我怎么就没注意到…)

杰里米
# 5
我已经尝试通过调用使用robot.RunInstruction(“任何东西”,INSTRUCTION_INSERT_CODE)的python脚本来替换该程序,但它仍然不起作用:没有通过控制台日志发送任何东西。这是一个非常不方便的bug(它恰好阻碍了我们),而且很容易复制,你的开发人员意识到这一点了吗?

此外(但这是不太重要的),我注意到Robolink.Render()没有影响时,调用它的程序被设置为运行在机器人(我使用robot. setjoint()计算,我想这些计算隐藏到用户-当运行在机器人没有被打上),我认为这也是一个bug,但也许有另一种方式?如果这确实是一个bug,我将打开另一个线程。
# 6
当你使用“运行机器人”选项并且你想在RoboDK中运行Python程序时,你应该确保你激活了以下设置:
  • Tools-Options-Motion
  • 检查选项:当连接到机器人时,使用RoboDK管理程序调用
# 7
嗨,艾伯特,谢谢你的回答。我已经勾选了这个选项,我刚刚勾选了。此外,在GUI中插入代码指令也不起作用,这似乎不仅仅是一个Python问题(我假设两者都是由RoboDK的底层函数似乎不起作用这一事实联系起来的)。

你们那边不是也有同样的问题吗?
# 8
我不确定我是否理解这个问题。你有一个我们可以用来重现这个问题的样本项目吗?

为了确保你的命令从你的Python程序发送给机器人,你可以添加这样的东西:

代码:
msg = robot.ConnectedState()
print(状态)
打印(味精)
if state == ROBOTCOM_READY:
RDK.setRunMode (RUNMODE_RUN_ROBOT)
# 9
艾伯特你好,

这篇文章引起了我的兴趣。我对ITEM也有同样的问题。RunInstruction(代码,run_type = INSTRUCTION_INSERT_CODE)
这种方法只适用于程序项,还是也适用于机器人项?

有没有一种方法直接发送urscrip代码到RUNMODE_RUN_ROBOT的UR10控制器(即使用apiur.exe)通过用户界面或通过python api?

你会在这篇文章中找到一个robodk场景测试:
-具有GUI界面
-使用robot.RunInstruction()或program.RunInstruction()的api

我在我的例子中采取了“popup(“text”)”urscript命令,但它可以是任何:textmsg(), set_payload()…

谢谢你的帮助


附加文件
.rdk UR10_send_urscript.rdk(大小:2.55 MB /下载:377)
我也对直接发送urscript代码感兴趣。在我的例子中,我有一个URCap,它与安装在我的UR3e上的外部激光扫描仪通信。




浏览此线程的用户:
1客人(年代)