我正在制作一个vi,它使用热敏电阻连续监测温度,并使用DAQ板和晶体管根据温度打开和关闭USB风扇。我希望vi在温度超过某个值时打开风扇,但是在它远低于初始临界温度之前不会关闭。为了实现这一点,我想到了使用while循环并希望在循环中连续进行比较,以查看温度是否超过该值。然而,调试告诉我,一旦温度读数的值进入while循环,它就无法接收温度读数的下一个值。 while循环陷入无限循环,因为即使数据线连接到循环中,循环也无法更新值以进行比较。有没有另一种方法可以在每次迭代后的while循环中连续更新数字,或者我应该说一个变量?我想到了移位寄存器,但我认为这仅适用于累计和。
编辑:我上传了vi的截图。屏幕截图具有带有案例结构的堆叠序列。最初,这是一个while循环,但是当我看到它不起作用时,我尝试了这种方法,但也没有用。在while循环中测量温度是唯一的方法吗?
答案 0 :(得分:2)
还有其他方法可以不断更新数字,或者我 应该在每次迭代后的while循环中说一个变量吗?
移位寄存器可以正常工作,或者如果你想使用别的东西,你可以使用功能global。
答案 1 :(得分:1)
您可以在WHILE循环内使用事件处理程序,以便在变量(控件)发生值更改时触发。您可以在事件处理程序中包含比较语句,然后为风扇设置/重置输出。
//注意:我看不到你的屏幕截图,所以我会盲目飞行:)