本發(fā)明涉及人機(jī)接口與人機(jī)功效領(lǐng)域,尤其是涉及面向一種數(shù)采系統(tǒng)人機(jī)接口任務(wù)調(diào)度方法。
背景技術(shù):
數(shù)據(jù)采集(Data acquisition,DAQ),是廣泛應(yīng)用于機(jī)械、信息、電子、電氣、計(jì)算機(jī)、建筑、航空航天、化工、交通運(yùn)輸、船舶艦艇、農(nóng)業(yè)、生物、醫(yī)學(xué)等工程領(lǐng)域的獲取目標(biāo)對(duì)象(設(shè)備、系統(tǒng)、組件、零件)狀態(tài)的必要手段。DAQ一般利用傳感器或?qū)S脙x器,通過接觸或非接觸的方式,采集目標(biāo)對(duì)象的物理信號(hào)。物理信號(hào)的輸出一般以電信號(hào)形式存在,進(jìn)行放大、濾波等處理后,輸送至計(jì)算機(jī)系統(tǒng)進(jìn)行分析。
基于計(jì)算機(jī)或者其它專用測(cè)試平臺(tái)的測(cè)量軟硬件產(chǎn)品來實(shí)現(xiàn)靈活的、用戶自定義的測(cè)量系統(tǒng)被稱為數(shù)據(jù)采集系統(tǒng),簡(jiǎn)稱數(shù)采系統(tǒng)。數(shù)采系統(tǒng)將目標(biāo)設(shè)備的物理信號(hào)如溫度、水位、風(fēng)速、壓力、速度、電流、電壓、通量、流速等,轉(zhuǎn)換為電訊號(hào),一般以電壓信號(hào)為主。所得到的電信號(hào)根據(jù)其測(cè)量原理不同,可以是模擬量,也可以是數(shù)字量。數(shù)采系統(tǒng)的核心任務(wù)是針對(duì)目標(biāo)對(duì)象進(jìn)行采樣,即隔一定時(shí)間(稱采樣周期)對(duì)同一點(diǎn)數(shù)據(jù)重復(fù)采集;采集的數(shù)據(jù)可以是瞬時(shí)離散值,也可是某段時(shí)間內(nèi)的一個(gè)特征值;一個(gè)采樣序列所包含的數(shù)值個(gè)數(shù)被稱作采樣點(diǎn)數(shù)。當(dāng)目標(biāo)設(shè)備由于特殊技術(shù)要求或特殊工況,致使其目標(biāo)物理信號(hào)無法直接獲得,這時(shí)可以通過測(cè)量其它相關(guān)物理量進(jìn)行目標(biāo)物理量換算,實(shí)現(xiàn)目標(biāo)物理量的無傳感測(cè)量。
隨著計(jì)算機(jī)技術(shù)、信息技術(shù)與傳感器技術(shù)的不斷發(fā)展,具有多路采集、并行處理能力的數(shù)采系統(tǒng)成為數(shù)采系統(tǒng)的主流,且技術(shù)要求不斷提高。多通道的實(shí)時(shí)數(shù)據(jù)采集、處理與顯示是現(xiàn)代工業(yè)監(jiān)測(cè)技術(shù)必須具備的功能,而且同時(shí)要求各個(gè)功能界面之間能夠?qū)崿F(xiàn)無時(shí)間間斷的切換,并能夠根據(jù)用戶的具體要求實(shí)現(xiàn)歷史回放與實(shí)時(shí)數(shù)據(jù)的對(duì)比分析以及大數(shù)據(jù)量的存儲(chǔ)等操作。多路、并行數(shù)采系統(tǒng)一般以專用嵌入式計(jì)算機(jī)系統(tǒng)出現(xiàn),具有獨(dú)立的、運(yùn)算能力與事務(wù)處理能力較強(qiáng)的嵌入式中央處理器,且需要功能較完善的人機(jī)接口進(jìn)行功能操控與采集任務(wù)動(dòng)態(tài)切換。
針對(duì)上述技術(shù)要求,傳統(tǒng)的人機(jī)接口及其調(diào)度方法難于適應(yīng)多路、并行數(shù)采系統(tǒng)所要求的大數(shù)據(jù)量并發(fā)任務(wù)處理要求,因此,研發(fā)一種數(shù)采系統(tǒng)人機(jī)接口任務(wù)調(diào)度方法非常有必要的。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有的數(shù)采系統(tǒng)人機(jī)接口任務(wù)調(diào)度存在的難于適應(yīng)多路、并行數(shù)采系統(tǒng)所要求的大數(shù)據(jù)量并發(fā)任務(wù)處理要求的不足,本發(fā)明提供一種有效適應(yīng)多路、并行數(shù)采系統(tǒng)所要求的大數(shù)據(jù)量并發(fā)任務(wù)處理要求的數(shù)采系統(tǒng)人機(jī)接口任務(wù)調(diào)度方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種數(shù)采系統(tǒng)人機(jī)接口任務(wù)調(diào)度方法,采用并發(fā)可搶占式線程調(diào)度方法,實(shí)現(xiàn)對(duì)6個(gè)數(shù)采系統(tǒng)線程任務(wù)的調(diào)度,處理流程如下:
①系統(tǒng)啟動(dòng),由數(shù)采系統(tǒng)進(jìn)程產(chǎn)生主線程,獲取數(shù)采系統(tǒng)實(shí)時(shí)數(shù)據(jù)鏡像,等待用戶任務(wù)請(qǐng)求;
②響應(yīng)用戶任務(wù)請(qǐng)求,進(jìn)行參數(shù)初始化操作,然后派生6個(gè)數(shù)采系統(tǒng)線程任務(wù);所述的參數(shù)初始化操作是對(duì)采樣點(diǎn)數(shù)、采樣頻率、采樣通道、緩存空間、當(dāng)前時(shí)間、目標(biāo)編號(hào)參數(shù)進(jìn)行初步設(shè)置;所述的數(shù)采系統(tǒng)線程任務(wù)在主線程包括靜參線程任務(wù)、時(shí)域線程任務(wù)、頻域線程任務(wù)、柱圖線程任務(wù)、開關(guān)線程任務(wù)與存儲(chǔ)線程任務(wù);
③得到用戶請(qǐng)求的數(shù)采線程任務(wù)具有最高優(yōu)先級(jí),在系統(tǒng)前臺(tái)運(yùn)行,其它任務(wù)在后臺(tái)并行運(yùn)行;
④根據(jù)用戶請(qǐng)求的變化,各線程任務(wù)優(yōu)先級(jí)實(shí)現(xiàn)輪轉(zhuǎn),切換前臺(tái)會(huì)話。
進(jìn)一步,所述的靜參線程任務(wù),接收數(shù)采主線程實(shí)時(shí)數(shù)據(jù),進(jìn)行靜態(tài)參數(shù)計(jì)算,創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制靜態(tài)參數(shù)變化曲線;
所述的實(shí)時(shí)數(shù)據(jù)根據(jù)其數(shù)據(jù)量將其分為批量數(shù)據(jù)、連續(xù)數(shù)據(jù)與開關(guān)數(shù)據(jù),所述批量數(shù)據(jù)包括音頻、視頻、振動(dòng)和輻射,所述連續(xù)數(shù)據(jù)包括壓力、流量、溫度、電流、電壓和功率,所述開關(guān)數(shù)據(jù)包括布爾數(shù)據(jù);
所述的靜態(tài)參數(shù)計(jì)算是將批量數(shù)據(jù)與連續(xù)數(shù)據(jù)以采樣點(diǎn)數(shù)為單位,分割成等量數(shù)據(jù)序列,然后對(duì)數(shù)據(jù)序列進(jìn)行靜態(tài)統(tǒng)計(jì)參數(shù)提?。凰龅撵o態(tài)統(tǒng)計(jì)參數(shù)主要包含序列方差、序列均方根、序列偏度、序列峭度與序列極值。
所述的消息映射機(jī)制為面向數(shù)采系統(tǒng)人機(jī)接口的實(shí)時(shí)會(huì)話切換方法,采用信號(hào)-槽一一映射渠道,避免映射回調(diào)函數(shù)產(chǎn)生的復(fù)雜函數(shù)指針,實(shí)現(xiàn)面向用戶的對(duì)象間透明通信。
靜參線程任務(wù)與存儲(chǔ)線程任務(wù)關(guān)聯(lián),在用戶提出數(shù)據(jù)在線存儲(chǔ)請(qǐng)求后,通過消息映射機(jī)制喚醒存儲(chǔ)線程任務(wù),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),并將當(dāng)前會(huì)話窗口所描繪的靜參數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù)。
所述的靜態(tài)參數(shù)變化曲線的縱坐標(biāo)為統(tǒng)計(jì)參數(shù)無量綱幅值,橫坐標(biāo)為觀察時(shí)間段;所述的觀察時(shí)間段的計(jì)算方法為:T=B·N/f,其中B為緩沖區(qū)大小,單位Byte,N為采樣點(diǎn)數(shù),f為采樣頻率,單位Hz。
更進(jìn)一步,所述的時(shí)域線程任務(wù),接收數(shù)采主線程提供的批量數(shù)據(jù),進(jìn)行數(shù)字濾波處理,創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制時(shí)域數(shù)據(jù)變化曲線。所述的數(shù)字濾波處理步驟為:
1)將批量數(shù)據(jù)以采樣點(diǎn)數(shù)為單位,分割成等量數(shù)據(jù)序列;
2)將音頻、視頻數(shù)據(jù)看作穩(wěn)定信號(hào)序列,進(jìn)行中值濾波處理,消除抖動(dòng)數(shù)據(jù)元素;
3)將振動(dòng)、輻射看作非穩(wěn)信號(hào)序列,進(jìn)行抗混頻與有限沖擊響應(yīng)濾波,消除沖擊信號(hào)成分。
所述的消息映射機(jī)制與靜參線程任務(wù)中的映射機(jī)制相同,其它線程任務(wù)也應(yīng)用此機(jī)制;所述的時(shí)域數(shù)據(jù)變化曲線的縱坐標(biāo)為時(shí)域數(shù)據(jù)物理幅值(速度、加速度、數(shù)據(jù)通量),橫坐標(biāo)為采樣點(diǎn)數(shù)數(shù)列編號(hào)。
時(shí)域線程任務(wù)與存儲(chǔ)線程任務(wù)關(guān)聯(lián),在用戶提出數(shù)據(jù)在線存儲(chǔ)請(qǐng)求后,通過消息映射機(jī)制喚醒存儲(chǔ)線程任務(wù),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),并將當(dāng)前會(huì)話窗口所描繪的時(shí)域數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù)。
再進(jìn)一步,所述的頻域線程任務(wù),接收數(shù)采主線程提供的批量數(shù)據(jù),進(jìn)行數(shù)字濾波、離散傅里葉變換處理,創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制頻域數(shù)據(jù)變化曲線;所述的離散傅里葉變換處理步驟為:
Step1將批量數(shù)據(jù)以采樣點(diǎn)數(shù)為單位,分割成等量數(shù)據(jù)序列,進(jìn)行數(shù)字濾波處理;
Step2將經(jīng)過濾波的音頻、視頻數(shù)據(jù)看作穩(wěn)定信號(hào)序列,進(jìn)行快速傅里葉變換處理,獲得信號(hào)頻域分布;
Step3將經(jīng)過濾波的振動(dòng)、輻射看作非穩(wěn)信號(hào)序列,進(jìn)行短時(shí)傅里葉變換處理,得到本征模態(tài)函數(shù),獲取信號(hào)中的瞬時(shí)變化分量。
所述的頻域數(shù)據(jù)變化曲線的縱坐標(biāo)為頻域數(shù)據(jù)物理幅值(速度、加速度),橫坐標(biāo)為頻域點(diǎn)數(shù)數(shù)列編號(hào),數(shù)量為采樣頻率的二分之一。
頻域線程任務(wù)與存儲(chǔ)線程任務(wù)關(guān)聯(lián),在用戶提出數(shù)據(jù)在線存儲(chǔ)請(qǐng)求后,通過消息映射機(jī)制喚醒存儲(chǔ)線程任務(wù),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),并將當(dāng)前會(huì)話窗口所描繪的頻域數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù)。
所述的柱圖線程任務(wù),接收數(shù)采主線程提供的連續(xù)數(shù)據(jù),進(jìn)行中值濾波處理,創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制連續(xù)數(shù)據(jù)柱狀圖。
所述的連續(xù)數(shù)據(jù)柱狀圖的縱坐標(biāo)為連續(xù)數(shù)據(jù)物理幅值(帕斯卡、升/小時(shí)、攝氏度、安培、福特、瓦特),橫坐標(biāo)為連續(xù)數(shù)據(jù)分類,即壓力、流量、溫度、電流、電壓、功率。
柱圖線程任務(wù)與存儲(chǔ)線程任務(wù)關(guān)聯(lián),在用戶提出數(shù)據(jù)在線存儲(chǔ)請(qǐng)求后,通過消息映射機(jī)制喚醒存儲(chǔ)線程任務(wù),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),并將當(dāng)前會(huì)話窗口所描繪的柱圖數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù)。
所述的開關(guān)線程任務(wù),接收數(shù)采主線程提供的開關(guān)數(shù)據(jù),直接創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制開關(guān)數(shù)據(jù)分布圖;開關(guān)線程任務(wù)處理對(duì)象為布爾數(shù)據(jù),數(shù)據(jù)量較小,與存儲(chǔ)線程任務(wù)無關(guān)聯(lián)。
所述的開關(guān)數(shù)據(jù)分布圖以矩陣公告板形式向用戶展示開關(guān)數(shù)據(jù)狀態(tài);所述的矩陣公告板是將不同物理位置的開關(guān)數(shù)據(jù)進(jìn)行統(tǒng)一編號(hào),并已二維矩陣的形式描述開關(guān)數(shù)據(jù)。
更進(jìn)一步,通過混合線程操作方法實(shí)現(xiàn)線程任務(wù)的內(nèi)部狀態(tài)轉(zhuǎn)換與不同線程任務(wù)的運(yùn)行切換;所述的混合線程操作方法通過信號(hào)量控制線程任務(wù)的內(nèi)部轉(zhuǎn)換,通過有名管道實(shí)現(xiàn)不同線程任務(wù)的運(yùn)行切換,處理步驟如下:
第一步,線程任務(wù)被選擇、喚醒后,加載信號(hào)量,進(jìn)入初始化狀態(tài),使其各成員變量賦值并開辟相關(guān)內(nèi)存空間;
第二步,初始化完成后,若無其它線程任務(wù)執(zhí)行請(qǐng)求,線程任務(wù)進(jìn)入就緒狀態(tài);若有其它線程任務(wù)執(zhí)行請(qǐng)求,當(dāng)前線程任務(wù)進(jìn)入阻塞狀態(tài),切換至獲得請(qǐng)求的進(jìn)程任務(wù);所述的線程任務(wù)執(zhí)行請(qǐng)求通過有名管道傳輸,保證各線程任務(wù)運(yùn)行的互斥與安全性;
第三步,線程任務(wù)進(jìn)入就緒狀態(tài)后,等待任務(wù)執(zhí)行信號(hào)量;若得到任務(wù)執(zhí)行信號(hào)量,則從主線程獲得所需數(shù)據(jù),完成處理、繪圖等功能,任務(wù)完成后,退回初始狀態(tài);若未得到任務(wù)執(zhí)行信號(hào)量,則進(jìn)入線程休眠狀態(tài),原地等待;
第四步,若當(dāng)前線程任務(wù)與存儲(chǔ)線程任務(wù)相關(guān)關(guān)聯(lián),可在線程任務(wù)處理過程中接收存儲(chǔ)線程任務(wù)信號(hào),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),完成數(shù)據(jù)存儲(chǔ);若用戶發(fā)出存儲(chǔ)數(shù)據(jù)更新請(qǐng)求,則可阻塞當(dāng)前存儲(chǔ)線程任務(wù),重新進(jìn)行數(shù)據(jù)存儲(chǔ)。
本發(fā)明的有益效果主要表現(xiàn)在:
1)采用并發(fā)可搶占式線程調(diào)度方法,實(shí)現(xiàn)對(duì)6個(gè)數(shù)采系統(tǒng)線程任務(wù)的調(diào)度,可實(shí)現(xiàn)數(shù)采任務(wù)并行、靈活處理;
2)采用信號(hào)-槽一一映射渠道,避免映射回調(diào)函數(shù)產(chǎn)生的復(fù)雜函數(shù)指針,可實(shí)現(xiàn)面向用戶的對(duì)象間透明通信,提高并行任務(wù)處理效率;
3)通過混合線程操作方法實(shí)現(xiàn)線程任務(wù)的內(nèi)部狀態(tài)轉(zhuǎn)換與不同線程任務(wù)的運(yùn)行切換,實(shí)現(xiàn)不同線程任務(wù)的并行安全操控。
附圖說明
圖1是線程任務(wù)調(diào)度流程圖;
圖2是時(shí)域線程任務(wù)狀態(tài)轉(zhuǎn)換示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
參照?qǐng)D1和圖2,一種數(shù)采系統(tǒng)人機(jī)接口任務(wù)調(diào)度方法,采用并發(fā)可搶占式線程調(diào)度方法,實(shí)現(xiàn)對(duì)6個(gè)數(shù)采系統(tǒng)線程任務(wù)的調(diào)度。
本發(fā)明提供的并發(fā)可搶占式線程調(diào)度方法,最多可支持32個(gè)并行任務(wù),如附圖1所示,其處理流程如下:
①系統(tǒng)啟動(dòng),由數(shù)采系統(tǒng)進(jìn)程產(chǎn)生主線程,獲取數(shù)采系統(tǒng)實(shí)時(shí)數(shù)據(jù)鏡像,等待用戶任務(wù)請(qǐng)求;
②響應(yīng)用戶任務(wù)請(qǐng)求,進(jìn)行參數(shù)初始化操作,然后派生6個(gè)數(shù)采系統(tǒng)線程任務(wù);所述的參數(shù)初始化操作是對(duì)采樣點(diǎn)數(shù)、采樣頻率、采樣通道、緩存空間、當(dāng)前時(shí)間、目標(biāo)編號(hào)等參數(shù)進(jìn)行初步設(shè)置;所述的數(shù)采系統(tǒng)線程任務(wù)在主線程包括靜參線程任務(wù)、時(shí)域線程任務(wù)、頻域線程任務(wù)、柱圖線程任務(wù)、開關(guān)線程任務(wù)與存儲(chǔ)線程任務(wù)。
③得到用戶請(qǐng)求的數(shù)采線程任務(wù)具有最高優(yōu)先級(jí),在系統(tǒng)前臺(tái)運(yùn)行,其它任務(wù)在后臺(tái)并行運(yùn)行;
④根據(jù)用戶請(qǐng)求的變化,各線程任務(wù)優(yōu)先級(jí)實(shí)現(xiàn)輪轉(zhuǎn),切換前臺(tái)會(huì)話。
對(duì)于本發(fā)明所涉及的6個(gè)數(shù)采系統(tǒng)線程任務(wù),其具體實(shí)例內(nèi)容與操作處理過程可描述如下:
(1)靜參線程任務(wù)
本發(fā)明所涉及的靜參線程任務(wù),接收數(shù)采主線程實(shí)時(shí)數(shù)據(jù),進(jìn)行靜態(tài)參數(shù)計(jì)算,創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制靜態(tài)參數(shù)變化曲線。
本發(fā)明所涉及的實(shí)時(shí)數(shù)據(jù)根據(jù)其數(shù)據(jù)量可將其分為批量數(shù)據(jù)(音頻、視頻、振動(dòng)、輻射)、連續(xù)數(shù)據(jù)(壓力、流量、溫度、電流、電壓、功率)與開關(guān)數(shù)據(jù)(布爾數(shù)據(jù))。
靜參線程任務(wù)處理所涉及的靜態(tài)參數(shù)計(jì)算是將批量數(shù)據(jù)與連續(xù)數(shù)據(jù)以采樣點(diǎn)數(shù)為單位,分割成等量數(shù)據(jù)序列,然后對(duì)數(shù)據(jù)序列進(jìn)行靜態(tài)統(tǒng)計(jì)參數(shù)提?。凰龅撵o態(tài)統(tǒng)計(jì)參數(shù)主要包含序列方差、序列均方根、序列偏度、序列峭度與序列極值。
消息映射機(jī)制為面向數(shù)采系統(tǒng)人機(jī)接口的實(shí)時(shí)會(huì)話切換方法,采用信號(hào)-槽一一映射渠道,避免映射回調(diào)函數(shù)產(chǎn)生的復(fù)雜函數(shù)指針,可實(shí)現(xiàn)面向用戶的對(duì)象間透明通信。利用這一機(jī)制,根據(jù)用戶選擇喚醒相應(yīng)的繪圖進(jìn)行實(shí)時(shí)監(jiān)測(cè)以及數(shù)據(jù)存儲(chǔ)等任務(wù),需要切換時(shí)結(jié)束該線程,重新選擇喚醒其它任務(wù),這使消息傳遞路線更為明晰,可以獲得較高的并行任務(wù)處理效率。
靜參線程任務(wù)與存儲(chǔ)線程任務(wù)關(guān)聯(lián),在用戶提出數(shù)據(jù)在線存儲(chǔ)請(qǐng)求后,通過消息映射機(jī)制喚醒存儲(chǔ)線程任務(wù),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),如附圖1所示,并將當(dāng)前會(huì)話窗口所描繪的靜參數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù)。
作為靜參線程任務(wù)的核心任務(wù),靜態(tài)參數(shù)變化曲線的縱坐標(biāo)為統(tǒng)計(jì)參數(shù)無量綱幅值,橫坐標(biāo)為觀察時(shí)間段;所述的觀察時(shí)間段的計(jì)算方法為:T=B·N/f,其中B為緩沖區(qū)大小(Byte),N為采樣點(diǎn)數(shù),f為采樣頻率(Hz)。
(2)時(shí)域線程任務(wù)
本發(fā)明所涉及的時(shí)域線程任務(wù)接收數(shù)采主線程提供的批量數(shù)據(jù),進(jìn)行數(shù)字濾波處理,創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制時(shí)域數(shù)據(jù)變化曲線。所述的數(shù)字濾波處理步驟為:
①將批量數(shù)據(jù)以采樣點(diǎn)數(shù)為單位,分割成等量數(shù)據(jù)序列;
②將音頻、視頻數(shù)據(jù)看作穩(wěn)定信號(hào)序列,進(jìn)行中值濾波處理,消除抖動(dòng)數(shù)據(jù)元素;
③將振動(dòng)、輻射看作非穩(wěn)信號(hào)序列,進(jìn)行抗混頻與有限沖擊響應(yīng)濾波,消除沖擊信號(hào)成分。
上述操作過程中的消息映射機(jī)制與靜參線程任務(wù)中的映射機(jī)制相同,其它線程任務(wù)也應(yīng)用此機(jī)制;所述的時(shí)域數(shù)據(jù)變化曲線的縱坐標(biāo)為時(shí)域數(shù)據(jù)物理幅值(速度、加速度、數(shù)據(jù)通量),橫坐標(biāo)為采樣點(diǎn)數(shù)數(shù)列編號(hào)。
時(shí)域線程任務(wù)與存儲(chǔ)線程任務(wù)關(guān)聯(lián),在用戶提出數(shù)據(jù)在線存儲(chǔ)請(qǐng)求后,通過消息映射機(jī)制喚醒存儲(chǔ)線程任務(wù),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),并將當(dāng)前會(huì)話窗口所描繪的時(shí)域數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù)。
(3)頻域線程任務(wù)
本發(fā)明所涉及的頻域線程任務(wù)接收數(shù)采主線程提供的批量數(shù)據(jù),進(jìn)行數(shù)字濾波、離散傅里葉變換處理,創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制頻域數(shù)據(jù)變化曲線。所述的離散傅里葉變換處理步驟為:
①將批量數(shù)據(jù)以采樣點(diǎn)數(shù)為單位,分割成等量數(shù)據(jù)序列,進(jìn)行數(shù)字濾波處理;
②將經(jīng)過濾波的音頻、視頻數(shù)據(jù)看作穩(wěn)定信號(hào)序列,進(jìn)行快速傅里葉變換處理,獲得信號(hào)頻域分布;
③將經(jīng)過濾波的振動(dòng)、輻射看作非穩(wěn)信號(hào)序列,進(jìn)行短時(shí)傅里葉變換處理,得到本征模態(tài)函數(shù),獲取信號(hào)中的瞬時(shí)變化分量。
頻域數(shù)據(jù)變化曲線的縱坐標(biāo)為頻域數(shù)據(jù)物理幅值(速度、加速度),橫坐標(biāo)為頻域點(diǎn)數(shù)數(shù)列編號(hào),數(shù)量為采樣頻率的二分之一。
頻域線程任務(wù)與存儲(chǔ)線程任務(wù)關(guān)聯(lián),在用戶提出數(shù)據(jù)在線存儲(chǔ)請(qǐng)求后,通過消息映射機(jī)制喚醒存儲(chǔ)線程任務(wù),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),并將當(dāng)前會(huì)話窗口所描繪的頻域數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù)。
(4)柱圖線程任務(wù)
本發(fā)明所涉及的柱圖線程任務(wù)接收數(shù)采主線程提供的連續(xù)數(shù)據(jù),進(jìn)行中值濾波處理,創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制連續(xù)數(shù)據(jù)柱狀圖。
連續(xù)數(shù)據(jù)柱狀圖的縱坐標(biāo)為連續(xù)數(shù)據(jù)物理幅值(帕斯卡、升/小時(shí)、攝氏度、安培、福特、瓦特),橫坐標(biāo)為連續(xù)數(shù)據(jù)分類,即壓力、流量、溫度、電流、電壓、功率。
柱圖線程任務(wù)與存儲(chǔ)線程任務(wù)關(guān)聯(lián),在用戶提出數(shù)據(jù)在線存儲(chǔ)請(qǐng)求后,通過消息映射機(jī)制喚醒存儲(chǔ)線程任務(wù),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),并將當(dāng)前會(huì)話窗口所描繪的柱圖數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫(kù)。
(5)開關(guān)線程任務(wù)
本發(fā)明所涉及的開關(guān)線程任務(wù)接收數(shù)采主線程提供的開關(guān)數(shù)據(jù),直接創(chuàng)建任務(wù)會(huì)話窗口,然后通過消息映射機(jī)制在會(huì)話窗口中繪制開關(guān)數(shù)據(jù)分布圖;開關(guān)線程任務(wù)處理對(duì)象為布爾數(shù)據(jù),數(shù)據(jù)量較小,與存儲(chǔ)線程任務(wù)無關(guān)聯(lián)。
開關(guān)數(shù)據(jù)分布圖以矩陣公告板形式向用戶展示開關(guān)數(shù)據(jù)狀態(tài);所述的矩陣公告板是將不同物理位置的開關(guān)數(shù)據(jù)進(jìn)行統(tǒng)一編號(hào),并已二維矩陣的形式描述開關(guān)數(shù)據(jù)。
本發(fā)明所提供的一種數(shù)采系統(tǒng)人機(jī)接口任務(wù)調(diào)度方法,通過混合線程操作方法實(shí)現(xiàn)線程任務(wù)的內(nèi)部狀態(tài)轉(zhuǎn)換與不同線程任務(wù)的運(yùn)行切換。
上述方案所涉及的混合線程操作方法通過信號(hào)量控制線程任務(wù)的內(nèi)部轉(zhuǎn)換,通過有名管道實(shí)現(xiàn)不同線程任務(wù)的運(yùn)行切換。由于單個(gè)線程任務(wù)的運(yùn)行以及狀態(tài)轉(zhuǎn)換過程基本相同,本發(fā)明以時(shí)域線程任務(wù)(見圖2)進(jìn)行相關(guān)內(nèi)容描述,具體處理步驟如下:
①時(shí)域線程任務(wù)被選擇、喚醒后,加載信號(hào)量,進(jìn)入初始化狀態(tài),使其各成員變量賦值并開辟相關(guān)內(nèi)存空間。
②時(shí)域線程任務(wù)初始化完成后,若無其它線程任務(wù)執(zhí)行請(qǐng)求,時(shí)域線程任務(wù)進(jìn)入就緒狀態(tài);若有其它線程任務(wù)執(zhí)行請(qǐng)求,例如用戶需要查看頻域或靜態(tài)參數(shù)數(shù)據(jù),時(shí)域線程任務(wù)進(jìn)入阻塞狀態(tài),切換至獲得請(qǐng)求的進(jìn)程任務(wù),即頻域或靜參任務(wù);所述的線程任務(wù)執(zhí)行請(qǐng)求通過有名管道傳輸,保證各線程任務(wù)運(yùn)行的互斥與安全性。
③時(shí)域線程任務(wù)進(jìn)入就緒狀態(tài)后,等待任務(wù)執(zhí)行信號(hào)量;若得到任務(wù)執(zhí)行信號(hào)量,則從主線程獲得所需數(shù)據(jù),完成濾波處理、時(shí)域繪圖等功能,任務(wù)完成后,退回初始狀態(tài);若未得到任務(wù)執(zhí)行信號(hào)量,則進(jìn)入時(shí)域線程任務(wù)休眠狀態(tài),原地等待。
④因?yàn)闀r(shí)域線程任務(wù)與存儲(chǔ)線程任務(wù)相關(guān)關(guān)聯(lián),可在時(shí)域線程任務(wù)處理過程中接收存儲(chǔ)線程任務(wù)信號(hào),在后臺(tái)啟動(dòng)存儲(chǔ)線程任務(wù),完成數(shù)據(jù)存儲(chǔ);若用戶發(fā)出存儲(chǔ)數(shù)據(jù)更新請(qǐng)求,則可阻塞當(dāng)前存儲(chǔ)線程任務(wù),重新進(jìn)行數(shù)據(jù)存儲(chǔ)。
最后,還需要注意的是,以上列舉的僅是本發(fā)明的一個(gè)具體實(shí)施例。顯然,本發(fā)明不限于以上實(shí)施例,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員能從本發(fā)明公開的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護(hù)范圍。