线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
检查运动工件的程序到达/碰撞
# 1
我们有一个移动的工件,并且想要验证我们的程序是否符合工件可能具有的姿势集。我可以使用RunCode和WaitFinished来运行程序,但是我希望能够看到导致到达错误或碰撞的特定程序指令。有办法用API做到这一点吗?
# 2
是的,这是可能的。当您在程序上调用Update时,您将收到一个ID,该ID指的是可以执行而不会出现问题的指令数量。

这就是你要找的吗?如果不是这样,请告诉我们。
# 3
不幸的是,我不能使用Update,因为我正在从程序内部调用一些python脚本。调用update将不会执行这些python脚本。
另一种选择是使用“CurrentInstruction”参数来检索指令指针的id。

这是本周添加的,所以你应该将RoboDK更新到最新版本(目前仅在Windows上可用)。

例子:
代码:
从robolink导入*
导入的时间
RDK = Robolink()
prog = RDK.Item("PaintTop")
prog.RunProgram ()
虽然prog.Busy ():
ins_id = int(prog.setParam("CurrentInstruction"))
打印(ins_id)
time . sleep (0.5)
# 5
“CurrentInstruction”似乎可以解决这个问题!但是我必须等到linux版本赶上这个功能。假设我的程序调用了其他子程序。“currentininstruction”能让我看到子程序指令吗?或者它只是指向高级程序中的函数调用?
# 6
CurrentInstruction不会让你看到子程序,因为它将指向程序调用,但你可以检索程序名或指针,并检查当前指令与它所指向的程序(正在运行的程序)。你可以递归地做到这一点。

您可以通过使用program.setParam(instruction_id)访问有关指令的信息,您将收到JSON格式的指令。




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

Baidu
map