我一直在为孩子们制作一个labview程序来监控各种能源的能源生产。我有一个条件,如果他们生产不足的警告会开火,如果他们的生产超过一个证明门槛,另一个警告会开火。我想在整个活动中花多长时间,每种类型的警告都会被触发,这样每个小组在结束时都会有一个分数。这只是为了模拟最终程序的行为。目前,我有一个计时器,它可以消除警告的时间是真实的,但它会覆盖自己,每次警告一次又一次。
所以基本上,我需要总结一下值为真的总时间,即使它在真和假之间飞舞。

发布于 2013-10-24 19:36:04
一种列出"True“所用总时间的方法是使用索引隧道从While循环导出警告指示符。如果还从循环导出触发指示符时的毫秒计数器值,则可以在传递该值的相应时间后,将处理的是一个真值/假值数组。
后处理可能是一个for-循环,使运行总时间保持为真。
附注:如果您将代码导出为VI代码段,其他人将能够直接检查和修改代码,而无需从头开始重新编写代码。参见NI关于该主题的网页:http://www.ni.com/white-paper/9330/en/
发布于 2013-10-27 07:10:24
我建议换一条路。就我个人而言,我发现您使用的代码令人困惑,因为您从shift寄存器中的值中减去了滴答数,这可能有效,但没有任何逻辑意义。
相反,我建议将其转换为一个subVI,它可以执行以下操作:
我现在并没有对它进行编码,所以可能会有漏洞,但我要把它作为练习。此外,我建议让VI重入。这样,您可以简单地将其称为第二次,以便为第二个定时器获得相同的功能。
https://stackoverflow.com/questions/19563715
复制相似问题