并行任務的優先權
發布時間:2014/6/20 22:05:14 訪問次數:775
使用等待函數或修改VI屬性對話框的“類別”下控列表框中“執行”選項的優先級設置,V-1002可以對并行任務進行優先級排序。
LabVIEW可以為VI設置在執行系統中運行的優先權,6種優先權如下:
(1)后臺優先級(最低)。
(2)標準優先級。
(3)高于標準優先級。
(4)高優先級。
(5)實時優先級(最高)。
(6)子程序。
多數情況下,無須修改VI的優先級,可保持其默認值。使用優先級去控制執行順序可能會產生非預期結果。如果使用錯誤,低優先級的任務可能會被完全擱置。如果設計中高優先級的任務長時間運行,除非它定期等待,否則低優先級的任務將不會運行。
在一個VI中為不同的線程設置優先級常用Wait函數。圖3-18所示的程序中,由于采集數據的任務對時間性的嚴格要求,我們讓執行用戶接口任務的代碼在每次循環中等待200ms,以免占用過多的CPU時間,干擾數據采集任務的執行,而200ms的延遲對于用戶是不易察覺的。
子程序優先級是優先權設置中的一個特殊情況,它允許程序以最有效的方式運行,不與其他VI共享執行時間;子程序VI的執行是流線型的,因此當它被調用時,也不刷新前面板控件。子程序VI可以調用其他的子程序VI,但是不能調用其他優先級的VI。而且,因為子程序設計為不與執行隊列交互,因此它不能調用函數讓LabVIEW將其拉出隊列,即不能調用例如Wait、GPIB、VISA或者對話框等函數。
使用等待函數或修改VI屬性對話框的“類別”下控列表框中“執行”選項的優先級設置,V-1002可以對并行任務進行優先級排序。
LabVIEW可以為VI設置在執行系統中運行的優先權,6種優先權如下:
(1)后臺優先級(最低)。
(2)標準優先級。
(3)高于標準優先級。
(4)高優先級。
(5)實時優先級(最高)。
(6)子程序。
多數情況下,無須修改VI的優先級,可保持其默認值。使用優先級去控制執行順序可能會產生非預期結果。如果使用錯誤,低優先級的任務可能會被完全擱置。如果設計中高優先級的任務長時間運行,除非它定期等待,否則低優先級的任務將不會運行。
在一個VI中為不同的線程設置優先級常用Wait函數。圖3-18所示的程序中,由于采集數據的任務對時間性的嚴格要求,我們讓執行用戶接口任務的代碼在每次循環中等待200ms,以免占用過多的CPU時間,干擾數據采集任務的執行,而200ms的延遲對于用戶是不易察覺的。
子程序優先級是優先權設置中的一個特殊情況,它允許程序以最有效的方式運行,不與其他VI共享執行時間;子程序VI的執行是流線型的,因此當它被調用時,也不刷新前面板控件。子程序VI可以調用其他的子程序VI,但是不能調用其他優先級的VI。而且,因為子程序設計為不與執行隊列交互,因此它不能調用函數讓LabVIEW將其拉出隊列,即不能調用例如Wait、GPIB、VISA或者對話框等函數。
上一篇:LabVIEW的執行系統
上一篇:VI的執行屬性設置