輸入階段的處理過程完成以下功能:獲得輸入階段的當(dāng)前溫度;檢查定時循環(huán)結(jié)構(gòu)前一循環(huán)過程的輸出階段是否延遲完成功能;為本次循環(huán)過程即將執(zhí)行的計算階段設(shè)定截止時間和起始時間參數(shù);把本階段的起始時間和前一循環(huán)過程中的終止時間保存在矩陣中以備繪制定時圖。由于本階段是定時循環(huán)結(jié)構(gòu)每個循環(huán)的第一個階段,因此,需檢查前一循環(huán)過程中的循環(huán)結(jié)束是否延遲完成。同時,完成輸入階段前面板處理過程定時界面及處理過程狀態(tài)界面相應(yīng)的數(shù)據(jù)更新功能。程序框圖如圖1所示。
圖1 輸入階段處理程序框圖 1.獲得輸入節(jié)點的當(dāng)前溫度(a) 此處通過pac_lo.vi子控件產(chǎn)生。該控件的輸入選項選擇獲取溫度數(shù)據(jù)“aquire temp.”,執(zhí)行時間則通過前面板輸入階段數(shù)據(jù)簇中的執(zhí)行時間“execution time(ms)”來輸入。這樣pac lo.vi子控件通過內(nèi)部邏輯處理過程,模擬產(chǎn)生此時微處理器的溫度數(shù)據(jù)。該溫度數(shù)據(jù)在過程處理狀態(tài)選項卡的當(dāng)前溫度“current temp”數(shù)值顯示控件中進(jìn)行數(shù)據(jù)顯示?! ?.設(shè)定輸入階段幀的輸出節(jié)點(b) 此時通過前面板計算階段“computation stage”數(shù)據(jù)簇上設(shè)定的數(shù)據(jù)來設(shè)定該幀的輸出節(jié)點。需要設(shè)定的數(shù)據(jù)包括截止時間“deadline(ms)”和開始時間“start time(ms)”。| 3.襝查是否延遲完成(c) 在輸入節(jié)點中設(shè)置定時循環(huán)結(jié)構(gòu)前一循環(huán)的最后一幀(即輸出階段幀)是否延遲完成。此處產(chǎn)生一數(shù)據(jù)簇,其輸入為前一循環(huán)的輸出階段簇數(shù)據(jù),輸出則為判斷循環(huán)之后的需要設(shè)定的輸出階段簇顯示數(shù)據(jù)。此幀輸入節(jié)點中的“延遲完成?[⒈l]”可以按照圖2的方式來設(shè)定。通過“輸出選擇”,可以對循環(huán)定時結(jié)構(gòu)中的循環(huán)定時、幀及其他屬性進(jìn)行設(shè)定,設(shè)定的選擇過程可按同樣的方式進(jìn)行。在判斷是否延遲完成時,創(chuàng)建了“按名稱捆綁”函數(shù),通過更換輸入簇中的若干元素,可以得到新的輸出簇。該函數(shù)的輸入輸出接線端如圖3所示。
圖2 設(shè)定不同的輸出端屬性 圖3 按名稱捆綁函數(shù)的輸入輸出 4.創(chuàng)建循環(huán)定時波形圖輸入數(shù)組(d) 循環(huán)定時波形圖的輸入數(shù)據(jù)通過幀之間的移位寄存器進(jìn)行傳遞。此處,在輸入階段幀的輸入端屬性中,根據(jù)上一幀(即上一循環(huán)中的輸出階段幀)的“實際結(jié)束[f-1]”數(shù)據(jù),來更新循環(huán)定時波形圖輸入數(shù)組所對應(yīng)的數(shù)據(jù)位置(x數(shù)組中位于11和12號位置),用于定時波形圖的顯示。而本次循環(huán)中,本幀(輸入階段幀)的“實際開始田”數(shù)據(jù)同樣也用于更新或替換進(jìn)行波形顯示后x數(shù)組中對應(yīng)的位置(此時,位于x數(shù)組中的1和2號位置)。在數(shù)組更新或替換過程中,用到的ⅵ函數(shù)控件為“替換數(shù)據(jù)子集”?! ?.顯示循環(huán)定時結(jié)構(gòu)的上一循環(huán)是否延遲完成(e) 此處進(jìn)行判斷的數(shù)據(jù)由來自于輸入階段幀輸入端中的上一次循環(huán)定時是否“延遲完成?[i-1]”邏輯數(shù)據(jù)來進(jìn)行顯示。輸入端中的“延遲完成?[i-1]”節(jié)點的添加過程和圖2的添加過程相同?! ?.處理過程定時波形圖的繪制(f) 處理過程定時波形圖通過一個分支選擇結(jié)構(gòu)(case-switch)來選擇執(zhí)行,此處的選擇條件為“是否為首次”調(diào)用判斷,此控件通過圖4所示的選擇順序到達(dá)。條件為否時,在該分子選擇結(jié)構(gòu)中實現(xiàn)波形圖的顯示更新。此處的顯示更新主要通過對處理過程顯示波形圖的數(shù)組進(jìn)行創(chuàng)建來實現(xiàn)。3個輸入階段曲線分別通過各自的矩陣與相應(yīng)的x數(shù)組進(jìn)行捆綁。由這3個捆綁數(shù)組創(chuàng)建新數(shù)組,該新數(shù)組直接輸入波形圖顯示控件進(jìn)行波形顯示即可。
圖4是否為首次調(diào)用函數(shù)的選擇順序 7.處理過程定時波形圖輸入階段截止時閭游標(biāo)的位置更新(f) 此處創(chuàng)建處理過程定時波形圖的屬性應(yīng)用,此屬性節(jié)點的創(chuàng)建過程在第14章和第15章中己經(jīng)作過詳細(xì)介紹。此處的屬性包括兩個:活動游標(biāo)(actcrsr)和活動游標(biāo)的x位置(cursor.posx)?;顒佑螛?biāo)的序號為0,活動游標(biāo)x位置的判斷邏輯通過輸入階段幀的輸入端中的執(zhí)行時間“期限”和實際開始時間“實際開始[g”相加來產(chǎn)生?! ?,溫度曲線的繪制(f) 首先,使用本次循環(huán)的實際開始時間“實際開始[i]”進(jìn)行坐標(biāo)變換后,和移位寄存器所包含的溫度曲線的x數(shù)據(jù)組合得到新的x數(shù)據(jù)。而y數(shù)據(jù)則利用pac lo.vi控件所產(chǎn)生的溫度數(shù)據(jù)以及移位寄存器中的y數(shù)據(jù)共同構(gòu)成新的y數(shù)組。更新后的x和y數(shù)據(jù)捆綁后輸入到溫度曲線波形圖顯示控件,對溫度變化曲線進(jìn)行顯示。同時,更新后的x和y數(shù)據(jù)通過移位寄存器傳送到下一幀