线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
如何使用RUNMODE_QUICKVALIDATE?
我在文档中找不到示例代码。
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",第2226行,在RunProgram中
Prog_status = self。RunCode (fcn_param,真的)
文件"/home/j/RoboDK/Python/ RoboDK/ robolink.py",第2254行,在RunCode中
Prog_status = self._rec_int()
文件"/home/j/RoboDK/Python/ RoboDK/ robolink.py",第918行,在_rec_int中
buffer = self.COM.recv(4)
套接字。Timeout:超时

哈,看起来可能调用Update()和检查valid_ratio做我想要的?但模态对话框仍然看起来像一个错误,搞砸了我的长批处理工作。
# 4
我无法重现此问题。您能分享一个RDK项目文件和示例代码吗?

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


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

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




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

Baidu
map