計算階段的處理過程同樣與其在前面板對應的數(shù)據(jù)簇聯(lián)系在一起。在程序處理過程中,通過計算階段的邏輯處理過程,可以實現(xiàn)以下功能:處理邏輯檢查風扇應該打開還是關(guān)閉;檢查定時循環(huán)結(jié)構(gòu)中的前一幀,即輸入階段是否延遲完成,同時為下一階段,即輸出階段設(shè)定對應的截止時間和起始時間;計算階段的起始時間和終止時間同樣保存在矩陣中,用于處理過程定時波形圖的繪制;此外,在循環(huán)定時處理過程中,在波形圖上更新計算階段的終止時間游標線的位置。
圖1 計算階段處理的程序框圖 1.判斷風扇應當打開還是關(guān)閉(a) 通過前一幀獲得的溫度數(shù)據(jù),分別進行邏輯判斷,從而給出風扇打開還是關(guān)閉的執(zhí)行命令。這部分邏輯判斷分為兩部分:第一部分,判斷獲得溫度數(shù)據(jù)是否小于34oc,如果是輸出關(guān)閉“off”命令,否則輸出空轉(zhuǎn)“idle”命令;第二部分,判斷獲得的溫度數(shù)據(jù)是否大于36oc,如果是輸出打開“on”命令,否則輸出空轉(zhuǎn)“idle”命令。通過這兩個邏輯判斷過程,進一步利用移位寄存器傳遞的風扇是否打開的命令來進行判斷,從而輸出風扇應當執(zhí)行的命令,并通過和下一幀之間的數(shù)據(jù)通道傳遞數(shù)據(jù)?! ?.輸入階段是否延遲(b) 通過本幀(計算階段幀)的輸入節(jié)點數(shù)據(jù),創(chuàng)建“按名稱捆綁”函數(shù)控件,在該函數(shù)控件中,輸入簇為上一幀中的輸入階段簇數(shù)據(jù),輸出簇則為更新數(shù)據(jù)后的輸入階段簇數(shù)據(jù)?! ?.下一幀(輸出階段)的數(shù)據(jù)初始化(c) 根據(jù)輸出階段簇的數(shù)據(jù),創(chuàng)建“按名稱解除捆綁”函數(shù)控件,從而得到設(shè)定輸出階段的截止時間“deadline”和開始時間“start time”?! ?.更新處理過程定時顯示波形圖的輸入數(shù)組(e) 此處的更新數(shù)據(jù)來自于本幀(計算階段)的輸出節(jié)點中的數(shù)據(jù):計算階段幀的實際開始時間“實際開始田”和輸入階段幀中的實際結(jié)束時間“實際結(jié)束[f-1]”數(shù)據(jù)。這兩個輸出數(shù)據(jù)的設(shè)定都和圖2所示相同。通過這兩個數(shù)據(jù)可以設(shè)定處理過程定時顯示波形圖的艿坐標數(shù)組,此時通過創(chuàng)建“替換數(shù)組”函數(shù)控件實現(xiàn)這個過程。該函數(shù)的創(chuàng)建選擇過程如圖3所示。
圖2 設(shè)定不同的輸出端屬性 5.處理過程定時顯示波形圖上計算過程截止時間游標的更新(e) 創(chuàng)建屬性節(jié)點,連接到處理過程定時顯示波形圖控件。在該屬性節(jié)點中包含兩個屬性,分別為活動游標(actcrsr)和活動游標x位置(curs,posx)。游標位置可以通過計算階段的執(zhí)行時間“期限”和實際開始時間“實際開始[f]”相加后得到?! ?.計算階段時間過程 通過時間計數(shù)器和計算階段簇中的執(zhí)行時間“execution time(ms)”相加后設(shè)定時間循環(huán)條件來達到模擬計算所用時間的目的。時間計數(shù)器的選擇順序如圖4所示。
圖3 替換數(shù)據(jù)子集函數(shù)控件 圖4 時間計算器的選擇順序7.計算階段幀的執(zhí)行顯示在本幀中直接設(shè)置過程“progress”邏輯值為真,則循環(huán)定時過程執(zhí)行執(zhí)行此幀時,對應的邏輯顯示控件直接顯示,從而表明本幀正在循環(huán)定時過程的邏輯處理執(zhí)行過程中。 歡迎轉(zhuǎn)載,請注明信息來源維庫電子市場網(wǎng)