线程评级:
如何使用RUNMODE_QUICKVALIDATE?
# 1
我在文档里找不到任何示例代码。
RoboDK默认执行程序模拟。但是,您可以通过在程序顶部触发setRunMode调用来更改“RunMode”。

例子:
代码:
RDK.setRunMode (RUNMODE_QUICKVALIDATE)
下面的例子展示了如何更改RunMode:
//www.jasonament.com/doc/en/PythonAPI/exam...amming-gui

当您在此模式下运行时,它将允许您快速验证程序是否可行。这种行为类似于右键单击一个程序并选择“检查路径”。奇点和目标到达误差错误应该通过API显示/提出。
# 3
该示例使用ProgramStart() / MoveJ() / Finish()动态创建程序(这很有用,因为我也对ProgramStart()感到困惑)。但在我的情况下,我在树中有一个程序,我不认为我可以用这种方法运行?我通常使用RunProgram(),但使用RUNMODE_SIMULATE,我得到了一个关于“在指令MoveJ(目标1)的目标不可达”的模态对话框,这阻塞了我的代码,直到我单击。如果我使用QUICKVALIDATE,它不会给我任何提示有问题。

是否RUNMODE_QUICKVALIDATE仅用于ProgramStart() / Finish()而不是RunProgram/MakeProgram?

复制步骤:
新建站,加载UR10e模型,创建程序,创建MoveJ,然后:

>>> t = rdk。项目(目标1)
> > > t.Valid ()
真正的
>>> t.setPoseAbs(robomath.transl(5000,0,0)) #将目标移到机器人够不到的地方
类型6的RoboDK项目(93857965933680)
> > > rdk.RunProgram(“Prog1”)
0
这里我在GUI中获得了一个关于不可达目标的模态对话框
> > > rdk.setRunMode (robolink.RUNMODE_QUICKVALIDATE)
> > > rdk.RunProgram(“Prog1”)
0
在这里,我没有得到任何错误的迹象

此外,如果我不尽快解散对话框,API下降:

回溯(最近一次调用):
文件“”,第1行,在<模块>
文件"/home/j/RoboDK/Python/ RoboDK/ robolink.py", RunProgram中的第2226行
Prog_status = self。RunCode (fcn_param,真的)
文件"/home/j/RoboDK/Python/ RoboDK/ robolink.py", RunCode中的第2254行
Prog_status = self._rec_int()
文件"/home/j/RoboDK/Python/ RoboDK/ robolink.py",第918行,在_rec_int中
buffer = self.COM.recv(4)
套接字。Timeout:超时

嗯,看起来可能调用Update()和检查valid_ratio做什么我想要的?但是模态对话框仍然看起来像一个bug,并且搞砸了我的一个长批处理作业。
我无法复制这个问题。您可以共享一个RDK项目文件和示例代码吗?

另一方面,运行模式更适用于脚本直接驱动机器人的情况。例如,使用移动命令移动机器人。当您使用RunProgram触发程序模拟时就不是这样了。如果你的目标是检查你的程序是否有效,你应该使用Update。使用API时不应该有对话框。我无法重现这个问题,但如果你能分享一个例子,我们可以解决它。
# 5
下面的代码从头生成一个站并重现问题。


附加文件
. py modal_dialog_bug.py(大小:1.31 KB /下载:2雷电竞app下载安卓4)
# 6
接下来,你看到了吗?
# 7
我们刚刚发布了Windows的新更新,允许您执行以下操作:
代码:
RDK.Command(“弹出窗口”、“0”)
所以你可以这样做,以避免任何阻塞弹窗:
代码:
RDK.Command(“弹出窗口”、“0”)
RDK.RunProgram(“p”)
这适用于所有弹出窗口,包括您通过API通过相同的连接或其他Robolink连接引起的弹出窗口。

我们应该会在年底前发布Mac和Linux版本。
# 8
好,谢谢!
# 9
供您参考,Mac和Linux版本的RoboDK现在已经更新了此修复。




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

Baidu
map