我正在尝试建立一个计时器来重置按钮。我想在60秒后重设它,但是没有状态机帮助我。
我能想到的“最佳”解决方案是与限制时间(又称初始时间+ 60秒)相比的时间反馈。
问题是:“添加功能”仅允许一个时间戳变量,另一个应为数字,但是从时间测量角度,我怎么知道这个数字的含义呢?
如果我加60,会是60秒,60分钟,60年吗?
我试图做一个状态机,但这正在解决我软件中的其他问题...
结果应为“开始时间” + 60秒
更新!
我看过一些视频,一个人做了一个计时器,我已经适应了我的问题,但是比较不起作用(我最多等待了5分钟)。 我将尝试@John Covil的想法,但如果您想知道的话,只是让您知道我一直在做的事情:) http://pt-br.tinypic.com/r/2crr0ck/9
答案 0 :(得分:1)
找出问题的最简单方法是分支CurrentTimestamp函数的输出,将一个直接连接到指标,然后将另一个直接添加到指标,嗯??
在内部,Labview将时间测量为自1904-01-01午夜以来的秒数,因此加1意味着加一秒。而且由于LabView中的时间分辨率高于一秒,因此您可以添加几分之一秒。
答案 1 :(得分:0)
如果要以这种规模工作,我将使用“定时”面板中的“滴答计数”功能。您知道自己一直以毫秒为单位,如果需要,可以很容易地扩展到DBL秒,或者只需将限制设置为60,000。
滴答计数不包括错误I / O,因此,如果您正在使用它并且担心数据流,并且在精确获取计时器值时,始终可以使用包装器来强制执行数据流。
在下面的代码段中,while循环内的case结构具有一个空的False case,它仅在两个输出上设置了默认值。您可以在下面的两个屏幕截图中看到其余的代码。我还习惯性地使用了ms定时器包装程序VI中的代码。
答案 2 :(得分:0)
简单的答案:后台的LabVIEW时间戳仅为a number of seconds since 1/1/1904,因此向其添加数字将增加秒数。
更长的答案:这个功能在我看来是可疑的。我可能是错的,但是我想您在尝试执行其他操作时会尝试避免多次按下按钮。我认为这样做的一种更安全的方法是将按钮设置为锁定功能,而将其设置为“禁用并变灰” 60秒钟。这将通知用户已收到他们的输入,并且无法再次按下按钮。
答案 3 :(得分:0)
Here is a simple VI那是我认为您要尝试做的事情?尝试运行VI,看看它如何工作。
答案 4 :(得分:0)
因此,在给定的解决方案可行的情况下,但我的老板想要的东西可以减少处理器的消耗。解决方案非常简单,但是我不知道如何获取时间戳的第一价值。
我们使用了时间戳循环,它是开关的输入。它也有一个布尔循环,使用第一个值true,所以我可以获取时间戳的第一个值。 当我按下保存按钮时,系统会在按下按钮时注册时间戳值,此后,我将测量时间戳的连续值并从第一个值中减去。这会导致瞬间之间的差异,并将其与int值(以秒为单位)进行比较,这会使我的保存按钮变为错误。
我会在可能的时候上载打印文件:) 感谢所有的支持,我学会了分配!