职位:13
线程:8
加入时间:2019年2月
声誉:
1
在我的代码中,我使用命令“robot. waitdi(1,1)”来暂停程序,直到机器人在数字输入1上接收到一个高信号,但无论输入值是什么,当程序运行时,机器人实际上从不等待。我试图运行程序的机器人是一个UR10,根据手册,它的数字输入“on区域”为11V-30V。我已经确认,数字输入1正在使用数字万用表接收0V,甚至尝试运行与所有数字输入完全断开任何可能的电压源的命令,但程序仍然跳过这条指令。最奇怪的是,当我在RoboDK图形界面中使用“设置或等待I/O指令”按钮复制我的Python程序时,输入等待方法完全按照预期工作。意识到这一点后,我从我创建的UI程序和Python程序中生成了一个UR脚本,它们是相同的,所以我只能假设这种行为是由于某种软件错误造成的。我附上了我的Python代码以及从我的程序的UI和Python版本生成的UR脚本。任何帮助得到这种方法的工作将非常感谢,因为这对我的项目是必不可少的。
职位:6
线程:2
加入日期:2019年4月
声誉:
0
05-02-2019,中午12:30
(本文最后修改:05-02-2019,12:51 PM byniekas)。
艾伯特你好,
我们今天尝试使用waitDI方法,在我们的情况下,它并不像预期的那样工作。
我们可以看到控制器的输入是关闭的。当它关闭时,因为我们正在等待它为on(1),这个函数至少应该等待定义的ms。然而,它不会等待任何事情。
编辑:如果我们可以让它返回它是否收到信号或超时,那也会很可爱。
编辑2:它似乎只有在RoboDK接收到信号时才能作为程序工作。Timeout被丢弃。
职位:43
线程:19
加入时间:2018年6月
声誉:
2
+1在这个…
如果这个函数在接收到信号的情况下返回一个1/0值就太好了,这样我们就可以用输入来做If语句,而不是只是等待…