labview程序自带的循环存在死时间

labview程序自带的循环存在死时间,第1张

Labview中的循环结构有for和while两种,其中for结构的循环次数是预先给定或者是可以确定的,而while循环则需要通过判断内部的条件节点来决定是否终止vi的运行. 出现死循环的情况一般都与使用这两种结构有关.这可以分为两种情况:一种是咐蠢vi停在某一次循环上无限等待,导致了死循环的出现另一种是vi循环无限进行下去,而不能衡升陪控制其停止下来,这主要在while结构中出现,因为程序的设计问题使控制while停止的按钮失效. 先来说说后一种情况(如上图).由于循环结构在进入循环后将不再理会循环框外数据的变化,因此如果 停止 按钮第一次不能使循环停止的话,就会导致循环无限运行下去,形成死循环.故产生循环终止条件的数据源一定要放在循环框内. 再看下面的例子,它说明了当对话框与while循环一起使用时应注意的问题.如右所示的vi运行后将处于不断地询问状态, 停止 按钮在这里失去作用(此时只能通过任务管理器强行退出labview).造成这种死循环的原因就在于笑卜程序没有对 询问 函数的值作出处理.要使vi处于受控状态,就必须把询问函数的值与循环的条件端子联系起来。

结合“事件结构”和“属性节点”就可以完成,如下:

前面板

注意,这里数组2属性节点的创建方法如下:

必须要是“值(信号)”,单单创建“值”属性是不行的。散和因为labview不会捕捉由程序产生的“值改变”事件。“值昌晌(信号)”属性节点是只读的,对它的写 *** 作和在前面板手动修改的结果是一样的。值得注意的是,只要是对其进行了写 *** 作,那么就会触发值改变事件。

上面这个例子中,左边的循环中不断的给“数值2”赋值,会触发右边的事件结构。每当数值2的值改变时,就会将新值赋给数值3.注意,就耐掘锋算每次给数值2赋一个相同的常量,也会触发事件结构。

labview中除非使用了顺序结构,否则程序本来默认就是并行运行的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12346365.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存