
Labview中的循环结构有for和while两种,其中for结构的循环次数是预先给定或者是可以确定的,而while循环则需要通过判断内部的条件节点来决定是否终止vi的运行. 出现死循环的情况一般都与使用这两种结构有关.这可以分为两种情况:一种是vi停在某一次循环上无限等待,导致了死循环的出现另一种是vi循环无限进行下去,而不能控制其停止下来,这主要在while结构中出现,因为
程序的设计问题使控制while停止的按钮失效. 先来说说后一种情况(如上图).由于循环结构在进入循环后将不再理会循环框外数据的变化,因此如果 停止 按钮第一次不能使循环停止的话,就会导致循环无限运行下去,形成死循环.故产生循环终止条件的数据源一定要放在循环框内. 再看下面的例子,它说明了当对话框与while循环一起使用时应注意的问题.如右所示的vi运行后将处于不断地询问状态, 停止 按钮在这里失去作用(此时只能通过任务管理器强行退出labview).造成这种死循环的原因就在于程序没有对 询问 函数的值作出处理.要使vi处于受控状态,就必须把询问函数的值与循环的条件端子联系起来。你的循环用错了,程序错误。
循环只是负责 -- 接收VI的执行,与其他 初始化/ 关闭 VI无关, 这两个VI只执行一次。
如果套用两个循环,并且错误包含VI, 程序会写死掉
Vi冲突,指的是并行工作的各向量指令的Vi有相同的。只要不出现Vi冲突和功能部件冲突,各个Vi和功能部件之间都能并行工作,大大加快了向量指令的处理。
向量的长度n超出了向量寄存器组中寄存器的个数时,将该向量分成若干个组,使每组都能装得进向量寄存器组中。对组内向量元素采用纵向处理方式,而各组间则采用软件方法编制循环程序的方法依次循环处理的方式,称之为分组纵横处理方式。
评论列表(0条)