关于Labview集合点的使用
扫描二维码
随时随地手机看文章
有的时候,我想用两段并行的程序来实现某些功能,但是有要求他们在某些时候能够互相等一等,完成同步功能。看了看labview的帮助文件,觉得使用同步里面的集合点应该可以实现。
? 帮助文件里如此描述集合点:集合点VI用于在执行的某个特定点处同步两个或多个独立并行的任务。每个到达集合点的任务将等待,直到集合点处等待的任务达到指定的数量后,所有任务才继续执行。
于是我在我的程序里面这样使用了集合点,用以在每次执行两个程序段的第一个顺序帧的时候互相同步一下。我是怕他们的延时导致越往后面越会出现累积误差.(这个程序是采用两个独立的循环控制路口的两部分红绿灯,是通过延时实现的计秒,就怕延时的微小误差越积累越多,加一个同步就消除了)。
如下图:
?错误用法这个程序的执行情况不太符合我的预期,我故意把他们的延时时间改变一下,发现根本不会等待对方嘛!自己干自己的,如此没有协作精神。
然后,没别的办法,最经典的办法莫过于看帮助里面的例程。发现可能或许应该这么用。
?正确用法在里面加上一个条件结构,让程序在等待集合点的控制之下。
结果合乎预期。