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