有的時候,我想用兩段并行的程序來實現(xiàn)某些功能,但是有要求他們在某些時候能夠互相等一等,完成同步功能。看了看labview的幫助文件,覺得使用同步里面的集合點應該可以實現(xiàn)。
? 幫助文件里如此描述集合點:集合點VI用于在執(zhí)行的某個特定點處同步兩個或多個獨立并行的任務。每個到達集合點的任務將等待,直到集合點處等待的任務達到指定的數(shù)量后,所有任務才繼續(xù)執(zhí)行。
于是我在我的程序里面這樣使用了集合點,用以在每次執(zhí)行兩個程序段的第一個順序幀的時候互相同步一下。我是怕他們的延時導致越往后面越會出現(xiàn)累積誤差.(這個程序是采用兩個獨立的循環(huán)控制路口的兩部分紅綠燈,是通過延時實現(xiàn)的計秒,就怕延時的微小誤差越積累越多,加一個同步就消除了)。
如下圖:
?錯誤用法這個程序的執(zhí)行情況不太符合我的預期,我故意把他們的延時時間改變一下,發(fā)現(xiàn)根本不會等待對方嘛!自己干自己的,如此沒有協(xié)作精神。
然后,沒別的辦法,最經(jīng)典的辦法莫過于看幫助里面的例程。發(fā)現(xiàn)可能或許應該這么用。
?正確用法在里面加上一個條件結構,讓程序在等待集合點的控制之下。
結果合乎預期。