线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
从API运行程序指令
# 1
嘿,伙计们,
我们正在尝试使用python api执行来自机器人程序的特定指令。我们看了看RunInstruction(),但这似乎并不是我们想要的。我们正在遍历指令列表,只是想从文件中执行move命令。下面是搜索程序但不执行的while循环。谢谢
代码:
遍历程序中的所有指令:
Ins_id = 0
ins_count = prog.InstructionCount()
当ins_id < ins_count:
#检索指令
ins_nom, ins_type, move_type, isjointttarget, pose, joint = prog.Instruction(ins_id)
打印(ins_type)
#ins_type 0 is MoveJ or MoveL, MoveC =1
如果ins_type <= 1:
#选择移动指令作为参考
prog.InstructionSelect (ins_id)

添加一个新的程序调用
#掠夺。RunInstruction (ins_call INSTRUCTION_CALL_PROGRAM)
TeachTar.RunCode ()
虽然TeachTar.Busy ():
暂停(0.01)

#在我们刚刚添加了一条指令的基础上再添加一条指令
Ins_id = Ins_id + 1
Ins_count = Ins_count + 1

Ins_id = Ins_id + 1
# 2
嗨,雅各,

您不能使用API运行特定的指令,但是可以在机器人项目上执行该指令。
例如,如果你有一个指向笛卡尔目标的线性移动指令,你可以这样做:
代码:
robot.MoveL(构成)

艾伯特
# 3
(02-05-2020, 06:55 pm)艾伯特写道:嗨,雅各,

您不能使用API运行特定的指令,但是可以在机器人项目上执行该指令。
例如,如果你有一个指向笛卡尔目标的线性移动指令,你可以这样做:
代码:
robot.MoveL(构成)

艾伯特

听起来不错@艾伯特如果我们有一些move类型呢?我们看到了moveL的姿势信息,但没有MoveC的姿势信息
代码:
print (prog.Instruction (ins_id))

试题:moveL vs move
MoveL:
(', ', ', ', ', ', ', ', ', ', ')
姿态(969.624,-138.087,472.785,-92.893,85.340,-122.269):
[[-0.043, 0.069, 0.997, 969.624],
[0.574, -0.815, 0.081, -138.087],
[0.818, 0.576, -0.004, 472.785],
[0.000, 0.000, 0.000, 1.000]]
,矩阵:(6,1)
[[-11.328],
[-22.968],
[-20.060],
[40.193],
[25.254],
[- 2.64]]

MoveC:
('*MoveC P31,P32', 1, None, None, None, None)

还有,有没有一种方法可以显示特定指令的目标,而不显示给定程序的所有目标?比如prog.ShowTargets()?
# 4
嗨,雅各,

您可以右键单击指令并选择“select Target”以查看该特定指令的目标。

不可能只显示使用API的特定指令的目标。

艾伯特




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