线程评级:
设置参考&设置工具命令跳过输出程序
# 1
您好,我正在使用Mecademic Python后处理器导出RoboDK中设计的程序,在生成输出.py文件时,注意到程序的一些“set ref”和“set tool”命令被跳过。

举个简单的例子,假设我在RoboDK树中有一个主程序“MainProg”,它调用两个子程序“ProgA”和“ProgB”:
代码:
MainProg
叫ProgA
叫ProgB

ProgA和ProgB包含设置参考框架和工具的命令,并将机器人移动到某个目标:
代码:
ProgA
设定编号:Meca
设置工具:Meca工具
MoveJ (target1)
ProgB
设定编号:Meca
设置工具:Meca工具
MoveJ (target2)

然后,当我为MainProg生成一个机器人程序时,输出的.py文件看起来像这样:
代码:
def MainProg ():
调用ProgA ()
调用ProgB ()

def ProgA ():
设定编号:Meca
设置工具:Meca工具
MoveJ (target1)

def ProgB ():
MoveJ (target2)

因此,“set ref”和“set tool”命令从ProgB中跳过。大概是因为它们已经在ProgA中设置了,而ProgA被称为ProgB之前。

如果我手动编辑输出的.py文件,这将导致麻烦,并希望在ProgA之前调用ProgB:没有参考系或工具尚未设置。当RoboDK树中的程序包含生成的.py文件中没有的命令时,这似乎也令人困惑。

你能否解释为什么“set ref”和“set tool”命令(或者其他命令?)被跳过,如果有可能避免这种情况?

亲切的问候,

Maarten
一个与上述问题相关但又不同的问题。假设我有一个安装在线性舞台上的机器人,并执行以下步骤:

1)调用子程序a,将机器人移动到固定在线性工作台底座上的目标1
2)称为子程序B,其中线性阶段将机器人的基座移动到不同的位置。(这有效地改变了目标1相对于机器人的位置。)
3)再次调用子程序A,将机器人移回目标1(仍固定在线性阶段底座上)

RoboDK中的仿真很好地显示,在第3步中,机器人考虑到它已经被前一步2中的线性轴移动,机器人移动回目标1,但姿势不同。

在第1步和第3步中,机器人相对于目标的位置是不同的,但是在生成输出程序时,这个信息似乎丢失了:子程序A只是设置了一个参考和工具框架,并移动到一个目标姿态:
代码:
def ProgA ():
全球机器人
机器人。运行(“SetWRF”,[0.000,240.000,0.000,0.000,90.000,-90.000))
机器人。运行(“SetTRF”,[0.000,0.000,25.000,-0.000,0.000,-0.000))
机器人。运行(' move关节',[0.000000,11.025300,-12.219000,0.000000,1.193730,-0.000000])

所以在RoboDK中,我可以调用相同的子程序两次,并根据线性阶段的位置为机器人获得不同的姿势。但是一旦它被导出到输出程序文件,参考框架和目标姿态是固定的。当被调用时,机器人总是会移动到一个相同的姿势。更新后的信息放在哪里?
# 3
默认情况下,RoboDK过滤器设置相同的引用和工具。

您可以按照以下步骤删除此过滤器:
  1. 选择Tools-Options
  2. 选择程序选项卡
  3. 取消选中该选项过滤器设置参考和工具框架
# 4
谢谢,这正是我要找的!在同一个菜单中,我看到一个选项“在程序中强加原始工具和引用”,这是干什么的?
# 5
嗨的时候,

你可以看看这两个选项之间的区别:
https://youtu.be/Qy82xBrWSZE

对于第一个选项,如果您移动部件框架,则需要重新更新路径。
我们推荐这个选项,因为它减少了发生错误的可能性,但两者都是可行的。

杰里米
有关RoboDK及其功能的有用信息,请访问我们的在线文档通过观看我们的教程Youtube频道






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