最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

LabVIEW使用一個停止按鈕來停止所有循環(huán)

2023-07-07 16:23 作者:江南拱橋夜  | 我要投稿

? ? ? ?在LabVIEW中有多個并行while循環(huán),想使用一個停止按鈕來停止所有循環(huán)。如何執(zhí)行此操作并使停止按鈕恢復到其初始狀態(tài)?

? ? ? ?根據(jù)使用的LabVIEW版本,從以下方法中進行選擇,以使用一個停止按鈕停止LabVIEW中的多個并行循環(huán)。

? ? ? ? 注意:下面列出的方法并不是停止并行While循環(huán)的方法的詳盡介紹。這些方法是最常用的方法。

通道線Channel Wires

? ? ? ?如果使用的是LabVIEW2016及更高版本,則可以使用通道線通過一個停止按鈕來停止多個并行While循環(huán)。這是可能的,因為通道線是連接兩個并行While循環(huán)而不強制執(zhí)行順序的異步導線。因此,兩個并行While循環(huán)之間沒有數(shù)據(jù)依賴關(guān)系。

? ? ? ? 注意:LabVIEW實時模塊支持通道線,但LabVIEW FPGA模塊不支持通道線。

以下框圖演示了使用Tag通道停止并行循環(huán):

? ? ? ?以下列表描述了有關(guān)上一個框圖的重要詳細信息:

? ? ? ?1. 循環(huán)A包含一個將值寫入標記通道的標記編寫器終結(jié)點。

? ? ? ?2. 通道線將標記寫入器終結(jié)點的通道輸出連接到標記讀取器終結(jié)點。

? ? ? ?3. 循環(huán)B包含一個標記讀取器終結(jié)點,該終結(jié)點從標記通道讀取值。

? ? ? ?4. 連接到循環(huán)A中編寫器終結(jié)點的元素參數(shù)的停止按鈕與循環(huán)B通信。如果單擊循環(huán)A中的停止按鈕,循環(huán)B也會停止。

? ? ? ?以下框圖演示了使用流通道停止并行循環(huán):

? ? ??使用流通道時,連接到循環(huán)A中編寫器終結(jié)點的最后一個元素參數(shù)的停止按鈕與循環(huán)B通信。

? ? ? ?標記通道和流通道在用于停止并行While循環(huán)時存在重大差異。

使用Tag通道停止并行While循環(huán)會導致所有循環(huán)盡快停止,因為循環(huán)A中的停止按鈕值直接與循環(huán)B通信。使用流通道停止并行While循環(huán)可能會導致循環(huán)B比循環(huán)A晚停止幾次迭代,因為循環(huán)A中的停止按鈕值通過最后一個元素與循環(huán)B通信,這意味著循環(huán)A在寫入最后一個元素后立即停止。但是,循環(huán)B繼續(xù)讀取通道中的其余元素,并且在讀取最后一個元素之前不會停止。流通道確保在循環(huán)B停止之前處理通過通道通信的所有數(shù)據(jù)元素。

? ? ? ?標記通道允許停止兩個或多個并行的While循環(huán),因為標記通道可以分叉到多個寫入器和讀取器。流通道只允許停止兩個并行的While循環(huán),因為流通道只允許一個寫入器和一個讀取器。

? ? ? ? 以下框圖演示了如何使用Tag通道停止三個并行的While循環(huán)。

局部變量Local Variables

? ? ? ?可以使用一個停止按鈕停止多個并行While循環(huán),方法是使用每個附加循環(huán)的局部變量將布爾停止按鈕值從第一個循環(huán)的控件傳遞到所有其他循環(huán)。以下框圖演示了如何使用局部變量停止兩個并行While循環(huán)。

? ? 以下列表描述了有關(guān)上一個框圖的重要詳細信息:

? ? 1. 頂部循環(huán)包含一個停止控件。通過右鍵單擊前面板上的停止控件并選擇機械動作?按下時切換來配置停止控制的機械動作。這允許所有循環(huán)讀取停止布爾值,其中按下鎖存器將在讀取值時重置為true,使一些循環(huán)仍在運行。

? ? ?2. 底部的兩個循環(huán)包含停止控件的局部變量。通過右鍵單擊停止控件并選擇創(chuàng)建?局部變量來創(chuàng)建局部變量。配置局部變量以讀取值,方法是右鍵單擊局部變量并選擇更改為讀取

? ? ? 3. 請務必注意隱式引用停止按鈕的ReinitTo默認值調(diào)用節(jié)點,這會在下次運行開始時將值重置為true。

? ? ? ?4. 所有這些循環(huán)都包含一個Waitms,以突出顯示所有循環(huán)都停止,無論它們的運行時間如何。

? ? ? ?若要停止三個以上的并行While循環(huán),請遵循相同的體系結(jié)構(gòu),添加更多局部變量以從初始停止控件讀取。

屬性節(jié)點Property Nodes

? ? ? ?可以使用屬性節(jié)點將布爾停止按鈕值從第一個循環(huán)的控件傳遞到所有其他循環(huán)。下面的框圖演示如何使用屬性節(jié)點停止兩個并行的While循環(huán)。

?

? ?以下列表描述了有關(guān)上一個框圖的重要詳細信息:

? ? 1. 頂部循環(huán)包含一個停止控件。通過右鍵單擊前面板上的停止控件并選擇機械動作?按下時切換來配置停止控制的機械動作。這允許所有循環(huán)讀取停止布爾值,其中按下鎖存器將在讀取值時重置為true,使一些循環(huán)仍在運行。

? ? ?2. 底部循環(huán)包含停止控件的屬性節(jié)點。通過右鍵單擊停止控件并選擇創(chuàng)建?屬性節(jié)點?值來創(chuàng)建屬性節(jié)點。配置“值”屬性節(jié)點以讀取值,方法是右鍵單擊“值”屬性節(jié)點,然后選擇“更改為讀取”。

? ? ? 3. 請務必注意隱式引用停止按鈕的ReinitTo默認值調(diào)用節(jié)點,這會在下次運行開始時將值重置為true。

? ? ? ?4. 所有這些循環(huán)都包含一個Waitms,以突出顯示所有循環(huán)都停止,無論它們的運行時間如何。

? ? ? ?若要停止兩個以上的并行While循環(huán),請遵循相同的體系結(jié)構(gòu),添加更多Value屬性節(jié)點以從初始停止控件讀取。

? ? ? ?有關(guān)何時使用局部變量與屬性節(jié)點的詳細信息,請參閱控件/指示器、局部變量和值屬性節(jié)點差異。

通告器Notifiers

? ? ? ?對于涉及復雜行為的應用程序,通知程序可用于停止并行運行的多個循環(huán)。通知程序函數(shù)可從編程?同步?通知程序操作選項板訪問。

? ? ? ?注意:通知程序的使用很容易擴展到多個線程,但并不總是與現(xiàn)有的程序體系結(jié)構(gòu)很好地集成。

? ? ? ?以上VI代碼段演示了通知程序可用于停止多個While循環(huán)的一種方式。

? ? ? ?以下列表描述了有關(guān)上一個VI代碼段的重要詳細信息:

? ? ? ?頂部循環(huán)的每次迭代都將停止按鈕的狀態(tài)寫入通知程序。

? ? ? ?其他兩個循環(huán)在每次迭代時檢查通知程序的狀態(tài)。

? ? ? ?注意:確保在監(jiān)視通知程序的所有線程停止之前不會釋放通知程序。在前面的VI代碼段中,合并錯誤VI保證釋放通知程序VI在所有循環(huán)停止之前不會執(zhí)行。單擊停止按鈕時,狀態(tài)將發(fā)送到通知程序,這會導致所有循環(huán)停止。

隊列

? ? ? ? 可以使用隊列來阻止涉及更復雜行為的應用程序并行運行的多個循環(huán)。隊列功能可從編程?同步?隊列操作選項板訪問。

? ? ? ? ?注意:許多較大的應用程序已經(jīng)有一個隊列系統(tǒng),用于在并行循環(huán)之間交換數(shù)據(jù)。在這些設置中,可以修改或增強現(xiàn)有隊列,以包含并行循環(huán)的停止指令。

? ? ? ? ?以下VI代碼段演示了如何使用隊列停止多個While循環(huán):

? ? ? ?一些使用主從架構(gòu)的應用程序在從線程退出之前釋放隊列。然后,從已銷毀的引用中取消排隊時引發(fā)的錯誤將用于停止從循環(huán)。與依賴錯誤條件來停止從循環(huán)不同,前面的VI代碼段具有離散的停止指令,該指令從主循環(huán)傳遞到從循環(huán)。

? ? ? ?使用一個停止按鈕停止LabVIEW中的多個并行循環(huán)的方法不止以上幾種,使用LabVIEW過程中選擇自己覺得最合適的才是最主要的。

?


LabVIEW使用一個停止按鈕來停止所有循環(huán)的評論 (共 條)

分享到微博請遵守國家法律
韩城市| 甘谷县| 平利县| 壤塘县| 松原市| 南乐县| 桃源县| 巫山县| 临高县| 汕尾市| 巧家县| 仲巴县| 龙陵县| 涪陵区| 炎陵县| 中牟县| 溆浦县| 汨罗市| 新乡市| 洞头县| 五台县| 会宁县| 陆川县| 义马市| 临猗县| 共和县| 永川市| 大田县| 阿图什市| 安岳县| 六安市| 庆云县| 阜南县| 靖州| 桑植县| 满城县| 安化县| 同仁县| 南涧| 徐州市| 林芝县|